Index: uniconf/modedit.py =================================================================== --- uniconf/modedit.py (Revision 13424) +++ 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 @@ -722,10 +723,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: [*[]] @@ -851,7 +854,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' ) @@ -995,7 +998,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' ) @@ -1513,7 +1516,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 @@ -1548,7 +1551,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 13424) +++ debian/changelog (Arbeitskopie) @@ -1,3 +1,27 @@ +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.36-1) unstable; urgency=low * don't set the focus on the username input field. Bug #16070