summaryrefslogtreecommitdiff
path: root/modules/protocol/unreal.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-02-25 00:26:49 -0500
committerAdam <Adam@anope.org>2013-02-25 00:26:49 -0500
commit8561941e222cfeef8d99e93782d7f7e146e60932 (patch)
tree3491edebd08d77ff8a62459704f8a03a7b9721e9 /modules/protocol/unreal.cpp
parent5d4db2b85408202086ae35f38306e81f9216959e (diff)
Don't enforce session limit on clients with no IP on Unreal, fix typo in /cs down syntax, fix os_session messages to reference ip
Diffstat (limited to 'modules/protocol/unreal.cpp')
-rw-r--r--modules/protocol/unreal.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp
index 01141b6a3..b7cd2e322 100644
--- a/modules/protocol/unreal.cpp
+++ b/modules/protocol/unreal.cpp
@@ -778,17 +778,20 @@ struct IRCDMessageNick : IRCDMessage
{
if (params.size() == 11)
{
- Anope::string decoded_ip;
- Anope::B64Decode(params[9], decoded_ip);
-
Anope::string ip;
- try
+ if (params[9] != "*")
{
- sockaddrs ip_addr;
- ip_addr.ntop(params[9].length() == 8 ? AF_INET : AF_INET6, decoded_ip.c_str());
- ip = ip_addr.addr();
+ Anope::string decoded_ip;
+ Anope::B64Decode(params[9], decoded_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) { }
}
- catch (const SocketException &ex) { }
Anope::string vhost = params[8];
if (vhost.equals_cs("*"))