Releases: maxmind/libmaxminddb
Releases · maxmind/libmaxminddb
Added missing header back to source dist
1.1.1 Release for 1.1.1
Improved error handling, Windows fixes, Autotool fixes
- Previously, when there was an error in
MMDB_open(),errnowould
generally be overwritten during cleanup, preventing a useful value from
being returned to the caller. This was changed so that theerrnovalue
from the function call that caused the error is restored before returning to
the caller. In particular, this is important forMMDB_IO_ERRORerrors as
checkingerrnois often the only way to determine what actually failed. - If
mmap()fails due to running out of memory space, an
MMDB_OUT_OF_MEMORY_ERRORis now returned fromMMDB_openrather 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.
Minor fixes and Windows improvements
- If you used a non-integer string as an array index when doing a lookup with
MMDB_get_value,MMDB_vget_value, orMMDB_aget_value, the first element
of the array would be returned rather than an error. A
MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERRORerror will now be returned.
GitHub #61. - If a number larger than
LONG_MAXwas used in the same functions,
LONG_MAXwould have been used in the lookup. Now a
MMDB_INVALID_LOOKUP_PATH_ERRORerror 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. Patch by Andre.
GitHub #69. - A test failure in
t/compile_c++_t.plon new installs was fixed.
Windows and C++ improvements
1.0.3 - 2014-12-02
- A memory and file handle leak on Win32 was fixed when getting the database
size fails. Patch by Federico G. Schwindt. GitHub PR #49. - Documentation fix. Federico G. Schwindt. GitHub PR #50.
- Added Visual Studio build files and fixed incorrect CreateFileMappingA
usage. Patch by Andre. GitHub #52. - The includes for the Windows header files were made lowercase in order to
match the actual file names on case-sensitive file systems. GitHub PR #57. - Removed
realloc()calls that caused warnings on Windows and generally
cleaned up memory allocation inMMDB_vget_value(). See relevant discussion
in GitHub #52. - Added an
extern "C" { ... }wrapper to maxminddb.h when compiling with a
C++ compiler. GitHub #55.
Bug fixes
- Fixed a number of small issues found by Coverity.
- When freeing the MMDB struct in
MMDB_close()we make sure to set the
pointers to NULL after freeing the memory they point to. This makes it safe
to callMMDB_closemore than once on the sameMMDB_sstruct
pointer. Before this change, calling this function twice on the same pointer
could cause the code to free memory that belonged to something else in the
process. Patch by Shuxin Yang. GitHub PR #41.
Added missing LICENSE and NOTICE files to distribution.
No code changes.
First production release
- Bumped version to 1.0.0. No code changes.
Memory leak and FreeBSD fixes
- There was a leak in the
MMDB_open()sub when it was called against a file
which did not contain any MMDB metadata. Reported by Federico
G. Schwindt. GitHub issue #36. - Fixed an error that occurred when passing AI_V4MAPPED to
getaddrinfo()on
FreeBSD. Apparently this macro is defined but doesn't work the way we
expected it to on that platform. - Made sure to call
freeaddrinfo()when a call togetaddrinfo()fails but
still allocated memory. - Fixed a segfault in the tests that occurred on FreeBSD if we passed a NULL
value tofreeaddrinfo(). - Added a missing step to the README.md file for installing from our GitHub
repository. Patch by Yasith Fernando. - Added instructions for installing via Homebrew. Patch by Yasith Fernando.
Add missing file to tarball
- The previous tarball failed to compile because it was missing the
src/maxminddb-compat-util.h file. Reported by Günter Grodotzki. GitHub issue
#18.
MinGW support, consting, and license change
- Added support for compiling in the MinGW environment. Patch by Michael Eisendle.
- Added const declarations to many spots in the public API. None of these should require changes to existing code.
- Various documentation improvements.
- Changed the license to the Apache 2.0 license.