summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-10 16:03:36 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-10 16:03:36 +0000
commitd5a06be69d5405b31c140dd7e918125e181c3a2a (patch)
tree153bfbde98e472e54ddb03a1565b7edd7d875658
parentdd11fa8919b096731fc975caa89f3caaedc92c39 (diff)
Fixed Q and added N tokens to server linking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@502 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/inspircd.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 9abdd7f64..db0546e83 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -3572,17 +3572,15 @@ void kill_link(userrec *user,const char* r)
FOREACH_MOD OnUserQuit(user);
WriteCommonExcept(user,"QUIT :%s",reason);
+ // Q token must go to ALL servers!!!
char buffer[MAXBUF];
snprintf(buffer,MAXBUF,"Q %s :%s",user->nick,reason);
for (int j = 0; j < 255; j++)
{
if (servers[j] != NULL)
{
- if (CommonOnThisServer(user,servers[j]->name))
- {
- me[defaultRoute]->SendPacket(buffer,servers[j]->internal_addr,servers[j]->internal_port,MyKey);
- log(DEBUG,"Sent Q token");
- }
+ me[defaultRoute]->SendPacket(buffer,servers[j]->internal_addr,servers[j]->internal_port,MyKey);
+ log(DEBUG,"Sent Q token");
}
}
}
@@ -4662,6 +4660,18 @@ void ConnectUser(userrec *user)
ShowMOTD(user);
FOREACH_MOD OnUserConnect(user);
WriteOpers("*** Client connecting on port %d: %s!%s@%s",user->port,user->nick,user->ident,user->host);
+
+ char buffer[MAXBUF];
+ snprintf(buffer,MAXBUF,"N %d %s %s %s %s %s %s :%s",user->age,user->nick,user->host,user->dhost,user->ident,user->modes,user->server,user->fullname);
+ for (int j = 0; j < 255; j++)
+ {
+ if (servers[j] != NULL)
+ {
+ me[defaultRoute]->SendPacket(buffer,servers[j]->internal_addr,servers[j]->internal_port,MyKey);
+ log(DEBUG,"Sent N token");
+ }
+ }
+
}
void handle_version(char **parameters, int pcnt, userrec *user)