Handle UnicodeError in firewall when resolving hostname

This commit is contained in:
icequbes1 2021-01-02 15:29:58 -08:00
parent ba4e7f853d
commit ed33374f67
No known key found for this signature in database
GPG Key ID: 8CDFE284B142D0EA

View File

@ -619,6 +619,9 @@ class NftablesWorker(FirewallWorker):
except socket.gaierror as e: except socket.gaierror as e:
raise RuleParseError('Failed to resolve {}: {}'.format( raise RuleParseError('Failed to resolve {}: {}'.format(
rule['dsthost'], str(e))) rule['dsthost'], str(e)))
except UnicodeError as e:
raise RuleParseError('Invalid destination {}: {}'.format(
rule['dsthost'], str(e)))
nft_rule += ' {} daddr {{ {} }}'.format(ip_match, nft_rule += ' {} daddr {{ {} }}'.format(ip_match,
', '.join(set(item[4][0] + fullmask for item in addrinfo))) ', '.join(set(item[4][0] + fullmask for item in addrinfo)))