aboutsummaryrefslogtreecommitdiff
path: root/ascension
diff options
context:
space:
mode:
authorrexxnor <rexxnor+gnunet@brief.li>2019-05-24 13:43:23 +0200
committerrexxnor <rexxnor+gnunet@brief.li>2019-05-24 13:43:23 +0200
commit11a548b7331d86dfee8f1601f4e077a963773d04 (patch)
treef3d348212c82e08f482507e07aeea997d293c0ba /ascension
parent06ab83ec5cac6b56e8e1a5f2730e01a4064bcf16 (diff)
downloadascension-11a548b7331d86dfee8f1601f4e077a963773d04.tar.gz
ascension-11a548b7331d86dfee8f1601f4e077a963773d04.zip
fixed persistend bug with labels, changed soa adding
Diffstat (limited to 'ascension')
-rw-r--r--ascension/ascension.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/ascension/ascension.py b/ascension/ascension.py
index 7244e6c..5196c6e 100644
--- a/ascension/ascension.py
+++ b/ascension/ascension.py
@@ -185,6 +185,7 @@ class Ascender():
185 # define recordline 185 # define recordline
186 recordline = list() 186 recordline = list()
187 label = "" 187 label = ""
188 bestlabel = ""
188 domain = None 189 domain = None
189 190
190 labelrecords = taskqueue.get() 191 labelrecords = taskqueue.get()
@@ -195,8 +196,10 @@ class Ascender():
195 # execute thing to run on item 196 # execute thing to run on item
196 label, listofrdatasets = labelrecords 197 label, listofrdatasets = labelrecords
197 label = str(label) 198 label = str(label)
199
198 subzones = str(label).split('.') 200 subzones = str(label).split('.')
199 domain = self.domain 201 domain = self.domain
202 bestlabel = label
200 203
201 if len(subzones) > 1: 204 if len(subzones) > 1:
202 label = subzones[0] 205 label = subzones[0]
@@ -208,6 +211,7 @@ class Ascender():
208 domain = fqdn 211 domain = fqdn
209 elif subzone in self.subzonedict.keys(): 212 elif subzone in self.subzonedict.keys():
210 domain = subzone 213 domain = subzone
214 bestlabel = label
211 215
212 for rdataset in listofrdatasets: 216 for rdataset in listofrdatasets:
213 for record in rdataset: 217 for record in rdataset:
@@ -239,7 +243,7 @@ class Ascender():
239 self.transform_to_gns_format(record, 243 self.transform_to_gns_format(record,
240 rdtype, 244 rdtype,
241 domain, 245 domain,
242 label) 246 bestlabel)
243 # skip record if value is none 247 # skip record if value is none
244 if value is None: 248 if value is None:
245 continue 249 continue
@@ -514,9 +518,23 @@ class Ascender():
514 retry, 518 retry,
515 expiry, 519 expiry,
516 irefresh) 520 irefresh)
517 recordval = '%s %s %s %s' % (ttl, "SOA", self.flags, str(value)) 521 # Deleting old SOA record and ignoring errors
518 recordline = ['-R', recordval] 522 sp.run([GNUNET_NAMESTORE_COMMAND,
519 self.add_recordline_to_gns(recordline, self.domain, str(label)) 523 '-d',
524 '-z', self.domain,
525 '-n', str(label),
526 '-t', "SOA",],
527 stderr=sp.DEVNULL)
528 logging.info("Deleted old SOA record")
529 # Adding new SOA record
530 sp.run([GNUNET_NAMESTORE_COMMAND,
531 '-a',
532 '-z', self.domain,
533 '-n', str(label),
534 '-t', "SOA",
535 '-V', value,
536 '-e', "%ss" % str(self.minimum)])
537 logging.info("Added new SOA record")
520 538
521 @staticmethod 539 @staticmethod
522 def create_zone_and_get_pkey(zonestring: str) -> str: 540 def create_zone_and_get_pkey(zonestring: str) -> str: