]> git.ipfire.org Git - people/ms/libloc.git/log
people/ms/libloc.git
2 months agonetwork: Tidy up some code
Michael Tremer [Wed, 21 Feb 2024 14:57:02 +0000 (14:57 +0000)] 
network: Tidy up some code

No functional changes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agonetwork-tree: Use the raw prefix to place networks onto the tree
Michael Tremer [Wed, 21 Feb 2024 14:48:08 +0000 (14:48 +0000)] 
network-tree: Use the raw prefix to place networks onto the tree

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agonetwork-tree: Run deduplication once for each family
Michael Tremer [Wed, 21 Feb 2024 14:45:43 +0000 (14:45 +0000)] 
network-tree: Run deduplication once for each family

This probably never becomes a real problem, but we did not clear the
stack properly once we switched family when iterating through the
entire tree in one go.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agotools: Import the copy script
Michael Tremer [Wed, 21 Feb 2024 13:55:06 +0000 (13:55 +0000)] 
tools: Import the copy script

This is useful to debug the library by copying one library 1:1 and then
diffing the result.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agonetwork-tree: Split into a separate file
Michael Tremer [Wed, 21 Feb 2024 13:53:20 +0000 (13:53 +0000)] 
network-tree: Split into a separate file

There are no functional changes here, but I find this code easier to
handle if it is split across smaller files.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agolocation-importer: Fix Spamhaus ASN-DROP parsing
Peter Müller [Sat, 17 Feb 2024 22:31:00 +0000 (22:31 +0000)] 
location-importer: Fix Spamhaus ASN-DROP parsing

The format of this list has changed, from a plain text file with a
customer schema to JSON. Adjust our routines accordingly to make use of
this list again.

The second version of this patch incorporates Michael's feedback on the
first version, and adds AS names to the autnums table in case they are
not there already, which closes some gaps on rogue ASNs in the LACNIC
area.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Tested-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agolocation-importer: Add missing area code for AWS
Peter Müller [Sat, 17 Feb 2024 22:39:00 +0000 (22:39 +0000)] 
location-importer: Add missing area code for AWS

It is unclear what exactly "eusc" refers to ("EU Secure Cloud", maybe?),
but according to RIPE database records for IPv6 networks involved, this
area code physically traces back to Germany, likely Berlin instead of
Frankfurt.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agonetwork: Fix deduplication not looking far enough
Michael Tremer [Sat, 17 Feb 2024 21:18:22 +0000 (21:18 +0000)] 
network: Fix deduplication not looking far enough

When deduplicating the tree, we kept comparing subnets to the largest
supernet only - which is incorrect.

Instead, we need to compare subnets to the next largest supernet which
is now implemented in this patch.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 months agonetwork: Fix bit length check when merging networks
Michael Tremer [Sat, 17 Feb 2024 21:12:32 +0000 (21:12 +0000)] 
network: Fix bit length check when merging networks

The check was incorrect as it only expected perfect matches, but we can
of course also merge subnets that don't necessarily require the entire
prefix length for the start address.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopython: Make AS objects hashable
Michael Tremer [Sun, 7 Jan 2024 18:08:14 +0000 (18:08 +0000)] 
python: Make AS objects hashable

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
9 months agoconfigure: Bump version to 0.9.17 0.9.17
Michael Tremer [Mon, 31 Jul 2023 16:59:04 +0000 (16:59 +0000)] 
configure: Bump version to 0.9.17

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
9 months agodata: Update database to 2023-07-31
Michael Tremer [Mon, 31 Jul 2023 16:58:26 +0000 (16:58 +0000)] 
data: Update database to 2023-07-31

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
9 months agonetwork: Decreate log level when deleting networks
Michael Tremer [Mon, 31 Jul 2023 16:55:23 +0000 (16:55 +0000)] 
network: Decreate log level when deleting networks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
9 months agolibloc.so: Bump library revision
Michael Tremer [Mon, 31 Jul 2023 12:56:24 +0000 (12:56 +0000)] 
libloc.so: Bump library revision

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
9 months agoFix string escaping in location tool
Petr Písař [Mon, 24 Jul 2023 08:57:49 +0000 (10:57 +0200)] 
Fix string escaping in location tool

Python 3.12 started to warn on an invalid string escape sequence:

$ location list-networks-by-as --format ipset 1
/usr/bin/location:583: SyntaxWarning: invalid escape sequence '\d'
  m = re.match("^AS(\d+)$", object)
IpsetOutputWriter requires family being set

This patch fixes the warning as well as the regular expression by
using a raw string.

<https://docs.python.org/3.12/whatsnew/changelog.html#id77>

Fixes: #13188 - Invalid escape sequence with Python 3.12
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agotree: More elegantly prevent deleting the root node
Michael Tremer [Mon, 17 Jul 2023 16:13:35 +0000 (16:13 +0000)] 
tree: More elegantly prevent deleting the root node

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agonetworks: Delete networks from the tree on merge
Michael Tremer [Mon, 17 Jul 2023 16:00:14 +0000 (16:00 +0000)] 
networks: Delete networks from the tree on merge

Previously, the tree did not support deleting nodes, but this has now
been added to do this safely.

This saves us running another deduplication check and halves the size of
the database.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoMerge networks before writing the database
Michael Tremer [Mon, 17 Jul 2023 15:36:21 +0000 (15:36 +0000)] 
Merge networks before writing the database

This should help us keeping the database more compact where we summarize
two smaller networks to one larger one if they share the same
properties.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agotree: Actually delete any deleted nodes
Michael Tremer [Fri, 14 Jul 2023 16:37:42 +0000 (16:37 +0000)] 
tree: Actually delete any deleted nodes

Usually we only mark nodes as deleted, but finally, we should actually
delete what we can as we keep the pointers for back referencing.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agowriter: Cleanup networks before writing
Michael Tremer [Fri, 14 Jul 2023 16:33:49 +0000 (16:33 +0000)] 
writer: Cleanup networks before writing

This patch will add a function that will search the tree for duplicate
entries which are not needed and remove them.

Afterwards, any unused nodes will be deleted.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agotree: Add flag to delete nodes
Michael Tremer [Fri, 14 Jul 2023 14:58:19 +0000 (14:58 +0000)] 
tree: Add flag to delete nodes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodebian: Include bash-completion when packaging
Valters Jansons [Thu, 13 Jul 2023 17:46:55 +0000 (20:46 +0300)] 
debian: Include bash-completion when packaging

dh_missing for a standard `debuild` run on latest `master` commit
complains about the bash-completion file created for location package.
This file should be listed as for inclusion in location package
accordingly, so that auto-built Debian package picks it up properly.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Decrease the log level if Spamhaus' files are empty
Michael Tremer [Fri, 14 Jul 2023 10:26:55 +0000 (10:26 +0000)] 
importer: Decrease the log level if Spamhaus' files are empty

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Don't write AS without names into the database
Michael Tremer [Fri, 14 Jul 2023 10:26:24 +0000 (10:26 +0000)] 
importer: Don't write AS without names into the database

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: AWS: Add country code of NZ for ap-southeast-5
Michael Tremer [Fri, 14 Jul 2023 10:23:31 +0000 (10:23 +0000)] 
importer: AWS: Add country code of NZ for ap-southeast-5

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodebian: Housekeep location.install and changelog
Valters Jansons [Wed, 12 Jul 2023 18:57:00 +0000 (21:57 +0300)] 
debian: Housekeep location.install and changelog

In order to run `debuild` for an easy Debian package locally, the
debian/*.install files must list all build results. For version 0.9.16
there is a new pre-built database.db file that belongs with `location`
package, and the `man8` pages have been moved to `man1`.

Additionally, the changelog is added for version 0.9.16 as to maintain
the centralized reference (inside this upstream repository). The
author/timestamp is based on the 0.9.16 tag metadata tracked in Git.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agogeofeed: Parse and normalize any URLs
Michael Tremer [Wed, 5 Jul 2023 09:39:35 +0000 (09:39 +0000)] 
geofeed: Parse and normalize any URLs

It would be nice if we had an easy way to check if the URL is valid, but
Python does not seem to have a library function for this.

Therefore we might store invalid URLs in the database, but when making a
request to them, urllib with throw an InvalidURL error.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Improve performance of AS name export query
Michael Tremer [Wed, 5 Jul 2023 09:38:43 +0000 (09:38 +0000)] 
importer: Improve performance of AS name export query

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodatabase: Log query execution time in debug mode
Michael Tremer [Wed, 5 Jul 2023 09:38:06 +0000 (09:38 +0000)] 
database: Log query execution time in debug mode

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agogeofeeds: Catch any invalid URLs
Michael Tremer [Tue, 4 Jul 2023 10:17:19 +0000 (10:17 +0000)] 
geofeeds: Catch any invalid URLs

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agogeofeeds: Delete any data that did not update within two weeks
Michael Tremer [Tue, 4 Jul 2023 10:01:51 +0000 (10:01 +0000)] 
geofeeds: Delete any data that did not update within two weeks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agogeofeeds: Delete any data on 404
Michael Tremer [Tue, 4 Jul 2023 09:53:41 +0000 (09:53 +0000)] 
geofeeds: Delete any data on 404

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Log any errors to the database
Michael Tremer [Tue, 4 Jul 2023 09:52:25 +0000 (09:52 +0000)] 
importer: Log any errors to the database

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Catch TimeoutError when loading Geofeeds
Michael Tremer [Tue, 4 Jul 2023 09:48:44 +0000 (09:48 +0000)] 
importer: Catch TimeoutError when loading Geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Silence invalid country code warning
Michael Tremer [Tue, 4 Jul 2023 09:48:06 +0000 (09:48 +0000)] 
importer: Silence invalid country code warning

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Skip lines we cannot decode
Michael Tremer [Tue, 4 Jul 2023 09:47:40 +0000 (09:47 +0000)] 
importer: Skip lines we cannot decode

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Convert country codes to uppercase from Geofeeds
Michael Tremer [Tue, 4 Jul 2023 09:38:15 +0000 (09:38 +0000)] 
importer: Convert country codes to uppercase from Geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Silently ignore any empty country codes in Geofeeds
Michael Tremer [Tue, 4 Jul 2023 09:36:50 +0000 (09:36 +0000)] 
importer: Silently ignore any empty country codes in Geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoimporter: Drop method to import routing information from route servers
Michael Tremer [Tue, 4 Jul 2023 09:32:09 +0000 (09:32 +0000)] 
importer: Drop method to import routing information from route servers

telnetlib in Python is deprecated and will be removed in Python 3.13.
Since we don't use this feature any more, this patch removes it
entirely.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoMerge remote-tracking branch 'origin/geofeed'
Michael Tremer [Mon, 3 Jul 2023 15:23:48 +0000 (15:23 +0000)] 
Merge remote-tracking branch 'origin/geofeed'

10 months agoexport: Raise an error when trying to export ipset for both families
Michael Tremer [Mon, 3 Jul 2023 15:05:13 +0000 (15:05 +0000)] 
export: Raise an error when trying to export ipset for both families

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agolocation: Fix correct set name when family is selected
Michael Tremer [Mon, 3 Jul 2023 14:53:50 +0000 (14:53 +0000)] 
location: Fix correct set name when family is selected

This does however not fix the problem if no --family= parameter is being
given because we will then export for multiple families in one file.

This is for example not supported for ipset.

Fixes: #12897
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agonetwork: Drop an unused function to count all networks
Michael Tremer [Sat, 4 Mar 2023 10:52:51 +0000 (10:52 +0000)] 
network: Drop an unused function to count all networks

Reported-by: Gisle Vanem <gvanem@online.no>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agoMakefile: Make sure to ship bash completion files even when disabled
Michael Tremer [Tue, 28 Feb 2023 11:42:50 +0000 (11:42 +0000)] 
Makefile: Make sure to ship bash completion files even when disabled

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agoInstall bash-completion files.
Stefan Schantl [Fri, 24 Feb 2023 16:22:06 +0000 (17:22 +0100)] 
Install bash-completion files.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agoAdd bash-completion file for the location command.
Hans-Christoph Steiner [Fri, 24 Feb 2023 16:22:05 +0000 (17:22 +0100)] 
Add bash-completion file for the location command.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agopo: Add Georgian translation
Temuri Doghonadze [Wed, 22 Feb 2023 14:53:39 +0000 (14:53 +0000)] 
po: Add Georgian translation

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14 months agopo: Update translations
Michael Tremer [Wed, 22 Feb 2023 14:50:03 +0000 (14:50 +0000)] 
po: Update translations

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
17 months agoimporter: Fix parsing gzipped content on invalid Content-Type header
Michael Tremer [Fri, 2 Dec 2022 11:06:01 +0000 (11:06 +0000)] 
importer: Fix parsing gzipped content on invalid Content-Type header

RIPE seems to have misconfigured their webserver which now sends
application/octet-stream for all gzipped files instead of
application/x-gzip or similar which is what the importer would expect.

Instead of only checking the content type, we will now test whether we
see the gzip magic and try to decompress the file then.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoconfigure: Bump version to 0.9.16 0.9.16
Michael Tremer [Sat, 29 Oct 2022 13:25:36 +0000 (13:25 +0000)] 
configure: Bump version to 0.9.16

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoconfigure: Drop superfluous bracket
Michael Tremer [Sat, 29 Oct 2022 13:23:08 +0000 (13:23 +0000)] 
configure: Drop superfluous bracket

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoInstall Perl files to Perl vendor directory
Petr Písař [Tue, 4 Oct 2022 11:51:21 +0000 (13:51 +0200)] 
Install Perl files to Perl vendor directory

On Fedora, the original code placed files into /usr/lib64/perl5/5.36/.
That location is not recognized by Fedora perl.

It also supresses installation and uninstallaion of packlist and perlocal
inventory files. They cannot be reliably uninstalled without
corrupting them.

Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agodatabase: Fix check if a signature is set
Michael Tremer [Sat, 29 Oct 2022 13:12:23 +0000 (13:12 +0000)] 
database: Fix check if a signature is set

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agowriter: Assign correct file descriptor for private keys
Michael Tremer [Sat, 29 Oct 2022 13:12:06 +0000 (13:12 +0000)] 
writer: Assign correct file descriptor for private keys

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agowriter: Fix typo in signature variable
Michael Tremer [Sat, 29 Oct 2022 13:11:48 +0000 (13:11 +0000)] 
writer: Fix typo in signature variable

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agodatabase: Correct error code on verification
Michael Tremer [Fri, 21 Oct 2022 10:42:41 +0000 (10:42 +0000)] 
database: Correct error code on verification

If the first signature check returned an error, the error code was
overwritten by the second signature check, returning an overall
incorrect result.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoCreate the database with read-only permissions for everyone
Michael Tremer [Fri, 21 Oct 2022 10:26:25 +0000 (10:26 +0000)] 
Create the database with read-only permissions for everyone

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoMove location manual from section 8 to section 1 in location-update.service
Petr Písař [Thu, 6 Oct 2022 11:28:51 +0000 (13:28 +0200)] 
Move location manual from section 8 to section 1 in location-update.service

It's a tool a non-superuser can use. It's installed into /usr/bin.

Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoRemove shebangs from Python modules
Petr Písař [Tue, 4 Oct 2022 14:16:07 +0000 (16:16 +0200)] 
Remove shebangs from Python modules

Shebangs only belong to standalone executables.

Fixes: #12956
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoMove location manual from section 8 to section 1
Petr Písař [Thu, 6 Oct 2022 11:28:51 +0000 (13:28 +0200)] 
Move location manual from section 8 to section 1

It's a tool a non-superuser can use. It's installed into /usr/bin.

Fixes: #12957
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Drop the test database and use the distributed one
Michael Tremer [Thu, 20 Oct 2022 13:35:55 +0000 (13:35 +0000)] 
tests: Drop the test database and use the distributed one

Fixes: #12958
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agodatabase: Ship a recent default database
Michael Tremer [Thu, 20 Oct 2022 13:23:14 +0000 (13:23 +0000)] 
database: Ship a recent default database

The database can easily be updated using "make update-database" which
will have to be executed before every release.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoDeclare make dependencies for Perl binding
Petr Písař [Wed, 19 Oct 2022 09:50:23 +0000 (11:50 +0200)] 
Declare make dependencies for Perl binding

Running make in parallel (make -j5) randomly failed with:

/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -include ./config.h -DSYSCONFDIR=\""/etc"\" -I./src  -Wall -Wchar-subscripts -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wshadow -Wsign-compare -Wstrict-prototypes -Wtype-limits  -fno-semantic-interposition -ffunction-sections -fdata-sections -DLIBLOC_PRIVATE -fvisibility=hidden -g -O2 -c -o src/libloc_internal_la-database.lo `test -f 'src/database.c' || echo './'`src/database.c
/usr/bin/ld: cannot find -lloc: No such file or directory
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:482: blib/arch/auto/Location/Location.so] Error 1
make[2]: *** [Makefile:2982: build-perl] Error 2

That's because build-perl did not depend on libloc library.

A similar issue was with running tests and installing files. Moreover,
thess two targets rebuilt Perl binding from scratch.

This patch make the dependencies explicit and turns build-perl into
non-PHONY.

Fixes: #12961
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoRevert "perl: Remove RPATH"
Michael Tremer [Mon, 17 Oct 2022 13:56:49 +0000 (13:56 +0000)] 
Revert "perl: Remove RPATH"

This reverts commit fb574759cbd3a60e64ed2674f514037b9085f078.

Suggested-by: Petr Pisar <ppisar@redhat.com>
Fixes: #12955
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoexport: Fix generating file names for ipset output
Michael Tremer [Tue, 4 Oct 2022 08:47:03 +0000 (08:47 +0000)] 
export: Fix generating file names for ipset output

The tag that is being used in the filename was set after creating the
filename. The order has now been fixed and the export works fine for me.

Fixes: #12944
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoMakefile: Reset Python path
Michael Tremer [Sat, 1 Oct 2022 11:56:31 +0000 (11:56 +0000)] 
Makefile: Reset Python path

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Validate country codes from Geofeeds
Michael Tremer [Tue, 27 Sep 2022 08:49:56 +0000 (08:49 +0000)] 
importer: Validate country codes from Geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Ensure that we only use HTTPS URLs for Geofeeds
Michael Tremer [Tue, 27 Sep 2022 08:05:11 +0000 (08:05 +0000)] 
importer: Ensure that we only use HTTPS URLs for Geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Fix reading Geofeeds from remarks
Michael Tremer [Tue, 27 Sep 2022 08:03:23 +0000 (08:03 +0000)] 
importer: Fix reading Geofeeds from remarks

Only RIPE has a dedicated geofeed field. For others, this data needs to
be read from the remarks section.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Add a search index match geofeed networks quicker
Michael Tremer [Tue, 27 Sep 2022 08:01:23 +0000 (08:01 +0000)] 
importer: Add a search index match geofeed networks quicker

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Use a GIST index for networks from geofeeds
Michael Tremer [Tue, 27 Sep 2022 08:00:59 +0000 (08:00 +0000)] 
importer: Use a GIST index for networks from geofeeds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Use geofeeds for country assignment
Michael Tremer [Tue, 27 Sep 2022 08:00:37 +0000 (08:00 +0000)] 
importer: Use geofeeds for country assignment

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Sync geofeeds
Michael Tremer [Tue, 27 Sep 2022 07:59:37 +0000 (07:59 +0000)] 
importer: Sync geofeeds

Geofeeds are kept in a separate table to only fetch them once per URL.
This needs to be kept in sync which is done before we update any feeds.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Just fetch any exception from the executor
Michael Tremer [Tue, 27 Sep 2022 07:58:41 +0000 (07:58 +0000)] 
importer: Just fetch any exception from the executor

Any exceptions will only be raised in the main thread when they are
fetched from the executor. We do not need to print any other return
values here.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Add command to import geofeeds into the database
Michael Tremer [Mon, 26 Sep 2022 23:11:16 +0000 (23:11 +0000)] 
importer: Add command to import geofeeds into the database

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Store geofeed URLs from RIR data
Michael Tremer [Mon, 26 Sep 2022 22:05:45 +0000 (22:05 +0000)] 
importer: Store geofeed URLs from RIR data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agowriter: Add an empty string to the stringpool
Michael Tremer [Tue, 27 Sep 2022 16:28:44 +0000 (16:28 +0000)] 
writer: Add an empty string to the stringpool

This is useful when we have some offset that isn't initialised. It will
point to the start of the string pool which is some random string that
happened to be added first.

An empty string at least signifies better that something is unset.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agopython: Export __version__ in location module
Michael Tremer [Mon, 26 Sep 2022 23:10:43 +0000 (23:10 +0000)] 
python: Export __version__ in location module

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoconfigure: Fix incorrect database path
Michael Tremer [Tue, 27 Sep 2022 09:54:45 +0000 (09:54 +0000)] 
configure: Fix incorrect database path

Reported-by: Jochen Sprickerhof <jochen@sprickerhof.de>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoimporter: Fix potential SQL command injection
Michael Tremer [Tue, 27 Sep 2022 09:20:05 +0000 (09:20 +0000)] 
importer: Fix potential SQL command injection

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agolocation-importer.in: Add new Amazon region codes
Peter Müller [Mon, 26 Sep 2022 18:33:29 +0000 (18:33 +0000)] 
location-importer.in: Add new Amazon region codes

Note that the precise location of "ap-southeast-6" is currently
undocumented. However, all IPv4 networks allocated are not routed at the
time of writing, hence our allocation of Asia/Pacific should be
acceptable for the time being.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agolocation-importer.in: Conduct sanity checks per DROP list
Peter Müller [Mon, 26 Sep 2022 18:26:44 +0000 (18:26 +0000)] 
location-importer.in: Conduct sanity checks per DROP list

Previously, the lack of distinction between different DROP lists caused
only the last one to be persisted. The second version of this patch
incorporates suggestions from Michael on the first version.

Tested-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoconfigure: Bump version to 0.9.15 0.9.15
Michael Tremer [Mon, 26 Sep 2022 15:39:58 +0000 (15:39 +0000)] 
configure: Bump version to 0.9.15

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agopython: Add new open() interface to easily open a database
Michael Tremer [Tue, 13 Sep 2022 12:06:24 +0000 (12:06 +0000)] 
python: Add new open() interface to easily open a database

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agoconfigure: Make the default database path configurable
Michael Tremer [Tue, 13 Sep 2022 11:56:28 +0000 (11:56 +0000)] 
configure: Make the default database path configurable

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agowriter: Flush everything to disk after writing finishes
Michael Tremer [Fri, 9 Sep 2022 14:28:27 +0000 (14:28 +0000)] 
writer: Flush everything to disk after writing finishes

This might solve a race in the testsuite.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agoRevert "database: Increase page size to 64k"
Michael Tremer [Fri, 9 Sep 2022 14:22:45 +0000 (14:22 +0000)] 
Revert "database: Increase page size to 64k"

This reverts commit 8a330e5575d9f39d2b7716b238e894a650e9605a.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agotests: country: Don't crash when a country could not be found
Michael Tremer [Fri, 9 Sep 2022 14:21:42 +0000 (14:21 +0000)] 
tests: country: Don't crash when a country could not be found

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agocountry: Drop unused CC_LEN
Michael Tremer [Thu, 1 Sep 2022 14:56:54 +0000 (14:56 +0000)] 
country: Drop unused CC_LEN

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agoFix compilation on MacOS X
Michael Tremer [Tue, 23 Aug 2022 13:59:48 +0000 (14:59 +0100)] 
Fix compilation on MacOS X

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agoconfigure: Check for madvise
Michael Tremer [Tue, 23 Aug 2022 13:20:10 +0000 (13:20 +0000)] 
configure: Check for madvise

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agotests: Add signing key to verify signatures
Michael Tremer [Tue, 23 Aug 2022 13:19:57 +0000 (13:19 +0000)] 
tests: Add signing key to verify signatures

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Initialize r on create
Michael Tremer [Tue, 23 Aug 2022 13:15:40 +0000 (13:15 +0000)] 
database: Initialize r on create

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Drop debug line
Michael Tremer [Tue, 23 Aug 2022 13:06:50 +0000 (13:06 +0000)] 
database: Drop debug line

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Drop unused offset variable in objects
Michael Tremer [Tue, 23 Aug 2022 13:05:29 +0000 (13:05 +0000)] 
database: Drop unused offset variable in objects

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Encourage the compiler to inline some functions
Michael Tremer [Tue, 23 Aug 2022 13:04:16 +0000 (13:04 +0000)] 
database: Encourage the compiler to inline some functions

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Call madvise() to tell the kernel that we will randomly access the data
Michael Tremer [Tue, 23 Aug 2022 13:02:50 +0000 (13:02 +0000)] 
database: Call madvise() to tell the kernel that we will randomly access the data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Read all data from the large mmap()
Michael Tremer [Tue, 23 Aug 2022 12:56:10 +0000 (12:56 +0000)] 
database: Read all data from the large mmap()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agohexdump: Don't try to dump any empty memory
Michael Tremer [Tue, 23 Aug 2022 12:54:12 +0000 (12:54 +0000)] 
hexdump: Don't try to dump any empty memory

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agodatabase: Read header from mapped data
Michael Tremer [Tue, 23 Aug 2022 12:11:26 +0000 (12:11 +0000)] 
database: Read header from mapped data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>