diff options
author | rexxnor <rexxnor+gnunet@brief.li> | 2019-05-24 13:43:23 +0200 |
---|---|---|
committer | rexxnor <rexxnor+gnunet@brief.li> | 2019-05-24 13:43:23 +0200 |
commit | 11a548b7331d86dfee8f1601f4e077a963773d04 (patch) | |
tree | f3d348212c82e08f482507e07aeea997d293c0ba /ascension | |
parent | 06ab83ec5cac6b56e8e1a5f2730e01a4064bcf16 (diff) | |
download | ascension-11a548b7331d86dfee8f1601f4e077a963773d04.tar.gz ascension-11a548b7331d86dfee8f1601f4e077a963773d04.zip |
fixed persistend bug with labels, changed soa adding
Diffstat (limited to 'ascension')
-rw-r--r-- | ascension/ascension.py | 26 |
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: |