location-importer: Set "is_drop" to "True" even in case of conflicts

Message ID 19b33f2c-e801-24be-0c3c-ea2a667109b2@ipfire.org
State Accepted
Commit 148f68bf7ea1af3b6951bd75f1316c1686deaff2
Headers
Series location-importer: Set "is_drop" to "True" even in case of conflicts |

Commit Message

Peter Müller Dec. 11, 2021, 6:01 p.m. UTC
  Previously, any present override for a given network or ASN would have
caused the SQL statement not to conduct anything at all. Since "is_drop"
is the only flag being actually set here, it makes sense to do so in
case of already present overrides as well.

The effect of this is limited: Our own override files are always
considered at last, so in case of conflicts they will be the ultima
ratio. This is an intended behaviour, but slipped my mind when I filed
bug #12728, so this patch can only be seen as a partial solution - the
rest is not a bug, but a feature. :-)

Partially fixes: #12728

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
---
 src/python/location-importer.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Patch

diff --git a/src/python/location-importer.in b/src/python/location-importer.in
index b791b4d..b3e3658 100644
--- a/src/python/location-importer.in
+++ b/src/python/location-importer.in
@@ -1320,7 +1320,7 @@  class CLI(object):
 							source,
 							is_drop
 						) VALUES (%s, %s, %s)
-						ON CONFLICT (network) DO NOTHING""",
+						ON CONFLICT (network) DO UPDATE SET is_drop = True""",
 						"%s" % network,
 						"Spamhaus DROP lists",
 						True
@@ -1368,7 +1368,7 @@  class CLI(object):
 							source,
 							is_drop
 						) VALUES (%s, %s, %s)
-						ON CONFLICT (number) DO NOTHING""",
+						ON CONFLICT (number) DO UPDATE SET is_drop = True""",
 						"%s" % asn,
 						"Spamhaus ASN-DROP list",
 						True