[Geoip-c-discuss] ANN: GeoIP C API 1.4.5
Brought to you by:
tjmather
From: Boris Z. <bze...@ma...> - 2008-09-16 19:16:42
|
Hi, GeoIP C library 1.4.5 has been released and is available for download: http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.5.tar.gz 1.4.5 2008-09-16 * metro_code replace the depreciated dma_code field ( Boris Zentner ) * Add new function GeoIP_range_by_ip_delete r = GeoIP_range_by_ip(gi, '24.24.24.24'); ... GeoIP_range_by_ip_delete(r); ( Boris Zentner ) * Fix small memoryleak and wrap around in GeoIP_range_by_ip ( Boris Zentner ) * CHECK_CACHE stat the database file not faster than once a second anymore ( Patrick McManus ) * Fixed a typo in the geoipupdate(1) manpage and also an non-existent path on Debian (Patrick Matthäi) * Fixes two little format errors (hyphen used as minus sign) in both manpages (Patrick Matthäi) * Sync regionName.c with a recent fips code list ( Boris Zentner ) * Fix segfault when open failed for a custom file (-f) ( Boris Zentner ) * Fix sync geoiplookup's man page with the code ( Klaus Heinz ) * remove unused code from GeoIP_country_name_by_addr and GeoIP_country_code3_by_addr ( Boris Zentner ) * Fix geoiplookup and geoiplookup6 to distinguish between failed namelookups and unknown ips ( Boris Zentner ) * add geoiplookup6 that can handle the new database type GEOIP_COUNTRY_EDITION_V6 ( Boris Zentner ) * add new functions to handle ipv6 GEOIP_API const char *GeoIP_country_name_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API const char *GeoIP_country_code_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API const char *GeoIP_country_code3_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API char *GeoIP_org_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API char *GeoIP_org_by_addr_v6 (GeoIP* gi, const char *addr); GEOIP_API char *GeoIP_org_by_name_v6 (GeoIP* gi, const char *name); GEOIP_API int GeoIP_id_by_addr_v6 (GeoIP* gi, const char *addr); GEOIP_API int GeoIP_id_by_name_v6 (GeoIP* gi, const char *host); GEOIP_API int GeoIP_id_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API GeoIPRegion * GeoIP_region_by_addr_v6 (GeoIP* gi, const char *addr); GEOIP_API GeoIPRegion * GeoIP_region_by_name_v6 (GeoIP* gi, const char *host); GEOIP_API GeoIPRegion * GeoIP_region_by_ipnum_v6 (GeoIP *gi, geoipv6_t ipnum); GEOIP_API void GeoIP_assign_region_by_inetaddr_v6(GeoIP* gi, geoipv6_t inetaddr, GeoIPRegion *gir); GEOIP_API char *GeoIP_name_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum); GEOIP_API char *GeoIP_name_by_addr_v6 (GeoIP* gi, const char *addr); GEOIP_API char *GeoIP_name_by_name_v6 (GeoIP* gi, const char *name); # allowed input for addr 2001:4860:0:1001::68 ::85.8.93.71 ::1 ::5508::5d47 ::ffff:5508::5d47 # allowed input for host ipv6.google.com 2001:4860:0:1001::68 ::85.8.93.71 ::1 ::5508::5d47 ::ffff:5508::5d47 ( Boris Zentner ) * Fix geoiplookup usage string ( add -d -f ) ( Boris Zentner ) * Added GeoIP_range_by_ip, returns the start and end IP address for the range containing the IP address. This range has a constant value in the GeoIP database. * Add geoipupdate-pureperl.pl a alternative geoipupdate version. with Proxy Server support via via the "http_proxy" environment variable. Easy to customize. ( Boris Zentner ) * Add WIN64 since WIN32 is not defined on WIN64 Systems ( Boris Zentner ) * Fix WIN32 compilation by encircle all MMAP functions with #ifdef WIN32 #endif pairs. MMAP is not avail in W32 ( Boris Zentner ) * Update timezone/generate_timeZone.pl ( Boris Zentner ) * Update libGeoIP/timeZone.c ( Boris Zentner ) * Added GeoIP_printf and GeoIP_fprintf as a experimental feature to libGeoIPUpdate. ( Boris Zentner, Andrew Droffner ) * Added cast in _iso_8859_1__utf8 function to fix NetWare/Win32 compilation issue (Guenter Knauf) * Add HTTP Proxy Server support for geoipupdate via the "http_proxy" environment variable. ie: export http_proxy="http://proxy-hostname:port" ( Andrew Droffner, Derek Nicol ) * Notice, that __YOU__ need to free the results of GeoIP_database_info GeoIP_name_by_ipnum GeoIP_name_by_addr GeoIP_name_by_name GeoIP_org_by_ipnum GeoIP_org_by_addr GeoIP_org_by_name not libgeoip ( Boris Zentner, Andrew Cheung ) * Fixed segfault with geoiplookup, if used with a custom_file database, that could not be opened. ( Boris Zentner ) * Add Usage info for options -f and -d in geoipupdate ( Boris Zentner ) * Fixed segfault with geoipupdate when called with a illformed license file ( Boris Zentner ) * Update add more timezones to GeoIP_time_zone_by_country_and_region ( Boris Zentner ) * Add array access functions so programs can avoid accessing the arrays directly which whould break binary compatability (Ludwig Nussel at SUSE) * Updated README to state API is only thread-safe if GEOIP_CHECK_CACHE is not used -- Boris |