diff --git a/src/opnsense/scripts/filter/lib/alias.py b/src/opnsense/scripts/filter/lib/alias.py index bf3f95dac..6062f67f6 100644 --- a/src/opnsense/scripts/filter/lib/alias.py +++ b/src/opnsense/scripts/filter/lib/alias.py @@ -58,7 +58,7 @@ class Alias(object): self._type = None self._proto = None self._items = list() - self._resolve_content = list() + self._resolve_content = set() for subelem in elem: if subelem.tag == 'type': self._type = subelem.text @@ -240,18 +240,18 @@ class Alias(object): f_out.write('%s\n' % address) f_out.flush() # preserve addresses - self._resolve_content.append(address) + self._resolve_content.add(address) except IOError: # parse issue, keep data as-is, flush previous content to disk with open(self._filename_alias_content, 'w') as f_out: f_out.write(undo_content) - self._resolve_content = undo_content.split("\n") + self._resolve_content = set(undo_content.split("\n")) # flush md5 hash to disk open(self._filename_alias_hash, 'w').write(self.uniqueid()) else: - self._resolve_content = open(self._filename_alias_content).read().split() + self._resolve_content = set(open(self._filename_alias_content).read().split()) # return the addresses and networks of this alias - return self._resolve_content + return list(self._resolve_content) def get_parser(self): """ fetch address parser to use, None if alias type is not handled here