mirror of
https://github.com/anope/anope.git
synced 2026-07-03 07:53:14 +02:00
Add a helper method for getting a description of an uplink.
This commit is contained in:
@@ -144,6 +144,7 @@ namespace Configuration
|
||||
Uplink(const Anope::string &_host, int _port, const Anope::string &_password, int _protocol) : host(_host), port(_port), password(_password), protocol(_protocol) { }
|
||||
inline bool operator==(const Uplink &other) const { return host == other.host && port == other.port && password == other.password && protocol == other.protocol; }
|
||||
inline bool operator!=(const Uplink &other) const { return !(*this == other); }
|
||||
Anope::string str() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
using Configuration::File;
|
||||
using Configuration::Conf;
|
||||
using Configuration::Internal::Block;
|
||||
using Configuration::Uplink;
|
||||
|
||||
File ServicesConf("anope.conf", false); // Configuration file name
|
||||
Conf *Config = NULL;
|
||||
@@ -619,6 +620,23 @@ void Conf::Post(Conf *old)
|
||||
}
|
||||
}
|
||||
|
||||
Anope::string Uplink::str() const
|
||||
{
|
||||
switch (protocol)
|
||||
{
|
||||
case AF_INET:
|
||||
return Anope::printf("%s:%u", this->host.c_str(), this->port);
|
||||
case AF_INET6:
|
||||
return Anope::printf("[%s]:%u", this->host.c_str(), this->port);
|
||||
case AF_UNIX:
|
||||
return this->host;
|
||||
}
|
||||
|
||||
// Should never be reached.
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
Block &Conf::GetModule(const Module *m)
|
||||
{
|
||||
if (!m)
|
||||
|
||||
+1
-1
@@ -162,7 +162,7 @@ int main(int ac, char **av, char **envp)
|
||||
}
|
||||
catch (const SocketException &ex)
|
||||
{
|
||||
Log(LOG_TERMINAL) << "Unable to connect to uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].host << ":" << Config->Uplinks[Anope::CurrentUplink].port << "): " << ex.GetReason();
|
||||
Log(LOG_TERMINAL) << "Unable to connect to uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].str() << "): " << ex.GetReason();
|
||||
}
|
||||
|
||||
/* Set up timers */
|
||||
|
||||
+4
-4
@@ -34,7 +34,7 @@ public:
|
||||
}
|
||||
catch (const SocketException &ex)
|
||||
{
|
||||
Log(LOG_TERMINAL) << "Unable to connect to uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].host << ":" << Config->Uplinks[Anope::CurrentUplink].port << "): " << ex.GetReason();
|
||||
Log(LOG_TERMINAL) << "Unable to connect to uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].str() << "): " << ex.GetReason();
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -57,7 +57,7 @@ void Uplink::Connect()
|
||||
UplinkSock->Bind(Config->GetBlock("serverinfo").Get<const Anope::string>("localhost"));
|
||||
FOREACH_MOD(OnPreServerConnect, ());
|
||||
Anope::string ip = Anope::Resolve(u.host, u.protocol);
|
||||
Log(LOG_TERMINAL) << "Attempting to connect to uplink #" << (Anope::CurrentUplink + 1) << " " << u.host << " (" << ip << '/' << u.port << ") with protocol " << IRCD->GetProtocolName();
|
||||
Log(LOG_TERMINAL) << "Attempting to connect to uplink #" << (Anope::CurrentUplink + 1) << " " << ip << " (" << u.str() << ") with protocol " << IRCD->GetProtocolName();
|
||||
UplinkSock->Connect(ip, u.port);
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ bool UplinkSocket::ProcessRead()
|
||||
|
||||
void UplinkSocket::OnConnect()
|
||||
{
|
||||
Log(LOG_TERMINAL) << "Successfully connected to uplink #" << (Anope::CurrentUplink + 1) << " " << Config->Uplinks[Anope::CurrentUplink].host << ":" << Config->Uplinks[Anope::CurrentUplink].port;
|
||||
Log(LOG_TERMINAL) << "Successfully connected to uplink #" << (Anope::CurrentUplink + 1) << " " << Config->Uplinks[Anope::CurrentUplink].str();
|
||||
IRCD->SendConnect();
|
||||
FOREACH_MOD(OnServerConnect, ());
|
||||
}
|
||||
@@ -193,6 +193,6 @@ void UplinkSocket::OnConnect()
|
||||
void UplinkSocket::OnError(const Anope::string &err)
|
||||
{
|
||||
Anope::string what = !this->flags[SF_CONNECTED] ? "Unable to connect to" : "Lost connection from";
|
||||
Log(LOG_TERMINAL) << what << " uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].host << ":" << Config->Uplinks[Anope::CurrentUplink].port << ")" << (!err.empty() ? (": " + err) : "");
|
||||
Log(LOG_TERMINAL) << what << " uplink #" << (Anope::CurrentUplink + 1) << " (" << Config->Uplinks[Anope::CurrentUplink].str() << ")" << (!err.empty() ? (": " + err) : "");
|
||||
error |= !err.empty();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user