]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/stats.cpp
Add fine-grained command flood controls
[user/henk/code/inspircd.git] / src / stats.cpp
index a469600af891e19fc55f9953e9d410751ed05699..e8173e655df340d693aa9fbba2ac051eaaa130d4 100644 (file)
@@ -46,12 +46,14 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results)
                {
                        for (size_t i = 0; i < this->ports.size(); i++)
                        {
-                               std::string ip = this->ports[i]->GetIP();
+                               std::string ip = this->ports[i]->bind_addr;
                                if (ip.empty())
                                        ip.assign("*");
+                               std::string type = ports[i]->bind_tag->getString("type", "clients");
+                               std::string hook = ports[i]->bind_tag->getString("ssl", "plaintext");
 
                                results.push_back(sn+" 249 "+user->nick+" :"+ ip + ":"+ConvToStr(ports[i]->bind_port)+
-                                       " (" + ports[i]->type + ", " + ports[i]->hook + ")");
+                                       " (" + type + ", " + hook + ")");
                        }
                }
                break;
@@ -148,7 +150,6 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results)
                /* stats z (debug and memory info) */
                case 'z':
                {
-                       results.push_back(sn+" 240 "+user->nick+" :InspIRCd: "+ConvToStr(sizeof(InspIRCd))+" bytes");
                        results.push_back(sn+" 249 "+user->nick+" :Users: "+ConvToStr(this->Users->clientlist->size()));
                        results.push_back(sn+" 249 "+user->nick+" :Channels: "+ConvToStr(this->chanlist->size()));
                        results.push_back(sn+" 249 "+user->nick+" :Commands: "+ConvToStr(this->Parser->cmdlist.size()));
@@ -165,8 +166,6 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results)
                                }
                        }
 
-                       results.push_back(sn+" 249 "+user->nick+" :MOTD "+ConvToStr(this->Config->MOTD.size())+", RULES "+ConvToStr(this->Config->RULES.size()));
-
                        float kbitpersec_in, kbitpersec_out, kbitpersec_total;
                        char kbitpersec_in_s[30], kbitpersec_out_s[30], kbitpersec_total_s[30];
 
@@ -251,7 +250,7 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results)
                        for (std::vector<LocalUser*>::iterator n = this->Users->local_users.begin(); n != this->Users->local_users.end(); n++)
                        {
                                LocalUser* i = *n;
-                               results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->dhost+"] "+ConvToStr(i->getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
+                               results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->dhost+"] "+ConvToStr(i->eh.getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
                        }
                break;
 
@@ -261,7 +260,7 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results)
                        for (std::vector<LocalUser*>::iterator n = this->Users->local_users.begin(); n != this->Users->local_users.end(); n++)
                        {
                                LocalUser* i = *n;
-                               results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->GetIPString()+"] "+ConvToStr(i->getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
+                               results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->GetIPString()+"] "+ConvToStr(i->eh.getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
                        }
                break;