diff options
author | rexxnor <rexxnor+gnunet@brief.li> | 2019-06-01 11:45:58 +0200 |
---|---|---|
committer | rexxnor <rexxnor+gnunet@brief.li> | 2019-06-01 11:45:58 +0200 |
commit | 4014bd21f5e6d223654257715e50812ddf02939a (patch) | |
tree | 7f04dcff88f1ac3f77735b9c9d1a9c80749029e7 /deb_dist | |
parent | d9073f8f4dac5ee6652ce4bc7d99ba3ed1469725 (diff) | |
download | ascension-4014bd21f5e6d223654257715e50812ddf02939a.tar.gz ascension-4014bd21f5e6d223654257715e50812ddf02939a.zip |
minor fixes to GNS2DNS, repackaging
Diffstat (limited to 'deb_dist')
57 files changed, 2120 insertions, 68 deletions
diff --git a/deb_dist/ascension-0.11.4/ascension/ascension.py b/deb_dist/ascension-0.11.4/ascension/ascension.py index 7244e6c..ae9a151 100644 --- a/deb_dist/ascension-0.11.4/ascension/ascension.py +++ b/deb_dist/ascension-0.11.4/ascension/ascension.py | |||
@@ -75,7 +75,7 @@ SUPPORTED_RECORD_TYPES = [ | |||
75 | OBSOLETE_RECORD_TYPES = [ | 75 | OBSOLETE_RECORD_TYPES = [ |
76 | "PTR", | 76 | "PTR", |
77 | "SIG", "KEY", | 77 | "SIG", "KEY", |
78 | "RRSIG", "NSEC", "DNSKEY", "NSEC3", "NSEC3PARAM", "CDNSKEY", | 78 | "RRSIG", "NSEC", "DNSKEY", "NSEC3", "NSEC3PARAM", "CDNSKEY", "DS" |
79 | "TKEY", "TSIG", | 79 | "TKEY", "TSIG", |
80 | "TA", "DLV", | 80 | "TA", "DLV", |
81 | ] | 81 | ] |
@@ -109,7 +109,12 @@ class Ascender(): | |||
109 | """ | 109 | """ |
110 | try: | 110 | try: |
111 | ret = sp.run([GNUNET_ZONE_CREATION_COMMAND, | 111 | ret = sp.run([GNUNET_ZONE_CREATION_COMMAND, |
112 | '-C', self.domain]) | 112 | '-C', self.domain, |
113 | '-V'], | ||
114 | stdout=sp.PIPE, | ||
115 | stderr=sp.DEVNULL) | ||
116 | pkey = ret.stdout.decode().strip() | ||
117 | self.subzonedict[self.domain] = (pkey, self.minimum) | ||
113 | logging.info("executed command: %s", " ".join(ret.args)) | 118 | logging.info("executed command: %s", " ".join(ret.args)) |
114 | except sp.CalledProcessError: | 119 | except sp.CalledProcessError: |
115 | logging.info("Zone %s already exists!", self.domain) | 120 | logging.info("Zone %s already exists!", self.domain) |
@@ -185,6 +190,7 @@ class Ascender(): | |||
185 | # define recordline | 190 | # define recordline |
186 | recordline = list() | 191 | recordline = list() |
187 | label = "" | 192 | label = "" |
193 | bestlabel = "" | ||
188 | domain = None | 194 | domain = None |
189 | 195 | ||
190 | labelrecords = taskqueue.get() | 196 | labelrecords = taskqueue.get() |
@@ -195,8 +201,10 @@ class Ascender(): | |||
195 | # execute thing to run on item | 201 | # execute thing to run on item |
196 | label, listofrdatasets = labelrecords | 202 | label, listofrdatasets = labelrecords |
197 | label = str(label) | 203 | label = str(label) |
204 | |||
198 | subzones = str(label).split('.') | 205 | subzones = str(label).split('.') |
199 | domain = self.domain | 206 | domain = self.domain |
207 | bestlabel = label | ||
200 | 208 | ||
201 | if len(subzones) > 1: | 209 | if len(subzones) > 1: |
202 | label = subzones[0] | 210 | label = subzones[0] |
@@ -208,6 +216,7 @@ class Ascender(): | |||
208 | domain = fqdn | 216 | domain = fqdn |
209 | elif subzone in self.subzonedict.keys(): | 217 | elif subzone in self.subzonedict.keys(): |
210 | domain = subzone | 218 | domain = subzone |
219 | bestlabel = label | ||
211 | 220 | ||
212 | for rdataset in listofrdatasets: | 221 | for rdataset in listofrdatasets: |
213 | for record in rdataset: | 222 | for record in rdataset: |
@@ -239,7 +248,7 @@ class Ascender(): | |||
239 | self.transform_to_gns_format(record, | 248 | self.transform_to_gns_format(record, |
240 | rdtype, | 249 | rdtype, |
241 | domain, | 250 | domain, |
242 | label) | 251 | bestlabel) |
243 | # skip record if value is none | 252 | # skip record if value is none |
244 | if value is None: | 253 | if value is None: |
245 | continue | 254 | continue |
@@ -393,12 +402,7 @@ class Ascender(): | |||
393 | value = self.resolve_glue(record.target) | 402 | value = self.resolve_glue(record.target) |
394 | else: | 403 | else: |
395 | # out of bailiwick | 404 | # out of bailiwick |
396 | if label.startswith("@"): | 405 | value = '%s@%s' % (zonename, nameserver) |
397 | value = '%s@%s' % (zonename, nameserver) | ||
398 | else: | ||
399 | value = '%s.%s@%s' % (str(label), | ||
400 | zonename, | ||
401 | nameserver) | ||
402 | else: | 406 | else: |
403 | # Name is relative to zone, must be in bailiwick | 407 | # Name is relative to zone, must be in bailiwick |
404 | value = self.resolve_glue(record.target) | 408 | value = self.resolve_glue(record.target) |
@@ -463,9 +467,14 @@ class Ascender(): | |||
463 | :returns: serial of the SOA record in GNS | 467 | :returns: serial of the SOA record in GNS |
464 | """ | 468 | """ |
465 | try: | 469 | try: |
466 | serial = sp.check_output([GNUNET_GNS_COMMAND, | 470 | #serial = sp.check_output([GNUNET_GNS_COMMAND, |
471 | # '-t', 'SOA', | ||
472 | # '-u', '%s' % self.domain,]) | ||
473 | serial = sp.check_output([GNUNET_NAMESTORE_COMMAND, | ||
474 | '-D', | ||
475 | '-z', self.domain, | ||
467 | '-t', 'SOA', | 476 | '-t', 'SOA', |
468 | '-u', '%s' % self.domain,]) | 477 | '-n', '@']) |
469 | serial = serial.decode() | 478 | serial = serial.decode() |
470 | except sp.CalledProcessError: | 479 | except sp.CalledProcessError: |
471 | serial = "" | 480 | serial = "" |
@@ -514,9 +523,23 @@ class Ascender(): | |||
514 | retry, | 523 | retry, |
515 | expiry, | 524 | expiry, |
516 | irefresh) | 525 | irefresh) |
517 | recordval = '%s %s %s %s' % (ttl, "SOA", self.flags, str(value)) | 526 | # Deleting old SOA record and ignoring errors |
518 | recordline = ['-R', recordval] | 527 | sp.run([GNUNET_NAMESTORE_COMMAND, |
519 | self.add_recordline_to_gns(recordline, self.domain, str(label)) | 528 | '-d', |
529 | '-z', self.domain, | ||
530 | '-n', str(label), | ||
531 | '-t', "SOA",], | ||
532 | stderr=sp.DEVNULL) | ||
533 | logging.info("Deleted old SOA record") | ||
534 | # Adding new SOA record | ||
535 | sp.run([GNUNET_NAMESTORE_COMMAND, | ||
536 | '-a', | ||
537 | '-z', self.domain, | ||
538 | '-n', str(label), | ||
539 | '-t', "SOA", | ||
540 | '-V', value, | ||
541 | '-e', "%ss" % str(self.minimum)]) | ||
542 | logging.info("Added new SOA record") | ||
520 | 543 | ||
521 | @staticmethod | 544 | @staticmethod |
522 | def create_zone_and_get_pkey(zonestring: str) -> str: | 545 | def create_zone_and_get_pkey(zonestring: str) -> str: |
@@ -579,7 +602,7 @@ class Ascender(): | |||
579 | # FIXME: extend gnunet-namestore to return *specific* error code for | 602 | # FIXME: extend gnunet-namestore to return *specific* error code for |
580 | # "record already exists", and in that case reduce log level to DEBUG here. | 603 | # "record already exists", and in that case reduce log level to DEBUG here. |
581 | logging.info("failed to add PKEY record %s to %s", | 604 | logging.info("failed to add PKEY record %s to %s", |
582 | label, domain) | 605 | label, domain) |
583 | #logging.warning("PKEY record %s already exists in %s", label, domain) | 606 | #logging.warning("PKEY record %s already exists in %s", label, domain) |
584 | 607 | ||
585 | def create_zone_hierarchy(self) -> None: | 608 | def create_zone_hierarchy(self) -> None: |
diff --git a/deb_dist/ascension-0.11.4/debian/changelog b/deb_dist/ascension-0.11.4/debian/changelog index d90a3de..298fdba 100644 --- a/deb_dist/ascension-0.11.4/debian/changelog +++ b/deb_dist/ascension-0.11.4/debian/changelog | |||
@@ -2,4 +2,4 @@ ascension (0.11.4-1) unstable; urgency=low | |||
2 | 2 | ||
3 | * source package automatically created by stdeb 0.8.5 | 3 | * source package automatically created by stdeb 0.8.5 |
4 | 4 | ||
5 | -- rexxnor <rexxnor+gnunet@brief.li> Fri, 24 May 2019 07:32:55 +0000 | 5 | -- rexxnor <rexxnor+gnunet@brief.li> Sat, 01 Jun 2019 09:35:40 +0000 |
diff --git a/deb_dist/ascension-0.11.4/debian/copyright b/deb_dist/ascension-0.11.4/debian/copyright new file mode 100644 index 0000000..e02fffd --- /dev/null +++ b/deb_dist/ascension-0.11.4/debian/copyright | |||
@@ -0,0 +1,21 @@ | |||
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||
2 | Upstream-Name: python3-ascension | ||
3 | Source: <https://git.gnunet.org/ascension.git/> | ||
4 | |||
5 | Files: * | ||
6 | Copyright: 2019 GNUnet e.V. | ||
7 | License: AGPL-3.0 | ||
8 | Source: python3-ascension | ||
9 | Section: contrib | ||
10 | Priority: optional | ||
11 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
12 | Build-Depends: debhelper (>= 9), python3-ascension, bind9 | ||
13 | Standards-Version: 3.9.8 | ||
14 | Homepage: https://git.gnunet.org/ascension.git/ | ||
15 | |||
16 | Package: ascension-bind | ||
17 | Architecture: any | ||
18 | Depends: ${shlibs:Depends}, ${misc:Depends} | ||
19 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
20 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
21 | incremental zone transfers (AXFR/IXFR). | ||
diff --git a/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/control b/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/control index b5ede21..793655c 100644 --- a/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/control +++ b/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/control | |||
@@ -3,7 +3,7 @@ Source: ascension | |||
3 | Version: 0.11.4-1 | 3 | Version: 0.11.4-1 |
4 | Architecture: all | 4 | Architecture: all |
5 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | 5 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> |
6 | Installed-Size: 60 | 6 | Installed-Size: 62 |
7 | Depends: python3-coverage, python3-dnspython, python3-docopt, python3-mock, python3-pbr, python3-six, python3:any (>= 3.3.2-2~) | 7 | Depends: python3-coverage, python3-dnspython, python3-docopt, python3-mock, python3-pbr, python3-six, python3:any (>= 3.3.2-2~) |
8 | Section: python | 8 | Section: python |
9 | Priority: optional | 9 | Priority: optional |
diff --git a/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/md5sums b/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/md5sums index 829435d..e471906 100644 --- a/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/md5sums +++ b/deb_dist/ascension-0.11.4/debian/python3-ascension/DEBIAN/md5sums | |||
@@ -5,6 +5,7 @@ b1efd00ba6c7edbe41310553322d00d4 usr/lib/python3/dist-packages/ascension-0.11.4 | |||
5 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension-0.11.4.egg-info/requires.txt | 5 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension-0.11.4.egg-info/requires.txt |
6 | e616e4373e7b199db038fd8e938a3188 usr/lib/python3/dist-packages/ascension-0.11.4.egg-info/top_level.txt | 6 | e616e4373e7b199db038fd8e938a3188 usr/lib/python3/dist-packages/ascension-0.11.4.egg-info/top_level.txt |
7 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension/__init__.py | 7 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension/__init__.py |
8 | 833d17dfed5605c8f51666b901bbbad1 usr/lib/python3/dist-packages/ascension/ascension.py | 8 | 279bf53fa2ad706b4c8befed37750053 usr/lib/python3/dist-packages/ascension/ascension.py |
9 | de060b4ca299c6460ff508aed915526b usr/man/man1/ascension.1 | 9 | de060b4ca299c6460ff508aed915526b usr/man/man1/ascension.1 |
10 | 03c74fcaddfab396bc49e20cda862d89 usr/share/doc/python3-ascension/changelog.Debian.gz | 10 | fee302c839129b948880bc9c1ff476e7 usr/share/doc/python3-ascension/changelog.Debian.gz |
11 | 42cbfd228642e598041a4f8583b17259 usr/share/doc/python3-ascension/copyright | ||
diff --git a/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz b/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz index ef6dd45..d5bc76c 100644 --- a/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz +++ b/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz | |||
Binary files differ | |||
diff --git a/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/copyright b/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/copyright new file mode 100644 index 0000000..e02fffd --- /dev/null +++ b/deb_dist/ascension-0.11.4/debian/python3-ascension/usr/share/doc/python3-ascension/copyright | |||
@@ -0,0 +1,21 @@ | |||
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||
2 | Upstream-Name: python3-ascension | ||
3 | Source: <https://git.gnunet.org/ascension.git/> | ||
4 | |||
5 | Files: * | ||
6 | Copyright: 2019 GNUnet e.V. | ||
7 | License: AGPL-3.0 | ||
8 | Source: python3-ascension | ||
9 | Section: contrib | ||
10 | Priority: optional | ||
11 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
12 | Build-Depends: debhelper (>= 9), python3-ascension, bind9 | ||
13 | Standards-Version: 3.9.8 | ||
14 | Homepage: https://git.gnunet.org/ascension.git/ | ||
15 | |||
16 | Package: ascension-bind | ||
17 | Architecture: any | ||
18 | Depends: ${shlibs:Depends}, ${misc:Depends} | ||
19 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
20 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
21 | incremental zone transfers (AXFR/IXFR). | ||
diff --git a/deb_dist/ascension-0.11.4/debian/rules b/deb_dist/ascension-0.11.4/debian/rules index e18262a..a2a9bb4 100755 --- a/deb_dist/ascension-0.11.4/debian/rules +++ b/deb_dist/ascension-0.11.4/debian/rules | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/usr/bin/make -f | 1 | #!/usr/bin/make -f |
2 | 2 | ||
3 | # This file was automatically generated by stdeb 0.8.5 at | 3 | # This file was automatically generated by stdeb 0.8.5 at |
4 | # Fri, 24 May 2019 07:32:55 +0000 | 4 | # Sat, 01 Jun 2019 09:35:40 +0000 |
5 | 5 | ||
6 | %: | 6 | %: |
7 | dh $@ --with python3 --buildsystem=python_distutils | 7 | dh $@ --with python3 --buildsystem=python_distutils |
diff --git a/deb_dist/ascension-0.11.5/.pc/.quilt_patches b/deb_dist/ascension-0.11.5/.pc/.quilt_patches new file mode 100644 index 0000000..6857a8d --- /dev/null +++ b/deb_dist/ascension-0.11.5/.pc/.quilt_patches | |||
@@ -0,0 +1 @@ | |||
debian/patches | |||
diff --git a/deb_dist/ascension-0.11.5/.pc/.quilt_series b/deb_dist/ascension-0.11.5/.pc/.quilt_series new file mode 100644 index 0000000..c206706 --- /dev/null +++ b/deb_dist/ascension-0.11.5/.pc/.quilt_series | |||
@@ -0,0 +1 @@ | |||
series | |||
diff --git a/deb_dist/ascension-0.11.5/.pc/.version b/deb_dist/ascension-0.11.5/.pc/.version new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/deb_dist/ascension-0.11.5/.pc/.version | |||
@@ -0,0 +1 @@ | |||
2 | |||
diff --git a/deb_dist/ascension-0.11.5/.pc/applied-patches b/deb_dist/ascension-0.11.5/.pc/applied-patches new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/deb_dist/ascension-0.11.5/.pc/applied-patches | |||
diff --git a/deb_dist/ascension-0.11.5/PKG-INFO b/deb_dist/ascension-0.11.5/PKG-INFO new file mode 100644 index 0000000..d94a2a7 --- /dev/null +++ b/deb_dist/ascension-0.11.5/PKG-INFO | |||
@@ -0,0 +1,81 @@ | |||
1 | Metadata-Version: 1.1 | ||
2 | Name: ascension | ||
3 | Version: 0.11.5 | ||
4 | Summary: Tool to migrate DNS Zones to the GNU Name System | ||
5 | Home-page: https://gnunet.org/git/ascension.git/ | ||
6 | Author: rexxnor | ||
7 | Author-email: rexxnor+gnunet@brief.li | ||
8 | License: UNKNOWN | ||
9 | Description: # Ascension | ||
10 | |||
11 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
12 | incremental zone transfers (AXFR/IXFR). | ||
13 | |||
14 | ## How to install | ||
15 | To install the ascension simply execute one of the following commands in the | ||
16 | freshly cloned directory: | ||
17 | |||
18 | ```bash | ||
19 | # System wide installation | ||
20 | sudo python3 setup.py install | ||
21 | |||
22 | # Local installation through virtualenv | ||
23 | python3 -m venv .venv | ||
24 | source .venv/bin/activate | ||
25 | python3 setup.py install | ||
26 | ``` | ||
27 | |||
28 | ## How to install (Developer) | ||
29 | A developer installation is very handy when you are making changes to the source | ||
30 | code as this way you don't need to re-run the installation procedure every time | ||
31 | you make a change. | ||
32 | |||
33 | ```bash | ||
34 | # installation through virtualenv | ||
35 | python3 -m venv .venv | ||
36 | source .venv/bin/activate | ||
37 | python3 setup.py develop | ||
38 | ``` | ||
39 | |||
40 | ## How to use | ||
41 | If you have installed it, simply execute ascension with one of several options. | ||
42 | You can also just run the file ascension.py itself directly. | ||
43 | |||
44 | Taken from the docstring of the ascension.py file: | ||
45 | ``` | ||
46 | Ascension | ||
47 | |||
48 | Usage: | ||
49 | ascension <domain> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
50 | ascension <domain> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
51 | ascension <domain> -n <transferns> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
52 | ascension <domain> -n <transferns> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
53 | ascension -p | --public | ||
54 | ascension -s | --debug | ||
55 | ascension -s | --standalone | ||
56 | ascension -h | --help | ||
57 | ascension -v | --version | ||
58 | |||
59 | Options: | ||
60 | <domain> Domain to migrate | ||
61 | <port> Port for zone transfer | ||
62 | <transferns> DNS Server that does the zone transfer | ||
63 | --minimum-ttl=<ttl> Minimum TTL for records to migrate [default: 3600] | ||
64 | --dry-run Only try if a zone transfer is allowed | ||
65 | -p --public Make records public on the DHT | ||
66 | -s --standalone Run ascension once | ||
67 | -d --debug Enable debugging | ||
68 | -h --help Show this screen. | ||
69 | -v --version Show version. | ||
70 | ``` | ||
71 | |||
72 | Example use: | ||
73 | ``` | ||
74 | # Transfers the sy TLD from ns1.tld.sy. | ||
75 | ascension sy -n ns1.tld.sy. | ||
76 | # Transfers the nu TLD from zonedata.iis.se with debug options enabled | ||
77 | ascension nu -n zonedata.iis.se. -d | ||
78 | ``` | ||
79 | |||
80 | Platform: UNKNOWN | ||
81 | Classifier: Programming Language :: Python :: 3 | ||
diff --git a/deb_dist/ascension-0.11.5/README b/deb_dist/ascension-0.11.5/README new file mode 100644 index 0000000..ed6e926 --- /dev/null +++ b/deb_dist/ascension-0.11.5/README | |||
@@ -0,0 +1,70 @@ | |||
1 | # Ascension | ||
2 | |||
3 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
4 | incremental zone transfers (AXFR/IXFR). | ||
5 | |||
6 | ## How to install | ||
7 | To install the ascension simply execute one of the following commands in the | ||
8 | freshly cloned directory: | ||
9 | |||
10 | ```bash | ||
11 | # System wide installation | ||
12 | sudo python3 setup.py install | ||
13 | |||
14 | # Local installation through virtualenv | ||
15 | python3 -m venv .venv | ||
16 | source .venv/bin/activate | ||
17 | python3 setup.py install | ||
18 | ``` | ||
19 | |||
20 | ## How to install (Developer) | ||
21 | A developer installation is very handy when you are making changes to the source | ||
22 | code as this way you don't need to re-run the installation procedure every time | ||
23 | you make a change. | ||
24 | |||
25 | ```bash | ||
26 | # installation through virtualenv | ||
27 | python3 -m venv .venv | ||
28 | source .venv/bin/activate | ||
29 | python3 setup.py develop | ||
30 | ``` | ||
31 | |||
32 | ## How to use | ||
33 | If you have installed it, simply execute ascension with one of several options. | ||
34 | You can also just run the file ascension.py itself directly. | ||
35 | |||
36 | Taken from the docstring of the ascension.py file: | ||
37 | ``` | ||
38 | Ascension | ||
39 | |||
40 | Usage: | ||
41 | ascension <domain> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
42 | ascension <domain> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
43 | ascension <domain> -n <transferns> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
44 | ascension <domain> -n <transferns> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
45 | ascension -p | --public | ||
46 | ascension -s | --debug | ||
47 | ascension -s | --standalone | ||
48 | ascension -h | --help | ||
49 | ascension -v | --version | ||
50 | |||
51 | Options: | ||
52 | <domain> Domain to migrate | ||
53 | <port> Port for zone transfer | ||
54 | <transferns> DNS Server that does the zone transfer | ||
55 | --minimum-ttl=<ttl> Minimum TTL for records to migrate [default: 3600] | ||
56 | --dry-run Only try if a zone transfer is allowed | ||
57 | -p --public Make records public on the DHT | ||
58 | -s --standalone Run ascension once | ||
59 | -d --debug Enable debugging | ||
60 | -h --help Show this screen. | ||
61 | -v --version Show version. | ||
62 | ``` | ||
63 | |||
64 | Example use: | ||
65 | ``` | ||
66 | # Transfers the sy TLD from ns1.tld.sy. | ||
67 | ascension sy -n ns1.tld.sy. | ||
68 | # Transfers the nu TLD from zonedata.iis.se with debug options enabled | ||
69 | ascension nu -n zonedata.iis.se. -d | ||
70 | ``` | ||
diff --git a/deb_dist/ascension-0.11.5/ascension.1 b/deb_dist/ascension-0.11.5/ascension.1 new file mode 100644 index 0000000..ae01bb0 --- /dev/null +++ b/deb_dist/ascension-0.11.5/ascension.1 | |||
@@ -0,0 +1,106 @@ | |||
1 | .\" This file is part of Ascension. | ||
2 | .\" Copyright (C) 2018,2019 GNUnet e.V. | ||
3 | .\" | ||
4 | .\" Permission is granted to copy, distribute and/or modify this document | ||
5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or | ||
6 | .\" any later version published by the Free Software Foundation; with no | ||
7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A | ||
8 | .\" copy of the license is included in the file | ||
9 | .\" ``FDL-1.3''. | ||
10 | .\" | ||
11 | .\" A copy of the license is also available from the Free Software | ||
12 | .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html. | ||
13 | .\" | ||
14 | .\" Alternately, this document is also available under the General | ||
15 | .\" Public License, version 3 or later, as published by the Free Software | ||
16 | .\" Foundation. A copy of the license is included in the file | ||
17 | .\" ``GPL3''. | ||
18 | .\" | ||
19 | .\" A copy of the license is also available from the Free Software | ||
20 | .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html. | ||
21 | .\" | ||
22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
23 | .\" | ||
24 | .Dd May 9, 2019 | ||
25 | .Dt ASCENSION 1 | ||
26 | .Os | ||
27 | .Sh NAME | ||
28 | .Nm ascension | ||
29 | .Nd migrate existing DNS zones into the GNU Name System | ||
30 | .Sh SYNOPSIS | ||
31 | .Nm | ||
32 | .Op Ar domain Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
33 | .Nm | ||
34 | .Op Ar domain port Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
35 | .Nm | ||
36 | .Op Ar domain Fl n Ar transferns Fl d Fl p Fl s Fl -minimum-ttl=<ttl> -dry-run | ||
37 | .Nm | ||
38 | .Op Ar domain Fl n Ar transferns Ar port Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
39 | .Sh DESCRIPTION | ||
40 | .Nm | ||
41 | is a tool to migrate existing DNS Zones into the GNU Name System (GNS) using incremental zone transfers (AXFR/IXFR). | ||
42 | To achieve this it uses | ||
43 | .Xr gnunet-identity 1 , | ||
44 | .Xr gnunet-namestore 1 , | ||
45 | .Xr gnunet-gns 1 . | ||
46 | As | ||
47 | .Nm | ||
48 | relies on these 3 GNUnet services, | ||
49 | .Xr gnunet-arm 1 | ||
50 | must be installed and running. | ||
51 | .Bl -tag -width Ds | ||
52 | .It Ar domain Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
53 | Migrate the DOMAIN passed as domain. | ||
54 | The debug, public and standalone options are optional. | ||
55 | .It Ar domain port Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
56 | Migrate the DOMAIN domain, using port for zone transfer. | ||
57 | The debug, public and standalone options are optional. | ||
58 | .It Ar domain Fl n Ar transferns Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
59 | Migrate the DOMAIN domain from the DNS server transferns. | ||
60 | The debug, public and standalone options are optional. | ||
61 | .It Ar domain Fl n Ar transferns Ar port Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
62 | Migrate the DOMAIN domain from the DNS server transferns using port for the zone transfer. | ||
63 | The debug, public and standalone options are optional. | ||
64 | .It Fl s | \-standalone | ||
65 | Run Ascension once | ||
66 | .It Fl d | \-debug | ||
67 | Enable debugging | ||
68 | .It Fl h | \-help | ||
69 | Print short help on options | ||
70 | .It Fl p | \-public | ||
71 | Make records public on the DHT | ||
72 | .It Fl v | \-version | ||
73 | Print ascension version number | ||
74 | .El | ||
75 | .\" .Sh FILES | ||
76 | .Sh EXAMPLES | ||
77 | To transfer the sy TLD from ns1.tld.sy: | ||
78 | .Pp | ||
79 | .Dl $ ascension sy -n ns1.tld.sy. | ||
80 | .Pp | ||
81 | To transfer the nu TLD from zonedata.iis.se with debug options enabled: | ||
82 | .Pp | ||
83 | .Dl $ ascension nu -n zonedata.iis.se. -d | ||
84 | .Sh SEE ALSO | ||
85 | .Xr gnunet-arm 1 , | ||
86 | .Xr gnunet-gns 1 , | ||
87 | .Xr gnunet-identity 1 , | ||
88 | .Xr gnunet-namestore 1 | ||
89 | .Sh HISTORY | ||
90 | The | ||
91 | .Nm | ||
92 | tool was designed and written in 2018 by | ||
93 | .An rexxnor Aq Mt rexxnor+gnunet@brief.li . | ||
94 | .Sh AUTHORS | ||
95 | This man page was written by | ||
96 | .An ng0 Aq Mt ng0@gnunet.org | ||
97 | and updated by | ||
98 | .An rexxnor Aq Mt rexxnor+gnunet@brief.li | ||
99 | it first appeared in | ||
100 | .Nm | ||
101 | 0.5.1. | ||
102 | .Sh BUGS | ||
103 | Report bugs by using | ||
104 | .Lk https://bugs.gnunet.org | ||
105 | or by sending electronic mail to | ||
106 | .Aq Mt bug-gnunet@gnu.org . | ||
diff --git a/deb_dist/ascension-0.11.5/ascension/__init__.py b/deb_dist/ascension-0.11.5/ascension/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/deb_dist/ascension-0.11.5/ascension/__init__.py | |||
diff --git a/deb_dist/ascension-0.11.5/ascension/ascension.py b/deb_dist/ascension-0.11.5/ascension/ascension.py new file mode 100644 index 0000000..da54ca4 --- /dev/null +++ b/deb_dist/ascension-0.11.5/ascension/ascension.py | |||
@@ -0,0 +1,785 @@ | |||
1 | #!/usr/bin/env python3 | ||
2 | # This file is part of Ascension. | ||
3 | # Copyright (C) 2019 GNUnet e.V. | ||
4 | # | ||
5 | # Ascension is free software: you can redistribute it and/or modify it | ||
6 | # under the terms of the GNU Affero General Public License as published | ||
7 | # by the Free Software Foundation, either version 3 of the License, | ||
8 | # or (at your option) any later version. | ||
9 | # | ||
10 | # Ascension is distributed in the hope that it will be useful, but | ||
11 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | # Affero General Public License for more details. | ||
14 | # | ||
15 | # You should have received a copy of the GNU Affero General Public License | ||
16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | # | ||
18 | # SPDX-License-Identifier: AGPL3.0-or-later | ||
19 | # | ||
20 | # Author rexxnor | ||
21 | """ | ||
22 | Usage: | ||
23 | ascension <domain> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
24 | ascension <domain> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
25 | ascension <domain> -n <transferns> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
26 | ascension <domain> -n <transferns> <port> [-d] [-p] [-s] [--minimum-ttl=<ttl>] [--dry-run] | ||
27 | ascension -p | --public | ||
28 | ascension -d | --debug | ||
29 | ascension -s | --standalone | ||
30 | ascension -h | --help | ||
31 | ascension -v | --version | ||
32 | |||
33 | Options: | ||
34 | <domain> Domain to migrate | ||
35 | <port> Port for zone transfer | ||
36 | <transferns> DNS Server that does the zone transfer | ||
37 | --minimum-ttl=<ttl> Minimum TTL for records to migrate [default: 3600] | ||
38 | --dry-run Only try if a zone transfer is allowed | ||
39 | -p --public Make records public on the DHT | ||
40 | -s --standalone Run ascension once | ||
41 | -d --debug Enable debugging | ||
42 | -h --help Show this screen. | ||
43 | -v --version Show version. | ||
44 | """ | ||
45 | |||
46 | # imports | ||
47 | import logging | ||
48 | import queue | ||
49 | import re | ||
50 | import socket | ||
51 | import sys | ||
52 | import time | ||
53 | import subprocess as sp | ||
54 | import threading | ||
55 | import dns.query | ||
56 | import dns.resolver | ||
57 | import dns.zone | ||
58 | import docopt | ||
59 | |||
60 | # GLOBALS | ||
61 | GNUNET_ZONE_CREATION_COMMAND = 'gnunet-identity' | ||
62 | GNUNET_NAMESTORE_COMMAND = 'gnunet-namestore' | ||
63 | GNUNET_GNS_COMMAND = 'gnunet-gns' | ||
64 | GNUNET_ARM_COMMAND = 'gnunet-arm' | ||
65 | # This is the list of record types Ascension (and GNS) currently | ||
66 | # explicitly supports. Record types we encounter that are not | ||
67 | # in this list and not in the OBSOLETE_RECORD_TYPES list will | ||
68 | # create a warning (information loss during migration). | ||
69 | SUPPORTED_RECORD_TYPES = [ | ||
70 | "A", "AAAA", "NS", "MX", "SRV", "TXT", "CNAME" | ||
71 | ] | ||
72 | # Record types that exist in DNS but that won't ever exist in GNS | ||
73 | # as they are not needed anymore (so we should not create a warning | ||
74 | # if we drop one of these). | ||
75 | OBSOLETE_RECORD_TYPES = [ | ||
76 | "PTR", | ||
77 | "SIG", "KEY", | ||
78 | "RRSIG", "NSEC", "DNSKEY", "NSEC3", "NSEC3PARAM", "CDNSKEY", "DS" | ||
79 | "TKEY", "TSIG", | ||
80 | "TA", "DLV", | ||
81 | ] | ||
82 | |||
83 | class Ascender(): | ||
84 | """ | ||
85 | Class that provides migration for any given domain | ||
86 | """ | ||
87 | def __init__(self, | ||
88 | domain: str, | ||
89 | transferns: str, | ||
90 | port: str, | ||
91 | flags: str, | ||
92 | minimum: str) -> None: | ||
93 | self.domain = domain | ||
94 | if domain[-1] == '.': | ||
95 | self.domain = self.domain[:-1] | ||
96 | self.port = int(port) | ||
97 | self.transferns = transferns | ||
98 | self.soa = None | ||
99 | self.tld = self.domain.split(".")[::-1][0] | ||
100 | self.zone = None | ||
101 | self.zonegenerator = None | ||
102 | self.flags = flags | ||
103 | self.minimum = int(minimum) | ||
104 | self.subzonedict = dict() | ||
105 | |||
106 | def bootstrap_zone(self) -> None: | ||
107 | """ | ||
108 | Creates the zone in gnunet | ||
109 | """ | ||
110 | try: | ||
111 | ret = sp.run([GNUNET_ZONE_CREATION_COMMAND, | ||
112 | '-C', self.domain, | ||
113 | '-V'], | ||
114 | stdout=sp.PIPE, | ||
115 | stderr=sp.DEVNULL) | ||
116 | pkey = ret.stdout.decode().strip() | ||
117 | self.subzonedict[self.domain] = (pkey, self.minimum) | ||
118 | logging.info("executed command: %s", " ".join(ret.args)) | ||
119 | except sp.CalledProcessError: | ||
120 | logging.info("Zone %s already exists!", self.domain) | ||
121 | |||
122 | def get_dns_zone_serial(self, | ||
123 | domain: str, | ||
124 | resolver=None) -> int: | ||
125 | """ | ||
126 | Gets the current serial for a given zone | ||
127 | :param domain: Domain to query for in DNS | ||
128 | :param resolver: Nameserver to query in DNS, defaults to None | ||
129 | :returns: Serial of the zones SOA record | ||
130 | """ | ||
131 | # Makes domains better resolvable | ||
132 | domain = domain + "." | ||
133 | # SOA is different if taken directly from SOA record | ||
134 | # compared to AXFR/IXFR - changed to respect this | ||
135 | try: | ||
136 | soa_answer = dns.resolver.query(domain, 'SOA') | ||
137 | master_answer = dns.resolver.query(soa_answer[0].mname, 'A') | ||
138 | except dns.resolver.NoAnswer: | ||
139 | logging.warning("The domain '%s' is not publicly resolvable.", | ||
140 | domain) | ||
141 | except dns.resolver.NXDOMAIN: | ||
142 | logging.warning("The domain '%s' is not publicly resolvable.", | ||
143 | domain) | ||
144 | except Exception: | ||
145 | logging.warning("The domain '%s' is not publicly resolvable.", | ||
146 | domain) | ||
147 | |||
148 | try: | ||
149 | if resolver: | ||
150 | zone = dns.zone.from_xfr(dns.query.xfr( | ||
151 | resolver, domain, port=self.port)) | ||
152 | else: | ||
153 | zone = dns.zone.from_xfr(dns.query.xfr( | ||
154 | master_answer[0].address, domain, | ||
155 | port=self.port)) | ||
156 | except dns.resolver.NoAnswer: | ||
157 | logging.critical("Nameserver for '%s' did not answer.", domain) | ||
158 | return None | ||
159 | except dns.exception.FormError: | ||
160 | logging.critical("Domain '%s' does not allow xfr requests.", | ||
161 | domain) | ||
162 | return None | ||
163 | except Exception: | ||
164 | logging.error("Unexpected error while transfering domain '%s'", | ||
165 | domain) | ||
166 | return None | ||
167 | |||
168 | for soa_record in zone.iterate_rdatas(rdtype=dns.rdatatype.SOA): | ||
169 | if not self.transferns: | ||
170 | mname = soa_record[2].mname | ||
171 | if self.domain not in mname: | ||
172 | self.transferns = str(soa_record[2].mname) + "." + domain | ||
173 | else: | ||
174 | self.transferns = str(soa_record[2].mname) | ||
175 | return int(soa_record[2].serial) | ||
176 | |||
177 | def add_records_to_gns(self) -> None: | ||
178 | """ | ||
179 | Extracts records from zone and adds them to GNS | ||
180 | :raises AttributeError: When getting incomplete data | ||
181 | """ | ||
182 | logging.info("Starting to add records into GNS...") | ||
183 | |||
184 | # Defining FIFO Queue | ||
185 | taskqueue = queue.Queue(maxsize=5) | ||
186 | |||
187 | # Defining worker | ||
188 | def worker(): | ||
189 | while True: | ||
190 | # define recordline | ||
191 | recordline = list() | ||
192 | label = "" | ||
193 | bestlabel = "" | ||
194 | domain = None | ||
195 | |||
196 | labelrecords = taskqueue.get() | ||
197 | # break if taskqueue is empty | ||
198 | if labelrecords is None: | ||
199 | break | ||
200 | |||
201 | # execute thing to run on item | ||
202 | label, listofrdatasets = labelrecords | ||
203 | label = str(label) | ||
204 | |||
205 | subzones = str(label).split('.') | ||
206 | domain = self.domain | ||
207 | bestlabel = label | ||
208 | |||
209 | if len(subzones) > 1: | ||
210 | label = subzones[0] | ||
211 | subdomains = ".".join(subzones[1:]) | ||
212 | subzone = "%s.%s" % (subdomains, domain) | ||
213 | fqdn = "%s.%s.%s" % (label, subdomains, domain) | ||
214 | if fqdn in self.subzonedict.keys(): | ||
215 | label = "@" | ||
216 | domain = fqdn | ||
217 | elif subzone in self.subzonedict.keys(): | ||
218 | domain = subzone | ||
219 | bestlabel = label | ||
220 | |||
221 | for rdataset in listofrdatasets: | ||
222 | for record in rdataset: | ||
223 | rdtype = dns.rdatatype.to_text(record.rdtype) | ||
224 | if rdtype == "SOA": | ||
225 | continue | ||
226 | if rdtype not in SUPPORTED_RECORD_TYPES: | ||
227 | if rdtype not in OBSOLETE_RECORD_TYPES: | ||
228 | logging.critical("%s records not supported!", | ||
229 | rdtype) | ||
230 | continue | ||
231 | |||
232 | try: | ||
233 | if rdataset.ttl <= self.minimum: | ||
234 | ttl = self.minimum | ||
235 | else: | ||
236 | ttl = rdataset.ttl | ||
237 | except AttributeError: | ||
238 | ttl = self.minimum | ||
239 | |||
240 | value = str(record) | ||
241 | |||
242 | # ignore NS for itself here | ||
243 | if label == '@' and rdtype == 'NS': | ||
244 | logging.info("ignoring NS record for itself") | ||
245 | |||
246 | # modify value to fit gns syntax | ||
247 | rdtype, value, label = \ | ||
248 | self.transform_to_gns_format(record, | ||
249 | rdtype, | ||
250 | domain, | ||
251 | bestlabel) | ||
252 | # skip record if value is none | ||
253 | if value is None: | ||
254 | continue | ||
255 | |||
256 | if isinstance(value, list): | ||
257 | for element in value: | ||
258 | # build recordline | ||
259 | recordline.append("-R") | ||
260 | recordline.append('%d %s %s %s' % | ||
261 | (int(ttl), | ||
262 | rdtype, | ||
263 | self.flags, | ||
264 | element)) | ||
265 | else: | ||
266 | # build recordline | ||
267 | recordline.append("-R") | ||
268 | recordline.append('%d %s %s %s' % | ||
269 | (int(ttl), | ||
270 | rdtype, | ||
271 | self.flags, | ||
272 | value)) | ||
273 | |||
274 | # add recordline to gns and filter out empty lines | ||
275 | if len(recordline) > 1: | ||
276 | self.add_recordline_to_gns(recordline, | ||
277 | domain, | ||
278 | label) | ||
279 | |||
280 | taskqueue.task_done() | ||
281 | # End of worker | ||
282 | |||
283 | self.create_zone_hierarchy() | ||
284 | |||
285 | # Create one thread | ||
286 | thread = threading.Thread(target=worker) | ||
287 | thread.start() | ||
288 | |||
289 | # add records | ||
290 | for name, rdatasets in self.zone.nodes.items(): | ||
291 | # log if the rdataset is empty for some reason | ||
292 | if not rdatasets: | ||
293 | logging.warning("Empty Rdataset!") | ||
294 | continue | ||
295 | taskqueue.put((name, rdatasets)) | ||
296 | |||
297 | # Block until all tasks are done | ||
298 | taskqueue.join() | ||
299 | |||
300 | # Stop workers and threads | ||
301 | taskqueue.put(None) | ||
302 | thread.join(timeout=10) | ||
303 | if thread.is_alive(): | ||
304 | logging.critical("thread join timed out, still running") | ||
305 | |||
306 | # Add soa record to GNS once completed (updates the previous one) | ||
307 | self.add_soa_record_to_gns(self.soa) | ||
308 | |||
309 | logging.info("All records have been added!") | ||
310 | |||
311 | @staticmethod | ||
312 | def add_recordline_to_gns(recordline: list, | ||
313 | zonename: str, | ||
314 | label: str) -> None: | ||
315 | """ | ||
316 | Replaces records in zone or adds them if not | ||
317 | :param recordline: records to replace as list in form | ||
318 | ['-R', 'TTL TYPE FLAGS VALUE'] | ||
319 | :param zonename: zonename of zone to add records to | ||
320 | :param label: label under which to add the records | ||
321 | """ | ||
322 | logging.info("trying to add %d records with name %s", | ||
323 | len(recordline)/2, label) | ||
324 | |||
325 | ret = sp.run([GNUNET_NAMESTORE_COMMAND, | ||
326 | '-z', zonename, | ||
327 | '-n', str(label), | ||
328 | ] + recordline) | ||
329 | |||
330 | if ret.returncode != 0: | ||
331 | logging.warning("failed adding record with name %s", | ||
332 | ' '.join(ret.args)) | ||
333 | else: | ||
334 | logging.info("successfully added record with command %s", | ||
335 | ' '.join(ret.args)) | ||
336 | |||
337 | def resolve_glue(self, | ||
338 | authorityname: str) -> list: | ||
339 | """ | ||
340 | Resolves IP Adresses within zone | ||
341 | :param authorityname: | ||
342 | """ | ||
343 | try: | ||
344 | rdsets = self.zone[authorityname].rdatasets | ||
345 | except KeyError: | ||
346 | return [] | ||
347 | value = [] | ||
348 | for rdataset in rdsets: | ||
349 | if rdataset.rdtype in [dns.rdatatype.A, dns.rdatatype.AAAA]: | ||
350 | for rdata in rdataset: | ||
351 | value.append("%s.%s@%s" % (authorityname, | ||
352 | self.domain, | ||
353 | str(rdata))) | ||
354 | return value | ||
355 | |||
356 | def transform_to_gns_format(self, | ||
357 | record: dns.rdata.Rdata, | ||
358 | rdtype: dns.rdata.Rdata, | ||
359 | zonename: str, | ||
360 | label: str) -> tuple: | ||
361 | """ | ||
362 | Transforms value of record to GNS compatible format | ||
363 | :param record: record to transform | ||
364 | :param rdtype: record value to transform | ||
365 | :param zonename: name of the zone to add to | ||
366 | :param label: label under which the record is stored | ||
367 | :returns: a tuple consisting of the new rdtype, the label and value | ||
368 | """ | ||
369 | value = str(record) | ||
370 | if label is None: | ||
371 | label = '@' | ||
372 | if rdtype == 'SOA': | ||
373 | zonetuple = str(value).split(' ') | ||
374 | authns, owner, serial, refresh, retry, expiry, irefresh = zonetuple | ||
375 | if authns[-1] == '.': | ||
376 | authns = authns[:-1] | ||
377 | if owner[-1] == '.': | ||
378 | owner = owner[:-1] | ||
379 | # hacky and might cause bugs | ||
380 | authns += self.tld | ||
381 | owner += self.tld | ||
382 | value = "rname=%s.%s mname=%s.%s %d,%d,%d,%d,%d" % ( | ||
383 | authns, zonename, owner, zonename, | ||
384 | int(serial), int(refresh), int(retry), | ||
385 | int(expiry), int(irefresh) | ||
386 | ) | ||
387 | elif rdtype in ['CNAME']: | ||
388 | if value[-1] == ".": | ||
389 | value = value[:-1] | ||
390 | else: | ||
391 | value = "%s.%s" % (value, self.domain) | ||
392 | elif rdtype == 'NS': | ||
393 | if self.subzonedict.get(str(label) + "." + zonename): | ||
394 | return (None, None, None) | ||
395 | nameserver = str(record.target) | ||
396 | if nameserver[-1] == ".": | ||
397 | nameserver = nameserver[:-1] | ||
398 | if value[-1] == ".": | ||
399 | # FQDN provided | ||
400 | if value.endswith(".%s." % zonename): | ||
401 | # in bailiwick | ||
402 | value = self.resolve_glue(record.target) | ||
403 | else: | ||
404 | # out of bailiwick | ||
405 | value = '%s@%s' % (zonename, nameserver) | ||
406 | else: | ||
407 | # Name is relative to zone, must be in bailiwick | ||
408 | value = self.resolve_glue(record.target) | ||
409 | if not value: | ||
410 | if label.startswith("@"): | ||
411 | value = '%s@%s.%s' % (self.domain, | ||
412 | record.target, | ||
413 | self.domain) | ||
414 | else: | ||
415 | value = '%s.%s@%s.%s' % (str(label), self.domain, | ||
416 | record.target, self.domain) | ||
417 | |||
418 | logging.info("transformed %s record to GNS2DNS format", rdtype) | ||
419 | rdtype = 'GNS2DNS' | ||
420 | elif rdtype == 'MX': | ||
421 | priority, mailserver = str(value).split(' ') | ||
422 | if mailserver[-1] == ".": | ||
423 | mailserver = mailserver[:-1] | ||
424 | mailserver = '%s.%s' % (mailserver, zonename) | ||
425 | value = '%s,%s' % (priority, mailserver) | ||
426 | logging.info("transformed %s record to GNS format", rdtype) | ||
427 | elif rdtype == 'SRV': | ||
428 | # this is the number for a SRV record | ||
429 | rdtype = 'BOX' | ||
430 | srv = 33 | ||
431 | |||
432 | # tearing the record apart | ||
433 | try: | ||
434 | srvrecord = str(label).split('.') | ||
435 | proto = srvrecord[1] | ||
436 | except IndexError: | ||
437 | logging.warning("could not parse SRV label %s", label) | ||
438 | return (rdtype, None, None) | ||
439 | priority, weight, destport, target = value.split(' ') | ||
440 | |||
441 | try: | ||
442 | protostring = proto.strip('_') | ||
443 | protonum = socket.getprotobyname(protostring) | ||
444 | except OSError: | ||
445 | logging.warning("invalid protocol: %s", protostring) | ||
446 | return (rdtype, None, None) | ||
447 | |||
448 | if target[:-1] == ".": | ||
449 | value = '%s %s %s %s %s %s %s' % ( | ||
450 | destport, protonum, srv, priority, weight, destport, | ||
451 | "%s" % target | ||
452 | ) | ||
453 | else: | ||
454 | value = '%s %s %s %s %s %s %s' % ( | ||
455 | destport, protonum, srv, priority, weight, destport, | ||
456 | "%s.%s" % (target, zonename) | ||
457 | ) | ||
458 | |||
459 | label = target | ||
460 | else: | ||
461 | logging.info("Did not transform record of type: %s", rdtype) | ||
462 | return (rdtype, value, label) | ||
463 | |||
464 | def get_gns_zone_serial(self) -> int: | ||
465 | """ | ||
466 | Fetches the zones serial from GNS | ||
467 | :returns: serial of the SOA record in GNS | ||
468 | """ | ||
469 | try: | ||
470 | #serial = sp.check_output([GNUNET_GNS_COMMAND, | ||
471 | # '-t', 'SOA', | ||
472 | # '-u', '%s' % self.domain,]) | ||
473 | serial = sp.check_output([GNUNET_NAMESTORE_COMMAND, | ||
474 | '-D', | ||
475 | '-z', self.domain, | ||
476 | '-t', 'SOA', | ||
477 | '-n', '@']) | ||
478 | serial = serial.decode() | ||
479 | except sp.CalledProcessError: | ||
480 | serial = "" | ||
481 | soa_serial = 0 | ||
482 | soapattern = re.compile(r'.+\s(\d+),\d+,\d+,\d+,\d+', re.M) | ||
483 | if re.findall(soapattern, serial): | ||
484 | soa_serial = re.findall(soapattern, serial)[0] | ||
485 | else: | ||
486 | soa_serial = 0 | ||
487 | return int(soa_serial) | ||
488 | |||
489 | @staticmethod | ||
490 | def get_zone_soa(zone) -> dns.rdatatype.SOA: | ||
491 | """ | ||
492 | Fetches soa record from zone a given zone | ||
493 | :param zone: A dnspython zone | ||
494 | :returns: SOA record of given zone | ||
495 | """ | ||
496 | soa = None | ||
497 | for soarecord in zone.iterate_rdatas(rdtype=dns.rdatatype.SOA): | ||
498 | if str(soarecord[0]) == '@': | ||
499 | soa = soarecord | ||
500 | return soa | ||
501 | |||
502 | def add_soa_record_to_gns(self, record) -> None: | ||
503 | """ | ||
504 | Adds a SOA record to GNS | ||
505 | :param record: The record to add | ||
506 | """ | ||
507 | label, ttl, rdata = record | ||
508 | zonetuple = str(rdata).split(' ') | ||
509 | authns, owner, serial, refresh, retry, expiry, irefresh = zonetuple | ||
510 | if authns[-1] == '.': | ||
511 | authns = authns[:-1] | ||
512 | else: | ||
513 | authns = "%s.%s" % (authns, self.domain) | ||
514 | if owner[-1] == '.': | ||
515 | owner = owner[:-1] | ||
516 | else: | ||
517 | owner = "%s.%s" % (owner, self.domain) | ||
518 | |||
519 | value = "rname=%s mname=%s %s,%s,%s,%s,%s" % (authns, | ||
520 | owner, | ||
521 | serial, | ||
522 | refresh, | ||
523 | retry, | ||
524 | expiry, | ||
525 | irefresh) | ||
526 | # Deleting old SOA record and ignoring errors | ||
527 | sp.run([GNUNET_NAMESTORE_COMMAND, | ||
528 | '-d', | ||
529 | '-z', self.domain, | ||
530 | '-n', str(label), | ||
531 | '-t', "SOA",], | ||
532 | stderr=sp.DEVNULL) | ||
533 | logging.info("Deleted old SOA record") | ||
534 | # Adding new SOA record | ||
535 | sp.run([GNUNET_NAMESTORE_COMMAND, | ||
536 | '-a', | ||
537 | '-z', self.domain, | ||
538 | '-n', str(label), | ||
539 | '-t', "SOA", | ||
540 | '-V', value, | ||
541 | '-e', "%ss" % str(self.minimum)]) | ||
542 | logging.info("Added new SOA record") | ||
543 | |||
544 | @staticmethod | ||
545 | def create_zone_and_get_pkey(zonestring: str) -> str: | ||
546 | """ | ||
547 | Creates the zone in zonestring and returns pkey | ||
548 | :param zonestring: The label name of the zone | ||
549 | :returns: gnunet pkey of the zone | ||
550 | """ | ||
551 | try: | ||
552 | ret = sp.run([GNUNET_ZONE_CREATION_COMMAND, | ||
553 | '-C', zonestring, | ||
554 | '-V'], | ||
555 | stdout=sp.PIPE, | ||
556 | stderr=sp.DEVNULL, | ||
557 | check=True) | ||
558 | logging.info("executed command: %s", " ".join(ret.args)) | ||
559 | pkey_zone = ret.stdout.decode().strip() | ||
560 | except sp.CalledProcessError: | ||
561 | ret = sp.run([GNUNET_ZONE_CREATION_COMMAND, | ||
562 | '-dq', | ||
563 | '-e', zonestring], | ||
564 | stdout=sp.PIPE) | ||
565 | logging.info("executed command: %s", " ".join(ret.args)) | ||
566 | pkey_zone = ret.stdout.decode().strip() | ||
567 | return pkey_zone | ||
568 | |||
569 | @staticmethod | ||
570 | def add_pkey_record_to_zone(pkey: str, | ||
571 | domain: str, | ||
572 | label: str, | ||
573 | ttl: str) -> None: | ||
574 | """ | ||
575 | Adds the pkey of the subzone to the parent zone | ||
576 | :param pkey: the public key of the child zone | ||
577 | :param domain: the name of the parent zone | ||
578 | :param label: the label under which to add the pkey | ||
579 | :param ttl: the time to live the record should have | ||
580 | """ | ||
581 | #lookup = sp.run(GNUNET_NAMESTORE_COMMAND, | ||
582 | # '-z', domain, | ||
583 | # '-n', label, | ||
584 | # '-t', 'PKEY') | ||
585 | #if not 'Got result:' in lookup.stdout: | ||
586 | debug = " ".join([GNUNET_NAMESTORE_COMMAND, | ||
587 | '-z', domain, | ||
588 | '-a', '-n', label, | ||
589 | '-t', 'PKEY', | ||
590 | '-V', pkey, | ||
591 | '-e', "%ss" % ttl]) | ||
592 | ret = sp.run([GNUNET_NAMESTORE_COMMAND, | ||
593 | '-z', domain, | ||
594 | '-a', '-n', label, | ||
595 | '-t', 'PKEY', | ||
596 | '-V', pkey, | ||
597 | '-e', "%ss" % ttl], | ||
598 | stdout=sp.DEVNULL, | ||
599 | stderr=sp.DEVNULL) | ||
600 | logging.info("executed command: %s", debug) | ||
601 | if ret.returncode != 0: | ||
602 | # FIXME: extend gnunet-namestore to return *specific* error code for | ||
603 | # "record already exists", and in that case reduce log level to DEBUG here. | ||
604 | logging.info("failed to add PKEY record %s to %s", | ||
605 | label, domain) | ||
606 | #logging.warning("PKEY record %s already exists in %s", label, domain) | ||
607 | |||
608 | def create_zone_hierarchy(self) -> None: | ||
609 | """ | ||
610 | Creates the zone hierarchy in GNS for label | ||
611 | """ | ||
612 | # Extend Dictionary using GNS identities that already exist, | ||
613 | # checking for conflicts with information in DNS | ||
614 | ids = sp.run([GNUNET_ZONE_CREATION_COMMAND, '-d'], stdout=sp.PIPE) | ||
615 | domainlist = ''.join(col for col in ids.stdout.decode()).split('\n') | ||
616 | # Filter for domains relevant for us, i.e. that end in self.domain | ||
617 | altdomainlist = [e for e in domainlist if self.domain + " " in e] | ||
618 | for zone in altdomainlist: | ||
619 | zonename, _, pkey = zone.split(" ") | ||
620 | self.subzonedict[zonename] = (pkey, self.minimum) | ||
621 | |||
622 | # Create missing zones (and add to dict) for GNS zones that are NOT DNS zones | ||
623 | # ("." is not a zone-cut in DNS, but always in GNS). | ||
624 | for name in self.zone.nodes.keys(): | ||
625 | subzones = str(name).split('.') | ||
626 | for i in range(1, len(subzones)): | ||
627 | subdomain = ".".join(subzones[i:]) | ||
628 | zonename = "%s.%s" % (subdomain, self.domain) | ||
629 | ttl = self.minimum # new record, cannot use existing one, might want to use larger value | ||
630 | if self.subzonedict.get(zonename) is None: | ||
631 | pkey = self.create_zone_and_get_pkey(zonename) | ||
632 | self.subzonedict[zonename] = (pkey, ttl) | ||
633 | |||
634 | # Check if a delegated zone is available in GNS as per NS record | ||
635 | # Adds NS records that contain "gns--pkey--" to dictionary | ||
636 | nsrecords = self.zone.iterate_rdatasets(dns.rdatatype.NS) | ||
637 | for nsrecord in nsrecords: | ||
638 | name = str(nsrecord[0]) | ||
639 | values = nsrecord[1] | ||
640 | ttl = values.ttl | ||
641 | |||
642 | gnspkeys = list(filter(lambda record: | ||
643 | str(record).startswith('gns--pkey--'), | ||
644 | values)) | ||
645 | num_gnspkeys = len(gnspkeys) | ||
646 | if not num_gnspkeys: | ||
647 | # skip empty values | ||
648 | continue | ||
649 | if num_gnspkeys > 1: | ||
650 | logging.critical("Detected ambiguous PKEY records for label \ | ||
651 | %s (not generating PKEY record)", name) | ||
652 | continue | ||
653 | gnspkey = str(gnspkeys[0]) | ||
654 | |||
655 | # FIXME: test strlen(gnspkey) "right length", theoretically: | ||
656 | # Crockford base32 decoder... -> base32-crockford looks promising | ||
657 | zone = "%s.%s" % (name, self.domain) | ||
658 | if not self.subzonedict.get(zone): | ||
659 | self.subzonedict[zone] = (gnspkey[11:], ttl) | ||
660 | else: | ||
661 | # This should be impossible!!? | ||
662 | pkey_ttl = self.subzonedict[zone] | ||
663 | pkey2, ttl = pkey_ttl | ||
664 | if pkey2 != pkey: | ||
665 | logging.critical("PKEY in DNS does not match PKEY in GNS for name %s", name) | ||
666 | continue | ||
667 | |||
668 | # Generate PKEY records for all entries in subzonedict | ||
669 | for zone, pkeyttltuple in self.subzonedict.items(): | ||
670 | pkey, ttl = pkeyttltuple | ||
671 | domain = ".".join(zone.split('.')[1::]) | ||
672 | # This happens if root is reached | ||
673 | if domain == '': | ||
674 | logging.info("Reached domain root") | ||
675 | continue | ||
676 | label = zone.split('.')[0] | ||
677 | logging.info("adding zone %s with %s pkey into %s", zone, pkey, domain) | ||
678 | self.add_pkey_record_to_zone(pkey, domain, label, ttl) | ||
679 | |||
680 | def main(): | ||
681 | """ | ||
682 | Initializes object and handles arguments | ||
683 | """ | ||
684 | # argument parsing from docstring definition | ||
685 | args = docopt.docopt(__doc__, version='Ascension 0.11.5') | ||
686 | |||
687 | # argument parsing | ||
688 | debug = args['--debug'] | ||
689 | domain = args.get('<domain>', None) | ||
690 | transferns = args['<transferns>'] if args['<transferns>'] else None | ||
691 | port = args['<port>'] if args['<port>'] else "53" | ||
692 | flags = "p" if args.get('--public') else "n" | ||
693 | standalone = bool(args.get('--standalone')) | ||
694 | dryrun = bool(args.get('--dry-run')) | ||
695 | minimum = args['--minimum-ttl'] | ||
696 | |||
697 | # Change logging severity to debug | ||
698 | if debug: | ||
699 | logging.basicConfig(level=logging.DEBUG) | ||
700 | |||
701 | # Initialize class instance | ||
702 | ascender = Ascender(domain, transferns, port, flags, minimum) | ||
703 | |||
704 | # Do dry run before GNUnet check | ||
705 | if dryrun: | ||
706 | dns_zone_serial = ascender.get_dns_zone_serial(ascender.domain, | ||
707 | ascender.transferns) | ||
708 | if dns_zone_serial is None: | ||
709 | return 1 | ||
710 | else: | ||
711 | return 0 | ||
712 | |||
713 | # Checks if GNUnet services are running | ||
714 | try: | ||
715 | sp.check_output([GNUNET_ARM_COMMAND, '-I'], timeout=1) | ||
716 | except sp.TimeoutExpired: | ||
717 | logging.critical('GNUnet services are not running!') | ||
718 | sys.exit(1) | ||
719 | |||
720 | # Set to defaults to use before we get a SOA for the first time | ||
721 | retry = 300 | ||
722 | refresh = 300 | ||
723 | |||
724 | # Main loop for actual daemon | ||
725 | while True: | ||
726 | gns_zone_serial = ascender.get_gns_zone_serial() | ||
727 | if gns_zone_serial: | ||
728 | ascender.zonegenerator = dns.query.xfr(ascender.transferns, | ||
729 | ascender.domain, | ||
730 | rdtype=dns.rdatatype.IXFR, | ||
731 | serial=gns_zone_serial, | ||
732 | port=ascender.port) | ||
733 | else: | ||
734 | ascender.zonegenerator = dns.query.xfr(ascender.transferns, | ||
735 | ascender.domain, | ||
736 | port=ascender.port) | ||
737 | dns_zone_serial = ascender.get_dns_zone_serial(ascender.domain, | ||
738 | ascender.transferns) | ||
739 | |||
740 | if not dns_zone_serial: | ||
741 | logging.error("Could not get DNS zone serial") | ||
742 | if standalone: | ||
743 | return 1 | ||
744 | time.sleep(retry) | ||
745 | continue | ||
746 | if not gns_zone_serial: | ||
747 | logging.info("GNS zone does not exist yet, performing full transfer.") | ||
748 | print("GNS zone does not exist yet, performing full transfer.") | ||
749 | ascender.bootstrap_zone() | ||
750 | elif gns_zone_serial == dns_zone_serial: | ||
751 | logging.info("GNS zone is up to date.") | ||
752 | print("GNS zone is up to date.") | ||
753 | if standalone: | ||
754 | return 0 | ||
755 | time.sleep(refresh) | ||
756 | continue | ||
757 | elif gns_zone_serial > dns_zone_serial: | ||
758 | logging.critical("SOA serial in GNS is bigger than SOA serial in DNS?") | ||
759 | logging.critical("GNS zone: %s, DNS zone: %s", gns_zone_serial, dns_zone_serial) | ||
760 | if standalone: | ||
761 | return 1 | ||
762 | time.sleep(retry) | ||
763 | continue | ||
764 | else: | ||
765 | logging.info("GNS zone is out of date, performing incremental transfer.") | ||
766 | print("GNS zone is out of date, performing incremental transfer.") | ||
767 | |||
768 | try: | ||
769 | ascender.zone = dns.zone.from_xfr(ascender.zonegenerator, | ||
770 | check_origin=False) | ||
771 | ascender.soa = ascender.get_zone_soa(ascender.zone) | ||
772 | refresh = int(str(ascender.soa[2]).split(" ")[3]) | ||
773 | retry = int(str(ascender.soa[2]).split(" ")[4]) | ||
774 | except dns.zone.BadZone: | ||
775 | logging.critical("Malformed DNS Zone '%s'", ascender.domain) | ||
776 | if standalone: | ||
777 | return 2 | ||
778 | time.sleep(retry) | ||
779 | continue | ||
780 | |||
781 | ascender.add_records_to_gns() | ||
782 | logging.info("Finished migration of the zone %s", ascender.domain) | ||
783 | |||
784 | if __name__ == '__main__': | ||
785 | main() | ||
diff --git a/deb_dist/ascension-0.11.5/debian/.debhelper/generated/python3-ascension/installed-by-dh_installdocs b/deb_dist/ascension-0.11.5/debian/.debhelper/generated/python3-ascension/installed-by-dh_installdocs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/.debhelper/generated/python3-ascension/installed-by-dh_installdocs | |||
diff --git a/deb_dist/ascension-0.11.5/debian/changelog b/deb_dist/ascension-0.11.5/debian/changelog new file mode 100644 index 0000000..6892a5d --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/changelog | |||
@@ -0,0 +1,5 @@ | |||
1 | ascension (0.11.5-1) unstable; urgency=low | ||
2 | |||
3 | * source package automatically created by stdeb 0.8.5 | ||
4 | |||
5 | -- rexxnor <rexxnor+gnunet@brief.li> Sat, 01 Jun 2019 09:39:38 +0000 | ||
diff --git a/deb_dist/ascension-0.11.5/debian/compat b/deb_dist/ascension-0.11.5/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/compat | |||
@@ -0,0 +1 @@ | |||
7 | |||
diff --git a/deb_dist/ascension-0.11.5/debian/control b/deb_dist/ascension-0.11.5/debian/control new file mode 100644 index 0000000..88e735b --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/control | |||
@@ -0,0 +1,36 @@ | |||
1 | Source: ascension | ||
2 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
3 | Section: python | ||
4 | Priority: optional | ||
5 | Build-Depends: python3-setuptools, python3-all, debhelper (>= 7.4.3) | ||
6 | Standards-Version: 3.9.1 | ||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | Package: python3-ascension | ||
13 | Architecture: all | ||
14 | Depends: ${misc:Depends}, ${python3:Depends} | ||
15 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
16 | # Ascension | ||
17 | . | ||
18 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
19 | incremental zone transfers (AXFR/IXFR). | ||
20 | . | ||
21 | ## How to install | ||
22 | To install the ascension simply execute one of the following commands in the | ||
23 | freshly cloned directory: | ||
24 | . | ||
25 | ```bash | ||
26 | # System wide installation | ||
27 | sudo python3 setup.py install | ||
28 | . | ||
29 | # Local installation through virtualenv | ||
30 | python3 -m venv .venv | ||
31 | source .venv/bin/activate | ||
32 | python3 setup.py install | ||
33 | ``` | ||
34 | . | ||
35 | ## How to install (Developer) | ||
36 | |||
diff --git a/deb_dist/ascension-0.11.5/debian/copyright b/deb_dist/ascension-0.11.5/debian/copyright new file mode 100644 index 0000000..e02fffd --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/copyright | |||
@@ -0,0 +1,21 @@ | |||
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||
2 | Upstream-Name: python3-ascension | ||
3 | Source: <https://git.gnunet.org/ascension.git/> | ||
4 | |||
5 | Files: * | ||
6 | Copyright: 2019 GNUnet e.V. | ||
7 | License: AGPL-3.0 | ||
8 | Source: python3-ascension | ||
9 | Section: contrib | ||
10 | Priority: optional | ||
11 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
12 | Build-Depends: debhelper (>= 9), python3-ascension, bind9 | ||
13 | Standards-Version: 3.9.8 | ||
14 | Homepage: https://git.gnunet.org/ascension.git/ | ||
15 | |||
16 | Package: ascension-bind | ||
17 | Architecture: any | ||
18 | Depends: ${shlibs:Depends}, ${misc:Depends} | ||
19 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
20 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
21 | incremental zone transfers (AXFR/IXFR). | ||
diff --git a/deb_dist/ascension-0.11.5/debian/files b/deb_dist/ascension-0.11.5/debian/files new file mode 100644 index 0000000..a374cf1 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/files | |||
@@ -0,0 +1,2 @@ | |||
1 | ascension_0.11.5-1_amd64.buildinfo python optional | ||
2 | python3-ascension_0.11.5-1_all.deb python optional | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst b/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst new file mode 100644 index 0000000..965d02b --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst | |||
@@ -0,0 +1,44 @@ | |||
1 | #!/bin/sh | ||
2 | # postinst script for ascension-bind | ||
3 | # | ||
4 | # see: dh_installdeb(1) | ||
5 | # load debconf library | ||
6 | set -e | ||
7 | |||
8 | if ! id ascension; then | ||
9 | adduser --system ascension | ||
10 | fi | ||
11 | # ok if this fails as gnunet is not yet a dependency | ||
12 | if ! id gnunet; then | ||
13 | addgroup --system gnunet | ||
14 | adduser ascension gnunet | ||
15 | fi | ||
16 | |||
17 | mkdir -p /etc/ascension.d/ | ||
18 | |||
19 | # add systemd unit file | ||
20 | cat > "/etc/ascension.d/gnunet-ascension.service" << EOF | ||
21 | [Unit] | ||
22 | Description=Starting GNUnet peer for ascension | ||
23 | After=network.target | ||
24 | |||
25 | [Service] | ||
26 | Type=oneshot | ||
27 | RemainAfterExit=yes | ||
28 | User=ascension | ||
29 | ExecStart=/usr/bin/gnunet-arm -s | ||
30 | ExecStop=/usr/bin/gnunet-arm -e | ||
31 | ExecReload=/usr/bin/gnunet-arm -r | ||
32 | |||
33 | [Install] | ||
34 | WantedBy=multi-user.target | ||
35 | EOF | ||
36 | |||
37 | # link the systemd unit file | ||
38 | ln -sf "/etc/ascension.d/gnunet-ascension.service" "/lib/systemd/system/gnunet-ascension.service" | ||
39 | |||
40 | # start and enable service | ||
41 | deb-systemd-invoke enable gnunet-ascension | ||
42 | deb-systemd-invoke start gnunet-ascension | ||
43 | |||
44 | #DEBHELPER# | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst.debhelper b/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst.debhelper new file mode 100644 index 0000000..c132d8d --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension.postinst.debhelper | |||
@@ -0,0 +1,7 @@ | |||
1 | |||
2 | # Automatically added by dh_python3: | ||
3 | if which py3compile >/dev/null 2>&1; then | ||
4 | py3compile -p python3-ascension | ||
5 | fi | ||
6 | |||
7 | # End automatically added section | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm b/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm new file mode 100644 index 0000000..32448cf --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm | |||
@@ -0,0 +1,19 @@ | |||
1 | #!/bin/sh | ||
2 | # prerm script for ascension-bind | ||
3 | # | ||
4 | # see: dh_installdeb(1) | ||
5 | # load debconf library | ||
6 | set -e | ||
7 | |||
8 | mkdir -p /etc/ascension.d/ | ||
9 | |||
10 | # remove systemd stuff | ||
11 | deb-systemd-invoke stop gnunet-ascension | ||
12 | deb-systemd-invoke disable gnunet-ascension | ||
13 | |||
14 | # remove the systemd files | ||
15 | unlink /lib/systemd/system/gnunet-ascension.service | ||
16 | rm /etc/ascension.d/gnunet-ascension.service | ||
17 | |||
18 | exit 0 | ||
19 | #DEBHELPER# | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm.debhelper b/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm.debhelper new file mode 100644 index 0000000..98de74e --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension.prerm.debhelper | |||
@@ -0,0 +1,10 @@ | |||
1 | |||
2 | # Automatically added by dh_python3: | ||
3 | if which py3clean >/dev/null 2>&1; then | ||
4 | py3clean -p python3-ascension | ||
5 | else | ||
6 | dpkg -L python3-ascension | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)' | ||
7 | find /usr/lib/python3/dist-packages/ -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir | ||
8 | fi | ||
9 | |||
10 | # End automatically added section | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension.substvars b/deb_dist/ascension-0.11.5/debian/python3-ascension.substvars new file mode 100644 index 0000000..039c7ae --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension.substvars | |||
@@ -0,0 +1,3 @@ | |||
1 | python3:Depends=python3-coverage, python3-dnspython, python3-docopt, python3-mock, python3-pbr, python3-six, python3:any, python3:any (>= 3.3.2-2~) | ||
2 | misc:Depends= | ||
3 | misc:Pre-Depends= | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/control b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/control new file mode 100644 index 0000000..69a1679 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/control | |||
@@ -0,0 +1,30 @@ | |||
1 | Package: python3-ascension | ||
2 | Source: ascension | ||
3 | Version: 0.11.5-1 | ||
4 | Architecture: all | ||
5 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
6 | Installed-Size: 62 | ||
7 | Depends: python3-coverage, python3-dnspython, python3-docopt, python3-mock, python3-pbr, python3-six, python3:any (>= 3.3.2-2~) | ||
8 | Section: python | ||
9 | Priority: optional | ||
10 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
11 | # Ascension | ||
12 | . | ||
13 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
14 | incremental zone transfers (AXFR/IXFR). | ||
15 | . | ||
16 | ## How to install | ||
17 | To install the ascension simply execute one of the following commands in the | ||
18 | freshly cloned directory: | ||
19 | . | ||
20 | ```bash | ||
21 | # System wide installation | ||
22 | sudo python3 setup.py install | ||
23 | . | ||
24 | # Local installation through virtualenv | ||
25 | python3 -m venv .venv | ||
26 | source .venv/bin/activate | ||
27 | python3 setup.py install | ||
28 | ``` | ||
29 | . | ||
30 | ## How to install (Developer) | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/md5sums b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/md5sums new file mode 100644 index 0000000..bd59a8d --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/md5sums | |||
@@ -0,0 +1,11 @@ | |||
1 | 09a76cc2e7809733ca94d870bdab0939 usr/bin/ascension | ||
2 | b9326cd655bd4569eaeb5f029ae298d4 usr/lib/python3/dist-packages/ascension-0.11.5.egg-info/PKG-INFO | ||
3 | 68b329da9893e34099c7d8ad5cb9c940 usr/lib/python3/dist-packages/ascension-0.11.5.egg-info/dependency_links.txt | ||
4 | 9cda1022e5fc72a3762b4bc09ee0ddb5 usr/lib/python3/dist-packages/ascension-0.11.5.egg-info/entry_points.txt | ||
5 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension-0.11.5.egg-info/requires.txt | ||
6 | e616e4373e7b199db038fd8e938a3188 usr/lib/python3/dist-packages/ascension-0.11.5.egg-info/top_level.txt | ||
7 | d41d8cd98f00b204e9800998ecf8427e usr/lib/python3/dist-packages/ascension/__init__.py | ||
8 | 77d85fa6df18531638272fa529d4bc8d usr/lib/python3/dist-packages/ascension/ascension.py | ||
9 | de060b4ca299c6460ff508aed915526b usr/man/man1/ascension.1 | ||
10 | 7c91a24ed761700f79e6e35654a9b5de usr/share/doc/python3-ascension/changelog.Debian.gz | ||
11 | 42cbfd228642e598041a4f8583b17259 usr/share/doc/python3-ascension/copyright | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/postinst b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/postinst new file mode 100755 index 0000000..7304d12 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/postinst | |||
@@ -0,0 +1,51 @@ | |||
1 | #!/bin/sh | ||
2 | # postinst script for ascension-bind | ||
3 | # | ||
4 | # see: dh_installdeb(1) | ||
5 | # load debconf library | ||
6 | set -e | ||
7 | |||
8 | if ! id ascension; then | ||
9 | adduser --system ascension | ||
10 | fi | ||
11 | # ok if this fails as gnunet is not yet a dependency | ||
12 | if ! id gnunet; then | ||
13 | addgroup --system gnunet | ||
14 | adduser ascension gnunet | ||
15 | fi | ||
16 | |||
17 | mkdir -p /etc/ascension.d/ | ||
18 | |||
19 | # add systemd unit file | ||
20 | cat > "/etc/ascension.d/gnunet-ascension.service" << EOF | ||
21 | [Unit] | ||
22 | Description=Starting GNUnet peer for ascension | ||
23 | After=network.target | ||
24 | |||
25 | [Service] | ||
26 | Type=oneshot | ||
27 | RemainAfterExit=yes | ||
28 | User=ascension | ||
29 | ExecStart=/usr/bin/gnunet-arm -s | ||
30 | ExecStop=/usr/bin/gnunet-arm -e | ||
31 | ExecReload=/usr/bin/gnunet-arm -r | ||
32 | |||
33 | [Install] | ||
34 | WantedBy=multi-user.target | ||
35 | EOF | ||
36 | |||
37 | # link the systemd unit file | ||
38 | ln -sf "/etc/ascension.d/gnunet-ascension.service" "/lib/systemd/system/gnunet-ascension.service" | ||
39 | |||
40 | # start and enable service | ||
41 | deb-systemd-invoke enable gnunet-ascension | ||
42 | deb-systemd-invoke start gnunet-ascension | ||
43 | |||
44 | |||
45 | # Automatically added by dh_python3: | ||
46 | if which py3compile >/dev/null 2>&1; then | ||
47 | py3compile -p python3-ascension | ||
48 | fi | ||
49 | |||
50 | # End automatically added section | ||
51 | |||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/prerm b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/prerm new file mode 100755 index 0000000..44d6c3f --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/DEBIAN/prerm | |||
@@ -0,0 +1,29 @@ | |||
1 | #!/bin/sh | ||
2 | # prerm script for ascension-bind | ||
3 | # | ||
4 | # see: dh_installdeb(1) | ||
5 | # load debconf library | ||
6 | set -e | ||
7 | |||
8 | mkdir -p /etc/ascension.d/ | ||
9 | |||
10 | # remove systemd stuff | ||
11 | deb-systemd-invoke stop gnunet-ascension | ||
12 | deb-systemd-invoke disable gnunet-ascension | ||
13 | |||
14 | # remove the systemd files | ||
15 | unlink /lib/systemd/system/gnunet-ascension.service | ||
16 | rm /etc/ascension.d/gnunet-ascension.service | ||
17 | |||
18 | exit 0 | ||
19 | |||
20 | # Automatically added by dh_python3: | ||
21 | if which py3clean >/dev/null 2>&1; then | ||
22 | py3clean -p python3-ascension | ||
23 | else | ||
24 | dpkg -L python3-ascension | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)' | ||
25 | find /usr/lib/python3/dist-packages/ -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir | ||
26 | fi | ||
27 | |||
28 | # End automatically added section | ||
29 | |||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/bin/ascension b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/bin/ascension new file mode 100755 index 0000000..1efb2d5 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/bin/ascension | |||
@@ -0,0 +1,12 @@ | |||
1 | #! /usr/bin/python3 | ||
2 | # EASY-INSTALL-ENTRY-SCRIPT: 'ascension==0.11.5','console_scripts','ascension' | ||
3 | __requires__ = 'ascension==0.11.5' | ||
4 | import re | ||
5 | import sys | ||
6 | from pkg_resources import load_entry_point | ||
7 | |||
8 | if __name__ == '__main__': | ||
9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | ||
10 | sys.exit( | ||
11 | load_entry_point('ascension==0.11.5', 'console_scripts', 'ascension')() | ||
12 | ) | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/man/man1/ascension.1 b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/man/man1/ascension.1 new file mode 100644 index 0000000..ae01bb0 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/man/man1/ascension.1 | |||
@@ -0,0 +1,106 @@ | |||
1 | .\" This file is part of Ascension. | ||
2 | .\" Copyright (C) 2018,2019 GNUnet e.V. | ||
3 | .\" | ||
4 | .\" Permission is granted to copy, distribute and/or modify this document | ||
5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or | ||
6 | .\" any later version published by the Free Software Foundation; with no | ||
7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A | ||
8 | .\" copy of the license is included in the file | ||
9 | .\" ``FDL-1.3''. | ||
10 | .\" | ||
11 | .\" A copy of the license is also available from the Free Software | ||
12 | .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html. | ||
13 | .\" | ||
14 | .\" Alternately, this document is also available under the General | ||
15 | .\" Public License, version 3 or later, as published by the Free Software | ||
16 | .\" Foundation. A copy of the license is included in the file | ||
17 | .\" ``GPL3''. | ||
18 | .\" | ||
19 | .\" A copy of the license is also available from the Free Software | ||
20 | .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html. | ||
21 | .\" | ||
22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
23 | .\" | ||
24 | .Dd May 9, 2019 | ||
25 | .Dt ASCENSION 1 | ||
26 | .Os | ||
27 | .Sh NAME | ||
28 | .Nm ascension | ||
29 | .Nd migrate existing DNS zones into the GNU Name System | ||
30 | .Sh SYNOPSIS | ||
31 | .Nm | ||
32 | .Op Ar domain Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
33 | .Nm | ||
34 | .Op Ar domain port Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
35 | .Nm | ||
36 | .Op Ar domain Fl n Ar transferns Fl d Fl p Fl s Fl -minimum-ttl=<ttl> -dry-run | ||
37 | .Nm | ||
38 | .Op Ar domain Fl n Ar transferns Ar port Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
39 | .Sh DESCRIPTION | ||
40 | .Nm | ||
41 | is a tool to migrate existing DNS Zones into the GNU Name System (GNS) using incremental zone transfers (AXFR/IXFR). | ||
42 | To achieve this it uses | ||
43 | .Xr gnunet-identity 1 , | ||
44 | .Xr gnunet-namestore 1 , | ||
45 | .Xr gnunet-gns 1 . | ||
46 | As | ||
47 | .Nm | ||
48 | relies on these 3 GNUnet services, | ||
49 | .Xr gnunet-arm 1 | ||
50 | must be installed and running. | ||
51 | .Bl -tag -width Ds | ||
52 | .It Ar domain Fl d Fl p Fl s -minimum-ttl=<ttl> -dry-run | ||
53 | Migrate the DOMAIN passed as domain. | ||
54 | The debug, public and standalone options are optional. | ||
55 | .It Ar domain port Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
56 | Migrate the DOMAIN domain, using port for zone transfer. | ||
57 | The debug, public and standalone options are optional. | ||
58 | .It Ar domain Fl n Ar transferns Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
59 | Migrate the DOMAIN domain from the DNS server transferns. | ||
60 | The debug, public and standalone options are optional. | ||
61 | .It Ar domain Fl n Ar transferns Ar port Fl d Fl p Fl s -minimum-ttl=<ttl -dry-run> | ||
62 | Migrate the DOMAIN domain from the DNS server transferns using port for the zone transfer. | ||
63 | The debug, public and standalone options are optional. | ||
64 | .It Fl s | \-standalone | ||
65 | Run Ascension once | ||
66 | .It Fl d | \-debug | ||
67 | Enable debugging | ||
68 | .It Fl h | \-help | ||
69 | Print short help on options | ||
70 | .It Fl p | \-public | ||
71 | Make records public on the DHT | ||
72 | .It Fl v | \-version | ||
73 | Print ascension version number | ||
74 | .El | ||
75 | .\" .Sh FILES | ||
76 | .Sh EXAMPLES | ||
77 | To transfer the sy TLD from ns1.tld.sy: | ||
78 | .Pp | ||
79 | .Dl $ ascension sy -n ns1.tld.sy. | ||
80 | .Pp | ||
81 | To transfer the nu TLD from zonedata.iis.se with debug options enabled: | ||
82 | .Pp | ||
83 | .Dl $ ascension nu -n zonedata.iis.se. -d | ||
84 | .Sh SEE ALSO | ||
85 | .Xr gnunet-arm 1 , | ||
86 | .Xr gnunet-gns 1 , | ||
87 | .Xr gnunet-identity 1 , | ||
88 | .Xr gnunet-namestore 1 | ||
89 | .Sh HISTORY | ||
90 | The | ||
91 | .Nm | ||
92 | tool was designed and written in 2018 by | ||
93 | .An rexxnor Aq Mt rexxnor+gnunet@brief.li . | ||
94 | .Sh AUTHORS | ||
95 | This man page was written by | ||
96 | .An ng0 Aq Mt ng0@gnunet.org | ||
97 | and updated by | ||
98 | .An rexxnor Aq Mt rexxnor+gnunet@brief.li | ||
99 | it first appeared in | ||
100 | .Nm | ||
101 | 0.5.1. | ||
102 | .Sh BUGS | ||
103 | Report bugs by using | ||
104 | .Lk https://bugs.gnunet.org | ||
105 | or by sending electronic mail to | ||
106 | .Aq Mt bug-gnunet@gnu.org . | ||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz new file mode 100644 index 0000000..bcd08a0 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/changelog.Debian.gz | |||
Binary files differ | |||
diff --git a/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/copyright b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/copyright new file mode 100644 index 0000000..e02fffd --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/python3-ascension/usr/share/doc/python3-ascension/copyright | |||
@@ -0,0 +1,21 @@ | |||
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||
2 | Upstream-Name: python3-ascension | ||
3 | Source: <https://git.gnunet.org/ascension.git/> | ||
4 | |||
5 | Files: * | ||
6 | Copyright: 2019 GNUnet e.V. | ||
7 | License: AGPL-3.0 | ||
8 | Source: python3-ascension | ||
9 | Section: contrib | ||
10 | Priority: optional | ||
11 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
12 | Build-Depends: debhelper (>= 9), python3-ascension, bind9 | ||
13 | Standards-Version: 3.9.8 | ||
14 | Homepage: https://git.gnunet.org/ascension.git/ | ||
15 | |||
16 | Package: ascension-bind | ||
17 | Architecture: any | ||
18 | Depends: ${shlibs:Depends}, ${misc:Depends} | ||
19 | Description: Tool to migrate DNS Zones to the GNU Name System | ||
20 | Tool to easily migrate existing DNS Zones into the GNU Name System using | ||
21 | incremental zone transfers (AXFR/IXFR). | ||
diff --git a/deb_dist/ascension-0.11.5/debian/rules b/deb_dist/ascension-0.11.5/debian/rules new file mode 100755 index 0000000..fce516f --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/rules | |||
@@ -0,0 +1,31 @@ | |||
1 | #!/usr/bin/make -f | ||
2 | |||
3 | # This file was automatically generated by stdeb 0.8.5 at | ||
4 | # Sat, 01 Jun 2019 09:39:38 +0000 | ||
5 | |||
6 | %: | ||
7 | dh $@ --with python3 --buildsystem=python_distutils | ||
8 | |||
9 | |||
10 | override_dh_auto_clean: | ||
11 | python3 setup.py clean -a | ||
12 | find . -name \*.pyc -exec rm {} \; | ||
13 | |||
14 | |||
15 | |||
16 | override_dh_auto_build: | ||
17 | python3 setup.py build --force | ||
18 | |||
19 | |||
20 | |||
21 | override_dh_auto_install: | ||
22 | python3 setup.py install --force --root=debian/python3-ascension --no-compile -O0 --install-layout=deb --prefix=/usr | ||
23 | |||
24 | |||
25 | |||
26 | override_dh_python2: | ||
27 | dh_python2 --no-guessing-versions | ||
28 | |||
29 | |||
30 | |||
31 | |||
diff --git a/deb_dist/ascension-0.11.5/debian/source/format b/deb_dist/ascension-0.11.5/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/source/format | |||
@@ -0,0 +1 @@ | |||
3.0 (quilt) | |||
diff --git a/deb_dist/ascension-0.11.5/debian/source/options b/deb_dist/ascension-0.11.5/debian/source/options new file mode 100644 index 0000000..bcc4bbb --- /dev/null +++ b/deb_dist/ascension-0.11.5/debian/source/options | |||
@@ -0,0 +1 @@ | |||
extend-diff-ignore="\.egg-info$" \ No newline at end of file | |||
diff --git a/deb_dist/ascension-0.11.5/setup.cfg b/deb_dist/ascension-0.11.5/setup.cfg new file mode 100644 index 0000000..8bfd5a1 --- /dev/null +++ b/deb_dist/ascension-0.11.5/setup.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | [egg_info] | ||
2 | tag_build = | ||
3 | tag_date = 0 | ||
4 | |||
diff --git a/deb_dist/ascension-0.11.5/setup.py b/deb_dist/ascension-0.11.5/setup.py new file mode 100644 index 0000000..851c1d8 --- /dev/null +++ b/deb_dist/ascension-0.11.5/setup.py | |||
@@ -0,0 +1,55 @@ | |||
1 | #!/usr/bin/env python3 | ||
2 | """ | ||
3 | This file is part of Ascension. | ||
4 | Copyright (C) 2019 GNUnet e.V. | ||
5 | |||
6 | Ascension is free software: you can redistribute it and/or modify it | ||
7 | under the terms of the GNU Affero General Public License as published | ||
8 | by the Free Software Foundation, either version 3 of the License, | ||
9 | or (at your option) any later version. | ||
10 | |||
11 | Ascension is distributed in the hope that it will be useful, but | ||
12 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | Affero General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU Affero General Public License | ||
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
18 | |||
19 | SPDX-License-Identifier: AGPL3.0-or-later | ||
20 | |||
21 | Author rexxnor | ||
22 | """ | ||
23 | |||
24 | import setuptools | ||
25 | |||
26 | with open("README", "r") as fh: | ||
27 | long_description = fh.read() | ||
28 | |||
29 | setuptools.setup( | ||
30 | name="ascension", | ||
31 | version="0.11.5", | ||
32 | author="rexxnor", | ||
33 | author_email="rexxnor+gnunet@brief.li", | ||
34 | description="Tool to migrate DNS Zones to the GNU Name System", | ||
35 | long_description=long_description, | ||
36 | url="https://gnunet.org/git/ascension.git/", | ||
37 | packages=['ascension'], | ||
38 | data_files=[('man/man1', ['ascension.1'])], | ||
39 | classifiers=[ | ||
40 | "Programming Language :: Python :: 3", | ||
41 | ], | ||
42 | entry_points={ | ||
43 | 'console_scripts': [ | ||
44 | 'ascension=ascension.ascension:main', | ||
45 | ], | ||
46 | }, | ||
47 | install_requires=[ | ||
48 | 'coverage', | ||
49 | 'dnspython', | ||
50 | 'docopt', | ||
51 | 'mock', | ||
52 | 'pbr', | ||
53 | 'six', | ||
54 | ], | ||
55 | ) | ||
diff --git a/deb_dist/ascension_0.11.4-1.debian.tar.xz b/deb_dist/ascension_0.11.4-1.debian.tar.xz index a2d14ff..14251a5 100644 --- a/deb_dist/ascension_0.11.4-1.debian.tar.xz +++ b/deb_dist/ascension_0.11.4-1.debian.tar.xz | |||
Binary files differ | |||
diff --git a/deb_dist/ascension_0.11.4-1.dsc b/deb_dist/ascension_0.11.4-1.dsc index 25a9b4d..44729ee 100644 --- a/deb_dist/ascension_0.11.4-1.dsc +++ b/deb_dist/ascension_0.11.4-1.dsc | |||
@@ -9,11 +9,11 @@ Build-Depends: python3-setuptools, python3-all, debhelper (>= 7.4.3) | |||
9 | Package-List: | 9 | Package-List: |
10 | python3-ascension deb python optional arch=all | 10 | python3-ascension deb python optional arch=all |
11 | Checksums-Sha1: | 11 | Checksums-Sha1: |
12 | c5840b838fc7c28356e62d5566b0996fbe496fa3 10528 ascension_0.11.4.orig.tar.gz | 12 | ea06751883f83324f4f94d2a2d14ae6e8fdf7993 10655 ascension_0.11.4.orig.tar.gz |
13 | 06939160603c6ccf2eadaade4e567645b3b25806 1668 ascension_0.11.4-1.debian.tar.xz | 13 | b56b1e763b686e4db61e4c12647d5425140247ff 1888 ascension_0.11.4-1.debian.tar.xz |
14 | Checksums-Sha256: | 14 | Checksums-Sha256: |
15 | 250d78320b208c6d3ae41aeda92998113a66cff9839c2ca7c787c8e65a78c0cc 10528 ascension_0.11.4.orig.tar.gz | 15 | 69f7835f69ab067bf04cf95bfe9d84bff57aa9772dee087298f12bbcda2929f1 10655 ascension_0.11.4.orig.tar.gz |
16 | f0b8b3a4b1b11326c1d4391262131dc9d78efea71c98041c20b6a5c1eeeb7663 1668 ascension_0.11.4-1.debian.tar.xz | 16 | 2df89aa831d0d1f8f09df838d57b1a5ba29df643f29b1ad5cf3b96ca1b94b7ce 1888 ascension_0.11.4-1.debian.tar.xz |
17 | Files: | 17 | Files: |
18 | ee6e55480a7a42c78c373351f66616fc 10528 ascension_0.11.4.orig.tar.gz | 18 | 737ce6949e7dee1aa3a3723908b36566 10655 ascension_0.11.4.orig.tar.gz |
19 | 759887366ef7d70523234fb8984b35b7 1668 ascension_0.11.4-1.debian.tar.xz | 19 | dc259ee2481403186c7e4cf91ec0b9dc 1888 ascension_0.11.4-1.debian.tar.xz |
diff --git a/deb_dist/ascension_0.11.4-1_amd64.buildinfo b/deb_dist/ascension_0.11.4-1_amd64.buildinfo index 24830a2..730694f 100644 --- a/deb_dist/ascension_0.11.4-1_amd64.buildinfo +++ b/deb_dist/ascension_0.11.4-1_amd64.buildinfo | |||
@@ -4,17 +4,17 @@ Binary: python3-ascension | |||
4 | Architecture: all source | 4 | Architecture: all source |
5 | Version: 0.11.4-1 | 5 | Version: 0.11.4-1 |
6 | Checksums-Md5: | 6 | Checksums-Md5: |
7 | cb114d97a59cb6b41ab18e7b5558ff21 846 ascension_0.11.4-1.dsc | 7 | aa316716e532cc99a47217fd85516549 846 ascension_0.11.4-1.dsc |
8 | e6223faa180a637a85e297070edf7aee 11684 python3-ascension_0.11.4-1_all.deb | 8 | 3a5b536297e973e90106b3f156d0f2b2 12070 python3-ascension_0.11.4-1_all.deb |
9 | Checksums-Sha1: | 9 | Checksums-Sha1: |
10 | 4db0f2939b02d6e44386ab98a71b7b137d3976ae 846 ascension_0.11.4-1.dsc | 10 | f7811dbdedc78309f3eafd6a31fae5d25519ef0b 846 ascension_0.11.4-1.dsc |
11 | c9c05eb2b84289005e5b0c2d486cdc1ec07ac9fa 11684 python3-ascension_0.11.4-1_all.deb | 11 | 24c87c1c55b9d6cc29afa475b19c6342691fed81 12070 python3-ascension_0.11.4-1_all.deb |
12 | Checksums-Sha256: | 12 | Checksums-Sha256: |
13 | c5f5753ec7f03abf43d4981a27f9d922955ae41f5a7c93d1dc42e57fb4b46215 846 ascension_0.11.4-1.dsc | 13 | 67f87ad62cc1e38d102faa77f86ac66927e129e91d07faa6cebe89e453138092 846 ascension_0.11.4-1.dsc |
14 | 98bfd4a47066211c1cc14b5a021f65a3540fd65d6e80edc9f4b0a1433bfc3265 11684 python3-ascension_0.11.4-1_all.deb | 14 | ec8d0ee2d9f6e7bbb54701d4cf488bed2c318e2dfe5d354b56514887facc30bd 12070 python3-ascension_0.11.4-1_all.deb |
15 | Build-Origin: Debian | 15 | Build-Origin: Debian |
16 | Build-Architecture: amd64 | 16 | Build-Architecture: amd64 |
17 | Build-Date: Fri, 24 May 2019 07:35:32 +0000 | 17 | Build-Date: Sat, 01 Jun 2019 09:41:40 +0000 |
18 | Installed-Build-Depends: | 18 | Installed-Build-Depends: |
19 | autoconf (= 2.69-10), | 19 | autoconf (= 2.69-10), |
20 | automake (= 1:1.15-6), | 20 | automake (= 1:1.15-6), |
@@ -177,4 +177,4 @@ Installed-Build-Depends: | |||
177 | zlib1g (= 1:1.2.8.dfsg-5) | 177 | zlib1g (= 1:1.2.8.dfsg-5) |
178 | Environment: | 178 | Environment: |
179 | DEB_BUILD_OPTIONS="parallel=2" | 179 | DEB_BUILD_OPTIONS="parallel=2" |
180 | SOURCE_DATE_EPOCH="1558683175" | 180 | SOURCE_DATE_EPOCH="1559381740" |
diff --git a/deb_dist/ascension_0.11.4-1_amd64.changes b/deb_dist/ascension_0.11.4-1_amd64.changes index 06c8a2c..eab8cde 100644 --- a/deb_dist/ascension_0.11.4-1_amd64.changes +++ b/deb_dist/ascension_0.11.4-1_amd64.changes | |||
@@ -1,5 +1,5 @@ | |||
1 | Format: 1.8 | 1 | Format: 1.8 |
2 | Date: Fri, 24 May 2019 07:32:55 +0000 | 2 | Date: Sat, 01 Jun 2019 09:35:40 +0000 |
3 | Source: ascension | 3 | Source: ascension |
4 | Binary: python3-ascension | 4 | Binary: python3-ascension |
5 | Architecture: source all | 5 | Architecture: source all |
@@ -15,20 +15,20 @@ Changes: | |||
15 | . | 15 | . |
16 | * source package automatically created by stdeb 0.8.5 | 16 | * source package automatically created by stdeb 0.8.5 |
17 | Checksums-Sha1: | 17 | Checksums-Sha1: |
18 | 4db0f2939b02d6e44386ab98a71b7b137d3976ae 846 ascension_0.11.4-1.dsc | 18 | f7811dbdedc78309f3eafd6a31fae5d25519ef0b 846 ascension_0.11.4-1.dsc |
19 | c5840b838fc7c28356e62d5566b0996fbe496fa3 10528 ascension_0.11.4.orig.tar.gz | 19 | ea06751883f83324f4f94d2a2d14ae6e8fdf7993 10655 ascension_0.11.4.orig.tar.gz |
20 | 06939160603c6ccf2eadaade4e567645b3b25806 1668 ascension_0.11.4-1.debian.tar.xz | 20 | b56b1e763b686e4db61e4c12647d5425140247ff 1888 ascension_0.11.4-1.debian.tar.xz |
21 | c1ff6c6a79c8df766a1283beb6551155612b42a5 5432 ascension_0.11.4-1_amd64.buildinfo | 21 | 8a9a02a1e225c7899ba1d3b4da389239fe9dd31c 5432 ascension_0.11.4-1_amd64.buildinfo |
22 | c9c05eb2b84289005e5b0c2d486cdc1ec07ac9fa 11684 python3-ascension_0.11.4-1_all.deb | 22 | 24c87c1c55b9d6cc29afa475b19c6342691fed81 12070 python3-ascension_0.11.4-1_all.deb |
23 | Checksums-Sha256: | 23 | Checksums-Sha256: |
24 | c5f5753ec7f03abf43d4981a27f9d922955ae41f5a7c93d1dc42e57fb4b46215 846 ascension_0.11.4-1.dsc | 24 | 67f87ad62cc1e38d102faa77f86ac66927e129e91d07faa6cebe89e453138092 846 ascension_0.11.4-1.dsc |
25 | 250d78320b208c6d3ae41aeda92998113a66cff9839c2ca7c787c8e65a78c0cc 10528 ascension_0.11.4.orig.tar.gz | 25 | 69f7835f69ab067bf04cf95bfe9d84bff57aa9772dee087298f12bbcda2929f1 10655 ascension_0.11.4.orig.tar.gz |
26 | f0b8b3a4b1b11326c1d4391262131dc9d78efea71c98041c20b6a5c1eeeb7663 1668 ascension_0.11.4-1.debian.tar.xz | 26 | 2df89aa831d0d1f8f09df838d57b1a5ba29df643f29b1ad5cf3b96ca1b94b7ce 1888 ascension_0.11.4-1.debian.tar.xz |
27 | fea1bf1acce1801d81f4e3aca731554356bd9dbc63442fab63ec036dd37b29a4 5432 ascension_0.11.4-1_amd64.buildinfo | 27 | 1e891279eac4788589777a3658e6c6186dd48efb90bfc79ed6e5dfebdf5a8c3e 5432 ascension_0.11.4-1_amd64.buildinfo |
28 | 98bfd4a47066211c1cc14b5a021f65a3540fd65d6e80edc9f4b0a1433bfc3265 11684 python3-ascension_0.11.4-1_all.deb | 28 | ec8d0ee2d9f6e7bbb54701d4cf488bed2c318e2dfe5d354b56514887facc30bd 12070 python3-ascension_0.11.4-1_all.deb |
29 | Files: | 29 | Files: |
30 | cb114d97a59cb6b41ab18e7b5558ff21 846 python optional ascension_0.11.4-1.dsc | 30 | aa316716e532cc99a47217fd85516549 846 python optional ascension_0.11.4-1.dsc |
31 | ee6e55480a7a42c78c373351f66616fc 10528 python optional ascension_0.11.4.orig.tar.gz | 31 | 737ce6949e7dee1aa3a3723908b36566 10655 python optional ascension_0.11.4.orig.tar.gz |
32 | 759887366ef7d70523234fb8984b35b7 1668 python optional ascension_0.11.4-1.debian.tar.xz | 32 | dc259ee2481403186c7e4cf91ec0b9dc 1888 python optional ascension_0.11.4-1.debian.tar.xz |
33 | c5aabf6919bc3f819586eb2c5d0c9202 5432 python optional ascension_0.11.4-1_amd64.buildinfo | 33 | e8dbc8c727f74feb719288b6ba96a77a 5432 python optional ascension_0.11.4-1_amd64.buildinfo |
34 | e6223faa180a637a85e297070edf7aee 11684 python optional python3-ascension_0.11.4-1_all.deb | 34 | 3a5b536297e973e90106b3f156d0f2b2 12070 python optional python3-ascension_0.11.4-1_all.deb |
diff --git a/deb_dist/ascension_0.11.4-1_source.buildinfo b/deb_dist/ascension_0.11.4-1_source.buildinfo index 7ce863f..62ed05d 100644 --- a/deb_dist/ascension_0.11.4-1_source.buildinfo +++ b/deb_dist/ascension_0.11.4-1_source.buildinfo | |||
@@ -4,14 +4,14 @@ Binary: python3-ascension | |||
4 | Architecture: source | 4 | Architecture: source |
5 | Version: 0.11.4-1 | 5 | Version: 0.11.4-1 |
6 | Checksums-Md5: | 6 | Checksums-Md5: |
7 | 158aeffcf835e70fb17f1bcd8017b1bb 846 ascension_0.11.4-1.dsc | 7 | 96895bc3794d24afeb26b54d6d8ba2fd 846 ascension_0.11.4-1.dsc |
8 | Checksums-Sha1: | 8 | Checksums-Sha1: |
9 | 9a39b5f45cf7d06d6da2a9c02dc6848f4f28dac6 846 ascension_0.11.4-1.dsc | 9 | a54775d0115ada7d770b87de1740e8982c607ba1 846 ascension_0.11.4-1.dsc |
10 | Checksums-Sha256: | 10 | Checksums-Sha256: |
11 | db3791660af97ff2cfbccbd317bcbec58e5a906ab7f3a1dddd40109522900f30 846 ascension_0.11.4-1.dsc | 11 | a667b7ce0d07fb36005d693dd1cfe620cb00ddc635fd6167a70f098181230dc7 846 ascension_0.11.4-1.dsc |
12 | Build-Origin: Debian | 12 | Build-Origin: Debian |
13 | Build-Architecture: amd64 | 13 | Build-Architecture: amd64 |
14 | Build-Date: Fri, 24 May 2019 07:32:58 +0000 | 14 | Build-Date: Sat, 01 Jun 2019 09:35:43 +0000 |
15 | Installed-Build-Depends: | 15 | Installed-Build-Depends: |
16 | autoconf (= 2.69-10), | 16 | autoconf (= 2.69-10), |
17 | automake (= 1:1.15-6), | 17 | automake (= 1:1.15-6), |
@@ -174,4 +174,4 @@ Installed-Build-Depends: | |||
174 | zlib1g (= 1:1.2.8.dfsg-5) | 174 | zlib1g (= 1:1.2.8.dfsg-5) |
175 | Environment: | 175 | Environment: |
176 | DEB_BUILD_OPTIONS="parallel=2" | 176 | DEB_BUILD_OPTIONS="parallel=2" |
177 | SOURCE_DATE_EPOCH="1558683175" | 177 | SOURCE_DATE_EPOCH="1559381740" |
diff --git a/deb_dist/ascension_0.11.4-1_source.changes b/deb_dist/ascension_0.11.4-1_source.changes index 130003c..2383924 100644 --- a/deb_dist/ascension_0.11.4-1_source.changes +++ b/deb_dist/ascension_0.11.4-1_source.changes | |||
@@ -1,5 +1,5 @@ | |||
1 | Format: 1.8 | 1 | Format: 1.8 |
2 | Date: Fri, 24 May 2019 07:32:55 +0000 | 2 | Date: Sat, 01 Jun 2019 09:35:40 +0000 |
3 | Source: ascension | 3 | Source: ascension |
4 | Binary: python3-ascension | 4 | Binary: python3-ascension |
5 | Architecture: source | 5 | Architecture: source |
@@ -15,17 +15,17 @@ Changes: | |||
15 | . | 15 | . |
16 | * source package automatically created by stdeb 0.8.5 | 16 | * source package automatically created by stdeb 0.8.5 |
17 | Checksums-Sha1: | 17 | Checksums-Sha1: |
18 | 9a39b5f45cf7d06d6da2a9c02dc6848f4f28dac6 846 ascension_0.11.4-1.dsc | 18 | a54775d0115ada7d770b87de1740e8982c607ba1 846 ascension_0.11.4-1.dsc |
19 | c5840b838fc7c28356e62d5566b0996fbe496fa3 10528 ascension_0.11.4.orig.tar.gz | 19 | ea06751883f83324f4f94d2a2d14ae6e8fdf7993 10655 ascension_0.11.4.orig.tar.gz |
20 | 9281ff854bfe7952ca209fa1b472ca55d0e598d1 1140 ascension_0.11.4-1.debian.tar.xz | 20 | 69954bec026529110c6a774439ca31493bb50617 1140 ascension_0.11.4-1.debian.tar.xz |
21 | d26cc92c39bab47e867bd94d184a7c85868bc3c8 5163 ascension_0.11.4-1_source.buildinfo | 21 | f7ed92661d055e1ed1ffdff1b835be180dfe075f 5163 ascension_0.11.4-1_source.buildinfo |
22 | Checksums-Sha256: | 22 | Checksums-Sha256: |
23 | db3791660af97ff2cfbccbd317bcbec58e5a906ab7f3a1dddd40109522900f30 846 ascension_0.11.4-1.dsc | 23 | a667b7ce0d07fb36005d693dd1cfe620cb00ddc635fd6167a70f098181230dc7 846 ascension_0.11.4-1.dsc |
24 | 250d78320b208c6d3ae41aeda92998113a66cff9839c2ca7c787c8e65a78c0cc 10528 ascension_0.11.4.orig.tar.gz | 24 | 69f7835f69ab067bf04cf95bfe9d84bff57aa9772dee087298f12bbcda2929f1 10655 ascension_0.11.4.orig.tar.gz |
25 | f10b4449f3482a23665e017bb1b26843b9ecd5b308d29f3021fb6c5c40546e77 1140 ascension_0.11.4-1.debian.tar.xz | 25 | d2dd222d25b8102857c6c0a7270f9b7e21804d4ddc5095bfd7be9f167bf86cb3 1140 ascension_0.11.4-1.debian.tar.xz |
26 | 05548436221bb7a658a3f7bd2cc0bb67d77ce01559db6f8d3b2e67b10c3da87e 5163 ascension_0.11.4-1_source.buildinfo | 26 | 96654db9450b00f2901598dff94ef1b0a430b65e778ce67b3d7609bcb1a76737 5163 ascension_0.11.4-1_source.buildinfo |
27 | Files: | 27 | Files: |
28 | 158aeffcf835e70fb17f1bcd8017b1bb 846 python optional ascension_0.11.4-1.dsc | 28 | 96895bc3794d24afeb26b54d6d8ba2fd 846 python optional ascension_0.11.4-1.dsc |
29 | ee6e55480a7a42c78c373351f66616fc 10528 python optional ascension_0.11.4.orig.tar.gz | 29 | 737ce6949e7dee1aa3a3723908b36566 10655 python optional ascension_0.11.4.orig.tar.gz |
30 | 229f88add4ca34691eac2fbe3f3f9c17 1140 python optional ascension_0.11.4-1.debian.tar.xz | 30 | 821619cd497fda3df5428e25bddc7a87 1140 python optional ascension_0.11.4-1.debian.tar.xz |
31 | 878a09557bcf7eef1c28aa81ddf8f102 5163 python optional ascension_0.11.4-1_source.buildinfo | 31 | 3a89ec81f3ba3346382d243eac87e02e 5163 python optional ascension_0.11.4-1_source.buildinfo |
diff --git a/deb_dist/ascension_0.11.4.orig.tar.gz b/deb_dist/ascension_0.11.4.orig.tar.gz index a2707ef..985e6d7 100644 --- a/deb_dist/ascension_0.11.4.orig.tar.gz +++ b/deb_dist/ascension_0.11.4.orig.tar.gz | |||
Binary files differ | |||
diff --git a/deb_dist/ascension_0.11.5-1.debian.tar.xz b/deb_dist/ascension_0.11.5-1.debian.tar.xz new file mode 100644 index 0000000..9276907 --- /dev/null +++ b/deb_dist/ascension_0.11.5-1.debian.tar.xz | |||
Binary files differ | |||
diff --git a/deb_dist/ascension_0.11.5-1.dsc b/deb_dist/ascension_0.11.5-1.dsc new file mode 100644 index 0000000..62164fd --- /dev/null +++ b/deb_dist/ascension_0.11.5-1.dsc | |||
@@ -0,0 +1,19 @@ | |||
1 | Format: 3.0 (quilt) | ||
2 | Source: ascension | ||
3 | Binary: python3-ascension | ||
4 | Architecture: all | ||
5 | Version: 0.11.5-1 | ||
6 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
7 | Standards-Version: 3.9.1 | ||
8 | Build-Depends: python3-setuptools, python3-all, debhelper (>= 7.4.3) | ||
9 | Package-List: | ||
10 | python3-ascension deb python optional arch=all | ||
11 | Checksums-Sha1: | ||
12 | 021defc94aa480b0815a4efaec31daf5a2e2bf88 10652 ascension_0.11.5.orig.tar.gz | ||
13 | 8516a239f65b3e864e891daab9cf62cc7bd909c1 1888 ascension_0.11.5-1.debian.tar.xz | ||
14 | Checksums-Sha256: | ||
15 | 26ee8a1845b01c92a969bec2ee461f10918873e31018a275bba05b3c40b3821c 10652 ascension_0.11.5.orig.tar.gz | ||
16 | bbff145e8e3cfd690e39019118337a95939ead0e3c086b046e02677564920c4c 1888 ascension_0.11.5-1.debian.tar.xz | ||
17 | Files: | ||
18 | f554e7e84f19fbaafd2219b6be7f6433 10652 ascension_0.11.5.orig.tar.gz | ||
19 | b657097bc52cf563b551ef8ad95268db 1888 ascension_0.11.5-1.debian.tar.xz | ||
diff --git a/deb_dist/ascension_0.11.5-1_amd64.buildinfo b/deb_dist/ascension_0.11.5-1_amd64.buildinfo new file mode 100644 index 0000000..e42d683 --- /dev/null +++ b/deb_dist/ascension_0.11.5-1_amd64.buildinfo | |||
@@ -0,0 +1,180 @@ | |||
1 | Format: 1.0 | ||
2 | Source: ascension | ||
3 | Binary: python3-ascension | ||
4 | Architecture: all source | ||
5 | Version: 0.11.5-1 | ||
6 | Checksums-Md5: | ||
7 | 68f13e9a3b13c5fc36242dba5e8d6051 846 ascension_0.11.5-1.dsc | ||
8 | d68fbb25fb1b9fe79ee4d52ea74ae43b 12074 python3-ascension_0.11.5-1_all.deb | ||
9 | Checksums-Sha1: | ||
10 | 9f96b287c99e40f51a6737b82bde2a3bc596a87f 846 ascension_0.11.5-1.dsc | ||
11 | 9a0ff5db319f61d51b4075c9d53d6ac466139745 12074 python3-ascension_0.11.5-1_all.deb | ||
12 | Checksums-Sha256: | ||
13 | b85227d3ea578a1b43599a1c7c9c69ddc0a11961490cf990e12f57cb31c88eff 846 ascension_0.11.5-1.dsc | ||
14 | aa3a21e1a98299df739c239348a51e4c523945edab968b2980f2c102ab882da1 12074 python3-ascension_0.11.5-1_all.deb | ||
15 | Build-Origin: Debian | ||
16 | Build-Architecture: amd64 | ||
17 | Build-Date: Sat, 01 Jun 2019 09:41:59 +0000 | ||
18 | Installed-Build-Depends: | ||
19 | autoconf (= 2.69-10), | ||
20 | automake (= 1:1.15-6), | ||
21 | autopoint (= 0.19.8.1-2), | ||
22 | autotools-dev (= 20161112.1), | ||
23 | base-files (= 9.9+deb9u4), | ||
24 | base-passwd (= 3.5.43), | ||
25 | bash (= 4.4-5), | ||
26 | binutils (= 2.28-5), | ||
27 | bsdmainutils (= 9.0.12+nmu1), | ||
28 | bsdutils (= 1:2.29.2-1+deb9u1), | ||
29 | build-essential (= 12.3), | ||
30 | bzip2 (= 1.0.6-8.1), | ||
31 | coreutils (= 8.26-3), | ||
32 | cpp (= 4:6.3.0-4), | ||
33 | cpp-6 (= 6.3.0-18+deb9u1), | ||
34 | dash (= 0.5.8-2.4), | ||
35 | debconf (= 1.5.61), | ||
36 | debhelper (= 12.1.1~bpo9+1), | ||
37 | debianutils (= 4.8.1.1), | ||
38 | dh-autoreconf (= 17~bpo9+1), | ||
39 | dh-python (= 2.20170125), | ||
40 | dh-strip-nondeterminism (= 0.034-1), | ||
41 | diffutils (= 1:3.5-3), | ||
42 | dpkg (= 1.18.24), | ||
43 | dpkg-dev (= 1.18.25), | ||
44 | dwz (= 0.12-1+b1), | ||
45 | e2fslibs (= 1.43.4-2), | ||
46 | e2fsprogs (= 1.43.4-2), | ||
47 | file (= 1:5.30-1+deb9u2), | ||
48 | findutils (= 4.6.0+git+20161106-2), | ||
49 | g++ (= 4:6.3.0-4), | ||
50 | g++-6 (= 6.3.0-18+deb9u1), | ||
51 | gcc (= 4:6.3.0-4), | ||
52 | gcc-6 (= 6.3.0-18+deb9u1), | ||
53 | gcc-6-base (= 6.3.0-18+deb9u1), | ||
54 | gettext (= 0.19.8.1-2), | ||
55 | gettext-base (= 0.19.8.1-2), | ||
56 | grep (= 2.27-2), | ||
57 | groff-base (= 1.22.3-9), | ||
58 | gzip (= 1.6-5+b1), | ||
59 | hostname (= 3.18+b1), | ||
60 | init-system-helpers (= 1.48), | ||
61 | intltool-debian (= 0.35.0+20060710.4), | ||
62 | libacl1 (= 2.2.52-3+b1), | ||
63 | libarchive-zip-perl (= 1.59-1+deb9u1), | ||
64 | libasan3 (= 6.3.0-18+deb9u1), | ||
65 | libatomic1 (= 6.3.0-18+deb9u1), | ||
66 | libattr1 (= 1:2.4.47-2+b2), | ||
67 | libaudit-common (= 1:2.6.7-2), | ||
68 | libaudit1 (= 1:2.6.7-2), | ||
69 | libblkid1 (= 2.29.2-1+deb9u1), | ||
70 | libbsd0 (= 0.8.3-1), | ||
71 | libbz2-1.0 (= 1.0.6-8.1), | ||
72 | libc-bin (= 2.24-11+deb9u3), | ||
73 | libc-dev-bin (= 2.24-11+deb9u4), | ||
74 | libc6 (= 2.24-11+deb9u4), | ||
75 | libc6-dev (= 2.24-11+deb9u4), | ||
76 | libcap-ng0 (= 0.7.7-3+b1), | ||
77 | libcc1-0 (= 6.3.0-18+deb9u1), | ||
78 | libcilkrts5 (= 6.3.0-18+deb9u1), | ||
79 | libcomerr2 (= 1.43.4-2), | ||
80 | libcroco3 (= 0.6.11-3), | ||
81 | libdb5.3 (= 5.3.28-12+deb9u1), | ||
82 | libdebconfclient0 (= 0.227), | ||
83 | libdpkg-perl (= 1.18.25), | ||
84 | libelf1 (= 0.168-1), | ||
85 | libexpat1 (= 2.2.0-2+deb9u1), | ||
86 | libfdisk1 (= 2.29.2-1+deb9u1), | ||
87 | libffi6 (= 3.2.1-6), | ||
88 | libfile-stripnondeterminism-perl (= 0.034-1), | ||
89 | libgcc-6-dev (= 6.3.0-18+deb9u1), | ||
90 | libgcc1 (= 1:6.3.0-18+deb9u1), | ||
91 | libgcrypt20 (= 1.7.6-2+deb9u3), | ||
92 | libgdbm3 (= 1.8.3-14), | ||
93 | libglib2.0-0 (= 2.50.3-2), | ||
94 | libgmp10 (= 2:6.1.2+dfsg-1), | ||
95 | libgomp1 (= 6.3.0-18+deb9u1), | ||
96 | libgpg-error0 (= 1.35-1~bpo9+1), | ||
97 | libicu57 (= 57.1-6+deb9u2), | ||
98 | libisl15 (= 0.18-1), | ||
99 | libitm1 (= 6.3.0-18+deb9u1), | ||
100 | liblsan0 (= 6.3.0-18+deb9u1), | ||
101 | liblz4-1 (= 0.0~r131-2+b1), | ||
102 | liblzma5 (= 5.2.2-1.2+b1), | ||
103 | libmagic-mgc (= 1:5.30-1+deb9u2), | ||
104 | libmagic1 (= 1:5.30-1+deb9u2), | ||
105 | libmount1 (= 2.29.2-1+deb9u1), | ||
106 | libmpc3 (= 1.0.3-1+b2), | ||
107 | libmpdec2 (= 2.4.2-1), | ||
108 | libmpfr4 (= 3.1.5-1), | ||
109 | libmpx2 (= 6.3.0-18+deb9u1), | ||
110 | libncurses5 (= 6.0+20161126-1+deb9u2), | ||
111 | libncursesw5 (= 6.0+20161126-1+deb9u2), | ||
112 | libpam-modules (= 1.1.8-3.6), | ||
113 | libpam-modules-bin (= 1.1.8-3.6), | ||
114 | libpam-runtime (= 1.1.8-3.6), | ||
115 | libpam0g (= 1.1.8-3.6), | ||
116 | libpcre3 (= 2:8.39-3), | ||
117 | libperl5.24 (= 5.24.1-3+deb9u5), | ||
118 | libpipeline1 (= 1.4.1-2), | ||
119 | libpython3-stdlib (= 3.5.3-1), | ||
120 | libpython3.5-minimal (= 3.5.3-1+deb9u1), | ||
121 | libpython3.5-stdlib (= 3.5.3-1+deb9u1), | ||
122 | libquadmath0 (= 6.3.0-18+deb9u1), | ||
123 | libreadline7 (= 7.0-3), | ||
124 | libselinux1 (= 2.6-3+b3), | ||
125 | libsemanage-common (= 2.6-2), | ||
126 | libsemanage1 (= 2.6-2), | ||
127 | libsepol1 (= 2.6-2), | ||
128 | libsigsegv2 (= 2.10-5), | ||
129 | libsmartcols1 (= 2.29.2-1+deb9u1), | ||
130 | libsqlite3-0 (= 3.27.2-2~bpo9+1), | ||
131 | libss2 (= 1.43.4-2), | ||
132 | libssl1.1 (= 1.1.0f-3+deb9u1), | ||
133 | libstdc++-6-dev (= 6.3.0-18+deb9u1), | ||
134 | libstdc++6 (= 6.3.0-18+deb9u1), | ||
135 | libsystemd0 (= 237-3~bpo9+1), | ||
136 | libtimedate-perl (= 2.3000-2), | ||
137 | libtinfo5 (= 6.0+20161126-1+deb9u2), | ||
138 | libtool (= 2.4.6-2), | ||
139 | libtsan0 (= 6.3.0-18+deb9u1), | ||
140 | libubsan0 (= 6.3.0-18+deb9u1), | ||
141 | libudev1 (= 237-3~bpo9+1), | ||
142 | libunistring0 (= 0.9.6+really0.9.3-0.1), | ||
143 | libustr-1.0-1 (= 1.0.4-6), | ||
144 | libuuid1 (= 2.29.2-1+deb9u1), | ||
145 | libxml2 (= 2.9.4+dfsg1-2.2+deb9u2), | ||
146 | linux-libc-dev (= 4.19.28-2~bpo9+1), | ||
147 | login (= 1:4.4-4.1), | ||
148 | m4 (= 1.4.18-1), | ||
149 | make (= 4.1-9.1), | ||
150 | man-db (= 2.7.6.1-2), | ||
151 | mawk (= 1.3.3-17+b3), | ||
152 | mime-support (= 3.60), | ||
153 | mount (= 2.29.2-1+deb9u1), | ||
154 | multiarch-support (= 2.24-11+deb9u3), | ||
155 | ncurses-base (= 6.0+20161126-1+deb9u2), | ||
156 | ncurses-bin (= 6.0+20161126-1+deb9u2), | ||
157 | passwd (= 1:4.4-4.1), | ||
158 | patch (= 2.7.5-1+b2), | ||
159 | perl (= 5.24.1-3+deb9u5), | ||
160 | perl-base (= 5.24.1-3+deb9u5), | ||
161 | perl-modules-5.24 (= 5.24.1-3+deb9u5), | ||
162 | po-debconf (= 1.0.20), | ||
163 | python3 (= 3.5.3-1), | ||
164 | python3-all (= 3.5.3-1), | ||
165 | python3-minimal (= 3.5.3-1), | ||
166 | python3-pkg-resources (= 33.1.1-1), | ||
167 | python3-setuptools (= 33.1.1-1), | ||
168 | python3.5 (= 3.5.3-1+deb9u1), | ||
169 | python3.5-minimal (= 3.5.3-1+deb9u1), | ||
170 | readline-common (= 7.0-3), | ||
171 | sed (= 4.4-1), | ||
172 | sensible-utils (= 0.0.9+deb9u1), | ||
173 | sysvinit-utils (= 2.88dsf-59.9), | ||
174 | tar (= 1.29b-1.1), | ||
175 | util-linux (= 2.29.2-1+deb9u1), | ||
176 | xz-utils (= 5.2.2-1.2+b1), | ||
177 | zlib1g (= 1:1.2.8.dfsg-5) | ||
178 | Environment: | ||
179 | DEB_BUILD_OPTIONS="parallel=2" | ||
180 | SOURCE_DATE_EPOCH="1559381978" | ||
diff --git a/deb_dist/ascension_0.11.5-1_amd64.changes b/deb_dist/ascension_0.11.5-1_amd64.changes new file mode 100644 index 0000000..a6ac0f7 --- /dev/null +++ b/deb_dist/ascension_0.11.5-1_amd64.changes | |||
@@ -0,0 +1,34 @@ | |||
1 | Format: 1.8 | ||
2 | Date: Sat, 01 Jun 2019 09:39:38 +0000 | ||
3 | Source: ascension | ||
4 | Binary: python3-ascension | ||
5 | Architecture: source all | ||
6 | Version: 0.11.5-1 | ||
7 | Distribution: unstable | ||
8 | Urgency: low | ||
9 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
10 | Changed-By: rexxnor <rexxnor+gnunet@brief.li> | ||
11 | Description: | ||
12 | python3-ascension - Tool to migrate DNS Zones to the GNU Name System | ||
13 | Changes: | ||
14 | ascension (0.11.5-1) unstable; urgency=low | ||
15 | . | ||
16 | * source package automatically created by stdeb 0.8.5 | ||
17 | Checksums-Sha1: | ||
18 | 9f96b287c99e40f51a6737b82bde2a3bc596a87f 846 ascension_0.11.5-1.dsc | ||
19 | 021defc94aa480b0815a4efaec31daf5a2e2bf88 10652 ascension_0.11.5.orig.tar.gz | ||
20 | 8516a239f65b3e864e891daab9cf62cc7bd909c1 1888 ascension_0.11.5-1.debian.tar.xz | ||
21 | 412ec7cf541bbb761997d98122aa08c40b4cc530 5432 ascension_0.11.5-1_amd64.buildinfo | ||
22 | 9a0ff5db319f61d51b4075c9d53d6ac466139745 12074 python3-ascension_0.11.5-1_all.deb | ||
23 | Checksums-Sha256: | ||
24 | b85227d3ea578a1b43599a1c7c9c69ddc0a11961490cf990e12f57cb31c88eff 846 ascension_0.11.5-1.dsc | ||
25 | 26ee8a1845b01c92a969bec2ee461f10918873e31018a275bba05b3c40b3821c 10652 ascension_0.11.5.orig.tar.gz | ||
26 | bbff145e8e3cfd690e39019118337a95939ead0e3c086b046e02677564920c4c 1888 ascension_0.11.5-1.debian.tar.xz | ||
27 | 3d72561a355f8238bfa0cea4022e01a0ee733be8bce35449bd86151ed7dd7abb 5432 ascension_0.11.5-1_amd64.buildinfo | ||
28 | aa3a21e1a98299df739c239348a51e4c523945edab968b2980f2c102ab882da1 12074 python3-ascension_0.11.5-1_all.deb | ||
29 | Files: | ||
30 | 68f13e9a3b13c5fc36242dba5e8d6051 846 python optional ascension_0.11.5-1.dsc | ||
31 | f554e7e84f19fbaafd2219b6be7f6433 10652 python optional ascension_0.11.5.orig.tar.gz | ||
32 | b657097bc52cf563b551ef8ad95268db 1888 python optional ascension_0.11.5-1.debian.tar.xz | ||
33 | ccfbcb90eaff8ba47441ca1ae93d8f93 5432 python optional ascension_0.11.5-1_amd64.buildinfo | ||
34 | d68fbb25fb1b9fe79ee4d52ea74ae43b 12074 python optional python3-ascension_0.11.5-1_all.deb | ||
diff --git a/deb_dist/ascension_0.11.5-1_source.buildinfo b/deb_dist/ascension_0.11.5-1_source.buildinfo new file mode 100644 index 0000000..2813579 --- /dev/null +++ b/deb_dist/ascension_0.11.5-1_source.buildinfo | |||
@@ -0,0 +1,177 @@ | |||
1 | Format: 1.0 | ||
2 | Source: ascension | ||
3 | Binary: python3-ascension | ||
4 | Architecture: source | ||
5 | Version: 0.11.5-1 | ||
6 | Checksums-Md5: | ||
7 | 803e035cea76e62c6911144b190032c1 846 ascension_0.11.5-1.dsc | ||
8 | Checksums-Sha1: | ||
9 | d53c013e5c3a414be1f45712d1353201213ca10d 846 ascension_0.11.5-1.dsc | ||
10 | Checksums-Sha256: | ||
11 | ab0dd8664be9eaf2b4e0cc41ac07079621a812783f0619acec0af742cceffcae 846 ascension_0.11.5-1.dsc | ||
12 | Build-Origin: Debian | ||
13 | Build-Architecture: amd64 | ||
14 | Build-Date: Sat, 01 Jun 2019 09:39:43 +0000 | ||
15 | Installed-Build-Depends: | ||
16 | autoconf (= 2.69-10), | ||
17 | automake (= 1:1.15-6), | ||
18 | autopoint (= 0.19.8.1-2), | ||
19 | autotools-dev (= 20161112.1), | ||
20 | base-files (= 9.9+deb9u4), | ||
21 | base-passwd (= 3.5.43), | ||
22 | bash (= 4.4-5), | ||
23 | binutils (= 2.28-5), | ||
24 | bsdmainutils (= 9.0.12+nmu1), | ||
25 | bsdutils (= 1:2.29.2-1+deb9u1), | ||
26 | build-essential (= 12.3), | ||
27 | bzip2 (= 1.0.6-8.1), | ||
28 | coreutils (= 8.26-3), | ||
29 | cpp (= 4:6.3.0-4), | ||
30 | cpp-6 (= 6.3.0-18+deb9u1), | ||
31 | dash (= 0.5.8-2.4), | ||
32 | debconf (= 1.5.61), | ||
33 | debhelper (= 12.1.1~bpo9+1), | ||
34 | debianutils (= 4.8.1.1), | ||
35 | dh-autoreconf (= 17~bpo9+1), | ||
36 | dh-python (= 2.20170125), | ||
37 | dh-strip-nondeterminism (= 0.034-1), | ||
38 | diffutils (= 1:3.5-3), | ||
39 | dpkg (= 1.18.24), | ||
40 | dpkg-dev (= 1.18.25), | ||
41 | dwz (= 0.12-1+b1), | ||
42 | e2fslibs (= 1.43.4-2), | ||
43 | e2fsprogs (= 1.43.4-2), | ||
44 | file (= 1:5.30-1+deb9u2), | ||
45 | findutils (= 4.6.0+git+20161106-2), | ||
46 | g++ (= 4:6.3.0-4), | ||
47 | g++-6 (= 6.3.0-18+deb9u1), | ||
48 | gcc (= 4:6.3.0-4), | ||
49 | gcc-6 (= 6.3.0-18+deb9u1), | ||
50 | gcc-6-base (= 6.3.0-18+deb9u1), | ||
51 | gettext (= 0.19.8.1-2), | ||
52 | gettext-base (= 0.19.8.1-2), | ||
53 | grep (= 2.27-2), | ||
54 | groff-base (= 1.22.3-9), | ||
55 | gzip (= 1.6-5+b1), | ||
56 | hostname (= 3.18+b1), | ||
57 | init-system-helpers (= 1.48), | ||
58 | intltool-debian (= 0.35.0+20060710.4), | ||
59 | libacl1 (= 2.2.52-3+b1), | ||
60 | libarchive-zip-perl (= 1.59-1+deb9u1), | ||
61 | libasan3 (= 6.3.0-18+deb9u1), | ||
62 | libatomic1 (= 6.3.0-18+deb9u1), | ||
63 | libattr1 (= 1:2.4.47-2+b2), | ||
64 | libaudit-common (= 1:2.6.7-2), | ||
65 | libaudit1 (= 1:2.6.7-2), | ||
66 | libblkid1 (= 2.29.2-1+deb9u1), | ||
67 | libbsd0 (= 0.8.3-1), | ||
68 | libbz2-1.0 (= 1.0.6-8.1), | ||
69 | libc-bin (= 2.24-11+deb9u3), | ||
70 | libc-dev-bin (= 2.24-11+deb9u4), | ||
71 | libc6 (= 2.24-11+deb9u4), | ||
72 | libc6-dev (= 2.24-11+deb9u4), | ||
73 | libcap-ng0 (= 0.7.7-3+b1), | ||
74 | libcc1-0 (= 6.3.0-18+deb9u1), | ||
75 | libcilkrts5 (= 6.3.0-18+deb9u1), | ||
76 | libcomerr2 (= 1.43.4-2), | ||
77 | libcroco3 (= 0.6.11-3), | ||
78 | libdb5.3 (= 5.3.28-12+deb9u1), | ||
79 | libdebconfclient0 (= 0.227), | ||
80 | libdpkg-perl (= 1.18.25), | ||
81 | libelf1 (= 0.168-1), | ||
82 | libexpat1 (= 2.2.0-2+deb9u1), | ||
83 | libfdisk1 (= 2.29.2-1+deb9u1), | ||
84 | libffi6 (= 3.2.1-6), | ||
85 | libfile-stripnondeterminism-perl (= 0.034-1), | ||
86 | libgcc-6-dev (= 6.3.0-18+deb9u1), | ||
87 | libgcc1 (= 1:6.3.0-18+deb9u1), | ||
88 | libgcrypt20 (= 1.7.6-2+deb9u3), | ||
89 | libgdbm3 (= 1.8.3-14), | ||
90 | libglib2.0-0 (= 2.50.3-2), | ||
91 | libgmp10 (= 2:6.1.2+dfsg-1), | ||
92 | libgomp1 (= 6.3.0-18+deb9u1), | ||
93 | libgpg-error0 (= 1.35-1~bpo9+1), | ||
94 | libicu57 (= 57.1-6+deb9u2), | ||
95 | libisl15 (= 0.18-1), | ||
96 | libitm1 (= 6.3.0-18+deb9u1), | ||
97 | liblsan0 (= 6.3.0-18+deb9u1), | ||
98 | liblz4-1 (= 0.0~r131-2+b1), | ||
99 | liblzma5 (= 5.2.2-1.2+b1), | ||
100 | libmagic-mgc (= 1:5.30-1+deb9u2), | ||
101 | libmagic1 (= 1:5.30-1+deb9u2), | ||
102 | libmount1 (= 2.29.2-1+deb9u1), | ||
103 | libmpc3 (= 1.0.3-1+b2), | ||
104 | libmpdec2 (= 2.4.2-1), | ||
105 | libmpfr4 (= 3.1.5-1), | ||
106 | libmpx2 (= 6.3.0-18+deb9u1), | ||
107 | libncurses5 (= 6.0+20161126-1+deb9u2), | ||
108 | libncursesw5 (= 6.0+20161126-1+deb9u2), | ||
109 | libpam-modules (= 1.1.8-3.6), | ||
110 | libpam-modules-bin (= 1.1.8-3.6), | ||
111 | libpam-runtime (= 1.1.8-3.6), | ||
112 | libpam0g (= 1.1.8-3.6), | ||
113 | libpcre3 (= 2:8.39-3), | ||
114 | libperl5.24 (= 5.24.1-3+deb9u5), | ||
115 | libpipeline1 (= 1.4.1-2), | ||
116 | libpython3-stdlib (= 3.5.3-1), | ||
117 | libpython3.5-minimal (= 3.5.3-1+deb9u1), | ||
118 | libpython3.5-stdlib (= 3.5.3-1+deb9u1), | ||
119 | libquadmath0 (= 6.3.0-18+deb9u1), | ||
120 | libreadline7 (= 7.0-3), | ||
121 | libselinux1 (= 2.6-3+b3), | ||
122 | libsemanage-common (= 2.6-2), | ||
123 | libsemanage1 (= 2.6-2), | ||
124 | libsepol1 (= 2.6-2), | ||
125 | libsigsegv2 (= 2.10-5), | ||
126 | libsmartcols1 (= 2.29.2-1+deb9u1), | ||
127 | libsqlite3-0 (= 3.27.2-2~bpo9+1), | ||
128 | libss2 (= 1.43.4-2), | ||
129 | libssl1.1 (= 1.1.0f-3+deb9u1), | ||
130 | libstdc++-6-dev (= 6.3.0-18+deb9u1), | ||
131 | libstdc++6 (= 6.3.0-18+deb9u1), | ||
132 | libsystemd0 (= 237-3~bpo9+1), | ||
133 | libtimedate-perl (= 2.3000-2), | ||
134 | libtinfo5 (= 6.0+20161126-1+deb9u2), | ||
135 | libtool (= 2.4.6-2), | ||
136 | libtsan0 (= 6.3.0-18+deb9u1), | ||
137 | libubsan0 (= 6.3.0-18+deb9u1), | ||
138 | libudev1 (= 237-3~bpo9+1), | ||
139 | libunistring0 (= 0.9.6+really0.9.3-0.1), | ||
140 | libustr-1.0-1 (= 1.0.4-6), | ||
141 | libuuid1 (= 2.29.2-1+deb9u1), | ||
142 | libxml2 (= 2.9.4+dfsg1-2.2+deb9u2), | ||
143 | linux-libc-dev (= 4.19.28-2~bpo9+1), | ||
144 | login (= 1:4.4-4.1), | ||
145 | m4 (= 1.4.18-1), | ||
146 | make (= 4.1-9.1), | ||
147 | man-db (= 2.7.6.1-2), | ||
148 | mawk (= 1.3.3-17+b3), | ||
149 | mime-support (= 3.60), | ||
150 | mount (= 2.29.2-1+deb9u1), | ||
151 | multiarch-support (= 2.24-11+deb9u3), | ||
152 | ncurses-base (= 6.0+20161126-1+deb9u2), | ||
153 | ncurses-bin (= 6.0+20161126-1+deb9u2), | ||
154 | passwd (= 1:4.4-4.1), | ||
155 | patch (= 2.7.5-1+b2), | ||
156 | perl (= 5.24.1-3+deb9u5), | ||
157 | perl-base (= 5.24.1-3+deb9u5), | ||
158 | perl-modules-5.24 (= 5.24.1-3+deb9u5), | ||
159 | po-debconf (= 1.0.20), | ||
160 | python3 (= 3.5.3-1), | ||
161 | python3-all (= 3.5.3-1), | ||
162 | python3-minimal (= 3.5.3-1), | ||
163 | python3-pkg-resources (= 33.1.1-1), | ||
164 | python3-setuptools (= 33.1.1-1), | ||
165 | python3.5 (= 3.5.3-1+deb9u1), | ||
166 | python3.5-minimal (= 3.5.3-1+deb9u1), | ||
167 | readline-common (= 7.0-3), | ||
168 | sed (= 4.4-1), | ||
169 | sensible-utils (= 0.0.9+deb9u1), | ||
170 | sysvinit-utils (= 2.88dsf-59.9), | ||
171 | tar (= 1.29b-1.1), | ||
172 | util-linux (= 2.29.2-1+deb9u1), | ||
173 | xz-utils (= 5.2.2-1.2+b1), | ||
174 | zlib1g (= 1:1.2.8.dfsg-5) | ||
175 | Environment: | ||
176 | DEB_BUILD_OPTIONS="parallel=2" | ||
177 | SOURCE_DATE_EPOCH="1559381978" | ||
diff --git a/deb_dist/ascension_0.11.5-1_source.changes b/deb_dist/ascension_0.11.5-1_source.changes new file mode 100644 index 0000000..f99d74c --- /dev/null +++ b/deb_dist/ascension_0.11.5-1_source.changes | |||
@@ -0,0 +1,31 @@ | |||
1 | Format: 1.8 | ||
2 | Date: Sat, 01 Jun 2019 09:39:38 +0000 | ||
3 | Source: ascension | ||
4 | Binary: python3-ascension | ||
5 | Architecture: source | ||
6 | Version: 0.11.5-1 | ||
7 | Distribution: unstable | ||
8 | Urgency: low | ||
9 | Maintainer: rexxnor <rexxnor+gnunet@brief.li> | ||
10 | Changed-By: rexxnor <rexxnor+gnunet@brief.li> | ||
11 | Description: | ||
12 | python3-ascension - Tool to migrate DNS Zones to the GNU Name System | ||
13 | Changes: | ||
14 | ascension (0.11.5-1) unstable; urgency=low | ||
15 | . | ||
16 | * source package automatically created by stdeb 0.8.5 | ||
17 | Checksums-Sha1: | ||
18 | d53c013e5c3a414be1f45712d1353201213ca10d 846 ascension_0.11.5-1.dsc | ||
19 | 021defc94aa480b0815a4efaec31daf5a2e2bf88 10652 ascension_0.11.5.orig.tar.gz | ||
20 | 98e3576c8f5b285643e844fa2a9371eaba196449 1136 ascension_0.11.5-1.debian.tar.xz | ||
21 | 6d6be63ecc77a8549cb7ecd9df2a78a30734a468 5163 ascension_0.11.5-1_source.buildinfo | ||
22 | Checksums-Sha256: | ||
23 | ab0dd8664be9eaf2b4e0cc41ac07079621a812783f0619acec0af742cceffcae 846 ascension_0.11.5-1.dsc | ||
24 | 26ee8a1845b01c92a969bec2ee461f10918873e31018a275bba05b3c40b3821c 10652 ascension_0.11.5.orig.tar.gz | ||
25 | 04116d1979c56a7507db221c00d267cbe8aa8401aabde3a34f2e2089f3c155a5 1136 ascension_0.11.5-1.debian.tar.xz | ||
26 | 7e548325e2513e58092414200e41a30d4af38a00cd69ef313065f3b6dabd1d32 5163 ascension_0.11.5-1_source.buildinfo | ||
27 | Files: | ||
28 | 803e035cea76e62c6911144b190032c1 846 python optional ascension_0.11.5-1.dsc | ||
29 | f554e7e84f19fbaafd2219b6be7f6433 10652 python optional ascension_0.11.5.orig.tar.gz | ||
30 | d10dc50ef0e5a2c8a66f02827630eea7 1136 python optional ascension_0.11.5-1.debian.tar.xz | ||
31 | cf8584d6aa1ef4d6fe6b645f47b45550 5163 python optional ascension_0.11.5-1_source.buildinfo | ||
diff --git a/deb_dist/ascension_0.11.5.orig.tar.gz b/deb_dist/ascension_0.11.5.orig.tar.gz new file mode 100644 index 0000000..24e6093 --- /dev/null +++ b/deb_dist/ascension_0.11.5.orig.tar.gz | |||
Binary files differ | |||
diff --git a/deb_dist/python3-ascension_0.11.4-1_all.deb b/deb_dist/python3-ascension_0.11.4-1_all.deb index d8f47f3..5748c47 100644 --- a/deb_dist/python3-ascension_0.11.4-1_all.deb +++ b/deb_dist/python3-ascension_0.11.4-1_all.deb | |||
Binary files differ | |||
diff --git a/deb_dist/python3-ascension_0.11.5-1_all.deb b/deb_dist/python3-ascension_0.11.5-1_all.deb new file mode 100644 index 0000000..73cf6d4 --- /dev/null +++ b/deb_dist/python3-ascension_0.11.5-1_all.deb | |||
Binary files differ | |||