diff options
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r-- | src/inspircd.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 80909b312..18c4c4fb8 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -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]); |