From: Michael Tremer Date: Sat, 2 Mar 2024 09:42:29 +0000 (+0000) Subject: importer: Create a feeds table for networks, too X-Git-Tag: 0.9.18~139 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c923c1ccdf3371e0533d418feca542480d52eb1f;p=location%2Flibloc.git importer: Create a feeds table for networks, too Signed-off-by: Michael Tremer --- diff --git a/src/scripts/location-importer.in b/src/scripts/location-importer.in index 529b11b..056451f 100644 --- a/src/scripts/location-importer.in +++ b/src/scripts/location-importer.in @@ -234,6 +234,20 @@ class CLI(object): CREATE UNIQUE INDEX IF NOT EXISTS autnum_feeds_unique ON autnum_feeds(number, source); + CREATE TABLE IF NOT EXISTS network_feeds( + network inet NOT NULL, + source text NOT NULL, + country text, + is_anonymous_proxy boolean, + is_satellite_provider boolean, + is_anycast boolean, + is_drop boolean + ); + CREATE UNIQUE INDEX IF NOT EXISTS network_feeds_unique + ON network_feeds(network, source); + CREATE INDEX IF NOT EXISTS network_feeds_search + ON network_feeds USING GIST(network inet_ops); + -- overrides CREATE TABLE IF NOT EXISTS autnum_overrides( number bigint NOT NULL, @@ -319,6 +333,8 @@ class CLI(object): UNION SELECT network FROM networks UNION + SEELCT network FROM network_feeds + UNION SELECT network FROM network_overrides UNION SELECT network FROM geofeed_networks @@ -364,6 +380,12 @@ class CLI(object): SELECT country FROM autnum_overrides overrides WHERE networks.autnum = overrides.number ), + ( + SELECT country FROM network_feeds feeds + WHERE networks.network <<= feeds.network + ORDER BY masklen(feeds.network) DESC + LIMIT 1 + ), ( SELECT country FROM autnum_feeds feeds WHERE networks.autnum = feeds.number @@ -403,6 +425,12 @@ class CLI(object): ORDER BY masklen(overrides.network) DESC LIMIT 1 ), + ( + SELECT is_anonymous_proxy FROM network_feeds feeds + WHERE networks.network <<= feeds.network + ORDER BY masklen(feeds.network) DESC + LIMIT 1 + ), ( SELECT is_anonymous_proxy FROM autnum_feeds feeds WHERE networks.autnum = feeds.number @@ -421,6 +449,12 @@ class CLI(object): ORDER BY masklen(overrides.network) DESC LIMIT 1 ), + ( + SELECT is_satellite_provider FROM network_feeds feeds + WHERE networks.network <<= feeds.network + ORDER BY masklen(feeds.network) DESC + LIMIT 1 + ), ( SELECT is_satellite_provider FROM autnum_feeds feeds WHERE networks.autnum = feeds.number @@ -439,6 +473,12 @@ class CLI(object): ORDER BY masklen(overrides.network) DESC LIMIT 1 ), + ( + SELECT is_anycast FROM network_feeds feeds + WHERE networks.network <<= feeds.network + ORDER BY masklen(feeds.network) DESC + LIMIT 1 + ), ( SELECT is_anycast FROM autnum_feeds feeds WHERE networks.autnum = feeds.number @@ -457,6 +497,12 @@ class CLI(object): ORDER BY masklen(overrides.network) DESC LIMIT 1 ), + ( + SELECT is_drop FROM network_feeds feeds + WHERE networks.network <<= feeds.network + ORDER BY masklen(feeds.network) DESC + LIMIT 1 + ), ( SELECT is_drop FROM autnum_feeds feeds WHERE networks.autnum = feeds.number