]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/netburst.cpp
m_spanningtree Remove SpanningTreeUtilities* fields and parameters
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / netburst.cpp
index c22ad3acb17efe52f8774a92bd5901f657a7d175..d86115cce40da25cffc47e455c00084da03cb52e 100644 (file)
@@ -34,9 +34,8 @@
  */
 void TreeSocket::DoBurst(TreeServer* s)
 {
-       std::string servername = s->GetName();
        ServerInstance->SNO->WriteToSnoMask('l',"Bursting to \2%s\2 (Authentication: %s%s).",
-               servername.c_str(),
+               s->GetName().c_str(),
                capab->auth_fingerprint ? "SSL Fingerprint and " : "",
                capab->auth_challenge ? "challenge-response" : "plaintext password");
        this->CleanNegotiationInfo();
@@ -52,7 +51,7 @@ void TreeSocket::DoBurst(TreeServer* s)
                SyncChannel(i->second);
 
        this->SendXLines();
-       FOREACH_MOD(I_OnSyncNetwork,OnSyncNetwork(Utils->Creator,(void*)this));
+       FOREACH_MOD(OnSyncNetwork, (Utils->Creator,(void*)this));
        this->WriteLine(":" + ServerInstance->Config->GetSID() + " ENDBURST");
        ServerInstance->SNO->WriteToSnoMask('l',"Finished bursting to \2"+ s->GetName()+"\2.");
 }
@@ -66,18 +65,14 @@ void TreeSocket::DoBurst(TreeServer* s)
  */
 void TreeSocket::SendServers(TreeServer* Current, TreeServer* s)
 {
-       char command[MAXBUF];
        for (unsigned int q = 0; q < Current->ChildCount(); q++)
        {
                TreeServer* recursive_server = Current->GetChild(q);
                if (recursive_server != s)
                {
-                       std::string recursive_servername = recursive_server->GetName();
-                       snprintf(command, MAXBUF, ":%s SERVER %s * 0 %s :%s", Current->GetID().c_str(), recursive_servername.c_str(),
-                                       recursive_server->GetID().c_str(),
-                                       recursive_server->GetDesc().c_str());
-                       this->WriteLine(command);
-                       this->WriteLine(":"+recursive_server->GetID()+" VERSION :"+recursive_server->GetVersion());
+                       this->WriteLine(InspIRCd::Format(":%s SERVER %s * 0 %s :%s", Current->GetID().c_str(),
+                               recursive_server->GetName().c_str(), recursive_server->GetID().c_str(), recursive_server->GetDesc().c_str()));
+                       this->WriteLine(":" + recursive_server->GetID() + " VERSION :" + recursive_server->GetVersion());
                        /* down to next level */
                        this->SendServers(recursive_server, s);
                }
@@ -112,16 +107,13 @@ void TreeSocket::SendFJoins(Channel* c)
        }
        this->WriteLine(line);
 
-       ModeReference ban(NULL, "ban");
+       ChanModeReference ban(NULL, "ban");
        static_cast<ListModeBase*>(*ban)->DoSyncChannel(c, Utils->Creator, this);
 }
 
 /** Send all XLines we know about */
 void TreeSocket::SendXLines()
 {
-       char data[MAXBUF];
-       const char* sn = ServerInstance->Config->GetSID().c_str();
-
        std::vector<std::string> types = ServerInstance->XLines->GetAllTypes();
 
        for (std::vector<std::string>::const_iterator it = types.begin(); it != types.end(); ++it)
@@ -140,12 +132,14 @@ void TreeSocket::SendXLines()
                                if (!i->second->IsBurstable())
                                        break;
 
-                               snprintf(data,MAXBUF,":%s ADDLINE %s %s %s %lu %lu :%s",sn, it->c_str(), i->second->Displayable(),
-                                               i->second->source.c_str(),
-                                               (unsigned long)i->second->set_time,
-                                               (unsigned long)i->second->duration,
-                                               i->second->reason.c_str());
-                               this->WriteLine(data);
+                               this->WriteLine(InspIRCd::Format(":%s ADDLINE %s %s %s %lu %lu :%s",
+                                       ServerInstance->Config->GetSID().c_str(),
+                                       it->c_str(),
+                                       i->second->Displayable().c_str(),
+                                       i->second->source.c_str(),
+                                       (unsigned long)i->second->set_time,
+                                       (unsigned long)i->second->duration,
+                                       i->second->reason.c_str()));
                        }
                }
        }
@@ -154,16 +148,15 @@ void TreeSocket::SendXLines()
 /** Send channel topic, modes and metadata */
 void TreeSocket::SyncChannel(Channel* chan)
 {
-       char data[MAXBUF];
-
        SendFJoins(chan);
 
        // If the topic was ever set, send it, even if it's empty now
        // because a new empty topic should override an old non-empty topic
        if (chan->topicset != 0)
        {
-               snprintf(data,MAXBUF,":%s FTOPIC %s %lu %lu %s :%s", ServerInstance->Config->GetSID().c_str(), chan->name.c_str(), (unsigned long) chan->age, (unsigned long)chan->topicset, chan->setby.c_str(), chan->topic.c_str());
-               this->WriteLine(data);
+               this->WriteLine(InspIRCd::Format(":%s FTOPIC %s %lu %lu %s :%s", ServerInstance->Config->GetSID().c_str(),
+                       chan->name.c_str(), (unsigned long)chan->age, (unsigned long)chan->topicset,
+                       chan->setby.c_str(), chan->topic.c_str()));
        }
 
        for (Extensible::ExtensibleStore::const_iterator i = chan->GetExtList().begin(); i != chan->GetExtList().end(); i++)
@@ -174,14 +167,12 @@ void TreeSocket::SyncChannel(Channel* chan)
                        Utils->Creator->ProtoSendMetaData(this, chan, item->name, value);
        }
 
-       FOREACH_MOD(I_OnSyncChannel,OnSyncChannel(chan, Utils->Creator, this));
+       FOREACH_MOD(OnSyncChannel, (chan, Utils->Creator, this));
 }
 
 /** send all users and their oper state/modes */
 void TreeSocket::SendUsers()
 {
-       char data[MAXBUF];
-       std::string dataline;
        for (user_hash::iterator u = ServerInstance->Users->clientlist->begin(); u != ServerInstance->Users->clientlist->end(); u++)
        {
                if (u->second->registered == REG_ALL)
@@ -189,28 +180,27 @@ void TreeSocket::SendUsers()
                        TreeServer* theirserver = Utils->FindServer(u->second->server);
                        if (theirserver)
                        {
-                               snprintf(data,MAXBUF,":%s UID %s %lu %s %s %s %s %s %lu +%s :%s",
-                                               theirserver->GetID().c_str(),   /* Prefix: SID */
-                                               u->second->uuid.c_str(),        /* 0: UUID */
-                                               (unsigned long)u->second->age,  /* 1: TS */
-                                               u->second->nick.c_str(),        /* 2: Nick */
-                                               u->second->host.c_str(),        /* 3: Displayed Host */
-                                               u->second->dhost.c_str(),       /* 4: Real host */
-                                               u->second->ident.c_str(),       /* 5: Ident */
-                                               u->second->GetIPString().c_str(),       /* 6: IP string */
-                                               (unsigned long)u->second->signon, /* 7: Signon time for WHOWAS */
-                                               u->second->FormatModes(true),   /* 8...n: Modes and params */
-                                               u->second->fullname.c_str());   /* size-1: GECOS */
-                               this->WriteLine(data);
+                               this->WriteLine(InspIRCd::Format(":%s UID %s %lu %s %s %s %s %s %lu +%s :%s",
+                                       theirserver->GetID().c_str(),     // Prefix: SID
+                                       u->second->uuid.c_str(),          // 0: UUID
+                                       (unsigned long)u->second->age,    // 1: TS
+                                       u->second->nick.c_str(),          // 2: Nick
+                                       u->second->host.c_str(),          // 3: Real host
+                                       u->second->dhost.c_str(),         // 4: Display host
+                                       u->second->ident.c_str(),         // 5: Ident
+                                       u->second->GetIPString().c_str(), // 6: IP address
+                                       (unsigned long)u->second->signon, // 7: Signon time
+                                       u->second->FormatModes(true),     // 8...n: User modes and params
+                                       u->second->fullname.c_str()));    // size-1: GECOS
+
                                if (u->second->IsOper())
                                {
-                                       snprintf(data,MAXBUF,":%s OPERTYPE :%s", u->second->uuid.c_str(), u->second->oper->name.c_str());
-                                       this->WriteLine(data);
+                                       this->WriteLine(InspIRCd::Format(":%s OPERTYPE :%s", u->second->uuid.c_str(), u->second->oper->name.c_str()));
                                }
                                if (u->second->IsAway())
                                {
-                                       snprintf(data,MAXBUF,":%s AWAY %ld :%s", u->second->uuid.c_str(), (long)u->second->awaytime, u->second->awaymsg.c_str());
-                                       this->WriteLine(data);
+                                       this->WriteLine(InspIRCd::Format(":%s AWAY %ld :%s", u->second->uuid.c_str(), (long)u->second->awaytime,
+                                               u->second->awaymsg.c_str()));
                                }
                        }
 
@@ -222,7 +212,7 @@ void TreeSocket::SendUsers()
                                        Utils->Creator->ProtoSendMetaData(this, u->second, item->name, value);
                        }
 
-                       FOREACH_MOD(I_OnSyncUser,OnSyncUser(u->second,Utils->Creator,this));
+                       FOREACH_MOD(OnSyncUser, (u->second,Utils->Creator,this));
                }
        }
 }