"Fossies" - the Fresh Open Source Software Archive

Member "GeoIP-1.6.12/ChangeLog" (17 Jan 2018, 38592 Bytes) of package /linux/misc/old/GeoIP-1.6.12.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "ChangeLog": 1.6.11_vs_1.6.12.

    1 1.6.12 2018-01-17
    2 
    3 * Populate metro and area code when performing lookups in IPv6 City databases.
    4   Previously this was only done when using IPv4 City databases.
    5 
    6 1.6.11 2017-05-15
    7 
    8 * Fix use of a NULL pointer when opening a corrupt database with
    9   `GeoIP_open`. Reported by Stephan Zeisberg. GitHub #87.
   10 
   11 1.6.10 2017-03-29
   12 
   13 * GeoIP_database_info now returns the full version string rather than
   14   incorrectly truncating it. GitHub #79.
   15 * This API is now distributed with a small test copy of GeoIP.dat rather than
   16   a full copy.
   17 * Fix issue where Visual Studio 2015 was optimizing out initialization code.
   18   Reported and fixed by Scott Godin. GitHub #81.
   19 * Fix test/benchmark on Windows. Gisle Vanem. GitHub #75.
   20 
   21 1.6.9 2016-01-11
   22 
   23 * Fix a regression introduced in version 1.6.8, which caused
   24   GeoIP_database_info to erroneously return NULL.
   25 
   26 1.6.8 2016-01-11
   27 
   28 * Allow compilation on older systems by relaxing the autoconf and automake
   29   minimum versions. Thank you, Jose Rubio!
   30 * Avoid potential problems in multi-threaded environments by consistently using
   31   pread() rather than read().
   32 * Fix various small issues reported by clang's static analyser.
   33 
   34 1.6.7 2015-10-30
   35 
   36 * Fixed a MSVC parser stack overflow when parsing `regionName.c` and
   37  `timeZone.c`. Fix by elliotlo. GitHub #64.
   38 * Updated region codes and timezones.
   39 * When using `GEOIP_MEMORY_CACHE` with an invalid database file, the search
   40   tree traversal could attempt to read memory outside of the memory allocated
   41   for the memory cache, resulting in a segmentation fault. A check was added
   42   to ensure that the traversal code does not try to read beyond the end of the
   43   file, whether in memory, memory mapped, or on disk.
   44 * Previously the return values from file reads were ignored. We now check
   45   these values to ensure that there were no errors.
   46 
   47 
   48 1.6.6 2015-07-28
   49 
   50 * Replaced usage of deprecated fileno, read, and lseek on Visual Studio 2005+
   51   with their ISO C++ conformant replacements. (Fix by ClaudiuHKS. GitHub #55.)
   52 * A warning about using a double as a float was fixed. (Fix by ClaudiuHKS.
   53   GitHub #56.)
   54 * Fixed segfault when doing a lookup on an empty database. (Fix by NesoK.
   55   GitHub #62.)
   56 * Fixed a memcheck error from valgrind in the `_check_mtime`
   57   function. (Reported by yurivct. GitHub #60.)
   58 * Fixed `_check_mtime` to check the return value of `gettimeofday` rather than
   59   just assuming it worked.
   60 
   61 
   62 1.6.5 2015-02-25
   63 
   64 * A segmentation fault in `geoiplookup` was fixed when the utility was passed
   65   an invalid database. (Reported in Red Hat bug #1180874.)
   66 * Additional validation was added for validation of the size used in the
   67   creation of the index cache. (Based on discussion in Red Hat bug #832913.)
   68 * Changed the code to only look up country codes by using functions which
   69   ensure that we do not try to look past the end of an array. (Reported by
   70   Ivan Sorokin. GitHub #53)
   71 
   72 
   73 1.6.4 2015-01-12
   74 
   75 * Update Fips codes (Boris Zentner)
   76 * Several issues with the MinGW build were fixed. (Thomas Pöchtrager. Github
   77   #46.)
   78 * Use a constructor in pread.c to ensure the critical section is always
   79   initialized. (Thomas Pöchtrager. Github #47.)
   80 * Added missing include of `io.h` on Windows. (Thomas Pöchtrager. Github #49.)
   81 * Fixed `configure` warning that `'missing' script is too old or missing`.
   82   (Reported by Floren Munteanu. Github #33.)
   83 * Previously `nmake /f Makefile.vc clean` would fail on Windows. This was
   84   fixed.
   85 * Obsolete win32 and NetWare make files were removed.
   86 * Numerous documentation updates. (Reported by Thomas Pöchtrager. GitHub #48.)
   87 
   88 
   89 1.6.3 2014-10-29
   90 
   91 * Added a GEOIP_SILENCE flag. Include this flag when calling GeoIP_open to
   92   prevent any messages from being written to stderr. (Philip Prindeville
   93   and Boris Zentner)
   94 * Mitigate a possible race condition when running under threads in the
   95   GeoIP_cleanup function. (Anthon Pang)
   96 * Added some recommendations to the docs on using this library in a
   97   threaded application. (Boriz Zentner)
   98 * Fixed some bugs discovered by coverity, including failure to check some
   99   system call return values and making sure all strings are
  100   null-terminated. (Boris Zentner)
  101 
  102 
  103 1.6.2 2014-07-08
  104 
  105 * Two files required for building on Win32 were missing from the 1.6.1
  106   release. These files were added. There are no changes affecting other
  107   platforms. (Boris Zentner)
  108 
  109 
  110 1.6.1 2014-06-26
  111 
  112 * Improve Win32 support (Evan Hunt)
  113 * Update FIPS codes (Boris Zentner)
  114 
  115 
  116 1.6.0 2013-10-29
  117 
  118 * Remove geoipupdate (Boris Zentner)
  119 
  120 
  121 1.5.2 2013-10-29
  122 
  123 * Update region and time zones (Boris Zentner)
  124 * Fix benchmark script (Boris Zentner)
  125 * Remove autogenerated files ltmain.sh, man/geoip*.1 (Boris Zentner)
  126 * Explain how to download free geolite databases in the README.md and
  127   GeoIP.conf.default (Boris Zentner)
  128 * geoipupdate returns 1 on error 0 on success instead of the error code
  129   (Boris Zentner)
  130 * README is replaced by README.md (Gregory Oschwald)
  131 * Add support for OS X Mavericks (Boris Zentner)
  132 
  133 
  134 1.5.1 2013-05-14
  135 
  136 * Update time_zone for Ontario, Canada (Boris Zentner)
  137 * geoiplookup and geoiplookup6 exit code is 0 when user asked for help
  138   (Jan Safranek)
  139 * Added -h option to geoiplookup6 (Jan Safranek)
  140 * Do not load the database file if nodes and file size do not make
  141   sense. (Boris Zentner)
  142 * Keep README and man pages in pure ascii. (Boris Zentner)
  143 * It doesn't make sense to use GEOIP_INDEX_MODE with small databases
  144   like GEOIP_COUNTRY_EDITION. Instead of undefined behaviour we handle
  145   it silently as GEOIP_MEMORY_MODE (Boris Zentner)
  146 * Update FIPS codes for Greece (Boris Zentner)
  147 
  148 
  149 1.5.0 2013-02-21
  150 
  151 * Rename custom_directory to GeoIP_custom_directory. (Boris Zentner)
  152 * Make sure the database match the requested type. This is helpful for
  153   Databases with the same default name and the general geoiplookup form
  154   (geoiplookup without a specific database) (Boris Zentner)
  155 * apps/geoiplookup6.c use the ipnum instead of the hostname for lookups.
  156   (Boris Zentner)
  157 * Use configure.ac instead of configure.in (Boris Zentner)
  158 * Region lookup is a bit faster (Boris Zentner)
  159 * Add pkg-config file (Bastien Nocera)
  160 * Updates required to build a Windows DLL under MinGW (Gerald Combs)
  161 * Make API thread safe (Boris Zentner)
  162 * geoiplookup's default charset is UTF8
  163   -l change the charset back to iso8859-1 (Boris Zentner)
  164 * geoipupdate skips \r otherwise it might be part of the last
  165   product_id (Boris Zentner)
  166 * Update time zones (Boris Zentner)
  167 * Update Region codes (Boris Zentner)
  168 * Remove the unused CITYCONFIDENCE* database types (Boris Zentner)
  169 * bootstrap rebuilds ltmain.sh (Boris Zentner)
  170 * Update README.OSX for Lion (Boris Zentner)
  171 * Change Macedonia to Macedonia, The Former Yugoslav Republic of
  172   (Boris Zentner)
  173 * Add region_name to geoiplookup GEOIP_CITY_EDITION_REV1 (Boris Zentner)
  174 * Add region_name to geoiplookup GEOIP_CITY_EDITION_REV0 (Chris Johnson)
  175 * Add a --disable-data-files option. This allows you to build and install
  176   the library without having a data/GeoIP.dat file. This is useful when
  177   building the library from a checkout of the source tree, rather than a
  178   tarball (Dave Rolsky)
  179 * Add GEOIP_ACCURACYRADIUS_EDITION and GEOIP_ACCURACYRADIUS_EDITION_V6
  180   (Boris Zentner)
  181 * Add more database types GEOIP_COUNTRYCONF_EDITION,
  182   GEOIP_CITYCONF_EDITION, GEOIP_REGIONCONF_EDITION and
  183   GEOIP_POSTALCONF_EDITION (Boris Zentner)
  184 * Fix default filenames for GEOIP_NETSPEED_EDITION_REV1 and
  185   GEOIP_NETSPEED_EDITION_REV1_V6 (Boris Zentner)
  186 
  187 
  188 1.4.8
  189 
  190 * Fix GEOIP_DOMAIN_EDITION_V6 (Boris Zentner)
  191 * Add new Datatypes GEOIP_NETSPEED_EDITION_REV1_V6 and
  192   GEOIP_NETSPEED_EDITION_REV1 (Boris Zentner)
  193 * Fix possible directory traversal weakness in geoipupdate-pureperl.pl with
  194   malicious update server (Boris Zentner)
  195 * Fix GEOIP_ORG_EDITION_V6 and GEOIP_ISP_EDITION_V6 (Boris Zentner)
  196 
  197 
  198 1.4.7 2011-12-19
  199 
  200 * Upd timezone.c Add SX, BQ and CW remove AN and FX (Boris Zentner)
  201 * Add support for the new types in geoiplookup6 (Boris Zentner)
  202 * Add new database types GEOIP_CITY_EDITION_REV0_V6,
  203   GEOIP_CITY_EDITION_REV1_V6, GEOIP_DOMAIN_EDITION_V6,
  204   GEOIP_ORG_EDITION_V6 and GEOIP_ISP_EDITION_V6 (Boris Zentner)
  205 * Remove AN and FX. Add SX, BQ and CW (Boris Zentner)
  206 * Fix possible segfault in geoipupdate if the connection disappear
  207   unexpected. (Boris Zentner)
  208 * Add sanity check for geoipupdate-pureperl.pl (Boris Zentner)
  209 * Add GEOIP_USERTYPE_EDITION and GEOIP_USERTYPE_EDITION_V6
  210   datatypes (Boris Zentner)
  211 * Add new functions GeoIP_is_private_ipnum_v4 and GeoIP_is_private_v4
  212   (Boris Zentner)
  213 * Add new functions GeoIP_teredo and GeoIP_enable_teredo.
  214   teredo is enabled by default (Boris Zentner)
  215 * Fix output of geoiplookup for unknown or private regions.
  216   (Boris Zentner)
  217 * Fix geoipupdate-pureperl.pl to accept more product codes.
  218   (Boris Zentner)
  219 * Fix minor output issue in geoipupdate -v (Boris Zentner)
  220 * Add support for various databases. (Boris Zentner)
  221 * Add experimental teredo support (Boris Zentner)
  222 * Fix possible buffer overflow in conjunction with
  223   http_proxies (Elso Andras)
  224 * Remove memcpy/bcopy macro for BSD (Boris Zentner)
  225 * Add GeoIP_lib_version and GeoIP_cleanup (Ladar Levison)
  226 * Upd Makefile.vc (Thomas Winzig)
  227 * Fix typo in DK,18,Midtjylland (Boris Zentner)
  228 * Update libGeoIP/regionName.c with FIPS codes 20100810 (Boris Zentner)
  229 * Fix continent codes (Boris Zentner)
  230 * Fix 3letter country codes for ATA, BVT, IOT, CXR, CCK, ATF, HMD,
  231   MYT, SGS and UMI (Boris Zentner)
  232 * Fix typo/segfault in GeoIP_id_by_name_v6 (Boris Zentner)
  233 * Update libGeoIP/regionName.c with FIPS codes 20100529 (Boris Zentner)
  234 * Remove buffered IO functions, to fix issues with dup'ed file
  235   descriptors (Boris Zentner)
  236 * Fix very minor memleak in geoipupdate (Boris Zentner)
  237 * Add GEOIP_CITYCONFIDENCEDIST_EDITION, GEOIP_LARGE_COUNTRY_EDITION
  238   and GEOIP_LARGE_COUNTRY_EDITION_V6 database types (Boris Zentner)
  239 * Update libGeoIP/regionName.c with FIPS codes 20100422 (Boris Zentner)
  240 * Update libGeoIP/regionName.c with FIPS codes 20100420 (Boris Zentner)
  241 * Update libGeoIP/regionName.c with FIPS codes 20100221 (Boris Zentner)
  242 * Add missing timezones (Boris Zentner)
  243 * Add missing include for Windows 2000 (Jaap Keute)
  244 * 'GeoIP Database up to date' and 'Updated database' prints to stdout
  245   instead of stderr (Boris Zentner)
  246 * Add missing GeoIPRecord_delete to geoiplookup.c (Piotr Kaczuba)
  247 * Add some IPv4 helper functions
  248   unsigned long GeoIP_addr_to_num(const char *addr);
  249   char * GeoIP_num_to_addr(unsigned long ipnum); (Boris Zentner)
  250 * Fix default name for the accuracy radius database to GeoIPDistance.dat (Boris Zentner)
  251 * Add GEOIP_CITYCONFIDENCE_EDITION database type. (Boris Zentner)
  252 * geoiplookup use GeoIPDistance.dat files if avail (Boris Zentner)
  253 * Fix geoiplookup/geoiplookup6 output, when the databaseinfo string is
  254   not avail. (Boris Zentner)
  255 * Change continent code for RU from AS to EU (Boris Zentner)
  256 * Add GEOIP_ACCURACYRADIUS_EDITION database type. (Boris Zentner)
  257 * Add GEOIP_LOCATIONA_EDITION the database to map back from binary to
  258   the csv database (Boris Zentner)
  259 * Change Turkey's continent code from Asia to Europe (Boris Zentner)
  260 * Rename _iso_8859_1__utf8 to _GeoIP_iso_8859_1__utf8 (Boris Zentner)
  261 * GEOIP_ORG_EDITION, GEOIP_ISP_EDITION, GEOIP_DOMAIN_EDITION and
  262   GEOIP_ASNUM_EDITION databases return UTF8 results, if gi->charset is set
  263   to GEOIP_CHARSET_UTF8 (Boris Zentner)
  264 * Avoid unnecesary call to gettimeofday when GEOIP_CHECK_CACHE is not set (John Douglass)
  265 * Delayed loading of changed database files for 60 seconds. To avoid
  266   reading halve written databases (Boris Zentner)
  267 * Update README.OSX for Leopard  and Snow Leopard (Boris Zentner)
  268 * Add more IPv6 functions (Boris Zentner)
  269   const char *GeoIP_country_code_by_addr_v6 (GeoIP* gi, const char *addr);
  270   const char *GeoIP_country_code_by_name_v6 (GeoIP* gi, const char *host);
  271   const char *GeoIP_country_code3_by_addr_v6 (GeoIP* gi, const char *addr);
  272   const char *GeoIP_country_code3_by_name_v6 (GeoIP* gi, const char *host);
  273   const char *GeoIP_country_name_by_addr_v6 (GeoIP* gi, const char *addr);
  274   const char *GeoIP_country_name_by_name_v6 (GeoIP* gi, const char *host);
  275 * Make sure that GeoIP_*_v6 functions refuse GEOIP_PROXY_EDITION and
  276   GEOIP_NETSPEED_EDITION databases (Boris Zentner)
  277 * Update libGeoIP/regionName.c with FIPS codes from 20090723 (Boris Zentner)
  278 * Fix geoipupdate's -v option to not change the license filename (Thom May)
  279 * Fix geoipupdate's exit code (Thom May)
  280 * Add support for ASNUM_EDITION (Boris Zentner)
  281 * Fix -i output for larger values, sign issue (Boris Zentner)
  282 * Add -i flag for more information on netmask, range_by_ip and the current network range (Boris Zentner)
  283 * Add support for DOMAIN_EDITION database type (Boris Zentner)
  284 * Fix apps/geoipupdate-pureperl.pl output layer on W32 (Boris Zentner)
  285 
  286 
  287 1.4.6 2009-02-25
  288 
  289 * Fix geoipupdate's my_printf function (Boris Zentner)
  290 * Fix typo in apps/geoipupdate-pureperl.pl replace PerlIO::Gzip with PerlIO::gzip (Boris Zentner)
  291 * Update region codes in libGeoIP/regionName.c (Boris Zentner)
  292 * Fix regioncode/generate_regionName.pl to handle regioncodes with ',' correct (Boris Zentner)
  293 * Update fips codes 20090201 (Boris Zentner)
  294 * Fix unicode builds on WIN32 and eliminate some warnings (Stu Redman)
  295 * Fix sign error in _iso_8859_1__utf8 for PPC64 (Boris Zentner)
  296 * Change WIN32 to _WIN32, since _WIN32 is defined by default. _WIN32 is also defined for WIN64 machines (Boris Zentner)
  297 ! Remove the WSAStartup call from GeoIP_open. All Applications need to call WSAStartup and WSACleanup to initialize the Windows Socket library. Before they use any of the GeoIP_*_by_name functions. (Boris Zentner)
  298 * geoiplookup and test-geoip-* output N/A instead of (null) (Boris Zentner)
  299 * Silence various warnings. (Boris Zentner)
  300 * Add more timezone region's for Australia
  301 * Fix possible segfault in apps/geoiplookup with null pointers in non gnu printf implementations for example solaris (Boris Zentner)
  302 * Add README.OSX to build fat binaries easy (Boris Zentner)
  303 * Silence vasprintf warning via AC_GNU_SOURCE (Boris Zentner)
  304 * Add several Makefiles to build a static GeoIP.lib for w32 (Stanislaw Pusep and Randy Kobes)
  305 * Silence signedness warnings (Peter Volkov)
  306 * Remove --with-city configure option. (Boris Zentner)
  307 * Remove configure's --with-dbdir option. Use the similar --datadir instead (Peter Volkov)
  308 * Various autotools improvements and cleanups. Including parallel
  309   build fix (Peter Volkov)
  310 * Fix libGeoIP/timeZone.c (Martin Haller)
  311 * Fix timezone/generate_timeZone.pl (Boris Zenter)
  312 * Sync FIPS codes again Jan 14th, 2009 (Boris Zentner)
  313 * Fix CA,NL regioncode. (Boris Zentner)
  314 * Change logic in generate_regionName.pl and GeoIP_region_name_by_code to handle any mixture of two letter fips codes matching [A-Z0-9]{2} the change allow GZ and WE region codes (Boris Zentner)
  315 * Sync regionName.c with http://www.maxmind.com/app/fips10_4 from Dec 17th, 2008 (Boris Zentner)
  316 * Fix _GeoIP_lookupaddress for 64bit big endian systems like ppc64 (Peter Volkov)
  317 * Add proper WIN32/64 support (Gerald Combs)
  318 * Escape - in all manpages (Patrick Matthäi)
  319 * Add manpage for geoiplookup6 (Boris Zentner)
  320 * Fix -d command line option (Klaus Heinz)
  321 * GeoIPUpdate.c use vasprintf if avail, otherwise try vsnprintf and sprintf (Boris Zentner)
  322 * avoid pre/postincrement and assignment on the same variable (Boris Zentner)
  323 
  324 
  325 1.4.5 2008-09-16
  326 
  327 * metro_code replace the depreciated dma_code field (Boris Zentner)
  328 * Add new function GeoIP_range_by_ip_delete
  329   r = GeoIP_range_by_ip(gi, '24.24.24.24');
  330   ...
  331   GeoIP_range_by_ip_delete(r); (Boris Zentner)
  332 * Fix small memoryleak and wrap around in GeoIP_range_by_ip (Boris Zentner)
  333 * CHECK_CACHE stat the database file not faster than once a second anymore (Patrick McManus)
  334 * Fixed a typo in the geoipupdate(1) manpage and also an non-existent path on Debian (Patrick Matthäi)
  335 * Fixes two little format errors (hyphen used as minus sign) in both manpages (Patrick Matthäi)
  336 * Sync regionName.c with a recent fips code list (Boris Zentner)
  337 * Fix segfault when open failed for a custom file (-f) (Boris Zentner)
  338 * Fix sync geoiplookup's man page with the code (Klaus Heinz)
  339 * remove unused code from GeoIP_country_name_by_addr and GeoIP_country_code3_by_addr (Boris Zentner)
  340 * Fix geoiplookup and geoiplookup6 to distinguish between failed namelookups and unknown ips (Boris Zentner)
  341 * add geoiplookup6 that can handle the new database type GEOIP_COUNTRY_EDITION_V6 (Boris Zentner)
  342 * add new functions to handle ipv6:
  343     GEOIP_API const char *GeoIP_country_name_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  344     GEOIP_API const char *GeoIP_country_code_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  345     GEOIP_API const char *GeoIP_country_code3_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  346     GEOIP_API char *GeoIP_org_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  347     GEOIP_API char *GeoIP_org_by_addr_v6 (GeoIP* gi, const char *addr);
  348     GEOIP_API char *GeoIP_org_by_name_v6 (GeoIP* gi, const char *name);
  349     GEOIP_API int GeoIP_id_by_addr_v6 (GeoIP* gi, const char *addr);
  350     GEOIP_API int GeoIP_id_by_name_v6 (GeoIP* gi, const char *host);
  351     GEOIP_API int GeoIP_id_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  352     GEOIP_API GeoIPRegion * GeoIP_region_by_addr_v6 (GeoIP* gi, const char *addr);
  353     GEOIP_API GeoIPRegion * GeoIP_region_by_name_v6 (GeoIP* gi, const char *host);
  354     GEOIP_API GeoIPRegion * GeoIP_region_by_ipnum_v6 (GeoIP *gi, geoipv6_t ipnum);
  355     GEOIP_API void GeoIP_assign_region_by_inetaddr_v6(GeoIP* gi, geoipv6_t inetaddr, GeoIPRegion *gir);
  356     GEOIP_API char *GeoIP_name_by_ipnum_v6 (GeoIP* gi, geoipv6_t ipnum);
  357     GEOIP_API char *GeoIP_name_by_addr_v6 (GeoIP* gi, const char *addr);
  358     GEOIP_API char *GeoIP_name_by_name_v6 (GeoIP* gi, const char *name);
  359 
  360     # allowed input for addr
  361     2001:4860:0:1001::68
  362     ::85.8.93.71
  363     ::1
  364     ::5508::5d47
  365     ::ffff:5508::5d47
  366 
  367     # allowed input for host
  368     ipv6.google.com
  369     2001:4860:0:1001::68
  370     ::85.8.93.71
  371     ::1
  372     ::5508::5d47
  373     ::ffff:5508::5d47
  374      (Boris Zentner)
  375 * Fix geoiplookup usage string (add -d -f) (Boris Zentner)
  376 * Added GeoIP_range_by_ip, returns the start and end IP address for the range containing the IP address.
  377   This range has a constant value in the GeoIP database.
  378 * Add geoipupdate-pureperl.pl a alternative geoipupdate version. with Proxy Server support via via the "http_proxy" environment variable. Easy to customize. (Boris Zentner)
  379 * Add WIN64 since WIN32 is not defined on WIN64 Systems (Boris Zentner)
  380 * Fix WIN32 compilation by encircle all MMAP functions with #ifdef WIN32 #endif pairs. MMAP is not avail in W32 (Boris Zentner)
  381 * Update timezone/generate_timeZone.pl (Boris Zentner)
  382 * Update libGeoIP/timeZone.c (Boris Zentner)
  383 * Added GeoIP_printf and GeoIP_fprintf as a experimental feature to
  384   libGeoIPUpdate. (Boris Zentner, Andrew Droffner)
  385 * Added cast in _iso_8859_1__utf8 function to fix NetWare/Win32 compilation issue (Guenter Knauf)
  386 * Add HTTP Proxy Server support for geoipupdate via the "http_proxy"
  387   environment variable.
  388   ie: export http_proxy="http://proxy-hostname:port"
  389   (Andrew Droffner, Derek Nicol)
  390 * Notice, that __YOU__ need to free the results of
  391 
  392     GeoIP_database_info
  393     GeoIP_name_by_ipnum
  394     GeoIP_name_by_addr
  395     GeoIP_name_by_name
  396     GeoIP_org_by_ipnum
  397     GeoIP_org_by_addr
  398     GeoIP_org_by_name
  399 
  400     not libgeoip
  401   (Boris Zentner, Andrew Cheung)
  402 * Fixed segfault with geoiplookup, if used with a custom_file database, that
  403   could not be opened. (Boris Zentner)
  404 * Add Usage info for options -f and -d in geoipupdate (Boris Zentner)
  405 * Fixed segfault with geoipupdate when called with a illformed license file
  406   (Boris Zentner)
  407 * Update add more timezones to GeoIP_time_zone_by_country_and_region
  408   (Boris Zentner)
  409 * Add array access functions so programs can avoid accessing the
  410   arrays directly which whould break binary compatability (Ludwig Nussel at SUSE)
  411 * Updated README to state API is only thread-safe if GEOIP_CHECK_CACHE is not used
  412 
  413 
  414 1.4.4 2008-1-21
  415 
  416 * Updated original geoipupdate to return "Invalid product ID or subscription expired"
  417 * Added BL/Saint Barthelemy, MF/Saint Martin (ISO-3166-1 additions)
  418 * 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
  419 * Clarified that while core GeoIP library is LGPL, libGeoIPUpdate depends on md5.c and types.h which are GPL.
  420 * speedup the conversion from ipstring to ipnum in _GeoIP_addr_to_num. Doubles the speed of GEOIP_MEMORY_CACHE and GEOIP_MMAP_CACHE
  421 * Added new mmap shared memory caching option, GEOIP_MMAP_CACHE (Peter Shipley, LookSmart)
  422   - mmaps: our maps are shared, but we need only private readonly pages
  423 
  424 
  425 1.4.3 2007-8-30
  426 
  427 ! CHANGE with geoiplookup facility: -v flag now returns database info for all databases, not just GeoIP Country
  428 * Added ability to get netmask of network block from last lookup using GeoIP_last_netmask
  429 * Fixed GeoIP_database_info bug with GeoLite City
  430 * Replaced 4 with sizeof(char*) to fix issues with geoipupdate on 64 Bit machines
  431 * Added GeoIP_set_charset function - enables UTF8 output of city name if GEOIP_CHARSET_UTF8 flag is passed
  432 to GeoIP_set_charset
  433 * Fixed segfault issue if calling GeoIP_db_avail before opening a database
  434 * Added continent_code to GeoIP City's record struct (Frank Mather)
  435 
  436 
  437 1.4.2 2007-2-8
  438 
  439 * Added -d flag to enable custom path for geoipupdate utility program (Frank Mather)
  440 * Replaced _WIN32 with WIN32 since WIN32 is already set by compilers
  441 * Moved var definitions to top of code, defined size_t (Guenter Knauf)
  442 * Added Makefile.win32, Makefile.netware, get_ver.awk, geoip.ico to EXTRA_DIST in Makefile.am (Guenter Knauf)
  443 
  444 
  445 1.4.1 2007-1-2
  446 
  447 * Replaced CS/Serbia and Montenegro with RS/Serbia, removed ZR/Zaire, added ME/Montenegro
  448 * Added AX/Aland Islands, GG/Guernsey, IM/Isle of Man, JE/Jersey (ISO-3166-1 changes)
  449 * Added GeoIP_time_zone_by_country_and_region, to lookup zoneinfo timezone by country and region (Frank Mather)
  450 * Added GeoIP_region_name_by_code, to lookup region name from region code (Frank Mather)
  451 * added -f and -d flags to enable custom paths for geoiplookup utility program (Frank Mather)
  452 * Added benchmarks for GeoIP Region and City in test/benchmark.c (Frank Mather)
  453 * Fixed build issue when using --as-needed flag (Diego 'Flameeyes' Pettenò)
  454 * Add sanity checking for filename returned by MaxMind.com server for geoipupdate filename
  455   (Dean Gaudet, arctic.org)
  456 * Fixed memory leaks under error conditions, buffer overflow using sprintf,
  457   and issue where a corrupted cache file could core dump the file
  458   (Nick Galbreath, Right Media Inc)
  459 
  460 
  461 1.4.0 2006-8-7
  462 
  463 * Changed license from GPL to LGPL, so that PHP Extension can be included in PECL (Olivier Hill)
  464 * Rewrote GEOIP_CHECK_CACHE code, fixed numerous bugs
  465   - CheckCache now works if GeoIP file is overwriten by mv command
  466   - Fixed bug where CheckCache kept reloading in GEOIP_STANDARD_MODE
  467   - Fixed segfault issue in GEOIP_MEMORY_CACHE mode
  468   - Fixed garbage data appearing in GEOIP_INDEX_CACHE mode
  469   - Fixed realloc in case realloc returns new memory block (Andre Morozov of Stone Steps)
  470 * Updated geoipupdate to print status messages for each database instead of just last database
  471 * Check that gi is not null before running code in GeoIP_delete
  472 * Fixed alpha-3 codes ordering, replaced TLS,TKM,TUN,TON with TKM,TUN,TON,TLS
  473 * TP/East Timor changed to TL/Timor-Leste, reflecting changes in ISO-3166
  474 
  475 * Added Netware and Windows makefiles (Guenter Knauf)
  476 * Fixed NetWare compiler issue with char block[block_size] declaration (Guenter Knauf)
  477 * Updated geoipupdate example to run weekly
  478 
  479 
  480 1.3.17 2006-5-14
  481 
  482 * Fixed headers for Windows/Netware compilation (Guenter Knauf)
  483 * Fixed Received Error -21 (Sanity check database_info string failed)
  484   when running geoipupdate with GeoIP Country when UserId and
  485   productIds were not specified.  Bug was introduced in 1.3.15.
  486 
  487 
  488 1.3.16 2006-4-17
  489 
  490 * Fixed compliation error in GeoIPUpdate.c
  491 
  492 
  493 1.3.15 2006-4-14
  494 
  495 * Updated README documentation
  496 * Updated geoipupdate so that it writes file as it is uncompressed instead
  497 of storing entire GeoIP.dat file in memory (Frank Mather)
  498 * Updated geoiplookup so that it returns GeoIP Domain Name if available
  499   (Frank Mather)
  500 * Updated geoipupdate so that it reports whether databases are updated
  501 in non-verbose mode (Frank Mather)
  502 
  503 
  504 1.3.14 2005-9-7
  505 
  506 * Check if byte, ushort, ulong, u16, u32 are defined in configure
  507   script.  Fixes compilation issue on FreeBSD systems.
  508 * Check for Big Endian byte order (needed for MD5 code in geoipupdate
  509   to work properly on Mac OS X and other Big Endian processors)
  510 * Fixed GEOIP_CHECK_CACHE mode when used with GEOIP_STANDARD to
  511   only refresh upon file change
  512 * Fixed memory leak when refreshing file in GEOIP_CHECK_CACHE mode
  513 * Updated ltmain.sh to support Debian GNU/k*BSD bug #315425 (Marek Habersack)
  514 * Added lookup functions using IP numeric representation as input (Frank Mather)
  515 * Removed geoipexport
  516 * Replaced Yugoslavia with Serbia and Montenegro
  517 * Updated geoiplookup to only perform country lookup once instead of twice by
  518   using GeoIP_id_by_name
  519 
  520 
  521 1.3.13 2005-8-1
  522 
  523 * Fixed autoconf weirdness that resulted in libraries being
  524   installed without .so suffix
  525 
  526 
  527 1.3.12 2005-7-19
  528 
  529 * Removed -lGeoIP from libGeoIPUpdate_la_LIBADD - fixes compilation error
  530   if GeoIP isn't already installed (Thomas Steudten)
  531 
  532 
  533 1.3.11 2005-7-7
  534 
  535 * Fixed gcc warnings and bug.  Use int
  536   instead of char for checking the return value of getopt in geoipupdate.c.
  537   Moved the internal functions to GeoIP_internal.h to get rid
  538   of those 'implicit declaration' warnings. (Ludwig Nussel/SUSE)
  539 * Cleaned up name space by prefixing internal functions with
  540   _GeoIP* (Ludwig Nussel/SUSE)
  541 * Memory Leak fix for GeoIP City if fread error
  542 * Added more verbose error messages for geoipupdate (Frank Mather)
  543 * Added check for zlib.h to configure.in
  544 
  545 
  546 1.3.10 2005-4-17
  547 
  548 * Added types.h to Makefile.am - fixes compilation error
  549 
  550 
  551 1.3.9 2005-4-14
  552 
  553 * fixed bug with GEOIP_INDEX_CACHE (Frank Mather)
  554 * fixed segfault issue if GeoIP.dat not found (Frank Mather)
  555 * Updated MD5 checksum code to use GnuPG code which works
  556   on 64bit machines (Frank Mather)
  557 * Fixed memory leak in test-geoip-isp.c and test-geoip-org.c
  558 * Added support for GeoIP Domain Names in geoipupdate
  559 
  560 
  561 1.3.8 2004-11-7
  562 
  563 * Updated geoipupdate to report invalid userID and productID errors
  564 * Check if gethostbyname_r is version that returns int or is other version
  565   - should fix compile errors on Solaris and FreeBSD
  566 * Updated URL to get license key, userId, and product Ids in conf/GeoIP.conf.default
  567 * Updated test case, removed www.asahi.com
  568 * Added support for GEOIP_INDEX_CACHE - which just caches
  569   the most frequently access index portion of the database, resulting
  570   in faster lookups than GEOIP_STANDARD, but less memory usage than
  571   GEOIP_MEMORY_CACHE (Frank Mather)
  572 
  573 
  574 1.3.7 2004-10-5
  575 
  576 * Updated test case, removed www.bundesregierung.de added www.asahi.com
  577 
  578 
  579 1.3.6 2004-8-8
  580 
  581 * Check for gethostbyname_r support in configure (Mac OS X doesn't support gethostbyname_r)
  582 * Made GeoIP City code thread safe
  583 * Fixed bug with geoipupdate reading in product ids
  584 * Added support for GeoIP Netspeed geoipupdate
  585 * Fix memleak in lookupaddress (Ludwig Nussel/SUSE)
  586 * Add prototype for _full_path_to to make 64bit clean
  587   (Ludwig Nussel/SUSE)
  588 * Add return values to test programs (Ludwig Nussel/SUSE)
  589 
  590 
  591 1.3.5 2004-7-5
  592 
  593 * Added more documentation to README file
  594 * Made GEOIP_CHECK_CACHE work with GEOIP_STANDARD mode - reloads filehandle
  595   in case file changes.
  596 * Added GeoIP_country_code_by_ipnum and GeoIP_id_by_ipnum to use
  597   existing ulong IP Address in numeric form instead of having to
  598   convert it to string (Boris Hajduk)
  599 * Made code thread safe by replacing gethostbyname with gethostbyname_r
  600 
  601 
  602 1.3.4 2004-6-4
  603 
  604 * Fixed bug where *.gz file(s) didn't get removed after geoipupdate
  605 
  606 
  607 1.3.3 2004-6-2
  608 
  609 * Added support for NetSpeed lookup to geoiplookup
  610 * inet_addr patch for 64 bit systems (Thomas Steudten)
  611 * Added Support for automated downloads of GeoIP Region, City, ISP and
  612   Organization databases (Frank Mather)
  613 * INADDR_NONE Patch for Solaris 9 (John Young)
  614 
  615 
  616 1.3.2 2004-4-20
  617 
  618 * Added support for Maxmind NetSpeed
  619 
  620 * MinGW patch from Stanislaw Pusep
  621 
  622   I was re-compiling Geolizer (http://sysd.org/log.php#glzr) on Win32 so I
  623   firstly needed to put up-to-date Win32 compatibility of libGeoIP itself.
  624   Fortunately MinGW plataform evolved a lot since last time I used it to
  625   compile libGeoIP. I'm sending you the patch with changes required for
  626   libGeoIP to work on both Win32 and UN*X. UN*X behavior is unaffected. Now,
  627   detailed explanation of what I did at all:
  628 
  629   1) Made correct header imports for both Win32 and UN*X. UN*X imports netdb.h
  630      & netinet/in.h and Win32 imports windows.h & winsock.h
  631   2) Win32 gethostbyname() is only able to resolve hostnames, it can't convert
  632      "127.0.0.1" string to 32-bit IP address. Thus I added lookupaddress()
  633      function that safely resolves any string to IP address and replaced all
  634      gethostbyname() calls by it.
  635   3) Database files were referenced by pre-compiled static strings. I
  636      malloc()ed buffers for file names so they can be changed "on fly". Thus,
  637      on Win32 version GeoIP.dat & other files are being seeked in the same
  638      directory as executable file or library.
  639   4) Added README.MinGW file with brief explanation on how to get GeoIP
  640      working under MinGW system.
  641 
  642 
  643 1.3.1 2003-11-11
  644 
  645 * Check for stdint.h in autoconf (Sean Chittenden)
  646 * prevent the geoipupdate man page from trying to install itself directly in
  647   the system directory (Gyepi Sam)
  648 
  649 
  650 1.3.0 2003-09-29
  651 
  652 * Fixed includes to compile on Windows (Fabrice Colin)
  653 * Removed the _addr_to_num() calls from GeoIP_*_by_name()
  654 * _seek_record() optimizations (Maurice Cinquini)
  655  1) Use a single buf ptr inside the loops.
  656     Set to the stack buffer or the cached memory the start of the function.
  657  2) Unroll the i=0,1 loop to allow constant folding.
  658  3) Unroll the j loop for the common case of j = STANDARD_RECORD_LENGTH
  659     (I've already done the above changes see attached function.)
  660     With gcc -O2 calculating x[0] and x[1] for STANDARD_RECORD_LENGTH now
  661     only takes 15 (was > 100) i80x86 instructions with 6 byte accesses of RAM.
  662  4) only calculate x[0], x[1] when needed, may be a bigger win
  663     than the above since all the other optimizations above only reduced
  664                     CPU instructions operating on CPU cached RAM.
  665 ! IMPORTANT API Change: Changed GeoIPRegion to have region in structure. Saves space and a malloc.
  666   Since GeoIPRegion.region is no longer a pointer but an in-structure
  667   array so test the first byte of region == 0 rather testing if the region
  668   pointer is NULL. (Maurice Cinquini)
  669 * Added GeoIP_assign_region_by_inetaddr which doesn't do any mallocs and made all other region APIs go thru it (Maurice Cinquini)
  670 * Replaced _h_addr_to_num() with ntohl() and removed _h_addr_to_num() (Maurice Cinquini)
  671 * Fixed bug when IP address not found in region rev1 database (Jason Linhart)
  672 * Added added extern "C" to GeoIPCity.h fixes problems when included in C++ library
  673 
  674 
  675 1.2.2 2003-08-10
  676 
  677 * Added support for GeoIP ISP Edition identifier
  678 * Fixed bug in GeoIP_database_info (Jason Linhart)
  679 * Added support for GeoIP AS Number Edition
  680 ! renamed GeoIP_org_by_* functions to GeoIP_name_by_* to reduce confusion
  681   since these functions are used by GeoIP ISP and GeoIP ASNum as well
  682   as GeoIP Organization
  683 * Added support for GeoIP Proxy Edition
  684 ! renamed GeoIP_country_id_by_* functions to GeoIP_id_by_*
  685 
  686 
  687 1.2.1 2003-07-12
  688 
  689 * Added GeoIP_record_id_by_addr and GeoIP_next_record functions
  690 * Added support for new GeoIP Region format, including Canadian Provinces
  691 
  692 
  693 1.2.0 2003-04-26
  694 
  695 * Added support for GeoIP City format revision 1, including dma code and area code
  696 * geoiplookup returns results from GeoIP Region, City, ISP and Organization databases
  697 * Standardized location for GeoIP Region, City, ISP and Organization databases
  698 * Added GeoIP_open_type to open database from default location for other dbs besides country
  699 * Added check to make sure that the appropriate database is loaded for each lookup method
  700 * Updated update code to check for first 12 characters of license key
  701 * Added GeoIP_country_continent array to lookup continent by country ID
  702 
  703 
  704 1.1.9 2003-03-10
  705 
  706 * merged windows patch into main code base (Kenneth R. Robinette)
  707 * Changed const int to #define for windows compatibility
  708 
  709 
  710 1.1.8 2003-03-04
  711 
  712 * Fixed bug with city database introduced in 1.1.6
  713 
  714 
  715 1.1.7 2003-03-04
  716 
  717 * Fixed bug introduced in 1.1.6 when run in GEOIP_STANDARD mode
  718 * Added test to test GEOIP_STANDARD
  719 
  720 
  721 1.1.6 2003-03-03
  722 
  723 * Added spec for building RPMs (Ryan Weaver)
  724 * Added support for 4byte records for Organization database
  725 * Changed Taiwan, Province of China to Taiwan
  726 
  727 
  728 1.1.5 2003-02-10
  729 
  730 * Added support for GeoIP Organization database
  731 
  732 
  733 1.1.4 2002-12-30
  734 
  735 * Cast number to int in _num_to_addr in geoipexport (Ralf S. Engelschall)
  736 * Removed printf debug statements from geoipexport
  737 * correct library build ordering (Ralf S. Engelschall)
  738 * ulong -> unsigned long (Sean Chittenden)
  739 
  740 
  741 1.1.3 2002-12-24
  742 
  743 * Added GeoIPUpdate.h to EXTRA_DISTS
  744 * Compile fixes for Solaris, FreeBSD (Michael McClennen, Corris Randall)
  745 * Handle NULL in printf in test-geoip-region
  746 
  747 
  748 1.1.2 2002-12-16
  749 
  750 * Added support for postal codes
  751 * Added geoipexport, program to export bit binary file to
  752   binary tree format and csv format
  753 * Split update code into separate library, GeoIPUpdate.la
  754 * Allow passing NULL callback to GeoIP_update_database function
  755   (Sean Chittenden)
  756 * Added geoipexport program, exports to CSV file
  757 * Added GeoIP_database_edition method
  758 * Changed DATADIR to GEOIPDATADIR
  759 
  760 
  761 1.1.1 2002-11-07
  762 
  763 * Fixed segfault issue with GeoIPRegion_delete
  764 * Handle test failures where lookup returns NULL more gracefully
  765 
  766 
  767 1.1.0 2002-11-06
  768 
  769 * Perform sanity checking before installing datebase using geoipupdate
  770 * Removed file locking, since we install file by renaming instead of writing to it.
  771 * Fixed geoipupdate to check for NULL return value
  772 * Added constants for different editions
  773 * Added O1 code for "Other country", used in per-country city editions
  774 * fixed multi-line string literals warning in test-geoip.c
  775 * Use enum constants for GeoIP_update_database values
  776 * Added GEOIP_CHECK_CACHE option (not working yet)
  777 
  778 
  779 1.0.10 2002-10-28
  780 
  781 * IMPORTANT API Change - Return NULL instead of '--' and 'N/A'
  782   Be sure to check the return value for NULL to avoid segmentation faults!!!!
  783 * Added callback to print messages from GeoIP_update_database
  784 * Moved GeoIPConfFile to geoipupdate.c
  785 * Changed databaseSegments to unsigned int (Chris Gibbs)
  786 * Fixed compiler warnings (Chris Gibbs)
  787 * API Change - GeoIPRegion region member set to NULL when no region available
  788 * Change short int to int (Chris Gibbs)
  789 * Added write/read file locking for GeoIPUpdate.c/GeoIP.c
  790 
  791 
  792 1.0.9 2002-10-16
  793 
  794 * removed -ansi from Makefile.am to avoid compile error on Solaris 8
  795 * Compile fix for FreeBSD Stable (Kimura Fuyuki)
  796 
  797 
  798 1.0.8 2002-10-05
  799 
  800 * Included header required for *BSD (Akinori Musha)
  801 
  802 
  803 1.0.7 2002-10-05
  804 
  805 * Fixed compilation error with GeoIPUpdate.c
  806 
  807 
  808 1.0.6 2002-10-04
  809 
  810 * Moved update code into separate file
  811 * Added md5 checksums to update code
  812 * Fixed memory leak when running geoiplookup -v
  813 * Moved const RECORD_LENGTH to #define RECORD_LENGTH for Windows compatibility
  814   (Randy Kobes)
  815 * Cleaned up GeoIP_new code
  816 
  817 
  818 1.0.5 2002-09-23
  819 
  820 * Supports GeoIP Regional Edition
  821 * Macau is now "Macao" per ISO 3166-1 change
  822 * Romania "ROM" is now "ROU" per ISO 3166-1 change
  823 * Added #define for memcpy -> BSD's bcopy (Chris Gibbs)
  824 * Removed "private" functions from GeoIP.h
  825 
  826 
  827 1.0.4 2002-08-27
  828 
  829 * rewrote _seek_country to use loop instead of recursion for faster performance
  830 * Removed "orphan" nodes from demo database resulting in smaller size (Jason Linhart)
  831 * Moved changes for building windows DLL into separate patch
  832 * Fixed segfaults when passed malformed IP addresses
  833 
  834 
  835 1.0.3 2002-08-26
  836 
  837 * Added more changes for windows compatibility
  838   (Stanislaw Pusep)
  839 * Added benchmark program
  840 
  841 
  842 1.0.2 2002-08-21
  843 
  844 * Open database using "rb" for windows compatibility
  845   (Stanislaw Pusep)
  846 * Removed superfluous inet_ntop command (Stanislaw Pusep)
  847 
  848 
  849 1.0.1 2002-08-20
  850 
  851 * Fixed bug with resolving hostnames
  852 * More fixes for compiler warnings (Chris Gibbs)
  853 * Changed int to unsigned int in _is_ipaddr (Chris Gibbs)
  854 
  855 
  856 1.0.0 2002-08-12
  857 
  858 * Changed license to GPL
  859 * Don't perform Reverse DNS lookups on IP addresses
  860 * Only include getopt.h on Linux (OpenPKG patch)
  861 * Avoid the_license_key_str warning (OpenPKG patch)
  862 * Added license for March 2002 database
  863 
  864 
  865 0.3.0 2002-08-04
  866 
  867 * Added support for 'A2', Satellite Providers
  868 
  869 
  870 0.2.8 2002-07-30
  871 
  872 * Handle malformed input gracefully
  873 * Added section to README on Solaris workarounds
  874 * Added geoipupdate man page
  875 
  876 
  877 0.2.7 2002-07-27
  878 
  879 * Added section to README on automatic updates
  880 * link to socket library on solaris
  881 
  882 
  883 0.2.6 2002-07-25
  884 
  885 * optimized GeoIP_open (Chris Gibbs)
  886 * check for partial file read in GeoIP_open (Chris Gibbs)
  887 * optimized _addr_to_num() (Chris Gibbs)
  888 * changed write and read to send and recv for sockets
  889 * Only install GeoIP.conf and GeoIP.dat if not already installed
  890 
  891 
  892 0.2.5 2002-07-22
  893 
  894 * Added verbose option to GeoIP_update_database
  895 
  896 
  897 0.2.4 2002-07-22
  898 
  899 * Fix for GeoIP_update_database
  900 
  901 
  902 0.2.3 2002-07-22
  903 
  904 * Fixes for FreeBSD
  905 * All calls to malloc are checked for NULL pointer (Chris Gibbs)
  906 * Fixed spelling of "Kazakhstan" (Chris Gibbs)
  907 * Initialize cache_buf to NULL (Chris Gibbs)
  908 * More memory leak fixes (Chris Gibbs)
  909 
  910 
  911 0.2.2 2002-07-18
  912 
  913 * Added update database function
  914 * Fixed memory leak in GeoIP_new (Chris Gibbs)
  915 
  916 
  917 0.2.1 2002-07-03
  918 
  919 * Added support for anonymous proxies
  920 
  921 
  922 0.2.0 2002-06-23
  923 
  924 * Added new memory caching option for improved performance
  925 
  926 
  927 0.1.7 2002-05-29
  928 
  929 * Only add -lnsl for systems that support libnsl
  930 * Added decl for 3 letter country code array to GeoIP.h
  931 
  932 
  933 0.1.6 2002-05-25
  934 
  935 * Added 3 letter country code
  936 
  937 
  938 0.1.5 2002-05-23
  939 
  940 * Added -lnsl fixed compile errors
  941 
  942 
  943 0.1.4 2002-05-11
  944 
  945 * Fixed bugs in demo March 2002 database
  946 
  947 
  948 0.1.3 2002-04-21
  949 
  950 * Fixed bug related to signed int (Brian Grossman)
  951 * Better error handling when hostname not found
  952 * Fixed bug when netmask=32 for netblock
  953 
  954 
  955 0.1.2 2002-04-20
  956 
  957 * Added two new functions, GeoIP_country_id_by_addr
  958   and GeoIP_country_id_by_name.
  959 * Made GeoIP_country_code and GeoIP_country_name
  960   viewable outside of library, to be with with
  961   GeoIP_country_id_by_* functions.
  962 
  963 
  964 0.1.1 2002-04-07
  965 
  966 * GeoIP.h is now installed to includedir
  967 * constructor and destructor are now provided by
  968     GeoIP_new, GeoIP_open, and GeoIP_delete
  969 
  970 
  971 0.1.0 2002-04-07
  972 
  973 * Initial release