View | Details | Raw Unified | Return to bug 44710
Collapse All | Expand All

(-)a/management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py (-3 / +7 lines)
 Lines 2245-2255   class simpleComputer(simpleLdap): Link Here 
2245
		def modify(rdn, zoneDN):
2245
		def modify(rdn, zoneDN):
2246
			zone_name = zoneDN.split('=')[1].split(',')[0]
2246
			zone_name = zoneDN.split('=')[1].split(',')[0]
2247
			for dn, attributes in self.lo.search(scope='domain', attr=['pTRRecord'], filter=filter_format('(&(relativeDomainName=%s)(zoneName=%s))', (rdn, zone_name))):
2247
			for dn, attributes in self.lo.search(scope='domain', attr=['pTRRecord'], filter=filter_format('(&(relativeDomainName=%s)(zoneName=%s))', (rdn, zone_name))):
2248
				if len(attributes['pTRRecord']) == 1:
2248
				ptr_records = attributes.get('pTRRecord', [])
2249
				removals = []
2250
				if len(ptr_records) >= 1:
2251
					removals = [b'%s.%s.' % (name, attributes2['zoneName'][0]) for dn2, attributes2 in self.lo.search(scope='domain', attr=['zoneName'], filter=filter_format('(&(relativeDomainName=%s)(objectClass=dNSZone))', [name]), unique=False)]
2252
2253
				if len(ptr_records) <= 1 or set(ptr_records) == set(removals):
2249
					self.lo.delete('relativeDomainName=%s,%s' % (escape_dn_chars(rdn), zoneDN))
2254
					self.lo.delete('relativeDomainName=%s,%s' % (escape_dn_chars(rdn), zoneDN))
2250
				else:
2255
				else:
2251
					for dn2, attributes2 in self.lo.search(scope='domain', attr=['zoneName'], filter=filter_format('(&(relativeDomainName=%s)(objectClass=dNSZone))', [name]), unique=False):
2256
					self.lo.modify(dn, [('pTRRecord', removals, '')])
2252
						self.lo.modify(dn, [('pTRRecord', '%s.%s.' % (name, attributes2['zoneName'][0]), '')])
2253
2257
2254
				zone = univention.admin.handlers.dns.reverse_zone.object(self.co, self.lo, self.position, zoneDN)
2258
				zone = univention.admin.handlers.dns.reverse_zone.object(self.co, self.lo, self.position, zoneDN)
2255
				zone.open()
2259
				zone.open()

Return to bug 44710