gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [ascension] branch master updated: improved handling of tra


From: gnunet
Subject: [GNUnet-SVN] [ascension] branch master updated: improved handling of transfer errors, added notes
Date: Thu, 02 May 2019 22:48:39 +0200

This is an automated email from the git hooks/post-receive script.

rexxnor pushed a commit to branch master
in repository ascension.

The following commit(s) were added to refs/heads/master by this push:
     new 6455916  improved handling of transfer errors, added notes
6455916 is described below

commit 64559165746948afab271345788104160f7725b9
Author: rexxnor <address@hidden>
AuthorDate: Thu May 2 22:31:42 2019 +0200

    improved handling of transfer errors, added notes
---
 ascension/ascension.py | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/ascension/ascension.py b/ascension/ascension.py
index c5c5eb1..4786470 100644
--- a/ascension/ascension.py
+++ b/ascension/ascension.py
@@ -115,7 +115,7 @@ class Ascender():
 
     def get_dns_zone_serial(self,
                             domain: str,
-                            resolver=None) -> dns.rdatatype.SOA:
+                            resolver=None) -> int:
         """
         Gets the current serial for a given zone
         :param domain: Domain to query for in DNS
@@ -135,6 +135,7 @@ class Ascender():
         except dns.resolver.NXDOMAIN:
             logging.warning("The domain '%s' is not publicly resolvable.",
                             domain)
+
         try:
             if resolver:
                 zone = dns.zone.from_xfr(dns.query.xfr(
@@ -144,12 +145,19 @@ class Ascender():
                     master_answer[0].address, domain,
                     port=self.port))
         except dns.resolver.NoAnswer:
-            logging.error("Nameserver for '%s' did not answer.", domain)
+            logging.critical("Nameserver for '%s' did not answer.", domain)
+            return None
         except dns.exception.FormError:
-            logging.critical("Domain '%s' does not allow xfr requests.", 
domain)
+            logging.critical("Domain '%s' does not allow xfr requests.",
+                             domain)
             return None
         except dns.query.TransferError:
-            logging.critical("Domain '%s' does not allow xfr requests.", 
domain)
+            logging.critical("Domain '%s' does not allow xfr requests.",
+                             domain)
+            return None
+        except:
+            logging.error("Unexpected error while transfering domain '%s'",
+                          domain)
             return None
 
         for soa_record in zone.iterate_rdatas(rdtype=dns.rdatatype.SOA):
@@ -159,7 +167,7 @@ class Ascender():
                     self.transferns = str(soa_record[2].mname) + "." + domain
                 else:
                     self.transferns = str(soa_record[2].mname)
-            return soa_record[2].serial
+            return int(soa_record[2].serial)
 
     def add_records_to_gns(self) -> None:
         """
@@ -559,6 +567,7 @@ class Ascender():
         except sp.CalledProcessError:
             logging.info("Zone %s already exists!", zonestring)
 
+        # This is the most inefficient part of the zone hierarchy building
         pkey_lookup = sp.Popen([GNUNET_ZONE_CREATION_COMMAND,
                                 '-d'],
                                stdout=sp.PIPE)

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]