Index: uniconf/modedit.py =================================================================== --- uniconf/modedit.py (Revision 13847) +++ uniconf/modedit.py (Arbeitskopie) @@ -34,6 +34,7 @@ from local import _ from syntax import * +import ipaddr # IPv6 import univention.debug import univention.admin.uldap import univention.admin.modules @@ -726,10 +727,12 @@ return ( zone, ip, mac ) def is_ip( ip ): - _re = re.compile( '^[ 0-9 ]+\.[ 0-9 ]+\.[ 0-9 ]+\.[ 0-9 ]+$' ) - if _re.match ( ip ): - return True - return False + # match IPv4 (0.0.0.0 is allowed) or IPv6 address (incl. IPv4-mapped IPv6) + try: + ipaddr.IPAddress(ip) + except ValueError: + return False + return True def is_alias( alias ): # hostname based upon RFC 952: [*[]] @@ -855,7 +858,7 @@ if name: domainPos=univention.admin.uldap.position(position.getDomain()) - dnsZone=self.lo.searchDn('(&(objectClass=dnsZone)(relativeDomainName=@)(!(zoneName=*.in-addr.arpa)))', base=domainPos.getBase(), scope='domain') + dnsZone=self.lo.searchDn('(&(objectClass=dnsZone)(relativeDomainName=@)(!(zoneName=*.arpa)))', base=domainPos.getBase(), scope='domain') # IPv4 + IPv6 if self.save.get('x_choice_value_of_%s'%name,'') == '': self.save.put('x_choice_value_of_%s'%name, 'None' ) @@ -999,7 +1002,7 @@ if name: domainPos=univention.admin.uldap.position(position.getDomain()) - dnsZone=self.lo.searchDn('(&(objectClass=dNSZone)(relativeDomainName=@)(zoneName=*.in-addr.arpa))', base=domainPos.getBase(), scope='domain') + dnsZone=self.lo.searchDn('(&(objectClass=dNSZone)(relativeDomainName=@)(zoneName=*.arpa))', base=domainPos.getBase(), scope='domain') # IPv4 + IPv6 if self.save.get('x_choice_value_of_%s'%name,'') == '': self.save.put('x_choice_value_of_%s'%name, 'None' ) @@ -1517,7 +1520,7 @@ primary_group_choicelist=[] domainPos=univention.admin.uldap.position(position.getDomain()) - dnsZone=self.lo.searchDn('(&(objectClass=dnsZone)(relativeDomainName=@)(!(zoneName=*.in-addr.arpa)))', base=domainPos.getBase(), scope='domain') + dnsZone=self.lo.searchDn('(&(objectClass=dnsZone)(relativeDomainName=@)(!(zoneName=*.arpa)))', base=domainPos.getBase(), scope='domain') # IPv4 + IPv6 if dnsZone: groups=dnsZone @@ -1552,7 +1555,7 @@ dns_entry_reverse_choicelist=[] domainPos=univention.admin.uldap.position(position.getDomain()) - dnsZone=self.lo.searchDn('(&(objectClass=dNSZone)(relativeDomainName=@)(zoneName=*.in-addr.arpa))', base=domainPos.getBase(), scope='domain') + dnsZone=self.lo.searchDn('(&(objectClass=dNSZone)(relativeDomainName=@)(zoneName=*.arpa))', base=domainPos.getBase(), scope='domain') # IPv4 + IPv6 if dnsZone: groups=dnsZone Index: debian/changelog =================================================================== --- debian/changelog (Revision 13847) +++ debian/changelog (Arbeitskopie) @@ -1,3 +1,33 @@ +univention-directory-manager (7.1.4-1) unstable; urgency=low + + * merged with trunk v. 7.0.38-1 (Bug #15555) + + -- Kai-Wilhelm Bolte Fri, 20 Nov 2009 16:26:44 +0100 + +univention-directory-manager (7.1.3-1) unstable; urgency=low + + * merged with trunk (Bug #15555) + + -- Kai-Wilhelm Bolte Wed, 4 Nov 2009 11:14:10 +0100 + +univention-directory-manager (7.1.2-1) unstable; urgency=low + + * use ipaddr module for syntax check (Bug #15555) + + -- Kai-Wilhelm Bolte Mon, 12 Oct 2009 14:05:38 +0200 + +univention-directory-manager (7.1.1-1) unstable; urgency=low + + * add IPv6 fixes to forward and reverse zones in computers - DNS (Bug #15687) + + -- Kai-Wilhelm Bolte Thu, 8 Oct 2009 17:33:16 +0200 + +univention-directory-manager (7.1.0-1) unstable; urgency=low + + * make computers - DNS tab show IPv6 zones (Bug #15687) + + -- Kai-Wilhelm Bolte Tue, 29 Sep 2009 13:33:47 +0200 + univention-directory-manager (7.0.38-1) unstable; urgency=low * convert the ucr value for the sizelimit into an integer value. Bug