diff options
-rw-r--r-- | include/configreader.h | 4 | ||||
-rw-r--r-- | src/configreader.cpp | 8 | ||||
-rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 10 | ||||
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 7 |
4 files changed, 15 insertions, 14 deletions
diff --git a/include/configreader.h b/include/configreader.h index b1eb9b263..8b031012d 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -618,6 +618,10 @@ class CoreExport ServerConfig : public Extensible */ void ClearStack(); + /** Get server ID as string with required leading zeroes + */ + std::string GetSID(); + /** Update the 005 vector */ void Update005(); diff --git a/src/configreader.cpp b/src/configreader.cpp index c5f37a1e4..2ee99f1af 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1716,6 +1716,14 @@ InspIRCd* ServerConfig::GetInstance() return ServerInstance; } +std::string ServerConfig::GetSID() +{ + std::string OurSID; + OurSID += (char)((Instance->Config->sid / 100) + 48); + OurSID += (char)((Instance->Config->sid / 10) % 10 + 48); + OurSID += (char)(Instance->Config->sid % 10 + 48); + return OurSID; +} ValueItem::ValueItem(int value) { diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 91165824e..f2be6dd31 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -430,12 +430,6 @@ bool TreeSocket::Capab(const std::deque<std::string> ¶ms) } else if (params[0] == "END") { - std::string OurSID; - - OurSID += (char)((Instance->Config->sid / 100) + 48); - OurSID += (char)((Instance->Config->sid / 10) % 10 + 48); - OurSID += (char)(Instance->Config->sid % 10 + 48); - std::string reason; int ip6support = 0; #ifdef SUPPORT_IP6LINKS @@ -508,14 +502,14 @@ bool TreeSocket::Capab(const std::deque<std::string> ¶ms) if (!this->GetTheirChallenge().empty() && (this->LinkState == CONNECTING)) { this->WriteLine(std::string("SERVER ")+this->Instance->Config->ServerName+" "+this->MakePass(OutboundPass, this->GetTheirChallenge())+" 0 "+ - OurSID+" :"+this->Instance->Config->ServerDesc); + Instance->Config->GetSID()+" :"+this->Instance->Config->ServerDesc); } } else { /* They didnt specify a challenge or we don't have m_sha256.so, we use plaintext */ if (this->LinkState == CONNECTING) - this->WriteLine(std::string("SERVER ")+this->Instance->Config->ServerName+" "+OutboundPass+" 0 "+OurSID+" :"+this->Instance->Config->ServerDesc); + this->WriteLine(std::string("SERVER ")+this->Instance->Config->ServerName+" "+OutboundPass+" 0 "+Instance->Config->GetSID()+" :"+this->Instance->Config->ServerDesc); } if (reason.length()) diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index c671ebded..7f274ba13 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -910,17 +910,12 @@ bool TreeSocket::Inbound_Server(std::deque<std::string> ¶ms) std::string password = params[1]; std::string sid = params[3]; std::string description = params[4]; - std::string OurSID; int hops = atoi(params[2].c_str()); this->InboundServerName = sname; this->InboundDescription = description; this->InboundSID = sid; - OurSID += (char)((Instance->Config->sid / 100) + 48); - OurSID += (char)((Instance->Config->sid / 10) % 10 + 48); - OurSID += (char)(Instance->Config->sid % 10 + 48); - if (!sentcapab) this->SendCapabilities(); @@ -976,7 +971,7 @@ bool TreeSocket::Inbound_Server(std::deque<std::string> ¶ms) // this is good. Send our details: Our server name and description and hopcount of 0, // along with the sendpass from this block. - this->WriteLine(std::string("SERVER ")+this->Instance->Config->ServerName+" "+this->MakePass(x->SendPass, this->GetTheirChallenge())+" 0 "+OurSID+" :"+this->Instance->Config->ServerDesc); + this->WriteLine(std::string("SERVER ")+this->Instance->Config->ServerName+" "+this->MakePass(x->SendPass, this->GetTheirChallenge())+" 0 "+Instance->Config->GetSID()+" :"+this->Instance->Config->ServerDesc); // move to the next state, we are now waiting for THEM. this->LinkState = WAIT_AUTH_2; return true; |