]>
git.ipfire.org Git - people/sennis/libloc.git/log
Michael Tremer [Thu, 12 Dec 2019 13:34:21 +0000 (13:34 +0000)]
test-database: Remove signature checks
These are performed in an extra test now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 13:18:51 +0000 (13:18 +0000)]
writer: Erase the padding
We should not leak any data from the stack into the
database and this makes debugging easier, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 13:13:31 +0000 (13:13 +0000)]
Log blocks that are being fed into the signature
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 13:02:44 +0000 (13:02 +0000)]
writer: Put whole header into the hash instead of only the first 8 bytes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 12:52:41 +0000 (12:52 +0000)]
test-signature: Fix path to key
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 12:47:28 +0000 (12:47 +0000)]
Log the signature in debug mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 12:16:19 +0000 (12:16 +0000)]
database: Catch any errors from EVP_DigestVerify_Update()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Dec 2019 12:08:53 +0000 (12:08 +0000)]
test: Add test to check that invalid signatures do not validate
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Wed, 11 Dec 2019 10:38:14 +0000 (11:38 +0100)]
perl: Add get_continent_code()
This function allows to get the continent code by a given country code.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 11 Dec 2019 11:21:05 +0000 (11:21 +0000)]
database: Correctly handle error codes from OpenSSL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 10 Dec 2019 18:53:21 +0000 (18:53 +0000)]
location-downloader: Add command to verify the downloaded database manually
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 10 Dec 2019 18:09:38 +0000 (18:09 +0000)]
Install databases to /var/lib/location
This data is being modified and should therefore go to
/var/lib instead of /usr/share.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 10 Dec 2019 18:09:22 +0000 (18:09 +0000)]
Import our public signing key
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 9 Dec 2019 20:15:58 +0000 (20:15 +0000)]
location-downloader: Exit with 3 when the database was already up to date
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 9 Dec 2019 20:09:36 +0000 (20:09 +0000)]
location-exporter: Accept A1, A2, A3 as compat country codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Sun, 8 Dec 2019 10:11:56 +0000 (11:11 +0100)]
location-exporter: Allow exporting by family
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 9 Dec 2019 17:08:59 +0000 (17:08 +0000)]
location-query: Translate family only when it is set
Fixes: #12253
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Fri, 6 Dec 2019 12:50:29 +0000 (13:50 +0100)]
debian: Install location-exporter
This binary has no manpage yet, so lintian will provide a
warning of the non existing manpage.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 17:20:23 +0000 (17:20 +0000)]
location-exporter: Uncomment accidentially commented line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 15:47:16 +0000 (15:47 +0000)]
location-export: Validate country codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 15:38:34 +0000 (15:38 +0000)]
location-exporter: ipset: Add line break after header
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 15:37:26 +0000 (15:37 +0000)]
location-exporter: Fix syntax errors for nftables export
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 15:34:06 +0000 (15:34 +0000)]
perl: Make verify() a function on the database
This makes the API similar to the Python version
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 14:54:29 +0000 (14:54 +0000)]
location-query: Do not validate database every time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 5 Dec 2019 14:48:00 +0000 (14:48 +0000)]
location-exporter: New script to convert database into compatible formats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Nov 2019 19:44:25 +0000 (19:44 +0000)]
location-query: Allow filtering networks by family
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Nov 2019 19:16:05 +0000 (19:16 +0000)]
location-downloader: Verify the database after download
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Fri, 29 Nov 2019 19:01:45 +0000 (19:01 +0000)]
perl: Verify database when it is being opened
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Nov 2019 18:56:25 +0000 (18:56 +0000)]
database: Benchmark time it takes to verify the signature
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Nov 2019 15:03:16 +0000 (15:03 +0000)]
Implement signing/verifying databases
Databases can now carry a builtin signature which can be verified
when the database is being loaded.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 22:29:05 +0000 (22:29 +0000)]
database: Add scaffolding for checking signatures
The added function computes a SHA512 hash of the database
file where the signature is cleared.
The actual cryptographic check of the signature is
not implemented, yet.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 21:41:52 +0000 (21:41 +0000)]
configure: Actually pass detected libraries over to make
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 16:50:47 +0000 (16:50 +0000)]
Link against OpenSSL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 16:38:01 +0000 (16:38 +0000)]
Makefile: Cleanup Debian tarball
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 16:35:53 +0000 (16:35 +0000)]
database: Log error when network ID is out of range
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 13:51:21 +0000 (13:51 +0000)]
debian: Ignore all temporary files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 26 Nov 2019 13:50:57 +0000 (13:50 +0000)]
debian: Add command to build Debian packages easily
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Mon, 25 Nov 2019 17:52:29 +0000 (18:52 +0100)]
Add support for packaging Debian (deb) packages
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Nov 2019 16:56:26 +0000 (16:56 +0000)]
Bump version to 0.9.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Nov 2019 16:55:08 +0000 (16:55 +0000)]
configure: Fix platform detection
Checking for GNU platforms now instead of just Linux.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Thu, 21 Nov 2019 14:51:51 +0000 (15:51 +0100)]
perl: Provide library location when running the testsuite
Otherwise the perl testsuite could not locate libloc and will fail.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 24 Nov 2019 21:05:23 +0000 (21:05 +0000)]
libresolv: Check different functions on different platforms
I could not find a function that is both present on Linux and
Mac OS X, so we now have to test differently.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 24 Nov 2019 20:58:03 +0000 (20:58 +0000)]
Make library build on Mac OS X
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 19 Oct 2019 11:10:26 +0000 (12:10 +0100)]
Fix building man pages on Mac OS X
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 24 Nov 2019 19:20:00 +0000 (19:20 +0000)]
downloader: Check DNS for most recent version
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 22 Nov 2019 14:08:22 +0000 (14:08 +0000)]
po: Update German translation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 22 Nov 2019 14:07:49 +0000 (14:07 +0000)]
Makefile: Do not indent variable assignments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 21 Nov 2019 12:48:18 +0000 (12:48 +0000)]
perl: Remove RPATH
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 17 Nov 2019 14:55:31 +0000 (14:55 +0000)]
location-downloader: Add man page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 17 Nov 2019 14:52:24 +0000 (14:52 +0000)]
Add systemd unit files for location-downloader
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 17 Nov 2019 13:57:40 +0000 (13:57 +0000)]
location-downloader: Add proper logging infrastructure
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 17 Nov 2019 13:45:39 +0000 (13:45 +0000)]
Add download script to automatically update the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 15:58:59 +0000 (15:58 +0000)]
location-query: Add listing networks by flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 15:26:22 +0000 (15:26 +0000)]
Fix names of flags
They belong to the networks, so that should be reflected in the name.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 14:22:35 +0000 (14:22 +0000)]
location-query: Add output for ipset
Fixes: #12202
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 14:18:59 +0000 (14:18 +0000)]
location-query: Allow exporting data for nftables
Fixes: #12201
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 13:53:02 +0000 (13:53 +0000)]
location-query: Support listing networks for xt_geoip
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 11:22:56 +0000 (11:22 +0000)]
network: Initialize country code with nothing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 11:20:08 +0000 (11:20 +0000)]
Improve error reporting when a network could not be read from the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Nov 2019 11:14:39 +0000 (11:14 +0000)]
python: Raise error when a network/AS could not be read
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 22 Oct 2019 08:42:41 +0000 (08:42 +0000)]
test-stringpool: Include stdint.h on Linux
This is required to have intmax_t declared.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 19 Oct 2019 10:54:52 +0000 (11:54 +0100)]
Fix off_t casting in tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 19 Oct 2019 10:53:34 +0000 (11:53 +0100)]
database: Fix checking pointer
This always evaluated to true which is not what was intended here.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 19 Oct 2019 10:51:59 +0000 (11:51 +0100)]
Correct cast off_t to intmax_t before printing it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Oct 2019 18:43:59 +0000 (19:43 +0100)]
Merge branch 'apple'
Michael Tremer [Fri, 18 Oct 2019 18:43:27 +0000 (19:43 +0100)]
perl: Do not insist on Perl 5.28 or higher
We have no special requirements here.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Oct 2019 18:36:21 +0000 (19:36 +0100)]
linker: Do not use --gc-sections on non-GNU platforms
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Oct 2019 18:22:51 +0000 (19:22 +0100)]
country: Include compat.h to build on other arches
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 17 Oct 2019 15:45:19 +0000 (15:45 +0000)]
country: Fix comparison function
This return value was incorrect which caused that sorting
countries did not work and therefore could not been found
in the database any more.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 17 Oct 2019 15:45:06 +0000 (15:45 +0000)]
test: Add another country for test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 12 Jan 2019 16:18:26 +0000 (16:18 +0000)]
Detect if linker supports --version-script=
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 12 Jan 2019 16:07:31 +0000 (16:07 +0000)]
Format off_t data types properly for printing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 12 Jan 2019 15:57:29 +0000 (15:57 +0000)]
Make package compile on Mac OS X
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 12 Jan 2019 15:25:54 +0000 (15:25 +0000)]
Fall back to getenv() when secure_getenv() is not available
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 15:21:21 +0000 (15:21 +0000)]
python: Implement lookup function for countries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 15:10:26 +0000 (15:10 +0000)]
python: Extend bindings for countries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 15:06:31 +0000 (15:06 +0000)]
writer: Write countries before pool is being written
Otherwise the names will obviously not be written
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 14:44:36 +0000 (14:44 +0000)]
country: Fix segmentation fault when continent code is not set
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 14:01:30 +0000 (14:01 +0000)]
country: Remove string termination
This should not be necessary and overwrites the buffer
in some cases.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:58:07 +0000 (13:58 +0000)]
database format: Add some padding to header
This can be used to add things later without
incrementing the database version.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:56:14 +0000 (13:56 +0000)]
Fix re-ordering flags which are now only 16 bits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:54:42 +0000 (13:54 +0000)]
country: Use one function to copy country codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:40:02 +0000 (13:40 +0000)]
country: Add simple function to test if a country code is valid
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:30:05 +0000 (13:30 +0000)]
country: Fix SEGV when accessing the string pool
This was caused because I am too stupid to count to two.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:23:19 +0000 (13:23 +0000)]
database format: Reduce number of flags to 16
32 is very excessive and I hope we will never need that many.
Hence we reserve the remaining space.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Oct 2019 13:20:20 +0000 (13:20 +0000)]
Add a dictionary with countries to the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 17:41:34 +0000 (17:41 +0000)]
python: Use shorthand function to export __version__
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 17:38:53 +0000 (17:38 +0000)]
python: Expose flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 17:24:17 +0000 (17:24 +0000)]
Handle A1, A2, A3 as special cases when searching for countries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 17:02:51 +0000 (17:02 +0000)]
Implement searching for networks with a certain flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 16:57:33 +0000 (16:57 +0000)]
Add flags for A1, A2 and A3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 13 Oct 2019 16:49:57 +0000 (16:49 +0000)]
Add flags to network objects
This changes the database format on disk.
Flags can be used to mark networks in order to add more information
later than only ASN and CC.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Oct 2019 20:03:07 +0000 (20:03 +0000)]
man: Add location-query.8
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Oct 2019 19:14:47 +0000 (19:14 +0000)]
database: Print timings in milliseconds
We are so fast that seconds do not make any sense.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Oct 2019 18:47:37 +0000 (18:47 +0000)]
test: Fix compiling AS test after header change
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Oct 2019 18:44:49 +0000 (18:44 +0000)]
Merge branch 'perl'
Stefan Schantl [Wed, 2 Oct 2019 17:25:51 +0000 (19:25 +0200)]
perl: Testsuite: Add tests for lookup_asn()
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Wed, 2 Oct 2019 17:10:21 +0000 (19:10 +0200)]
perl: Add function to perform AS number lookups.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Wed, 2 Oct 2019 17:07:53 +0000 (19:07 +0200)]
perl: Testsuite: Add tests for invalid address and address not in the database.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Wed, 2 Oct 2019 17:07:52 +0000 (19:07 +0200)]
perl: Fix lookup if given address is invalid or not in DB.
In this case now undef will be returned.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>