Initialize for libmaxminddb
This commit is contained in:
commit
5cf4eb497c
5 changed files with 261 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
libmaxminddb-1.4.3.tar.gz
|
1
.libmaxminddb.metadata
Normal file
1
.libmaxminddb.metadata
Normal file
|
@ -0,0 +1 @@
|
|||
6d9371e8ce83861ad172eea16212eb49c5b104713dd94e98c8a26b3772a374f5 libmaxminddb-1.4.3.tar.gz
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
|
@ -0,0 +1 @@
|
|||
libmaxminddb0
|
160
libmaxminddb.changes
Normal file
160
libmaxminddb.changes
Normal file
|
@ -0,0 +1,160 @@
|
|||
* Fri Aug 7 2020 andreas.stieger@gmx.de
|
||||
- update to 1.4.3:
|
||||
* Use of uninitialized memory in dump_entry_data_list() could have
|
||||
cause a heap buffer flow in mmdblookup [bsc#1175006]
|
||||
* Wed Nov 20 2019 dimstar@opensuse.org
|
||||
- Add baselibs.conf: build libmaxminddb0-32bit, which is required
|
||||
by libdns1310-32bit (new dependency gained).
|
||||
* Sun Nov 3 2019 andreas.stieger@gmx.de
|
||||
- update to 1.4.2:
|
||||
* negative array index for MMDB_*get_value specifies the last element
|
||||
* Fix a memory leak when using custom databases without languages
|
||||
defined in the metadata
|
||||
* mmdblookup now displays the prefix length for the record when
|
||||
using the verbose flag
|
||||
* Thu May 17 2018 jweberhofer@weberhofer.at
|
||||
- Run tests
|
||||
- Packaged LICENSE
|
||||
- Update to version 1.3.2
|
||||
* Allocate memory for MMDB_entry_data_list_s structs in separate chunks
|
||||
rather than one large chunk. This simplifies accessing memory in
|
||||
MMDB_get_entry_data_list() and increases performance. It builds on the
|
||||
changes in 1.3.0 and 1.3.1.
|
||||
* We no longer export data_pool_* symbols. These are internal functions
|
||||
but we were previously exporting them. Pull request by Faidon Liambotis.
|
||||
gh#maxmind/libmaxminddb#162.
|
||||
* Build with POSIX.1-2008 by default if the system supports it. This allows
|
||||
use of open() with O_CLOEXEC. We retain support for systems that
|
||||
provide only POSIX.1-2001.
|
||||
Open the database with the O_CLOEXEC flag if the system provides it.
|
||||
* This avoids cases where we could leak fds when called in multi-threaded
|
||||
programs that fork() and exec(). Original report and PR by Brandon L
|
||||
Black.
|
||||
* Added a test to ensure we export only intended symbols (e.g. MMDB_*).
|
||||
- Update to version 1.3.1
|
||||
* Fix build problems related to rpl_malloc(). Pull request by Rainer
|
||||
Gerhards. gh#maxmind/libmaxminddb
|
||||
* Fix a race to set and read data in a field on the MMDB_s struct
|
||||
(ipv4_start_node). gh#maxmind/libmaxminddb#153.
|
||||
* Fix cases of invalid memory access when using
|
||||
MMDB_get_entry_data_list(). This was introduced in 1.3.0 and occurred
|
||||
when performing large lookups. gh#maxmind/libmaxminddb#153.
|
||||
- Update to version 1.3.0
|
||||
* Perform fewer memory allocations in MMDB_get_entry_data_list(). This
|
||||
significantly improves its performance. gh#maxmind/libmaxminddb#147.
|
||||
* Fix mmdblookup's build epoch reporting on some systems. Big endian
|
||||
systems with a 32-bit time_t no longer show a database build date of
|
||||
1970-01-01 00:00:00. Pull request by Rainer Jung. gh#maxmind/libmaxminddb#143.
|
||||
- Update to version 1.2.1
|
||||
* Use autoconf to check the system's endianness rather than trying to do this
|
||||
with compiler-defined macros like __BYTE_ORDER__. Apparently this didn't
|
||||
work properly on a Sparc system. gh#maxmind/libmaxminddb#120.
|
||||
* Several compiler warnings on Visual C++ were fixed. Pull request by Marcel
|
||||
Raad. gh#maxmind/libmaxminddb#130.
|
||||
* Fix segmentation faults found in MMDB_open() using afl-fuzz. This
|
||||
occurred on corrupt databases that had a data pointer large enough to
|
||||
cause an integer overflow when doing bound checking. Reported by Ryan
|
||||
Whitworth. gh#maxmind/libmaxminddb#140.
|
||||
* Add --disable-tests option to configure. Pull request by Fabrice
|
||||
Fontaine. gh#maxmind/libmaxminddb#136.
|
||||
* Tue Apr 12 2016 p.drouand@gmail.com
|
||||
- Update to version 1.2.0
|
||||
* Four additional fields were added to the end of the
|
||||
MMDB_search_node_s struct returned by MMDB_read_node. These
|
||||
fields allow the user to iterate through the search tree without
|
||||
making undocumented assumptions about how this library works
|
||||
internally and without knowing the specific details of the database
|
||||
format. GitHub #110 (https://github.com/maxmind/libmaxminddb/issues/110)
|
||||
- Changes from version 1.1.5
|
||||
* Previously, reading a database with a pointer in the metadata would
|
||||
cause an MMDB_INVALID_METADATA_ERROR to be returned. This was due to
|
||||
an invalid offset being used when calculating the pointer. The
|
||||
data_section and metadata_section fields now both point to the
|
||||
beginning of the data section. Previously, data_section pointed
|
||||
to the beginning of the data separator. This will not affect
|
||||
anyone using only documented fields from MMDB_s.
|
||||
* MMDB_lookup_sockaddr will set mmdb_error to
|
||||
MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR if an IPv6 sockaddr is
|
||||
looked up in an IPv4-only database. Previously only
|
||||
MMDB_lookup_string would set this error code.
|
||||
* When resolving an address, this library now relies on getaddrinfo
|
||||
to determine the address family rather than trying to guess it itself.
|
||||
- Changes from version 1.1.4
|
||||
* Packaging fixes. The 1.1.3 tarball release contained a lot of extra
|
||||
junk in the t/ directory.
|
||||
- Changes from version 1.1.3
|
||||
* Added several additional checks to make sure that we don't attempt to read
|
||||
past the end of the databases's data section. GitHub #103
|
||||
(https://github.com/maxmind/libmaxminddb/pull/103).
|
||||
* When searching for the database metadata, there was a bug that caused
|
||||
the code to think it had found valid metadata when none existed. In
|
||||
addition, this could lead to an attempt to read past the end of the
|
||||
database entirely. Finally, if there are multiple metadata markers
|
||||
in the database, we treat the final one as the start of the metdata,
|
||||
instead of the first. GitHub #102 (https://github.com/maxmind/libmaxminddb/pull/102)
|
||||
* Don't attempt to mmap a file that is too large to be mmapped on the system.
|
||||
GitHub #101 (https://github.com/maxmind/libmaxminddb/pull/101).
|
||||
* Added a missing out of memory check when reading a file's metadata.
|
||||
GitHub #101 (https://github.com/maxmind/libmaxminddb/pull/101).
|
||||
* Added several additional checks to make sure that we never attempt
|
||||
to malloc more than SIZE_MAX memory, which would lead to integer
|
||||
overflow. This could only happen with pathological databases.
|
||||
GitHub #101 (https://github.com/maxmind/libmaxminddb/pull/101).
|
||||
* Wed Nov 18 2015 p.drouand@gmail.com
|
||||
- Update to version 1.1.2
|
||||
* IMPORTANT: This release includes a number of important security
|
||||
fixes. Among these fixes is improved validation of the database
|
||||
metadata. Unfortunately, MaxMind GeoIP2 and GeoLite2 databases
|
||||
created earlier than January 28, 2014, had an invalid data type
|
||||
for the record_size in the metadata. Previously these databases
|
||||
worked on little endian machines with libmaxminddb but did not
|
||||
work on big endian machines. Due to increased safety checks when
|
||||
reading the file, these databases will no longer work on any
|
||||
platform. If you are using one of these databases, we recommend
|
||||
that you upgrade to the latest GeoLite2 or GeoIP2 database
|
||||
* Added pkg-config support.
|
||||
* Several segmentation faults found with afl-fuzz were fixed. These
|
||||
were caused by missing bounds checking and missing verification
|
||||
of data type.
|
||||
MMDB_get_entry_data_list will now fail on data structures with a
|
||||
depth greater than 512 and data structures that are cyclic. This
|
||||
should not affect any known MaxMind DB in production. All databases
|
||||
produced by MaxMind have a depth of less than five.
|
||||
- Add a build dependency to pkg-config
|
||||
* Sun Jul 26 2015 p.drouand@gmail.com
|
||||
- Update to version 1.1.1
|
||||
* Added `maxminddb-compat-util.h` as a source file to dist.
|
||||
- Changes from version 1.1.0
|
||||
* Previously, when there was an error in `MMDB_open()`, `errno` would
|
||||
generally be overwritten during cleanup, preventing a useful value from
|
||||
being returned to the caller. This was changed so that the `errno` value
|
||||
from the function call that caused the error is restored before returning to
|
||||
the caller. In particular, this is important for `MMDB_IO_ERROR` errors as
|
||||
checking `errno` is often the only way to determine what actually failed.
|
||||
* If `mmap()` fails due to running out of memory space, an
|
||||
`MMDB_OUT_OF_MEMORY_ERROR` is now returned from `MMDB_open` rather than an
|
||||
`MMDB_IO_ERROR`.
|
||||
* On Windows, the `CreateFileMappingA()` handle was not properly closed if
|
||||
opening the database succeeded. Fixed by Bly Hostetler. GitHub #75 & #76.
|
||||
* On Windows, we were not checking the return value of `CreateFileMappingA()`
|
||||
properly for errors. Fixed by Bly Hotetler. GitHub #78.
|
||||
* Several warnings from Clang's scan-build were fixed. GitHub #86.
|
||||
* All headers are now installed in `$(includedir)`. GitHub #89.
|
||||
* We no longer install `maxminddb-compat-util.h`. This header was intended for
|
||||
internal use only.
|
||||
* Wed Jan 21 2015 p.drouand@gmail.com
|
||||
- Update to version 1.0.4
|
||||
* If you used a non-integer string as an array index when doing a
|
||||
lookup with MMDB_get_value, MMDB_vget_value, or MMDB_aget_value,
|
||||
the first element of the array would be returned rather than an
|
||||
error. A MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR error will
|
||||
now be returned. GitHub #61.
|
||||
* If a number larger than LONG_MAX was used in the same functions,
|
||||
LONG_MAX would have been used in the lookup. Now a
|
||||
MMDB_INVALID_LOOKUP_PATH_ERROR error will be returned.
|
||||
* Visual Studio build files were added for unit tests and some
|
||||
compatibility issues with the tests were fixed.
|
||||
* Visual Studio project was updated to use property pages. GitHub #69.
|
||||
* A test failure in t/compile_c++_t.pl on new installs was fixed.
|
||||
* Sun Dec 21 2014 p.drouand@gmail.com
|
||||
- Initial release (version 1.0.3)
|
98
libmaxminddb.spec
Normal file
98
libmaxminddb.spec
Normal file
|
@ -0,0 +1,98 @@
|
|||
#
|
||||
# spec file for package libmaxminddb
|
||||
#
|
||||
# Copyright (c) 2022-2023 ZhuningOS
|
||||
#
|
||||
|
||||
|
||||
%define lname libmaxminddb0
|
||||
Name: libmaxminddb
|
||||
Version: 1.4.3
|
||||
Release: 1.6.1
|
||||
Summary: C library for the MaxMind DB file format
|
||||
License: Apache-2.0
|
||||
URL: https://dev.maxmind.com/
|
||||
Source: https://github.com/maxmind/libmaxminddb/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||
Source99: baselibs.conf
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
%description
|
||||
The libmaxminddb library provides a C library for reading MaxMind DB
|
||||
files, including the GeoIP2 databases from MaxMind. This is a
|
||||
custom binary format designed to facilitate fast lookups of IP
|
||||
addresses while allowing for great flexibility in the type of
|
||||
data associated with an address.
|
||||
|
||||
%package -n %{lname}
|
||||
Summary: C library for the MaxMind DB file format
|
||||
|
||||
%description -n %{lname}
|
||||
The libmaxminddb library provides a C library for reading MaxMind DB
|
||||
files, including the GeoIP2 databases from MaxMind. This is a
|
||||
custom binary format designed to facilitate fast lookups of IP
|
||||
addresses while allowing for great flexibility in the type of
|
||||
data associated with an address.
|
||||
|
||||
%package -n mmdblookup
|
||||
Summary: An utility to look up an IP address in a MaxMind DB file
|
||||
|
||||
%description -n mmdblookup
|
||||
The libmaxminddb library provides a C library for reading MaxMind DB
|
||||
files, including the GeoIP2 databases from MaxMind. This is a
|
||||
custom binary format designed to facilitate fast lookups of IP
|
||||
addresses while allowing for great flexibility in the type of
|
||||
data associated with an address.
|
||||
|
||||
This package contains the mmdblookup binary.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the MaxMind DB file format library
|
||||
Requires: %{lname} = %{version}
|
||||
|
||||
%description devel
|
||||
The libmaxminddb library provides a C library for reading MaxMind DB
|
||||
files, including the GeoIP2 databases from MaxMind. This is a
|
||||
custom binary format designed to facilitate fast lookups of IP
|
||||
addresses while allowing for great flexibility in the type of
|
||||
data associated with an address.
|
||||
|
||||
This package contains the development files for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure --disable-static
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%check
|
||||
make %{?_smp_mflags} check
|
||||
|
||||
%install
|
||||
%make_install
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
%fdupes -s %{buildroot}/%{_prefix}
|
||||
|
||||
%post -n %{lname} -p /sbin/ldconfig
|
||||
%postun -n %{lname} -p /sbin/ldconfig
|
||||
|
||||
%files -n %{lname}
|
||||
%license LICENSE
|
||||
%{_libdir}/%{name}.so.*
|
||||
|
||||
%files -n mmdblookup
|
||||
%doc doc/mmdblookup.md
|
||||
%{_bindir}/mmdblookup
|
||||
%{_mandir}/man1/mmdblookup.*
|
||||
|
||||
%files devel
|
||||
%doc Changes.md NOTICE README.md doc/mmdblookup.md doc/libmaxminddb.md
|
||||
%license LICENSE
|
||||
%{_includedir}/*
|
||||
%{_libdir}/%{name}.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%changelog
|
Loading…
Add table
Reference in a new issue