diff options
| author | lethality <lethality@anope.org> | 2012-02-23 00:04:36 +0000 |
|---|---|---|
| committer | lethality <lethality@anope.org> | 2012-02-23 00:04:36 +0000 |
| commit | f01aab5f9bf5c14162438d1707e6e6cd9730c703 (patch) | |
| tree | 4df360cd61e7dd1fd749d90e9dbe9e3cf1d739af /modules/extra/m_dnsbl.cpp | |
| parent | 826de43724d4584f9150a1fb8cebe8f49d9431a7 (diff) | |
| parent | 3850b073ddf610415de54dced9ff134397779676 (diff) | |
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'modules/extra/m_dnsbl.cpp')
| -rw-r--r-- | modules/extra/m_dnsbl.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/extra/m_dnsbl.cpp b/modules/extra/m_dnsbl.cpp index 71011760e..d4c49501c 100644 --- a/modules/extra/m_dnsbl.cpp +++ b/modules/extra/m_dnsbl.cpp @@ -135,9 +135,16 @@ class ModuleDNSBL : public Module return; /* At this time we only support IPv4 */ - sockaddrs user_ip(user->ip); - 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; + } const unsigned long &ip = user_ip.sa4.sin_addr.s_addr; unsigned long reverse_ip = (ip << 24) | ((ip & 0xFF00) << 8) | ((ip & 0xFF0000) >> 8) | (ip >> 24); |
