Skip to content

Commit

Permalink
Fix is_local_domain breaking with IPv6 address.
Browse files Browse the repository at this point in the history
  • Loading branch information
iwalton3 committed Mar 1, 2023
1 parent 68d0153 commit 6dac2e6
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion plex_mpv_shim/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,18 @@ def safe_urlopen(url, data=None, quiet=False):
return False

def is_local_domain(domain):
return ipaddress.ip_address(socket.gethostbyname(domain)).is_private
try:
return ipaddress.ip_address(socket.gethostbyname(domain)).is_private
except socket.gaierror as e:
if e.errno == socket.EAI_NODATA:
try:
# try checking for an IPv6 address
return ipaddress.ip_address(socket.getaddrinfo(domain, None, socket.AF_INET6)[0][4][0]).is_private
except socket.gaierror:
log.warning("Unable to check local/remote for domain (IPv6): %s" % domain, exc_info=True)
else:
log.warning("Unable to check local/remote for domain: %s" % domain, exc_info=True)
return False

def sanitize_msg(text):
if settings.sanitize_output:
Expand Down

0 comments on commit 6dac2e6

Please sign in to comment.