]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Added tons of services stuff - prepared for multiserver trial run
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 23 Apr 2004 11:58:39 +0000 (11:58 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 23 Apr 2004 11:58:39 +0000 (11:58 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@697 e03df62e-2008-0410-955e-edbf42e46eb7

src/commands.cpp
src/inspircd.cpp

index 3adf3fc335238f201a4e1297e0a69243155b162d..a36dc542511e92e417bed2657889dc4bfbb79417 100644 (file)
@@ -1932,6 +1932,7 @@ void handle_dollar(char token,char* params,serverrec* source,serverrec* reply, c
 void handle_amp(char token,char* params,serverrec* source,serverrec* reply, char* tcp_host)
 {
        log(DEBUG,"Netsplit! %s split from mesh, removing!",params);
+       WriteOpers("*** NOTICE - Controlled netsplit: %s split from %s",params,ServerName);
        bool go_again = true;
        while (go_again)
        {
index 80909b312890bd1d2b595bc9fb6718ad4e387d9c..18c4c4fb814f34bc6418b0958a7f6300daee7b21 100644 (file)
@@ -3201,9 +3201,17 @@ int InspIRCd(void)
                                                break;
                                        }
                                        // during a netburst, send all data to all other linked servers
-                                       if ((nb_start>0) && (udp_msg[0] != 'Y') && (udp_msg[0] != 'X') && (udp_msg[0] != 'F'))
+                                       if ((((nb_start>0) && (udp_msg[0] != 'Y') && (udp_msg[0] != 'X') && (udp_msg[0] != 'F'))) || (is_uline(tcp_host)))
                                        {
-                                               NetSendToAllExcept(tcp_host,udp_msg);
+                                               if (is_uline(tcp_host))
+                                               {
+                                                       if ((udp_msg[0] != 'Y') && (udp_msg[0] != 'X') && (udp_msg[0] != 'F'))
+                                                       {
+                                                               NetSendToAllExcept(tcp_host,udp_msg);
+                                                       }
+                                               }
+                                               else
+                                                       NetSendToAllExcept(tcp_host,udp_msg);
                                        }
                                        FOREACH_MOD OnPacketReceive(udp_msg);
                                        handle_link_packet(udp_msg, tcp_host, me[x]);