diff --git a/ChangeLog b/ChangeLog index f27e7dfc..d49ee82a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ ver. 0.9.4 (2015/XX/XXX) - wanna-be-released - Fixes: * roundcube-auth jail typo for logpath + * Fix dnsToIp resolver for fqdn with large list of IPs (gh-1164) - New Features: diff --git a/fail2ban/server/filter.py b/fail2ban/server/filter.py index 18afb135..6fc2cd6c 100644 --- a/fail2ban/server/filter.py +++ b/fail2ban/server/filter.py @@ -855,8 +855,9 @@ class DNSUtils: """ Convert a DNS into an IP address using the Python socket module. Thanks to Kevin Drapel. """ + # retrieve ip (todo: use AF_INET6 for IPv6) try: - return set(socket.gethostbyname_ex(dns)[2]) + return set([i[4][0] for i in socket.getaddrinfo(dns, None, socket.AF_INET, 0, socket.IPPROTO_TCP)]) except socket.error, e: logSys.warning("Unable to find a corresponding IP address for %s: %s" % (dns, e))