Releases: maxmind/libmaxminddb
Releases · maxmind/libmaxminddb
1.5.0
1.4.3
- On Windows, always call
CreateFileW
instead ofCreateFile
.
CreateFile
could be mapped toCreateFileA
and not work as expected.
Pull request by Sandu Liviu Catalin. GitHub #228. - Fixed use of uninitialized memory in
dump_entry_data_list()
that could
cause a heap buffer flow inmmdblookup
. As part of this fix, most uses
ofmalloc
were replaced withcalloc
. Reported by azhou. GitHub #236.
1.4.2
1.4.1 - DO NOT USE
DO NOT USE. UNINTENDED ABI BREAK.
- The man page links for function calls were not generated correctly in
1.4.0. This has been corrected.
1.4.0 - DO NOT USE
DO NOT USE. UNINTENDED ABI BREAK.
- A negative array index may now be used with
MMDB_get_value
,
MMDB_vget_value
, andMMDB_aget_value
. This specifies the element
from the end of the array. For instance,-1
would refer to the
last element of the array. PR by Kyle Box. GitHub #205. - On Windows, the file name passed to
MMDB_open
is now expected to be
UTF-8 encoded. This allows Unicode characters to be used in file names.
As part of this change,mmdblookup
on Windows now converts its
arguments to UTF-8. PR by Gerald Combs. GitHub #189 & #191. - Fix a memory leak that occurred when freeing an
MMDB_s
where the
database had no languages defined in the metadata. If you are using an
official MaxMind database, this leak does not affect you. Pull request
by Kókai Péter. GitHub #180. - Add
--disable-binaries
option toconfigure
. Pull request by Fabrice
Fontaine. GitHub #166. - Previous releases incorrectly included
*.Po
files in thet
directory.
This has been corrected. Reported by Daniel Macks. GitHub #168. - The internal use of the
MMDB_s
now has theconst
modifier. Public
functions that accepted anMMDB_s
as an argument now also declare it as
const
. Pull request by Kurt Johnson. GitHub #199. mmdblookup
now displays the prefix length for the record when using
the verbose flag. GitHub #172.
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.
GitHub #162. - Build with POSIX.1-2008 by default if the system supports it. This allows
use ofopen()
withO_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 thatfork()
andexec()
. Original report and PR by Brandon L
Black. - Added a test to ensure we export only intended symbols (e.g. MMDB_*).
1.3.1
- Fix build problems related to
rpl_malloc()
. Pull request by Rainer
Gerhards. GitHub #152. - Fix a race to set and read data in a field on the
MMDB_s
struct
(ipv4_start_node
). GitHub #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. GitHub #153.
1.3.0
- Perform fewer memory allocations in
MMDB_get_entry_data_list()
. This
significantly improves its performance. GitHub #147. - Fix
mmdblookup
's build epoch reporting on some systems. Big endian
systems with a 32-bittime_t
no longer show a database build date of
1970-01-01 00:00:00. Pull request by Rainer Jung. GitHub #143.
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. GitHub #120. - Several compiler warnings on Visual C++ were fixed. Pull request by Marcel
Raad. GitHub #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. GitHub #140. - Add --disable-tests option to
configure
. Pull request by Fabrice
Fontaine. GitHub #136.
1.2.0 - Extended API for Iteration of Database
- Four additional fields were added to the end of the
MMDB_search_node_s
struct returned byMMDB_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.