]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Synchronize INVITE- and BAN-lists if the peer requests it:
authorAlexander Barton <alex@barton.de>
Sun, 25 Apr 2004 15:43:18 +0000 (15:43 +0000)
committerAlexander Barton <alex@barton.de>
Sun, 25 Apr 2004 15:43:18 +0000 (15:43 +0000)
server flag "L". And better debug logging.

src/ngircd/irc-server.c

index 59a2ec80551fce51e9db19baa605d4c54038505e..d230c75563d8509b183482a63a871ae7c70b07cd 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-server.c,v 1.35 2004/01/17 03:17:49 alex Exp $";
+static char UNUSED id[] = "$Id: irc-server.c,v 1.36 2004/04/25 15:43:18 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
 
 #include "imp.h"
 #include <assert.h>
@@ -30,6 +30,7 @@ static char UNUSED id[] = "$Id: irc-server.c,v 1.35 2004/01/17 03:17:49 alex Exp
 #include "client.h"
 #include "channel.h"
 #include "irc-write.h"
 #include "client.h"
 #include "channel.h"
 #include "irc-write.h"
+#include "lists.h"
 #include "log.h"
 #include "messages.h"
 #include "parse.h"
 #include "log.h"
 #include "messages.h"
 #include "parse.h"
@@ -183,6 +184,9 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
                        /* Send CHANINFO if the peer supports it */
                        if( strchr( Client_Flags( Client ), 'C' ))
                        {
                        /* Send CHANINFO if the peer supports it */
                        if( strchr( Client_Flags( Client ), 'C' ))
                        {
+#ifdef DEBUG
+                               Log( LOG_DEBUG, "Sending CHANINFO commands ..." );
+#endif
                                modes = Channel_Modes( chan );
                                topic = Channel_Topic( chan );
 
                                modes = Channel_Modes( chan );
                                topic = Channel_Topic( chan );
 
@@ -239,6 +243,18 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
                                if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
                        }
 
                                if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
                        }
 
+#ifdef IRCPLUS
+                       if( strchr( Client_Flags( Client ), 'L' ))
+                       {
+#ifdef DEBUG
+                               Log( LOG_DEBUG, "Synchronizing INVITE- and BAN-lists ..." );
+#endif
+                               /* Synchronize INVITE- and BAN-lists */
+                               if( ! Lists_SendInvites( Client )) return DISCONNECTED;
+                               if( ! Lists_SendBans( Client )) return DISCONNECTED;
+                       }
+#endif
+
                        /* naechsten Channel suchen */
                        chan = Channel_Next( chan );
                }
                        /* naechsten Channel suchen */
                        chan = Channel_Next( chan );
                }