AccountID
/ UserId
999999 along with an all-zero license key when
downloading free databases. However, the use of this combination is not
recommended and may break in future versions.LicenseKey
will now be displayed.AccountID
,
UserId
, or LicenseKey
set in your
configuration file or they must be set to the zero values previously
recommended in our documentation. Any other value will cause an
authorization error.Protocol
,
SkipPeerVerification
, and
SkipHostnameVerification
are no longer supported. If they
are present in the configuration file, they will be ignored. HTTPS with
peer and hostname verification will be used on all requests.AccountID
or the deprecated UserId
when
downloading a paid database. Previously, when downloading the GeoIP
Legacy Country database, you were able to only provide the
LicenseKey
.geoipupdate-pureperl.pl
has been removed and
will no longer be distributed with geoipupdate
. This Perl
script had known issues and did not have feature parity with the C
implementation. If you were using the Perl version, we recommend that
you switch to the C version. If you are not able to do this, you may
continue using the Perl version distributed with 2.5.0./app/update_getipaddr
, /app/update
, and
/app/update_secure
.
/geoip/databases/{edition_id}/update
is now used
instead.gu_strnlen()
dereferencing a pointer
before checking that it was in array bounds. Issue found by fcntl.LockFile
is not removed from the
filesystem after a successful exit from the program. GitHub issue
#79.LockFile
option in the
GeoIP.conf
man page. GitHub issue #64.PreserveFileTimes
. If
set, the downloaded files will get the same modification times as their
original on the server. Default is 0
(unset). PR by Rainer
Jung. GitHub PR #63.curl_easy_setopt()
.
This fixes warnings generated by libcurl's typecheck-gcc.h
.
PR by Michael Kaufmann. GitHub PR #61.GeoIP.conf
, the UserId
option was
renamed to AccountID
and the ProductIds
option
was renamed to EditionIDs
. The old options will continue to
work, but upgrading to the new names is recommended for forward
compatibility.geoipupdate
now checks that the database directory is
writable. If it is not, it reports the problem and aborts.geoipupdate
now acquires a lock when starting up to
ensure only one instance may run at a time. A new option,
LockFile
, exists to set the file to use as a lock. By
default, LockFile
is the file
.geoipupdate.lock
in the database directory.geoipupdate
now prints out additional information from
the server when a download request results in something other than HTTP
status 2xx. This provides more information when the API does not respond
with a database file. In conjunction with changes to the download
service itself, errors such as lacking a subscription no longer show up
with the message "not a valid gzip file".make install
.
Reported by Antonios Karagiannis. GitHub #29.ERROR
was used. This
caused issues building on Windows. Reported by Gisle Vanem. GitHub
#36.GeoIP.conf.default
. This was added to
the dist.$(sysconfdir)
added in 2.3.0
incorrectly ran if the directory already existed rather than if it did
not exist.geoipupdate
now uses TCP keep-alive when compiled with
cURL 7.25 or greater.geoipupdate
would
output binary data to stderr. It now displays an appropriate error
message.$(sysconfdir)
is now created if it doesn't exist. PR by
Philip Prindeville. GitHub #33.geoipupdate
now calls fsync
on the
database directory after a rename
to make it durable in the
event of a crash.geoipupdate
now verifies the MD5 of the new database
before deploying it. If the database MD5 does not match the expected
MD5, geoipupdate
will exit with an error.base64.c
and base64.h
was
switched to a version under GPL 2+ to prevent a license conflict.LICENSE
file was added to the distribution.geoipupdate
did not check the status code of
an HTTP response. It will now check for an unexpected status code and
exit with a warning if such a status is received.geoipupdate-pureperl.pl
was updated to work with
GeoIP2.geoipupdate
will
now return a 1 whenever an update fails.geoipupdate
would not attempt to download the remaining
databases. It now continues to the next database when a download
fails.getline
function, was added.