From 3dbbfc16ce64658ee8ccdff276c1d4cb9c9f0c51 Mon Sep 17 00:00:00 2001 From: "SIPOS, Peter" Date: Thu, 17 Nov 2016 11:37:09 +0100 Subject: [PATCH] Implement auto-ptr deleting functionality this way we safely remove the corresponding auto created reverse ptr --- app/models.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/models.py b/app/models.py index fdcc9c1..bcb2490 100644 --- a/app/models.py +++ b/app/models.py @@ -1040,11 +1040,20 @@ class Record(object): self.ttl = r['ttl'] self.data = r_name self.add(domain_reverse_name) - return {'status': 'ok', 'msg': 'Record was applied successfully'} - except Exception, e: - logging.error("Cannot apply record changes to domain %s. DETAIL: %s" % (str(e), domain)) - return {'status': 'error', 'msg': 'There was something wrong, please contact administrator'} - + for r in deleted_records: + if r['type'] in ['A', 'AAAA']: + r_name = r['name'] + '.' + r_content = r['content'] + temp = re.search('^(([a-f0-9]\.){4}(?P.+6.arpa)\.?)|(\.(?P.+r.arpa)\.?)', dns.reversename.from_address(r_content).to_text()) + domain_reverse_name = temp.group('ipv6name') if temp.group('ipv6name') != None else temp.group('ipv4name') + self.name = dns.reversename.from_address(r_content).to_text() + self.type = 'PTR' + self.data = r_content + self.delete(domain_reverse_name) + return {'status': 'ok', 'msg': 'Auto-PTR record was updated successfully'} + except Exception as e: + logging.error("Cannot update auto-ptr record changes to domain %s. DETAIL: %s" % (str(e), domain)) + return {'status': 'error', 'msg': 'Auto-PTR creation failed. There was something wrong, please contact administrator.'} def delete(self, domain): """