commit 11a548b7331d86dfee8f1601f4e077a963773d04
parent 06ab83ec5cac6b56e8e1a5f2730e01a4064bcf16
Author: rexxnor <rexxnor+gnunet@brief.li>
Date: Fri, 24 May 2019 13:43:23 +0200
fixed persistend bug with labels, changed soa adding
Diffstat:
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/ascension/ascension.py b/ascension/ascension.py
@@ -185,6 +185,7 @@ class Ascender():
# define recordline
recordline = list()
label = ""
+ bestlabel = ""
domain = None
labelrecords = taskqueue.get()
@@ -195,8 +196,10 @@ class Ascender():
# execute thing to run on item
label, listofrdatasets = labelrecords
label = str(label)
+
subzones = str(label).split('.')
domain = self.domain
+ bestlabel = label
if len(subzones) > 1:
label = subzones[0]
@@ -208,6 +211,7 @@ class Ascender():
domain = fqdn
elif subzone in self.subzonedict.keys():
domain = subzone
+ bestlabel = label
for rdataset in listofrdatasets:
for record in rdataset:
@@ -239,7 +243,7 @@ class Ascender():
self.transform_to_gns_format(record,
rdtype,
domain,
- label)
+ bestlabel)
# skip record if value is none
if value is None:
continue
@@ -514,9 +518,23 @@ class Ascender():
retry,
expiry,
irefresh)
- recordval = '%s %s %s %s' % (ttl, "SOA", self.flags, str(value))
- recordline = ['-R', recordval]
- self.add_recordline_to_gns(recordline, self.domain, str(label))
+ # Deleting old SOA record and ignoring errors
+ sp.run([GNUNET_NAMESTORE_COMMAND,
+ '-d',
+ '-z', self.domain,
+ '-n', str(label),
+ '-t', "SOA",],
+ stderr=sp.DEVNULL)
+ logging.info("Deleted old SOA record")
+ # Adding new SOA record
+ sp.run([GNUNET_NAMESTORE_COMMAND,
+ '-a',
+ '-z', self.domain,
+ '-n', str(label),
+ '-t', "SOA",
+ '-V', value,
+ '-e', "%ss" % str(self.minimum)])
+ logging.info("Added new SOA record")
@staticmethod
def create_zone_and_get_pkey(zonestring: str) -> str: