]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
libloc: Import more changes from upstream
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 19 Nov 2020 13:08:22 +0000 (13:08 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 19 Nov 2020 13:08:22 +0000 (13:08 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/patches/libloc-0.9.4-upstream.patch

index 28d569d93d2b64bc15021cd258b6e50bb1e6bff5..308bdd25659e5e660f145df257877244ac49a00f 100644 (file)
@@ -1,7 +1,7 @@
 From ee6ea3986dc80183157f67275dc9f28231b5d5b2 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 24 Sep 2020 10:17:58 +0000
 From ee6ea3986dc80183157f67275dc9f28231b5d5b2 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 24 Sep 2020 10:17:58 +0000
-Subject: [PATCH 01/70] Revert "importer: Purge any redundant entries"
+Subject: [PATCH 01/77] Revert "importer: Purge any redundant entries"
 
 This reverts commit c2cc55d5a6875c3838f060032eaed89dcfb92ef6.
 
 
 This reverts commit c2cc55d5a6875c3838f060032eaed89dcfb92ef6.
 
@@ -53,7 +53,7 @@ index 1467923..e3a07a0 100644
 From 92f6abf4e272672bb0a71cfe991261b95ebe2fef Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 24 Sep 2020 10:18:58 +0000
 From 92f6abf4e272672bb0a71cfe991261b95ebe2fef Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 24 Sep 2020 10:18:58 +0000
-Subject: [PATCH 02/70] Revert "importer: Import raw sources for inetnum's
+Subject: [PATCH 02/77] Revert "importer: Import raw sources for inetnum's
  again"
 
 This reverts commit 64e95fa903edec8b4e4e59830b395e2e4a411853.
  again"
 
 This reverts commit 64e95fa903edec8b4e4e59830b395e2e4a411853.
@@ -199,7 +199,7 @@ index e3a07a0..77952f2 100644
 From f532841e9197ce2f40aad8c086d786b2cb783a54 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Mon, 12 Oct 2020 20:53:31 +0000
 From f532841e9197ce2f40aad8c086d786b2cb783a54 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Mon, 12 Oct 2020 20:53:31 +0000
-Subject: [PATCH 03/70] Revert "Revert "importer: Import raw sources for
+Subject: [PATCH 03/77] Revert "Revert "importer: Import raw sources for
  inetnum's again""
 
 This reverts commit 92f6abf4e272672bb0a71cfe991261b95ebe2fef.
  inetnum's again""
 
 This reverts commit 92f6abf4e272672bb0a71cfe991261b95ebe2fef.
@@ -345,7 +345,7 @@ index 77952f2..e3a07a0 100644
 From a36bc686865fc87ea386fd90b389338bdcb80cbc Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Mon, 12 Oct 2020 20:53:32 +0000
 From a36bc686865fc87ea386fd90b389338bdcb80cbc Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Mon, 12 Oct 2020 20:53:32 +0000
-Subject: [PATCH 04/70] location-importer.in: only import relevant data from
+Subject: [PATCH 04/77] location-importer.in: only import relevant data from
  AFRINIC, APNIC and RIPE
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  AFRINIC, APNIC and RIPE
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -500,7 +500,7 @@ index e3a07a0..093f325 100644
 From 2373de384f10f5573bbd7570f5522545df70c0e3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:24:58 +0000
 From 2373de384f10f5573bbd7570f5522545df70c0e3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:24:58 +0000
-Subject: [PATCH 05/70] location-importer: Include all overridden networks
+Subject: [PATCH 05/77] location-importer: Include all overridden networks
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -526,7 +526,7 @@ index 093f325..d249a35 100644
 From 13f67f285856e8eabfeff2daf1be3aeaa36a82cc Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:26:38 +0000
 From 13f67f285856e8eabfeff2daf1be3aeaa36a82cc Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:26:38 +0000
-Subject: [PATCH 06/70] Revert "location-importer.in: only import relevant data
+Subject: [PATCH 06/77] Revert "location-importer.in: only import relevant data
  from AFRINIC, APNIC and RIPE"
 
 This reverts commit a36bc686865fc87ea386fd90b389338bdcb80cbc.
  from AFRINIC, APNIC and RIPE"
 
 This reverts commit a36bc686865fc87ea386fd90b389338bdcb80cbc.
@@ -672,7 +672,7 @@ index d249a35..b220eaf 100644
 From 44341478233115b26bb27fdb24da5b0a1eedb173 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:26:43 +0000
 From 44341478233115b26bb27fdb24da5b0a1eedb173 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 16 Oct 2020 12:26:43 +0000
-Subject: [PATCH 07/70] Revert "Revert "Revert "importer: Import raw sources
+Subject: [PATCH 07/77] Revert "Revert "Revert "importer: Import raw sources
  for inetnum's again"""
 
 This reverts commit f532841e9197ce2f40aad8c086d786b2cb783a54.
  for inetnum's again"""
 
 This reverts commit f532841e9197ce2f40aad8c086d786b2cb783a54.
@@ -818,7 +818,7 @@ index b220eaf..e87d378 100644
 From a7d3a7a0565a0e09d3442e5829a0f30f016993b9 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 20 Oct 2020 20:44:43 +0000
 From a7d3a7a0565a0e09d3442e5829a0f30f016993b9 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 20 Oct 2020 20:44:43 +0000
-Subject: [PATCH 08/70] as: Fix dereferencing NULL pointer when setting AS name
+Subject: [PATCH 08/77] as: Fix dereferencing NULL pointer when setting AS name
 
 Reported-by: Gisle Vanem <gisle.vanem@gmail.com>
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 
 Reported-by: Gisle Vanem <gisle.vanem@gmail.com>
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -851,7 +851,7 @@ index e1fbb01..8421ac8 100644
 From ddb326ad38a7c7202315dd2c6f938313db04ee22 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:18:08 +0000
 From ddb326ad38a7c7202315dd2c6f938313db04ee22 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:18:08 +0000
-Subject: [PATCH 09/70] as: Do not attempt to match name when it wasn't set
+Subject: [PATCH 09/77] as: Do not attempt to match name when it wasn't set
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -879,7 +879,7 @@ index 8421ac8..757bf3d 100644
 From d226ad2d97cbcd42ce807d9308569b1b9c5d4e2f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:28:39 +0000
 From d226ad2d97cbcd42ce807d9308569b1b9c5d4e2f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:28:39 +0000
-Subject: [PATCH 10/70] writer: Free array with pointer to ASes, too
+Subject: [PATCH 10/77] writer: Free array with pointer to ASes, too
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -910,7 +910,7 @@ index 5939cff..160650f 100644
 From d89a7d62772048ae1bd18d03f69df46b7e1a3d3c Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:31:29 +0000
 From d89a7d62772048ae1bd18d03f69df46b7e1a3d3c Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 09:31:29 +0000
-Subject: [PATCH 11/70] writer: Free countries when the writer is being
+Subject: [PATCH 11/77] writer: Free countries when the writer is being
  destroyed
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
  destroyed
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -943,7 +943,7 @@ index 160650f..2f09b56 100644
 From 0f1aedbc68e3945770c93e0ebd83eed0f555d6f0 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:19:44 +0000
 From 0f1aedbc68e3945770c93e0ebd83eed0f555d6f0 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:19:44 +0000
-Subject: [PATCH 12/70] tests: Try adding an invalid network
+Subject: [PATCH 12/77] tests: Try adding an invalid network
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -975,7 +975,7 @@ index d38f13d..e908b57 100644
 From 13ad6e695f9ffc7847b3afe3e9cbcea8fb3a443f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:36:35 +0000
 From 13ad6e695f9ffc7847b3afe3e9cbcea8fb3a443f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:36:35 +0000
-Subject: [PATCH 13/70] networks: Improve parsing IP addresses
+Subject: [PATCH 13/77] networks: Improve parsing IP addresses
 
 loc_network_new_from_string() seem to have had some unexpected
 behaviour for invalid inputs.
 
 loc_network_new_from_string() seem to have had some unexpected
 behaviour for invalid inputs.
@@ -1092,7 +1092,7 @@ index e908b57..85eca00 100644
 From 6a467e9345bb5a3d37911c9aaac30019eaa4492b Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:43:21 +0000
 From 6a467e9345bb5a3d37911c9aaac30019eaa4492b Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:43:21 +0000
-Subject: [PATCH 14/70] networks: Test if we can add localhost (IPv6)
+Subject: [PATCH 14/77] networks: Test if we can add localhost (IPv6)
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -1123,7 +1123,7 @@ index 85eca00..8c7e898 100644
 From fc1190aa11e3ff3d2dbf5f4d408c298e7916f46f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:44:50 +0000
 From fc1190aa11e3ff3d2dbf5f4d408c298e7916f46f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:44:50 +0000
-Subject: [PATCH 15/70] networks: Remove accidentially committed debug line
+Subject: [PATCH 15/77] networks: Remove accidentially committed debug line
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -1149,7 +1149,7 @@ index c112a41..be88d75 100644
 From a1707d8983898b6878cdd5c68744bcc444e278ed Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:53:36 +0000
 From a1707d8983898b6878cdd5c68744bcc444e278ed Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:53:36 +0000
-Subject: [PATCH 16/70] importer: Add search index to announcements table
+Subject: [PATCH 16/77] importer: Add search index to announcements table
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -1174,7 +1174,7 @@ index e87d378..d0fe5a6 100644
 From 991baf530d47adb2ed7a15b65dc4565d07fa6d07 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:54:45 +0000
 From 991baf530d47adb2ed7a15b65dc4565d07fa6d07 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 13:54:45 +0000
-Subject: [PATCH 17/70] importer: Add search index to network_overrides table
+Subject: [PATCH 17/77] importer: Add search index to network_overrides table
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -1200,7 +1200,7 @@ index d0fe5a6..fe21d73 100644
 From bbea93a74651df10e2ffdbd09eb434dc6a0471bc Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 16:01:57 +0000
 From bbea93a74651df10e2ffdbd09eb434dc6a0471bc Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 21 Oct 2020 16:01:57 +0000
-Subject: [PATCH 18/70] importer: Restructure SQL query to be executed in
+Subject: [PATCH 18/77] importer: Restructure SQL query to be executed in
  parallel
 
 There are no functional changes, this just runs quicker now.
  parallel
 
 There are no functional changes, this just runs quicker now.
@@ -1343,7 +1343,7 @@ index fe21d73..3c1e5e2 100644
 From 26ab419b68d166f932db1f97c38cb9d793d04187 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 22 Oct 2020 12:24:34 +0000
 From 26ab419b68d166f932db1f97c38cb9d793d04187 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 22 Oct 2020 12:24:34 +0000
-Subject: [PATCH 19/70] network: Allow adding single IP addresses and
+Subject: [PATCH 19/77] network: Allow adding single IP addresses and
  automatically add the prefix
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
  automatically add the prefix
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -1431,7 +1431,7 @@ index 8c7e898..b6776b4 100644
 From aadac4c569e921be1d28dd3b2377ac7f3732213e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:36 +0000
 From aadac4c569e921be1d28dd3b2377ac7f3732213e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:36 +0000
-Subject: [PATCH 20/70] Revert "Revert "Revert "Revert "importer: Import raw
+Subject: [PATCH 20/77] Revert "Revert "Revert "Revert "importer: Import raw
  sources for inetnum's again""""
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  sources for inetnum's again""""
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -1581,7 +1581,7 @@ index 3c1e5e2..e8a4fc5 100644
 From 002deb6b42ac0b3624c07e3352cebd72dc0685a2 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:37 +0000
 From 002deb6b42ac0b3624c07e3352cebd72dc0685a2 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:37 +0000
-Subject: [PATCH 21/70] Revert "Revert "location-importer.in: only import
+Subject: [PATCH 21/77] Revert "Revert "location-importer.in: only import
  relevant data from AFRINIC, APNIC and RIPE""
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  relevant data from AFRINIC, APNIC and RIPE""
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -1731,7 +1731,7 @@ index e8a4fc5..5656c41 100644
 From 28c73fa3f4257e0a41e52af8a9643da414a6cb6f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:38 +0000
 From 28c73fa3f4257e0a41e52af8a9643da414a6cb6f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:38 +0000
-Subject: [PATCH 22/70] export.py: fix exporting IP networks for crappy
+Subject: [PATCH 22/77] export.py: fix exporting IP networks for crappy
  xt_geoip module
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  xt_geoip module
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -1910,7 +1910,7 @@ index d15c6f0..5eaf43f 100644
 From bd341642fc6bbcc050e9b4ec5124585c83cab84d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:39 +0000
 From bd341642fc6bbcc050e9b4ec5124585c83cab84d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:39 +0000
-Subject: [PATCH 23/70] location-importer.in: filter bogus IP networks for both
+Subject: [PATCH 23/77] location-importer.in: filter bogus IP networks for both
  Whois and extended sources
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  Whois and extended sources
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -2043,7 +2043,7 @@ index 5656c41..f24d357 100644
 From eee65490a10e0fe89b3834b8be176fc900084fa0 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:40 +0000
 From eee65490a10e0fe89b3834b8be176fc900084fa0 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:40 +0000
-Subject: [PATCH 24/70] importer.py: fetch LACNIC data via HTTPS
+Subject: [PATCH 24/77] importer.py: fetch LACNIC data via HTTPS
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -2073,7 +2073,7 @@ index f19db4b..5f46bc3 100644
 From 84187ab5436eb158529d6f5e2a38890b4af3ddb4 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:41 +0000
 From 84187ab5436eb158529d6f5e2a38890b4af3ddb4 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:41 +0000
-Subject: [PATCH 25/70] location-importer.in: omit historic/orphaned RIR data
+Subject: [PATCH 25/77] location-importer.in: omit historic/orphaned RIR data
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -2206,7 +2206,7 @@ index f24d357..a869256 100644
 From ebb087cfa30ec5ca0c96dcce66a91245c1ffc271 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:43 +0000
 From ebb087cfa30ec5ca0c96dcce66a91245c1ffc271 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Wed, 21 Oct 2020 14:47:43 +0000
-Subject: [PATCH 26/70] location-importer.in: avoid log spam for too small
+Subject: [PATCH 26/77] location-importer.in: avoid log spam for too small
  networks
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  networks
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -2246,7 +2246,7 @@ index a869256..864eab1 100644
 From bbed1fd2330e8efa6b413dc152a1a6ef2d771aac Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 27 Oct 2020 17:14:30 +0000
 From bbed1fd2330e8efa6b413dc152a1a6ef2d771aac Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 27 Oct 2020 17:14:30 +0000
-Subject: [PATCH 27/70] export: Flatten the tree before exporting it
+Subject: [PATCH 27/77] export: Flatten the tree before exporting it
 
 This patch removes the possibility that any IP address ranges
 might show up in multiple exported files.
 
 This patch removes the possibility that any IP address ranges
 might show up in multiple exported files.
@@ -2474,7 +2474,7 @@ index 5eaf43f..dd44332 100644
 From e99a72265c1ba2194b61663eda7e9f14e0083016 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 28 Oct 2020 09:52:36 +0000
 From e99a72265c1ba2194b61663eda7e9f14e0083016 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 28 Oct 2020 09:52:36 +0000
-Subject: [PATCH 28/70] location: Fix Python syntax error in verify()
+Subject: [PATCH 28/77] location: Fix Python syntax error in verify()
 
 The database is now being opened before the requested
 method is called and handle_verify() wasn't updated.
 
 The database is now being opened before the requested
 method is called and handle_verify() wasn't updated.
@@ -2509,7 +2509,7 @@ index 44ad726..b5e5758 100644
 From 0c74f6b1a3bdce5ebdc2ee452b9baf3e421dd3d1 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Thu, 29 Oct 2020 07:25:53 -0700
 From 0c74f6b1a3bdce5ebdc2ee452b9baf3e421dd3d1 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Thu, 29 Oct 2020 07:25:53 -0700
-Subject: [PATCH 29/70] location update: Remove double conversion of timestamps
+Subject: [PATCH 29/77] location update: Remove double conversion of timestamps
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -2545,7 +2545,7 @@ index b5e5758..070640c 100644
 From 60c1ac0307312614bd6980d30b44bb59b5a6ab6e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Thu, 29 Oct 2020 07:36:46 -0700
 From 60c1ac0307312614bd6980d30b44bb59b5a6ab6e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Thu, 29 Oct 2020 07:36:46 -0700
-Subject: [PATCH 30/70] location.in: do not confuse UTC with local time zones
+Subject: [PATCH 30/77] location.in: do not confuse UTC with local time zones
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -2593,7 +2593,7 @@ index 070640c..0d09210 100644
 From e7d612e5219ef9ba612ed404e4e2c174110d3dd7 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Tue, 3 Nov 2020 15:31:08 +0000
 From e7d612e5219ef9ba612ed404e4e2c174110d3dd7 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@ipfire.org>
 Date: Tue, 3 Nov 2020 15:31:08 +0000
-Subject: [PATCH 31/70] location-importer.in: always convert organisation
+Subject: [PATCH 31/77] location-importer.in: always convert organisation
  handles into upper cases
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
  handles into upper cases
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -2637,7 +2637,7 @@ index 864eab1..2dec89e 100644
 From e96704f43acca1a8f56d9a680cce281f5e587ec5 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 11 Nov 2020 21:16:45 +0000
 From e96704f43acca1a8f56d9a680cce281f5e587ec5 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 11 Nov 2020 21:16:45 +0000
-Subject: [PATCH 32/70] test: Add tests for database enumerator
+Subject: [PATCH 32/77] test: Add tests for database enumerator
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -2728,7 +2728,7 @@ index b4a75c4..4aef94e 100644
 From ecce288da39a2c0eb60076050ca21e9619f61844 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 11 Nov 2020 23:01:19 +0000
 From ecce288da39a2c0eb60076050ca21e9619f61844 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 11 Nov 2020 23:01:19 +0000
-Subject: [PATCH 33/70] networks: Add list to manage groups of networks
+Subject: [PATCH 33/77] networks: Add list to manage groups of networks
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -2892,7 +2892,7 @@ index d7b1645..c9e7979 100644
 From 8b2205272b7872a1458ad87811abf58609f38ad4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 13:57:35 +0000
 From 8b2205272b7872a1458ad87811abf58609f38ad4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 13:57:35 +0000
-Subject: [PATCH 34/70] networks: Add function to dump lists
+Subject: [PATCH 34/77] networks: Add function to dump lists
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -2956,7 +2956,7 @@ index c9e7979..0977406 100644
 From 850e75167e8e03fe8b951992c9f7bc2ccb9fb711 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:18:40 +0000
 From 850e75167e8e03fe8b951992c9f7bc2ccb9fb711 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:18:40 +0000
-Subject: [PATCH 35/70] network: Add functions to break network into subnets
+Subject: [PATCH 35/77] network: Add functions to break network into subnets
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3427,7 +3427,7 @@ index b6776b4..af1b2e6 100644
 From 6159d384c4a98fe45ec52522e2950719e4982d80 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:24:58 +0000
 From 6159d384c4a98fe45ec52522e2950719e4982d80 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:24:58 +0000
-Subject: [PATCH 36/70] networks: Add function to check if two networks overlap
+Subject: [PATCH 36/77] networks: Add function to check if two networks overlap
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3493,7 +3493,7 @@ index 6c08070..d826511 100644
 From e52ba21761f27e592040a2793b2a26bbeeeecc05 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:28:15 +0000
 From e52ba21761f27e592040a2793b2a26bbeeeecc05 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:28:15 +0000
-Subject: [PATCH 37/70] networks: Add function to check if network is part of a
+Subject: [PATCH 37/77] networks: Add function to check if network is part of a
  list
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
  list
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -3553,7 +3553,7 @@ index d826511..fcbdc59 100644
 From f802f3a4decf4827ecc8bcabe269ae9f94f7f32d Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:33:22 +0000
 From f802f3a4decf4827ecc8bcabe269ae9f94f7f32d Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:33:22 +0000
-Subject: [PATCH 38/70] networks: Add function to merge two lists
+Subject: [PATCH 38/77] networks: Add function to merge two lists
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3613,7 +3613,7 @@ index fcbdc59..541286d 100644
 From 6d22a179dffd08fcf2a44aafb361725ab22486d4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:35:43 +0000
 From 6d22a179dffd08fcf2a44aafb361725ab22486d4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 14:35:43 +0000
-Subject: [PATCH 39/70] network: Make lists unique
+Subject: [PATCH 39/77] network: Make lists unique
 
 Networks that are in the list won't be added again
 
 
 Networks that are in the list won't be added again
 
@@ -3643,7 +3643,7 @@ index 541286d..44571b3 100644
 From 681ff05cb7cdf230d38abf09a330a31498e265a4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:21:13 +0000
 From 681ff05cb7cdf230d38abf09a330a31498e265a4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:21:13 +0000
-Subject: [PATCH 40/70] database: Pass flag to enumerator to flatten output
+Subject: [PATCH 40/77] database: Pass flag to enumerator to flatten output
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3804,7 +3804,7 @@ index 1013a58..7f8c2c2 100644
 From f5e50a47e37e9b29d0d2ee9e5a41e5a5fe5aea7f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:21:58 +0000
 From f5e50a47e37e9b29d0d2ee9e5a41e5a5fe5aea7f Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:21:58 +0000
-Subject: [PATCH 41/70] network: Reduce debugging output
+Subject: [PATCH 41/77] network: Reduce debugging output
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3871,7 +3871,7 @@ index 44571b3..f7071a6 100644
 From 037c65d3a07ec6d37ff063f0645adda6b483b407 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:36:38 +0000
 From 037c65d3a07ec6d37ff063f0645adda6b483b407 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:36:38 +0000
-Subject: [PATCH 42/70] python: Export networks exclude function
+Subject: [PATCH 42/77] python: Export networks exclude function
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3948,7 +3948,7 @@ index 5496d1e..11f672b 100644
 From 9a7732c8679e805d4d2d55ea4750c5d70ca4bd2c Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:59:22 +0000
 From 9a7732c8679e805d4d2d55ea4750c5d70ca4bd2c Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 19:59:22 +0000
-Subject: [PATCH 43/70] network: Add more debugging output to stacks
+Subject: [PATCH 43/77] network: Add more debugging output to stacks
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -3998,7 +3998,7 @@ index f7071a6..d41e873 100644
 From 33a051e0435f6e78cc936f26f3b9ee16b7851025 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:00:09 +0000
 From 33a051e0435f6e78cc936f26f3b9ee16b7851025 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:00:09 +0000
-Subject: [PATCH 44/70] network: Add new subnet function
+Subject: [PATCH 44/77] network: Add new subnet function
 
 The old one is too difficult to use in terms of order
 of input parameters and return value.
 
 The old one is too difficult to use in terms of order
 of input parameters and return value.
@@ -4066,7 +4066,7 @@ index d41e873..5719111 100644
 From add5bb652ba1dad1127f79cb6a0db2d363a6d5e5 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:01:17 +0000
 From add5bb652ba1dad1127f79cb6a0db2d363a6d5e5 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:01:17 +0000
-Subject: [PATCH 45/70] network: Add function to exclude multiple networks at
+Subject: [PATCH 45/77] network: Add function to exclude multiple networks at
  once
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
  once
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -4203,7 +4203,7 @@ index 5719111..751e8e5 100644
 From d87fd7a3d277b4b03222c7d1680e51b3e45e525b Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:02:03 +0000
 From d87fd7a3d277b4b03222c7d1680e51b3e45e525b Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:02:03 +0000
-Subject: [PATCH 46/70] database: Add option to return networks flattened
+Subject: [PATCH 46/77] database: Add option to return networks flattened
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4457,7 +4457,7 @@ index 9baab33..7a3d1a7 100644
 From d3ae93c27dcd7f6984fdc29cc141621e277f2e2a Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:09:20 +0000
 From d3ae93c27dcd7f6984fdc29cc141621e277f2e2a Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:09:20 +0000
-Subject: [PATCH 47/70] test: Update API
+Subject: [PATCH 47/77] test: Update API
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4497,7 +4497,7 @@ index 4aef94e..da4b11c 100644
 From 594ca328c6e124d0f1eb543e9c8d9bbfe8a7b628 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:09:37 +0000
 From 594ca328c6e124d0f1eb543e9c8d9bbfe8a7b628 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Thu, 12 Nov 2020 20:09:37 +0000
-Subject: [PATCH 48/70] networks: Copy all attributes when splitting networks
+Subject: [PATCH 48/77] networks: Copy all attributes when splitting networks
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4535,7 +4535,7 @@ index 751e8e5..d67f116 100644
 From 69248038292e9ea1a4ee8912cdfc8700456753ad Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:23:33 +0000
 From 69248038292e9ea1a4ee8912cdfc8700456753ad Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:23:33 +0000
-Subject: [PATCH 49/70] database: Move network filtering into a separate
+Subject: [PATCH 49/77] database: Move network filtering into a separate
  function
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
  function
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
@@ -4623,7 +4623,7 @@ index 7a3d1a7..72bc8eb 100644
 From 2113e71bf7b997c82670c5c22cf91aa6442fe6f3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:29:02 +0000
 From 2113e71bf7b997c82670c5c22cf91aa6442fe6f3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:29:02 +0000
-Subject: [PATCH 50/70] database: Filter results coming from stack
+Subject: [PATCH 50/77] database: Filter results coming from stack
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4666,7 +4666,7 @@ index 72bc8eb..0f3cdc2 100644
 From d33753688138c9938743dafbbdddf220dd2afd14 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:29:15 +0000
 From d33753688138c9938743dafbbdddf220dd2afd14 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:29:15 +0000
-Subject: [PATCH 51/70] network: Sort result of excluded lists
+Subject: [PATCH 51/77] network: Sort result of excluded lists
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4708,7 +4708,7 @@ index d67f116..9d02bf8 100644
 From 8d777f12f7ffa4df1b28d197563888296803b727 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:38:15 +0000
 From 8d777f12f7ffa4df1b28d197563888296803b727 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:38:15 +0000
-Subject: [PATCH 52/70] network: Add function to pop first element from stack
+Subject: [PATCH 52/77] network: Add function to pop first element from stack
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -4800,7 +4800,7 @@ index 9d02bf8..e7dc97e 100644
 From 7933f5bfb4dd7603cb646e192840762bf6394292 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:43:53 +0000
 From 7933f5bfb4dd7603cb646e192840762bf6394292 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 11:43:53 +0000
-Subject: [PATCH 53/70] network: Unexport all tree functions
+Subject: [PATCH 53/77] network: Unexport all tree functions
 
 These should not be exported
 
 
 These should not be exported
 
@@ -4997,7 +4997,7 @@ index af1b2e6..7c90224 100644
 From c242f7325bd6fc4ba26047ac24196d1c161c6e01 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 12:09:03 +0000
 From c242f7325bd6fc4ba26047ac24196d1c161c6e01 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Fri, 13 Nov 2020 12:09:03 +0000
-Subject: [PATCH 54/70] python: Move tree flattening into C
+Subject: [PATCH 54/77] python: Move tree flattening into C
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -5222,7 +5222,7 @@ index dd44332..be4a68e 100644
 From e0b9ff5f38beb0d560b16db881647e5a75127df1 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Sun, 15 Nov 2020 15:02:28 +0000
 From e0b9ff5f38beb0d560b16db881647e5a75127df1 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Sun, 15 Nov 2020 15:02:28 +0000
-Subject: [PATCH 55/70] Move network lists into an own file
+Subject: [PATCH 55/77] Move network lists into an own file
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -5834,7 +5834,7 @@ index 11f672b..ed91d65 100644
 From e646a8f35ec7eff009414b3fd107c9af5cf39a86 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:13:28 +0000
 From e646a8f35ec7eff009414b3fd107c9af5cf39a86 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:13:28 +0000
-Subject: [PATCH 56/70] Implement filtering for multiple countries in the
+Subject: [PATCH 56/77] Implement filtering for multiple countries in the
  enumerator
 
 This will allow us to speed up the export of the database
  enumerator
 
 This will allow us to speed up the export of the database
@@ -6321,7 +6321,7 @@ index d169547..e6f6f37 100644
 From 7af51f8a579c79714992a3e175036fb511139310 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:20:50 +0000
 From 7af51f8a579c79714992a3e175036fb511139310 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:20:50 +0000
-Subject: [PATCH 57/70] python: Only return country codes we want
+Subject: [PATCH 57/77] python: Only return country codes we want
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -6354,7 +6354,7 @@ index be4a68e..5e7fe53 100644
 From bd1dc6bf6fe4ce40bf12e7426e283b31afd274e1 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:25:15 +0000
 From bd1dc6bf6fe4ce40bf12e7426e283b31afd274e1 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Mon, 16 Nov 2020 15:25:15 +0000
-Subject: [PATCH 58/70] database: Filter flags in C
+Subject: [PATCH 58/77] database: Filter flags in C
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -6414,7 +6414,7 @@ index 5e7fe53..739742f 100644
 From 84a2f0c2d9cbf8ae4225802c29ccba86561c77ed Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:46:48 +0000
 From 84a2f0c2d9cbf8ae4225802c29ccba86561c77ed Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:46:48 +0000
-Subject: [PATCH 59/70] as: Add list for easier processing
+Subject: [PATCH 59/77] as: Add list for easier processing
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -6876,7 +6876,7 @@ index 739742f..f675eb3 100644
 From 50120b991fc2fa4b7813096de87b42d700faf3e6 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:56:43 +0000
 From 50120b991fc2fa4b7813096de87b42d700faf3e6 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:56:43 +0000
-Subject: [PATCH 60/70] database: Simplify network matching code
+Subject: [PATCH 60/77] database: Simplify network matching code
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -6923,7 +6923,7 @@ index 51cb5cd..1a354f6 100644
 From c1a36c943181da5cd2aef589a972d5027e529eb8 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:58:55 +0000
 From c1a36c943181da5cd2aef589a972d5027e529eb8 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 16:58:55 +0000
-Subject: [PATCH 61/70] database: Simplify AS matching code
+Subject: [PATCH 61/77] database: Simplify AS matching code
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -6970,7 +6970,7 @@ index 1a354f6..be93e00 100644
 From d5205091f9cc1ff987e483325d48696459df08d8 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:50:17 +0000
 From d5205091f9cc1ff987e483325d48696459df08d8 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:50:17 +0000
-Subject: [PATCH 62/70] countries: Make list grow dynamically
+Subject: [PATCH 62/77] countries: Make list grow dynamically
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7074,7 +7074,7 @@ index ae0d71a..1ce2d06 100644
 From 3b44e4211371d2103f89ba8f056b15edb7778fac Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:55:51 +0000
 From 3b44e4211371d2103f89ba8f056b15edb7778fac Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:55:51 +0000
-Subject: [PATCH 63/70] networks: Make list grow dynamically
+Subject: [PATCH 63/77] networks: Make list grow dynamically
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7253,7 +7253,7 @@ index 1f6e80e..4912c02 100644
 From 1a415f8c555f4fe9a68eb2a897c4a1fc0d33db25 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:57:55 +0000
 From 1a415f8c555f4fe9a68eb2a897c4a1fc0d33db25 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 17:57:55 +0000
-Subject: [PATCH 64/70] as: Make lists grow dynamically
+Subject: [PATCH 64/77] as: Make lists grow dynamically
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7357,7 +7357,7 @@ index 7c69eb0..17de23e 100644
 From e6592434ee7836507c1f436ec3b0db3bc81a81b9 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:13:49 +0000
 From e6592434ee7836507c1f436ec3b0db3bc81a81b9 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:13:49 +0000
-Subject: [PATCH 65/70] export: Change back to use Network objects
+Subject: [PATCH 65/77] export: Change back to use Network objects
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7385,7 +7385,7 @@ index f675eb3..67e437f 100644
 From 248f5e0419f2349253b8ea96e477c15649fe2173 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:14:15 +0000
 From 248f5e0419f2349253b8ea96e477c15649fe2173 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:14:15 +0000
-Subject: [PATCH 66/70] Actually clear all lists
+Subject: [PATCH 66/77] Actually clear all lists
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7462,7 +7462,7 @@ index 4912c02..9cb4547 100644
 From c98ebf8aae2aa141193db52cd9429b1ded5b09c4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:34:51 +0000
 From c98ebf8aae2aa141193db52cd9429b1ded5b09c4 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 18:34:51 +0000
-Subject: [PATCH 67/70] database: Do not clean up python list
+Subject: [PATCH 67/77] database: Do not clean up python list
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7496,7 +7496,7 @@ index 38a804c..ed22275 100644
 From 5470d06cb59027f4e04b6d576763dbf7f1093fde Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 19:01:04 +0000
 From 5470d06cb59027f4e04b6d576763dbf7f1093fde Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Tue, 17 Nov 2020 19:01:04 +0000
-Subject: [PATCH 68/70] database: Free filter lists in enumerator
+Subject: [PATCH 68/77] database: Free filter lists in enumerator
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7526,7 +7526,7 @@ index be93e00..ca35fe1 100644
 From e0e96878d3df51c4a265d51d088005dedf9335e3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 18 Nov 2020 13:18:52 +0000
 From e0e96878d3df51c4a265d51d088005dedf9335e3 Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 18 Nov 2020 13:18:52 +0000
-Subject: [PATCH 69/70] database: Add debug output to filtering
+Subject: [PATCH 69/77] database: Add debug output to filtering
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
 
 Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
 ---
@@ -7593,7 +7593,7 @@ index ca35fe1..83dd752 100644
 From bce0c9295ff8ff9488f24babe01ce851228d0b1e Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 18 Nov 2020 13:19:04 +0000
 From bce0c9295ff8ff9488f24babe01ce851228d0b1e Mon Sep 17 00:00:00 2001
 From: Michael Tremer <michael.tremer@ipfire.org>
 Date: Wed, 18 Nov 2020 13:19:04 +0000
-Subject: [PATCH 70/70] export: Remove filtering for flags
+Subject: [PATCH 70/77] export: Remove filtering for flags
 
 The filter is an AND filter and if we set the flags from
 the special country codes, we won't get back much.
 
 The filter is an AND filter and if we set the flags from
 the special country codes, we won't get back much.
@@ -7627,3 +7627,559 @@ index 67e437f..4219957 100644
 -- 
 2.20.1
 
 -- 
 2.20.1
 
+From 627bf1daaae1510cfd4016297ed16b82df209aae Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Wed, 18 Nov 2020 13:33:45 +0000
+Subject: [PATCH 71/77] python: Remove unnecessary db object from writers
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/python/export.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/python/export.py b/src/python/export.py
+index 4219957..5bc9f30 100644
+--- a/src/python/export.py
++++ b/src/python/export.py
+@@ -39,8 +39,8 @@ class OutputWriter(object):
+       suffix = "networks"
+       mode = "w"
+-      def __init__(self, db, f, prefix=None, flatten=True):
+-              self.db, self.f, self.prefix, self.flatten = db, f, prefix, flatten
++      def __init__(self, f, prefix=None, flatten=True):
++              self.f, self.prefix, self.flatten = f, prefix, flatten
+               # The previously written network
+               self._last_network = None
+@@ -49,13 +49,13 @@ class OutputWriter(object):
+               self._write_header()
+       @classmethod
+-      def open(cls, db, filename, **kwargs):
++      def open(cls, filename, **kwargs):
+               """
+                       Convenience function to open a file
+               """
+               f = open(filename, cls.mode)
+-              return cls(db, f, **kwargs)
++              return cls(f, **kwargs)
+       def __repr__(self):
+               return "<%s f=%s>" % (self.__class__.__name__, self.f)
+@@ -172,7 +172,7 @@ class Exporter(object):
+                                       directory, prefix=country_code, suffix=self.writer.suffix, family=family,
+                               )
+-                              writers[country_code] = self.writer.open(self.db, filename, prefix="CC_%s" % country_code)
++                              writers[country_code] = self.writer.open(filename, prefix="CC_%s" % country_code)
+                       # Create writers for ASNs
+                       for asn in asns:
+@@ -180,7 +180,7 @@ class Exporter(object):
+                                       directory, "AS%s" % asn, suffix=self.writer.suffix, family=family,
+                               )
+-                              writers[asn] = self.writer.open(self.db, filename, prefix="AS%s" % asn)
++                              writers[asn] = self.writer.open(filename, prefix="AS%s" % asn)
+                       # Filter countries from special country codes
+                       country_codes = [
+-- 
+2.20.1
+
+From 9cb56ac9adafafa6e452009c2fa2d42e94474e11 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Wed, 18 Nov 2020 13:34:50 +0000
+Subject: [PATCH 72/77] location: End lookup after an invalid IP address was
+ passed
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/python/location.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/python/location.in b/src/python/location.in
+index 0d09210..6885ea0 100644
+--- a/src/python/location.in
++++ b/src/python/location.in
+@@ -253,6 +253,7 @@ class CLI(object):
+                               network = db.lookup(address)
+                       except ValueError:
+                               print(_("Invalid IP address: %s") % address, file=sys.stderr)
++                              return 2
+                       args = {
+                               "address" : address,
+-- 
+2.20.1
+
+From 2a550d12208f8bc8002e05ac08613312df26b20e Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Nov 2020 12:03:33 +0000
+Subject: [PATCH 73/77] python: Fix download of database
+
+This was all messed up in 0c74f6b1a3bdce5ebdc2ee452b9baf3e421dd3d1
+when the change of type for the timestamp wasn't changed everywhere
+else.
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/python/downloader.py | 6 +++---
+ src/python/location.in   | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/python/downloader.py b/src/python/downloader.py
+index 87bbb68..05f7872 100644
+--- a/src/python/downloader.py
++++ b/src/python/downloader.py
+@@ -119,8 +119,8 @@ class Downloader(object):
+               headers = {}
+               if timestamp:
+-                      headers["If-Modified-Since"] = timestamp.strftime(
+-                              "%a, %d %b %Y %H:%M:%S GMT",
++                      headers["If-Modified-Since"] = time.strftime(
++                              "%a, %d %b %Y %H:%M:%S GMT", time.gmtime(timestamp),
+                       )
+               t = tempfile.NamedTemporaryFile(dir=tmpdir, delete=False)
+@@ -195,7 +195,7 @@ class Downloader(object):
+               db = Database(f.name)
+               # Database is not recent
+-              if timestamp and db.created_at < timestamp.timestamp():
++              if timestamp and db.created_at < timestamp:
+                       return False
+               log.info("Downloaded new database from %s" % (time.strftime(
+diff --git a/src/python/location.in b/src/python/location.in
+index 6885ea0..b30beae 100644
+--- a/src/python/location.in
++++ b/src/python/location.in
+@@ -433,7 +433,7 @@ class CLI(object):
+               # Try downloading a new database
+               try:
+-                      t = d.download(public_key=ns.public_key, timestamp=timestamp, tmpdir=tmpdir)
++                      t = d.download(public_key=ns.public_key, timestamp=t, tmpdir=tmpdir)
+               # If no file could be downloaded, log a message
+               except FileNotFoundError as e:
+-- 
+2.20.1
+
+From a1a00053300cff3c0f690d52377c76c83c2a08b2 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Nov 2020 12:34:11 +0000
+Subject: [PATCH 74/77] python: Add property to return IP addresses as bytes
+
+This avoids calling inet_pton to parse IP addresses from string
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/libloc.sym        |  2 ++
+ src/loc/network.h     |  2 ++
+ src/network.c         |  8 ++++++++
+ src/python/database.c |  2 +-
+ src/python/export.py  |  7 ++-----
+ src/python/network.c  | 40 ++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 55 insertions(+), 6 deletions(-)
+
+diff --git a/src/libloc.sym b/src/libloc.sym
+index 53273cd..406dd15 100644
+--- a/src/libloc.sym
++++ b/src/libloc.sym
+@@ -113,6 +113,8 @@ global:
+       loc_network_format_last_address;
+       loc_network_get_asn;
+       loc_network_get_country_code;
++      loc_network_get_first_address;
++      loc_network_get_last_address;
+       loc_network_gt;
+       loc_network_has_flag;
+       loc_network_is_subnet;
+diff --git a/src/loc/network.h b/src/loc/network.h
+index d86b685..4b7410c 100644
+--- a/src/loc/network.h
++++ b/src/loc/network.h
+@@ -39,7 +39,9 @@ struct loc_network* loc_network_unref(struct loc_network* network);
+ char* loc_network_str(struct loc_network* network);
+ int loc_network_address_family(struct loc_network* network);
++const struct in6_addr* loc_network_get_first_address(struct loc_network* network);
+ char* loc_network_format_first_address(struct loc_network* network);
++const struct in6_addr* loc_network_get_last_address(struct loc_network* network);
+ char* loc_network_format_last_address(struct loc_network* network);
+ int loc_network_match_address(struct loc_network* network, const struct in6_addr* address);
+diff --git a/src/network.c b/src/network.c
+index 28ca2df..4c8787a 100644
+--- a/src/network.c
++++ b/src/network.c
+@@ -343,10 +343,18 @@ static char* loc_network_format_address(struct loc_network* network, const struc
+       return string;
+ }
++LOC_EXPORT const struct in6_addr* loc_network_get_first_address(struct loc_network* network) {
++      return &network->first_address;
++}
++
+ LOC_EXPORT char* loc_network_format_first_address(struct loc_network* network) {
+       return loc_network_format_address(network, &network->first_address);
+ }
++LOC_EXPORT const struct in6_addr* loc_network_get_last_address(struct loc_network* network) {
++      return &network->last_address;
++}
++
+ LOC_EXPORT char* loc_network_format_last_address(struct loc_network* network) {
+       return loc_network_format_address(network, &network->last_address);
+ }
+diff --git a/src/python/database.c b/src/python/database.c
+index ed22275..f385c61 100644
+--- a/src/python/database.c
++++ b/src/python/database.c
+@@ -329,7 +329,7 @@ static PyObject* Database_search_networks(DatabaseObject* self, PyObject* args,
+               if (r) {
+                       PyErr_SetFromErrno(PyExc_SystemError);
+-                      loc_as_list_unref(countries);
++                      loc_country_list_unref(countries);
+                       return NULL;
+               }
+diff --git a/src/python/export.py b/src/python/export.py
+index 5bc9f30..6b39878 100644
+--- a/src/python/export.py
++++ b/src/python/export.py
+@@ -142,11 +142,8 @@ class XTGeoIPOutputWriter(OutputWriter):
+       mode = "wb"
+       def _write_network(self, network):
+-              for address in (network.first_address, network.last_address):
+-                      # Convert this into a string of bits
+-                      bytes = socket.inet_pton(network.family, address)
+-
+-                      self.f.write(bytes)
++              for address in (network._first_address, network._last_address):
++                      self.f.write(address)
+ formats = {
+diff --git a/src/python/network.c b/src/python/network.c
+index ed91d65..742b472 100644
+--- a/src/python/network.c
++++ b/src/python/network.c
+@@ -215,6 +215,26 @@ static PyObject* Network_get_first_address(NetworkObject* self) {
+       return obj;
+ }
++static PyObject* PyBytes_FromAddress(const struct in6_addr* address6) {
++      struct in_addr address4;
++
++      // Convert IPv4 addresses to struct in_addr
++      if (IN6_IS_ADDR_V4MAPPED(address6)) {
++              address4.s_addr = address6->s6_addr32[3];
++
++              return PyBytes_FromStringAndSize((const char*)&address4, sizeof(address4));
++      }
++
++      // Return IPv6 addresses as they are
++      return PyBytes_FromStringAndSize((const char*)address6, sizeof(*address6));
++}
++
++static PyObject* Network_get__first_address(NetworkObject* self) {
++      const struct in6_addr* address = loc_network_get_first_address(self->network);
++
++      return PyBytes_FromAddress(address);
++}
++
+ static PyObject* Network_get_last_address(NetworkObject* self) {
+       char* address = loc_network_format_last_address(self->network);
+@@ -224,6 +244,12 @@ static PyObject* Network_get_last_address(NetworkObject* self) {
+       return obj;
+ }
++static PyObject* Network_get__last_address(NetworkObject* self) {
++      const struct in6_addr* address = loc_network_get_last_address(self->network);
++
++      return PyBytes_FromAddress(address);
++}
++
+ static struct PyMethodDef Network_methods[] = {
+       {
+               "exclude",
+@@ -281,6 +307,13 @@ static struct PyGetSetDef Network_getsetters[] = {
+               NULL,
+               NULL,
+       },
++      {
++              "_first_address",
++              (getter)Network_get__first_address,
++              NULL,
++              NULL,
++              NULL,
++      },
+       {
+               "last_address",
+               (getter)Network_get_last_address,
+@@ -288,6 +321,13 @@ static struct PyGetSetDef Network_getsetters[] = {
+               NULL,
+               NULL,
+       },
++      {
++              "_last_address",
++              (getter)Network_get__last_address,
++              NULL,
++              NULL,
++              NULL,
++      },
+       { NULL },
+ };
+-- 
+2.20.1
+
+From 90d2194a876c223f9124ce9e27bdee6a6b49ff6a Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Nov 2020 12:40:01 +0000
+Subject: [PATCH 75/77] export: Remove old flattening feature
+
+The database enumerator now only returns networks that will
+never overlap.
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/python/export.py | 34 ++++++----------------------------
+ 1 file changed, 6 insertions(+), 28 deletions(-)
+
+diff --git a/src/python/export.py b/src/python/export.py
+index 6b39878..4702bcf 100644
+--- a/src/python/export.py
++++ b/src/python/export.py
+@@ -39,11 +39,8 @@ class OutputWriter(object):
+       suffix = "networks"
+       mode = "w"
+-      def __init__(self, f, prefix=None, flatten=True):
+-              self.f, self.prefix, self.flatten = f, prefix, flatten
+-
+-              # The previously written network
+-              self._last_network = None
++      def __init__(self, f, prefix=None):
++              self.f, self.prefix = f, prefix
+               # Immediately write the header
+               self._write_header()
+@@ -60,18 +57,6 @@ class OutputWriter(object):
+       def __repr__(self):
+               return "<%s f=%s>" % (self.__class__.__name__, self.f)
+-      def _flatten(self, network):
+-              """
+-                      Checks if the given network needs to be written to file,
+-                      or if it is a subnet of the previously written network.
+-              """
+-              if self._last_network and network.is_subnet_of(self._last_network):
+-                      return True
+-
+-              # Remember this network for the next call
+-              self._last_network = network
+-              return False
+-
+       def _write_header(self):
+               """
+                       The header of the file
+@@ -84,15 +69,8 @@ class OutputWriter(object):
+               """
+               pass
+-      def _write_network(self, network):
+-              self.f.write("%s\n" % network)
+-
+       def write(self, network):
+-              if self.flatten and self._flatten(network):
+-                      log.debug("Skipping writing network %s (last one was %s)" % (network, self._last_network))
+-                      return
+-
+-              return self._write_network(network)
++              self.f.write("%s\n" % network)
+       def finish(self):
+               """
+@@ -113,7 +91,7 @@ class IpsetOutputWriter(OutputWriter):
+       def _write_header(self):
+               self.f.write("create %s hash:net family inet hashsize 1024 maxelem 65536\n" % self.prefix)
+-      def _write_network(self, network):
++      def write(self, network):
+               self.f.write("add %s %s\n" % (self.prefix, network))
+@@ -129,7 +107,7 @@ class NftablesOutputWriter(OutputWriter):
+       def _write_footer(self):
+               self.f.write("}\n")
+-      def _write_network(self, network):
++      def write(self, network):
+               self.f.write("  %s,\n" % network)
+@@ -141,7 +119,7 @@ class XTGeoIPOutputWriter(OutputWriter):
+       suffix = "iv"
+       mode = "wb"
+-      def _write_network(self, network):
++      def write(self, network):
+               for address in (network._first_address, network._last_address):
+                       self.f.write(address)
+-- 
+2.20.1
+
+From 90188dad86223380b0854b523b63ec024117c5f2 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Nov 2020 12:41:19 +0000
+Subject: [PATCH 76/77] export: Speed-up export in xt_geoip format
+
+Removing the loop avoids creating a tuple and then iterating over it
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/python/export.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/python/export.py b/src/python/export.py
+index 4702bcf..f0eae26 100644
+--- a/src/python/export.py
++++ b/src/python/export.py
+@@ -120,8 +120,8 @@ class XTGeoIPOutputWriter(OutputWriter):
+       mode = "wb"
+       def write(self, network):
+-              for address in (network._first_address, network._last_address):
+-                      self.f.write(address)
++              self.f.write(network._first_address)
++              self.f.write(network._last_address)
+ formats = {
+-- 
+2.20.1
+
+From 6661692f3bc8f788af8b75ae25561f4cc4a2acb5 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Nov 2020 12:48:46 +0000
+Subject: [PATCH 77/77] database: Disable some useless code when not running in
+ debug mode
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ src/database.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/database.c b/src/database.c
+index 83dd752..ef4f505 100644
+--- a/src/database.c
++++ b/src/database.c
+@@ -619,7 +619,7 @@ LOC_EXPORT int loc_database_verify(struct loc_database* db, FILE* f) {
+       }
+       clock_t end = clock();
+-      DEBUG(db->ctx, "Signature checked in %.4fms\n",
++      INFO(db->ctx, "Signature checked in %.4fms\n",
+               (double)(end - start) / CLOCKS_PER_SEC * 1000);
+ CLEANUP:
+@@ -679,8 +679,10 @@ LOC_EXPORT int loc_database_get_as(struct loc_database* db, struct loc_as** as,
+       off_t lo = 0;
+       off_t hi = db->as_count - 1;
++#ifdef ENABLE_DEBUG
+       // Save start time
+       clock_t start = clock();
++#endif
+       while (lo <= hi) {
+               off_t i = (lo + hi) / 2;
+@@ -693,11 +695,13 @@ LOC_EXPORT int loc_database_get_as(struct loc_database* db, struct loc_as** as,
+               // Check if this is a match
+               uint32_t as_number = loc_as_get_number(*as);
+               if (as_number == number) {
++#ifdef ENABLE_DEBUG
+                       clock_t end = clock();
+                       // Log how fast this has been
+                       DEBUG(db->ctx, "Found AS%u in %.4fms\n", as_number,
+                               (double)(end - start) / CLOCKS_PER_SEC * 1000);
++#endif
+                       return 0;
+               }
+@@ -741,11 +745,13 @@ static int loc_database_fetch_network(struct loc_database* db, struct loc_networ
+                       return -1;
+       }
++#ifdef ENABLE_DEBUG
+       if (r == 0) {
+               char* string = loc_network_str(*network);
+               DEBUG(db->ctx, "Got network %s\n", string);
+               free(string);
+       }
++#endif
+       return r;
+ }
+@@ -840,17 +846,21 @@ LOC_EXPORT int loc_database_lookup(struct loc_database* db,
+       *network = NULL;
++#ifdef ENABLE_DEBUG
+       // Save start time
+       clock_t start = clock();
++#endif
+       int r = __loc_database_lookup(db, address, network, &network_address,
+               db->network_nodes_v1, 0);
++#ifdef ENABLE_DEBUG
+       clock_t end = clock();
+       // Log how fast this has been
+       DEBUG(db->ctx, "Executed network search in %.4fms\n",
+               (double)(end - start) / CLOCKS_PER_SEC * 1000);
++#endif
+       return r;
+ }
+@@ -897,8 +907,10 @@ LOC_EXPORT int loc_database_get_country(struct loc_database* db,
+       off_t lo = 0;
+       off_t hi = db->countries_count - 1;
++#ifdef ENABLE_DEBUG
+       // Save start time
+       clock_t start = clock();
++#endif
+       while (lo <= hi) {
+               off_t i = (lo + hi) / 2;
+@@ -913,11 +925,13 @@ LOC_EXPORT int loc_database_get_country(struct loc_database* db,
+               int result = strcmp(code, cc);
+               if (result == 0) {
++#ifdef ENABLE_DEBUG
+                       clock_t end = clock();
+                       // Log how fast this has been
+                       DEBUG(db->ctx, "Found country %s in %.4fms\n", cc,
+                               (double)(end - start) / CLOCKS_PER_SEC * 1000);
++#endif
+                       return 0;
+               }
+-- 
+2.20.1
+