diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py index b18f29c..d85abee 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/network.py @@ -183,7 +183,10 @@ class object(univention.admin.handlers.simpleLdap): module = module def stepIp(self): - network = ipaddr.IPNetwork(self['network'] + '/' + self['netmask']) + try: + network = ipaddr.IPNetwork(self['network'] + '/' + self['netmask']) + except ValueError as exc: + raise univention.admin.uexceptions.valueError(str(exc)) if self['nextIp']: # nextIP is already set: # - check range for actual ip @@ -258,8 +261,11 @@ def _ldap_modlist(self): next_ip_changed = False if self.hasChanged('ipRange'): - network = ipaddr.IPNetwork(self['network'] + '/' + self['netmask']) - currentIp = ipaddr.IPAddress(self['nextIp']) + try: + network = ipaddr.IPNetwork(self['network'] + '/' + self['netmask']) + ipaddr.IPAddress(self['nextIp']) + except ValueError as exc: + raise univention.admin.uexceptions.valueError(str(exc)) if self['ipRange']: self.sort_ipranges() self['nextIp'] = self['ipRange'][0][0]