summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-15 10:48:50 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-15 10:48:50 +0000
commitb6eb7e06110fb64f31fac30cfb1d8385146ace7b (patch)
tree8f894da7499c5b0405e6bf080b128e8c4d57c05c /src/inspircd.cpp
parentde5a4fd2ffca722c7764735d4d496213943701fc (diff)
Mesh propogation fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@599 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 508d1ac4c..0d97b8c43 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -6451,10 +6451,12 @@ void process_restricted_commands(char token,char* params,serverrec* source,serve
// now broadcast this new servers address out to all servers that are linked to us,
// except the newcomer. They'll all attempt to connect back to it.
char buffer[MAXBUF];
- snprintf(buffer,MAXBUF,"+ %s %s %d %d",udp_host,ipaddr,port,authcookie);
- NetSendToAllExcept(buffer,udp_host);
+ // give the server its authcookie.
snprintf(buffer,MAXBUF,"~ %d",authcookie);
- NetSendToAllExcept(buffer,udp_host);
+ NetSendToOne(udp_host,buffer);
+ // tell all the other servers to use this authcookie to connect back again
+ snprintf(buffer,MAXBUF,"+ %s %s %d %d",udp_host,ipaddr,port,authcookie);
+ NetSendToAllExcept(udp_host,buffer);
break;
// ~
// Store authcookie