* Fix geoipupdate's my_printf function
* Fix typo in apps/geoipupdate-pureperl.pl replace PerlIO::Gzip with
PerlIO::gzip
* Update region codes in libGeoIP/regionName.c
* Fix regioncode/generate_regionName.pl to handle regioncodes with ',' correct
* Update fips codes 20090201
* Fix unicode builds on WIN32 and eliminate some warnings
* Fix sign error in _iso_8859_1__utf8 for PPC64
* Change WIN32 to _WIN32, since _WIN32 is defined by default
* Remove the WSAStartup call from GeoIP_open
* Silence various warnings
* Add more timezone region's for Australia
* Fix possible segfault in apps/geoiplookup with null pointers in non gnu
printf implementations for example solaris
* Add README.OSX to build fat binaries easy
* Silence vasprintf warning via AC_GNU_SOURCE
* Add several Makefiles to build a static GeoIP.lib for w32
* Silence signedness warnings
* Remove --with-city configure option
* Remove configure's --with-dbdir option. Use the similar --datadir instead
* Various autotools improvements and cleanups. Including parallel build fix.
* Fix libGeoIP/timeZone.c
* Fix timezone/generate_timeZone.pl
* Sync FIPS codes again Jan 14th, 2009
* Fix CA,NL regioncode
* Change logic in generate_regionName.pl and GeoIP_region_name_by_code
* Sync regionName.c with http://www.maxmind.com/app/fips10_4 from Dec 17th, 2008
* Fix _GeoIP_lookupaddress for 64bit big endian systems like ppc64
* Add proper WIN32/64 support
* Escape - in all manpages
* Add manpage for geoiplookup6
* Fix -d command line option
* GeoIPUpdate.c use vasprintf if avail, otherwise try vsnprintf and sprintf
* avoid pre/postincrement and assignment on the same variable
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Pkgsrc changes:
- Added support for installation to DESTDIR.
- More fixes for the man page geoiplookup.1 (patch-ab)
- Two additional patches patch-ac and patch-ad to make geoiplookup not
crash with segmentation fault if the data file either does not exist
or has the wrong format.
- Patches -ab, -ac, and -ad submitted to the bugtracker at sourceforge.net.
- Updated DESCR with date of data file.
- Added license information.
Changes since version 1.4.0:
============================
1.4.4 2008-1-21
* Updated original geoipupdate to return "Invalid product ID or
subscription expired"
* Added BL/Saint Barthelemy, MF/Saint Martin (ISO-3166-1 additions)
* Check for illegal IP strings, return 0 if IP is not well formed
IPv4 e.g. 1.2.3.4.5 and 1.2.3
* Clarified that while core GeoIP library is LGPL, libGeoIPUpdate
depends on md5.c and types.h which are GPL.
* speedup the conversion from ipstring to ipnum in _GeoIP_addr_to_num.
Doubles the speed of GEOIP_MEMORY_CACHE and GEOIP_MMAP_CACHE
* Added new mmap shared memory caching option, GEOIP_MMAP_CACHE
(Peter Shipley, LookSmart)
- mmaps: our maps are shared, but we need only private
readonly pages
1.4.3 2007-8-30
! CHANGE with geoiplookup facility: -v flag now returns database info
for all databases, not just GeoIP Country
* Added ability to get netmask of network block from last lookup using
GeoIP_last_netmask
* Fixed GeoIP_database_info bug with GeoLite City
* Replaced 4 with sizeof(char*) to fix issues with geoipupdate on
64 Bit machines
* Added GeoIP_set_charset function - enables UTF8 output of city name
if GEOIP_CHARSET_UTF8 flag is passed to GeoIP_set_charset
* Fixed segfault issue if calling GeoIP_db_avail before opening a
database
* Added continent_code to GeoIP City's record struct (Frank Mather)
1.4.2 2007-2-8
* Added -d flag to enable custom path for geoipupdate utility program
(Frank Mather)
* Replaced _WIN32 with WIN32 since WIN32 is already set by compilers
* Moved var definitions to top of code, defined size_t (Guenter Knauf)
* Added Makefile.win32, Makefile.netware, get_ver.awk, geoip.ico to
EXTRA_DIST in Makefile.am (Guenter Knauf)
1.4.1 2007-1-2
* Replaced CS/Serbia and Montenegro with RS/Serbia, removed ZR/Zaire,
added ME/Montenegro
* Added AX/Aland Islands, GG/Guernsey, IM/Isle of Man, JE/Jersey
(ISO-3166-1 changes)
* Added GeoIP_time_zone_by_country_and_region, to lookup zoneinfo
timezone by country and region (Frank Mather)
* Added GeoIP_region_name_by_code, to lookup region name from region
code (Frank Mather)
* added -f and -d flags to enable custom paths for geoiplookup utility
program (Frank Mather)
* Added benchmarks for GeoIP Region and City in test/benchmark.c
(Frank Mather)
* Fixed build issue when using --as-needed flag (Diego 'Flameeyes'
Pettenò)
* Add sanity checking for filename returned by MaxMind.com server for
geoipupdate filename (Dean Gaudet, arctic.org)
* Fixed memory leaks under error conditions, buffer overflow using
sprintf, and issue where a corrupted cache file could core dump the
file (Nick Galbreath, Right Media Inc)
1.4.0 2006-8-7
* Changed license from GPL to LGPL, so that PHP Extension can be included in PECL (Olivier Hill)
* Rewrote GEOIP_CHECK_CACHE code, fixed numerous bugs
- CheckCache now works if GeoIP file is overwriten by mv command
- Fixed bug where CheckCache kept reloading in GEOIP_STANDARD_MODE
- Fixed segfault issue in GEOIP_MEMORY_CACHE mode
- Fixed garbage data appearing in GEOIP_INDEX_CACHE mode
- Fixed realloc in case realloc returns new memory block (Andre Morozov of Stone Steps)
* Updated geoipupdate to print status messages for each database instead of just last database
* Check that gi is not null before running code in GeoIP_delete
* Updated LICENSE file to add GPL License Exception for PHP
* Fixed alpha-3 codes ordering, replaced TLS,TKM,TUN,TON with TKM,TUN,TON,TLS
* TP/East Timor changed to TL/Timor-Leste, reflecting changes in ISO-3166
* Added Netware and Windows makefiles (Guenter Knauf)
* Fixed NetWare compiler issue with char block[block_size] declaration (Guenter Knauf)
* Updated geoipupdate example to run weekly
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
From ChangeLog:
1.3.17 2006-5-14
* Fixed headers for Windows/Netware compliation (Guenter Knauf)
* Fixed Received Error -21 (Sanity check database_info string failed)
when running geoipupdate with GeoIP Country when UserId and
productIds were not specified. Bug was introduced in 1.3.15.
1.3.16 2006-4-17
* Fixed compliation error in GeoIPUpdate.c
1.3.15 2006-4-14
* Updated README documentation
* Updated geoipupdate so that it writes file as it is uncompressed instead
of storing entire GeoIP.dat file in memory (Frank Mather)
* Updated geoiplookup so that it returns GeoIP Domain Name if available
(Frank Mather)
* Updated geoipupdate so that it reports whether databases are updated
in non-verbose mode (Frank Mather)
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
Pkgsrc changes:
- Added TEST_TARGET.
[Relevant] changes since version 1.3.8:
=======================================
1.3.14 2005-9-7
* Check if byte, ushort, ulong, u16, u32 are defined in configure
script. Fixes compilation issue on FreeBSD systems.
* Check for Big Endian byte order (needed for MD5 code in geoipupdate
to work properly on Mac OS X and other Big Endian processors
* Fixed GEOIP_CHECK_CACHE mode when used with GEOIP_STANDARD to
only refresh upon file change
* Fixed memory leak when refreshing file in GEOIP_CHECK_CACHE mode
* Updated ltmain.sh to support Debian GNU/k*BSD bug #315425 (Marek Habersack)
* Added lookup functions using IP numeric representation as input (Frank Mather)
* Removed geoipexport
* Replaced Yugoslavia with Serbia and Montenegro
* Updated geoiplookup to only perform country lookup once instead of twice by using GeoIP_id_by_name
1.3.13 2005-8-1
* Fixed autoconf weirdness that resulted in libraries being
installed without .so suffix
1.3.12 2005-7-19
* Removed -lGeoIP from libGeoIPUpdate_la_LIBADD - fixes compilation error
if GeoIP isn't already installed (Thomas Steudten)
1.3.11 2005-7-7
* Fixed gcc warnings and bug. Use int
instead of char for checking the return value of getopt in geoipupdate.c.
Moved the internal functions to GeoIP_internal.h to get rid
of those 'implicit declaration' warnings. (Ludwig Nussel/SUSE)
* Cleaned up name space by prefixing internal functions with
_GeoIP* (Ludwig Nussel/SUSE)
* Memory Leak fix for GeoIP City if fread error
* Added more verbose error messages for geoipupdate (Frank Mather)
* Added check for zlib.h to configure.in
1.3.10 2005-4-17
* Added types.h to Makefile.am - fixes compilation error
1.3.9 2005-4-14
* fixed bug with GEOIP_INDEX_CACHE (Frank Mather)
* fixed segfault issue if GeoIP.dat not found (Frank Mather)
* Updated MD5 checksum code to use GnuPG code which works
on 64bit machines (Frank Mather)
* Fixed memory leak in test-geoip-isp.c and test-geoip-org.c
* Added support for GeoIP Domain Names in geoipupdate
Changes:
* Made code thread safe by replacing gethostbyname with gethostbyname_r
* Added GeoIP_country_code_by_ipnum and GeoIP_id_by_ipnum to use
existing ulong IP Address in numeric form instead of having to
convert it to string (Boris Hajduk)
* Updated geoipupdate to report invalid userID and productID errors
* Added support for GEOIP_INDEX_CACHE - which just caches
the most frequently access index portion of the database, resulting
in faster lookups than GEOIP_STANDARD, but less memory usage than
GEOIP_MEMORY_CACHE (Frank Mather)
* Made GEOIP_CHECK_CACHE work with GEOIP_STANDARD mode - reloads filehandle
in case file changes.
* Made GeoIP City code thread safe
* Fixed bug with geoipupdate reading in product ids
* Added support for GeoIP Netspeed geoipupdate
* Fix memleak in lookupaddress (Ludwig Nussel/SUSE)
* Add prototype for _full_path_to to make 64bit clean (Ludwig Nussel/SUSE)
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Changes since 1.3.1:
* Fixed bug where *.gz file(s) didn't get removed after geoipupdate
* Added support for NetSpeed lookup to geoiplookup
* inet_addr patch for 64 bit systems (Thomas Steudten)
* Added Support for automated downloads of GeoIP Region, City, ISP
and Organization databases (Frank Mather)
* INADDR_NONE Patch for Solaris 9 (John Young)
* Added support for Maxmind NetSpeed
* Check for stdint.h in autoconf
* prevent the geoipupdate man page from trying to install itself directly
in the system directory
* Fixed includes to compile on Windows
* Removed the _addr_to_num() calls from GeoIP_*_by_name()
* _seek_record() optimizations
* Added GeoIP_assign_region_by_inetaddr which doesn't do any mallocs and
made all other region APIs go thru it
* Replaced _h_addr_to_num() with ntohl() and removed _h_addr_to_num()
* Fixed bug when IP address not found in region rev1 database
* Added added extern "C" to GeoIPCity.h fixes problems when included
in C ++ library
* Added support for GeoIP ISP Edition identifier
* Fixed bug in GeoIP_database_info
* Added support for GeoIP AS Number Edition
* renamed GeoIP_org_by_* functions to GeoIP_name_by_* to reduce confusion
since these functions are used by GeoIP ISP and GeoIP ASNum as well as
GeoIP Organization
* Added support for GeoIP Proxy Edition
* renamed GeoIP_country_id_by_* functions to GeoIP_id_by_*
* Added GeoIP_record_id_by_addr and GeoIP_next_record functions
* Added support for new GeoIP Region format, including Canadian Provinces
* Added support for GeoIP City format revision 1, including dma code and
area code
* geoiplookup returns results from GeoIP Region, City, ISP and Organization
databases
* Standardized location for GeoIP Region, City, ISP and Organization data bases
* Added GeoIP_open_type to open database from default location for other
dbs besides country
* Added check to make sure that the appropriate database is loaded for each
lookup method
* Updated update code to check for first 12 characters of license key
* Added GeoIP_country_continent array to lookup continent by country ID
Closes PR pkg/23909.
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of March 2002. This database simply contains IP blocks as keys,
and countries as values. It should be more complete and accurate than using
reverse DNS lookups.
This module can be used to automatically select the geographically closest
mirror, to analyze your web server logs to determine the countries of your
visitors, for credit card fraud detection, and for software export controls.
Package initially provided by Juan RP through pkgsrc-wip, with several
changes by me.