1
0
mirror of https://github.com/anope/anope.git synced 2026-06-26 07:36:39 +02:00

Fix handling clients on unreal that have no ip (it sends a *)

This commit is contained in:
Adam
2012-10-25 01:30:41 -04:00
parent 00256fdba8
commit 10e21bfeda
+9 -3
View File
@@ -776,8 +776,14 @@ struct IRCDMessageNick : IRCDMessage
Anope::string decoded_ip;
Anope::B64Decode(params[9], decoded_ip);
sockaddrs ip;
ip.ntop(params[9].length() == 8 ? AF_INET : AF_INET6, decoded_ip.c_str());
Anope::string ip;
try
{
sockaddrs ip_addr;
ip_addr.ntop(params[9].length() == 8 ? AF_INET : AF_INET6, decoded_ip.c_str());
ip = ip_addr.addr();
}
catch (const SocketException &ex) { }
Anope::string vhost = params[8];
if (vhost.equals_cs("*"))
@@ -785,7 +791,7 @@ struct IRCDMessageNick : IRCDMessage
time_t user_ts = params[2].is_pos_number_only() ? convertTo<time_t>(params[2]) : Anope::CurTime;
User *user = new User(params[0], params[3], params[4], vhost, ip.addr(), source.GetServer(), params[10], user_ts, params[7]);
User *user = new User(params[0], params[3], params[4], vhost, ip, source.GetServer(), params[10], user_ts, params[7]);
const NickAlias *na = NULL;