summaryrefslogtreecommitdiff
path: root/modules/extra/m_proxyscan.cpp
diff options
context:
space:
mode:
authorlethality <lethality@anope.org>2012-02-23 00:04:36 +0000
committerlethality <lethality@anope.org>2012-02-23 00:04:36 +0000
commitf01aab5f9bf5c14162438d1707e6e6cd9730c703 (patch)
tree4df360cd61e7dd1fd749d90e9dbe9e3cf1d739af /modules/extra/m_proxyscan.cpp
parent826de43724d4584f9150a1fb8cebe8f49d9431a7 (diff)
parent3850b073ddf610415de54dced9ff134397779676 (diff)
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'modules/extra/m_proxyscan.cpp')
-rw-r--r--modules/extra/m_proxyscan.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/extra/m_proxyscan.cpp b/modules/extra/m_proxyscan.cpp
index ea35e8f77..badc293fc 100644
--- a/modules/extra/m_proxyscan.cpp
+++ b/modules/extra/m_proxyscan.cpp
@@ -346,10 +346,17 @@ class ModuleProxyScan : public Module
if (exempt || !user || !Me->IsSynced() || !user->server->IsSynced())
return;
- sockaddrs user_ip(user->ip);
/* At this time we only support IPv4 */
- if (user_ip.sa.sa_family != AF_INET)
+ sockaddrs user_ip;
+ try
+ {
+ user_ip.pton(AF_INET, user->ip);
+ }
+ catch (const SocketException &)
+ {
+ /* User doesn't have a valid IPv4 IP (ipv6/spoof/etc) */
return;
+ }
if (!this->con_notice.empty() && !this->con_source.empty())
{