diff options
Diffstat (limited to 'src/GeoIP-1.4.0/README')
-rw-r--r-- | src/GeoIP-1.4.0/README | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/src/GeoIP-1.4.0/README b/src/GeoIP-1.4.0/README new file mode 100644 index 0000000..9e09c98 --- /dev/null +++ b/src/GeoIP-1.4.0/README @@ -0,0 +1,132 @@ + GeoIP 1.4.0 + ----------- + +IMPORTANT API Change for 1.3.x and above users for GeoIP Region database +GeoIPRegion.region is no longer a pointer but an in-structure +array so test the first byte of region == 0 rather testing if the region +pointer is NULL. + +IMPORTANT API Change for 1.1.x and above users - as of GeoIP 1.1.0 the +GeoIP_country_xxx_by_xxx functions return NULL if a country can not +be found (it used to return '--' or 'N/A'. Be sure to check the +return value for NULL, to avoid segmentation faults! + +GeoIP is a C library that enables the user to find geographical and +network information of an IP address. +Included is a free GeoLite Country database +that is updated at the beginning of every month. +To download the latest free GeoLite Country database, go to: +http://www.maxmind.com/app/geoip_country + +There is also a free city-level geolocation database, GeoLite City, +available from: +http://www.maxmind.com/app/geolitecity + +We also offer commercial GeoIP databases with greater accuracy and +additional network information, for more details, see: +http://www.maxmind.com/app/products + +As of version 1.3.6, the GeoIP C library is thread safe. + +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. + +If you use GeoIP to block access from high risk countries in order +to reduce fraud or abuse, you should also block access from known +proxy servers. For more details, see: +http://www.maxmind.com/app/proxy + +To install, run: + +./configure +make +make check +make install + +The GeoIP C library relies on GNU make, not on BSD make + +MEMORY CACHING AND OTHER OPTIONS + +There are four options available: + +GEOIP_STANDARD - read database from filesystem, uses least memory. + +GEOIP_MEMORY_CACHE - load database into memory, faster performance + but uses more memory + +GEOIP_CHECK_CACHE - check for updated database. If database has been updated, + reload filehandle and/or memory cache. + +GEOIP_INDEX_CACHE - just cache + the most frequently accessed index portion of the database, resulting + in faster lookups than GEOIP_STANDARD, but less memory usage than + GEOIP_MEMORY_CACHE - useful for larger databases such as + GeoIP Organization and GeoIP City. Note, for GeoIP Country, Region + and Netspeed databases, GEOIP_INDEX_CACHE is equivalent to GEOIP_MEMORY_CACHE + +The options can be combined using bit operators. For example you can +use both GEOIP_MEMORY_CACHE and GEOIP_CHECK_CACHE by calling: + + GeoIP_open("/path/to/GeoIP.dat", GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE); + +EXAMPLES + +See +test/ + test-geoip.c + test-geoip-region.c + test-geoip-city.c + test-geoip-isp.c + test-geoip-org.c + test-geoip-netspeed.c + +For examples of how to use the API. The test-geoip.c works with both the free and paid +GeoIP Country databases. The other example programs require the paid databases available +from http://www.maxmind.com/app/products + +AUTOMATIC UPDATES + +MaxMind offers a service where you can have your database updated +automically each week. For more details see: + +http://www.maxmind.com/app/license_key + +TROUBLESHOOTING + +Note that it is recommended that you use GNU make. Also, if you are using +OpenBSD, GeoIP requires OpenBSD 3.1 or greater. + +if you get "cannot load shared object file: No such file or directory" +error, add the directory libGeoIP.so was installed to to /etc/ld.so.conf +and run ldconfig + +On Solaris, if you get a +ld: fatal: relocations remain against allocatable but non-writable sections +error, try running + +# make clean +# ./configure --disable-shared +# make + +If you get a "ar : command not found" error, make sure that ar is +in your path. On Solaris, ar is typically found in /usr/ccs/bin + +If you get a "geoipupdate.c:24: getopt.h: No such file or directory" +error, run + +# export CPPFLAGS="-I/usr/local/include" + +(assuming that getopt.h is in /usr/local/include) + +If you get a "zlib.h: No such file or directory" error, make sure +that the zlib development libraries are installed on your server. +These are typically included in a "zlib-devel" package. + +If you get a "bad interpreter: No such file or directory" error +when running ./configure, make sure that there are no DOS +returns in the configure script. To remove DOS returns, +run perl -pi -e 's!\r!!g' configure. + +Please contact support@maxmind.com with any questions or bug +reports. |