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() |