diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/commands.cpp | 15 | ||||
-rw-r--r-- | src/modules/m_spanningtree.cpp | 13 |
2 files changed, 12 insertions, 16 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index 38880a586..c5529501d 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -1348,7 +1348,6 @@ void handle_modules(char **parameters, int pcnt, userrec *user) void handle_stats(char **parameters, int pcnt, userrec *user) { - char Link_ServerName[MAXBUF],Link_IPAddr[MAXBUF],Link_Port[MAXBUF]; if (pcnt != 1) { return; @@ -1364,14 +1363,7 @@ void handle_stats(char **parameters, int pcnt, userrec *user) if (*parameters[0] == 'c') { - for (int i = 0; i < ConfValueEnum("link",&config_f); i++) - { - ConfValue("link","name",i,Link_ServerName,&config_f); - ConfValue("link","ipaddr",i,Link_IPAddr,&config_f); - ConfValue("link","port",i,Link_Port,&config_f); - WriteServ(user->fd,"213 %s C *@%s * %s %s 0 M",user->nick,Link_IPAddr,Link_ServerName,Link_Port); - WriteServ(user->fd,"244 %s H * * %s",user->nick,Link_ServerName); - } + /* This stats symbol must be handled by a linking module */ } if (*parameters[0] == 'i') @@ -1396,10 +1388,11 @@ void handle_stats(char **parameters, int pcnt, userrec *user) if (*parameters[0] == 'U') { + char ulined[MAXBUF]; for (int i = 0; i < ConfValueEnum("uline",&config_f); i++) { - ConfValue("uline","server",i,Link_ServerName,&config_f); - WriteServ(user->fd,"248 %s U %s",user->nick,Link_ServerName); + ConfValue("uline","server",i,ulined,&config_f); + WriteServ(user->fd,"248 %s U %s",user->nick,ulined); } } diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index fff7e77df..65ff9ecc2 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -936,6 +936,7 @@ class TreeSocket : public InspSocket clientlist[tempnick]->chans[i].channel = NULL; clientlist[tempnick]->chans[i].uc_modes = 0; } + WriteOpers("*** Client connecting at %s: %s!%s@%s [%s]",client[tempnick]->server,client[tempnick]->nick,client[tempnick]->ident,client[tempnick]->host,client[tempnick]->ip); params[7] = ":" + params[7]; DoOneToAllButSender(source,"NICK",params,source); return true; @@ -2228,13 +2229,15 @@ class ModuleSpanningTree : public Module virtual bool HandleStats(char ** parameters, int pcnt, userrec* user) { - if (*parameters[0] == 'c') + if (*parameters[0] == 'c') { - for (int i = 0; i < LinkBlocks.size(); i++) - { - WriteServ(user->fd,"213 %s C *@%s * %s %d 0 M",user->nick,LinkBlocks[i].IPAddr,LinkBlocks[i].Name,LinkBlocks[i].Port); - WriteServ(user->fd,"244 %s H * * %s",user->nick,LinkBlocks[i].Name); + for (unsigned int i = 0; i < LinkBlocks.size(); i++) + { + WriteServ(user->fd,"213 %s C *@%s * %s %d 0 M",user->nick,LinkBlocks[i].IPAddr.c_str(),LinkBlocks[i].Name.c_str(),LinkBlocks[i].Port); + WriteServ(user->fd,"244 %s H * * %s",user->nick,LinkBlocks[i].Name.c_str()); } + WriteServ(user->fd,"219 %s %s :End of /STATS report",user->nick,parameters[0]); + WriteOpers("*** Notice: Stats '%s' requested by %s (%s@%s)",parameters[0],user->nick,user->ident,user->host); return true; } return false; |