pghmcfc pushed to GeoIP (el6). "add IPv6 enablement patches, make prerelease"
notifications at fedoraproject.org
notifications at fedoraproject.org
Tue Apr 14 07:27:26 UTC 2015
>From ac8dd27ac0d070cede1de9d9e2ad2e9b6178a976 Mon Sep 17 00:00:00 2001
From: Matt Domsch <mdomsch at fedoraproject.org>
Date: Tue, 1 Sep 2009 14:16:23 +0000
Subject: add IPv6 enablement patches, make prerelease
diff --git a/GeoIP.spec b/GeoIP.spec
index 95252ce..08ac6ec 100644
--- a/GeoIP.spec
+++ b/GeoIP.spec
@@ -1,15 +1,17 @@
+%define tarballversion 1.4.6
Name: GeoIP
-Version: 1.4.6
-Release: 1%{?dist}
+Version: 1.4.7
+Release: 0.1.20090931cvs%{?dist}
Summary: C library for country/city/organization to IP address or hostname mapping
Group: Development/Libraries
License: LGPLv2+
URL: http://www.maxmind.com/app/c
-Source0: http://www.maxmind.com/download/geoip/api/c/GeoIP-%{version}.tar.gz
+Source0: http://www.maxmind.com/download/geoip/api/c/GeoIP-%{tarballversion}.tar.gz
Source1: LICENSE.txt
Source2: fetch-geoipdata-city.pl
Source3: fetch-geoipdata.pl
Source4: README.Fedora
+Patch0: geoip-1.4.6-ipv6.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Obsoletes: geoip < %{version}-%{release}
Provides: geoip = %{version}-%{release}
@@ -33,7 +35,8 @@ Obsoletes: geoip-devel < %{version}-%{release}
Development headers and static libraries for building GeoIP-based applications
%prep
-%setup -q
+%setup -q -n %{name}-%{tarballversion}
+%patch0 -p1
install -D -m644 %{SOURCE1} LICENSE.txt
install -D -m644 %{SOURCE2} fetch-geoipdata-city.pl
install -D -m644 %{SOURCE3} fetch-geoipdata.pl
@@ -81,14 +84,29 @@ rm -rf %{buildroot}
%{_libdir}/libGeoIPUpdate.so
%changelog
+* Mon Aug 31 2009 Matt Domsch <mdomsch at fedoraproject.org> - 1.4.7.0.1.20090931
+- apply CVS HEAD 20090931 which includes IPv6 functions
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.4.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
* Sun Mar 08 2009 Michael Fleming <mfleming+rpm at enlartenment.com> - 1.4.6-1
- Add geoiplookup6 man page
- Update to 1.4.6
-* Sat Nov 29 2008 Michael Fleming <mfleming+rpm at enlartenment.com> 1.4.5-1
+* Mon Feb 23 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.4.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Sat Nov 29 2008 Michael Fleming <mfleming+rpm at enlartenment.com> 1.4.5-2
- Update to 1.4.5
- Fix database URL locations in Perl helper scripts
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 1.4.4-2
+- Autorebuild for GCC 4.3
+
+* Mon Jan 28 2008 Michael Fleming <mfleming+rpm at enlartenment.com> 1.4.4-1
+- New upstream release.
+
* Wed Sep 5 2007 Michael Fleming <mfleming+rpm at enlartenment.com> 1.4.3-1
- New upstream release.
- Fix GeoIPCity fetcher script
diff --git a/geoip-1.4.6-ipv6.patch b/geoip-1.4.6-ipv6.patch
new file mode 100644
index 0000000..091b575
--- /dev/null
+++ b/geoip-1.4.6-ipv6.patch
@@ -0,0 +1,811 @@
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: aclocal.m4
+Only in c/apps: CVS
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoiplookup.c c/apps/geoiplookup.c
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoiplookup.c 2009-02-24 10:03:23.000000000 -0600
++++ c/apps/geoiplookup.c 2009-05-08 12:01:21.000000000 -0500
+@@ -31,9 +31,12 @@ typedef unsigned int uint32_t;
+ void geoiplookup(GeoIP* gi,char *hostname,int i);
+
+ void usage() {
+- fprintf(stderr,"Usage: geoiplookup [-d custom_dir] [-f custom_file] [-v] <ipaddress|hostname>\n");
++ fprintf(stderr,"Usage: geoiplookup [-d custom_dir] [-f custom_file] [-v] [-i] <ipaddress|hostname>\n");
+ }
+
++/* extra info used in _say_range_ip */
++int info_flag = 0;
++
+ int main (int argc, char *argv[]) {
+ char * hostname = NULL;
+ char * db_info;
+@@ -51,7 +54,9 @@ int main (int argc, char *argv[]) {
+ while (i < argc) {
+ if (strcmp(argv[i],"-v") == 0) {
+ version_flag = 1;
+- } else if (strcmp(argv[i],"-f") == 0) {
++ } else if (strcmp(argv[i],"-i") == 0) {
++ info_flag = 1;
++ } else if (strcmp(argv[i],"-f") == 0) {
+ if ((i+1) < argc){
+ i++;
+ custom_file = argv[i];
+@@ -119,12 +124,106 @@ static const char * _mk_NA( const char *
+ return p ? p : "N/A";
+ }
+
++static unsigned long
++__addr_to_num(const char *addr)
++{
++ unsigned int c, octet, t;
++ unsigned long ipnum;
++ int i = 3;
++
++ octet = ipnum = 0;
++ while ((c = *addr++)) {
++ if (c == '.') {
++ if (octet > 255)
++ return 0;
++ ipnum <<= 8;
++ ipnum += octet;
++ i--;
++ octet = 0;
++ } else {
++ t = octet;
++ octet <<= 3;
++ octet += t;
++ octet += t;
++ c -= '0';
++ if (c > 9)
++ return 0;
++ octet += c;
++ }
++ }
++ if ((octet > 255) || (i != 0))
++ return 0;
++ ipnum <<= 8;
++ return ipnum + octet;
++}
++
++
++
++/* ptr must be a memory area with at least 16 bytes */
++static char *__num_to_addr_r (unsigned long ipnum, char * ptr) {
++ char *cur_str;
++ int octet[4];
++ int num_chars_written, i;
++
++ cur_str = ptr;
++
++ for (i = 0; i<4; i++) {
++ octet[3 - i] = ipnum % 256;
++ ipnum >>= 8;
++ }
++
++ for (i = 0; i<4; i++) {
++ num_chars_written = sprintf(cur_str, "%d", octet[i]);
++ cur_str += num_chars_written;
++
++ if (i < 3) {
++ cur_str[0] = '.';
++ cur_str++;
++ }
++ }
++
++ return ptr;
++}
++
++void _say_range_by_ip(GeoIP * gi, uint32_t ipnum ) {
++ unsigned long last_nm, mask, low, hi;
++ char ipaddr[16];
++ char tmp[16];
++ char ** range;
++
++ if ( info_flag == 0 )
++ return; /* noop unless extra information is requested */
++
++ range = GeoIP_range_by_ip( gi, __num_to_addr_r( ipnum, ipaddr ) );
++ if ( range == NULL )
++ return;
++
++ printf ( " ipaddr: %s\n", ipaddr );
++
++ printf( " range_by_ip: %s - %s\n", range[0], range[1] );
++ last_nm = GeoIP_last_netmask(gi);
++ mask = 0xffffffff << ( 32 - last_nm );
++ low = ipnum & mask;
++ hi = low + ( 0xffffffff & ~mask );
++ printf( " network: %s - %s ::%ld\n",
++ __num_to_addr_r( low, ipaddr ),
++ __num_to_addr_r( hi, tmp ),
++ last_nm
++ );
++ printf( " ipnum: %u\n", ipnum );
++ printf( " range_by_num: %lu - %lu\n", __addr_to_num(range[0]), __addr_to_num(range[1]) );
++ printf( " network num: %lu - %lu ::%lu\n", low, hi, last_nm );
++
++ GeoIP_range_by_ip_delete(range);
++}
++
+ void
+ geoiplookup(GeoIP * gi, char *hostname, int i)
+ {
+ const char *country_code;
+ const char *country_name;
+ const char *domain_name;
++ const char *asnum_name;
+ int netspeed;
+ int country_id;
+ GeoIPRegion *region;
+@@ -146,6 +245,17 @@ geoiplookup(GeoIP * gi, char *hostname,
+ }
+ else {
+ printf("%s: %s\n", GeoIPDBDescription[i], domain_name);
++ _say_range_by_ip(gi, ipnum);
++ }
++ }
++ else if (GEOIP_ASNUM_EDITION == i) {
++ asnum_name = GeoIP_name_by_ipnum(gi, ipnum);
++ if (asnum_name == NULL) {
++ printf("%s: IP Address not found\n", GeoIPDBDescription[i]);
++ }
++ else {
++ printf("%s: %s\n", GeoIPDBDescription[i], asnum_name);
++ _say_range_by_ip(gi, ipnum);
+ }
+ }
+ else if (GEOIP_COUNTRY_EDITION == i) {
+@@ -157,6 +267,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ }
+ else {
+ printf("%s: %s, %s\n", GeoIPDBDescription[i], country_code, country_name);
++ _say_range_by_ip(gi, ipnum);
+ }
+ }
+ else if (GEOIP_REGION_EDITION_REV0 == i || GEOIP_REGION_EDITION_REV1 == i) {
+@@ -166,6 +277,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ }
+ else {
+ printf("%s: %s, %s\n", GeoIPDBDescription[i], region->country_code, region->region);
++ _say_range_by_ip(gi, ipnum);
+ GeoIPRegion_delete(region);
+ }
+ }
+@@ -177,6 +289,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ else {
+ printf("%s: %s, %s, %s, %s, %f, %f\n", GeoIPDBDescription[i], gir->country_code, _mk_NA(gir->region),
+ _mk_NA(gir->city), _mk_NA(gir->postal_code), gir->latitude, gir->longitude);
++ _say_range_by_ip(gi, ipnum);
+ }
+ }
+ else if (GEOIP_CITY_EDITION_REV1 == i) {
+@@ -187,6 +300,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ else {
+ printf("%s: %s, %s, %s, %s, %f, %f, %d, %d\n", GeoIPDBDescription[i], gir->country_code, _mk_NA(gir->region), _mk_NA(gir->city), _mk_NA(gir->postal_code),
+ gir->latitude, gir->longitude, gir->metro_code, gir->area_code);
++ _say_range_by_ip(gi, ipnum);
+ }
+ }
+ else if (GEOIP_ORG_EDITION == i || GEOIP_ISP_EDITION == i) {
+@@ -196,6 +310,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ }
+ else {
+ printf("%s: %s\n", GeoIPDBDescription[i], org);
++ _say_range_by_ip(gi, ipnum);
+ }
+ }
+ else if (GEOIP_NETSPEED_EDITION == i) {
+@@ -212,6 +327,7 @@ geoiplookup(GeoIP * gi, char *hostname,
+ else if (netspeed == GEOIP_CORPORATE_SPEED) {
+ printf("%s: Corporate\n", GeoIPDBDescription[i]);
+ }
++ _say_range_by_ip(gi, ipnum);
+ }
+ else {
+
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoipupdate.c c/apps/geoipupdate.c
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoipupdate.c 2009-02-24 14:01:41.000000000 -0600
++++ c/apps/geoipupdate.c 2009-05-29 03:55:00.000000000 -0500
+@@ -97,6 +97,7 @@ int main (int argc, char *argv[]) {
+ exit(0);
+ case 'v':
+ verbose = 1;
++ break;
+ case 'f':
+ license_file = optarg;
+ break;
+@@ -279,5 +280,5 @@ int main (int argc, char *argv[]) {
+ if (client_ipaddr) {
+ free(client_ipaddr);
+ }
+- exit(0);
++ exit(err);
+ }
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoipupdate-pureperl.pl c/apps/geoipupdate-pureperl.pl
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps/geoipupdate-pureperl.pl 2009-02-24 10:04:39.000000000 -0600
++++ c/apps/geoipupdate-pureperl.pl 2009-03-22 09:40:33.000000000 -0500
+@@ -40,7 +40,7 @@ https
+ use strict;
+ use warnings;
+
+-our $VERSION = '0.03';
++our $VERSION = '0.04';
+
+ use 5.008;
+ use Data::Dumper;
+@@ -220,7 +220,7 @@ sub _gunzip_and_replace {
+ {
+ local $_;
+ open my $gin, '<:gzip', \$content or die $!;
+- open my $gout, '>', $geoip_filename . '.test' or die $!;
++ open my $gout, '>:raw', $geoip_filename . '.test' or die $!;
+ print {$gout} $_ while (<$gin>);
+ }
+
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/apps: Makefile.in
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/ChangeLog c/ChangeLog
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/ChangeLog 2009-02-24 19:44:38.000000000 -0600
++++ c/ChangeLog 2009-08-30 21:15:04.000000000 -0500
+@@ -1,3 +1,20 @@
++ * Add more IPv6 functions ( Boris Zentner )
++ const char *GeoIP_country_code_by_addr_v6 (GeoIP* gi, const char *addr);
++ const char *GeoIP_country_code_by_name_v6 (GeoIP* gi, const char *host);
++ const char *GeoIP_country_code3_by_addr_v6 (GeoIP* gi, const char *addr);
++ const char *GeoIP_country_code3_by_name_v6 (GeoIP* gi, const char *host);
++ const char *GeoIP_country_name_by_addr_v6 (GeoIP* gi, const char *addr);
++ const char *GeoIP_country_name_by_name_v6 (GeoIP* gi, const char *host);
++ * Make sure that GeoIP_*_v6 functions refuse GEOIP_PROXY_EDITION and
++ GEOIP_NETSPEED_EDITION databases ( Boris Zentner )
++ * Update libGeoIP/regionName.c with FIPS codes from 20090723 ( Boris Zentner )
++ * Fix geoipupdate's -v option to not change the license filename ( Thom May )
++ * Fix geoipupdate's exit code ( Thom May )
++ * Add support for ASNUM_EDITION ( Boris Zentner )
++ * Fix -i output for larger values, sign issue ( Boris Zentner )
++ * Add -i flag for more information on netmask, range_by_ip and the current network range ( Boris Zentner )
++ * Add support for DOMAIN_EDITION database type ( Boris Zentner )
++ * Fix apps/geoipupdate-pureperl.pl output layer on W32 ( Boris Zentner )
+ 1.4.6 2009-02-25
+ * Fix geoipupdate's my_printf function ( Boris Zentner )
+ * Fix typo in apps/geoipupdate-pureperl.pl replace PerlIO::Gzip with PerlIO::gzip ( Boris Zentner )
+Only in c/conf: CVS
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/conf: Makefile.in
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: config.guess
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: config.sub
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: configure
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/configure.in c/configure.in
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/configure.in 2009-02-24 10:03:23.000000000 -0600
++++ c/configure.in 2009-08-30 21:15:04.000000000 -0500
+@@ -1,6 +1,6 @@
+ dnl AM_CONFIG_HEADER(config.h)
+
+-AC_INIT([GeoIP], [1.4.6],[support at maxmind.com],[GeoIP])
++AC_INIT([GeoIP], [1.4.7],[support at maxmind.com],[GeoIP])
+ AC_GNU_SOURCE
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_SRCDIR([libGeoIP/GeoIP.c])
+Only in c/: CVS
+Only in c/data: CVS
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/data: GeoIP.dat
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/data: Makefile.in
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: fetch-geoipdata-city.pl
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: fetch-geoipdata.pl
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: GeoIP.spec
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: install-sh
+Only in c/libGeoIP: CVS
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/GeoIP.c c/libGeoIP/GeoIP.c
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/GeoIP.c 2009-02-24 10:03:23.000000000 -0600
++++ c/libGeoIP/GeoIP.c 2009-08-30 21:15:04.000000000 -0500
+@@ -366,10 +366,11 @@ void _setup_segments(GeoIP * gi) {
+ gi->databaseSegments = malloc(sizeof(int));
+ gi->databaseSegments[0] = STATE_BEGIN_REV1;
+ } else if (gi->databaseType == GEOIP_CITY_EDITION_REV0 ||
+- gi->databaseType == GEOIP_CITY_EDITION_REV1 ||
+- gi->databaseType == GEOIP_ORG_EDITION ||
+- gi->databaseType == GEOIP_ISP_EDITION ||
+- gi->databaseType == GEOIP_ASNUM_EDITION) {
++ gi->databaseType == GEOIP_CITY_EDITION_REV1 ||
++ gi->databaseType == GEOIP_ORG_EDITION ||
++ gi->databaseType == GEOIP_DOMAIN_EDITION ||
++ gi->databaseType == GEOIP_ISP_EDITION ||
++ gi->databaseType == GEOIP_ASNUM_EDITION) {
+ /* City/Org Editions have two segments, read offset of second segment */
+ gi->databaseSegments = malloc(sizeof(int));
+ gi->databaseSegments[0] = 0;
+@@ -377,8 +378,9 @@ void _setup_segments(GeoIP * gi) {
+ for (j = 0; j < SEGMENT_RECORD_LENGTH; j++) {
+ gi->databaseSegments[0] += (buf[j] << (j * 8));
+ }
+- if (gi->databaseType == GEOIP_ORG_EDITION ||
+- gi->databaseType == GEOIP_ISP_EDITION)
++ if (gi->databaseType == GEOIP_ORG_EDITION ||
++ gi->databaseType == GEOIP_DOMAIN_EDITION ||
++ gi->databaseType == GEOIP_ISP_EDITION)
+ gi->record_length = ORG_RECORD_LENGTH;
+ }
+ break;
+@@ -831,18 +833,36 @@ void GeoIP_delete (GeoIP *gi) {
+ free(gi);
+ }
+
++const char *GeoIP_country_code_by_name_v6 (GeoIP* gi, const char *name) {
++ int country_id;
++ country_id = GeoIP_id_by_name_v6(gi, name);
++ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL;
++}
++
+ const char *GeoIP_country_code_by_name (GeoIP* gi, const char *name) {
+ int country_id;
+ country_id = GeoIP_id_by_name(gi, name);
+ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL;
+ }
+
++const char *GeoIP_country_code3_by_name_v6 (GeoIP* gi, const char *name) {
++ int country_id;
++ country_id = GeoIP_id_by_name_v6(gi, name);
++ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL;
++}
++
+ const char *GeoIP_country_code3_by_name (GeoIP* gi, const char *name) {
+ int country_id;
+ country_id = GeoIP_id_by_name(gi, name);
+ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL;
+ }
+
++const char *GeoIP_country_name_by_name_v6 (GeoIP* gi, const char *name) {
++ int country_id;
++ country_id = GeoIP_id_by_name_v6(gi, name);
++ return (country_id > 0) ? GeoIP_country_name[country_id] : NULL;
++}
++
+ const char *GeoIP_country_name_by_name (GeoIP* gi, const char *name) {
+ int country_id;
+ country_id = GeoIP_id_by_name(gi, name);
+@@ -945,7 +965,7 @@ int GeoIP_id_by_name_v6 (GeoIP* gi, cons
+ if (name == NULL) {
+ return 0;
+ }
+- if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6 && gi->databaseType != GEOIP_PROXY_EDITION && gi->databaseType != GEOIP_NETSPEED_EDITION) {
++ if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6) {
+ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_COUNTRY_EDITION_V6]);
+ return 0;
+ }
+@@ -956,18 +976,36 @@ int GeoIP_id_by_name_v6 (GeoIP* gi, cons
+ return ret;
+ }
+
++const char *GeoIP_country_code_by_addr_v6 (GeoIP* gi, const char *addr) {
++ int country_id;
++ country_id = GeoIP_id_by_addr_v6(gi, addr);
++ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL;
++}
++
+ const char *GeoIP_country_code_by_addr (GeoIP* gi, const char *addr) {
+ int country_id;
+ country_id = GeoIP_id_by_addr(gi, addr);
+ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL;
+ }
+
++const char *GeoIP_country_code3_by_addr_v6 (GeoIP* gi, const char *addr) {
++ int country_id;
++ country_id = GeoIP_id_by_addr_v6(gi, addr);
++ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL;
++}
++
+ const char *GeoIP_country_code3_by_addr (GeoIP* gi, const char *addr) {
+ int country_id;
+ country_id = GeoIP_id_by_addr(gi, addr);
+ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL;
+ }
+
++const char *GeoIP_country_name_by_addr_v6 (GeoIP* gi, const char *addr) {
++ int country_id;
++ country_id = GeoIP_id_by_addr_v6(gi, addr);
++ return (country_id > 0) ? GeoIP_country_name[country_id] : NULL;
++}
++
+ const char *GeoIP_country_name_by_addr (GeoIP* gi, const char *addr) {
+ int country_id;
+ country_id = GeoIP_id_by_addr(gi, addr);
+@@ -1010,10 +1048,18 @@ const char *GeoIP_country_code3_by_ipnum
+ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL;
+ }
+
++int GeoIP_country_id_by_addr_v6 (GeoIP* gi, const char *addr) {
++ return GeoIP_id_by_addr_v6(gi, addr);
++}
++
+ int GeoIP_country_id_by_addr (GeoIP* gi, const char *addr) {
+ return GeoIP_id_by_addr(gi, addr);
+ }
+
++int GeoIP_country_id_by_name_v6 (GeoIP* gi, const char *host) {
++ return GeoIP_id_by_name_v6(gi, host);
++}
++
+ int GeoIP_country_id_by_name (GeoIP* gi, const char *host) {
+ return GeoIP_id_by_name(gi, host);
+ }
+@@ -1024,9 +1070,7 @@ int GeoIP_id_by_addr_v6 (GeoIP* gi, cons
+ if (addr == NULL) {
+ return 0;
+ }
+- if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6 &&
+- gi->databaseType != GEOIP_PROXY_EDITION &&
+- gi->databaseType != GEOIP_NETSPEED_EDITION) {
++ if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6) {
+ printf("Invalid database type %s, expected %s\n",
+ GeoIPDBDescription[(int)gi->databaseType],
+ GeoIPDBDescription[GEOIP_COUNTRY_EDITION_V6]);
+@@ -1062,9 +1106,7 @@ int GeoIP_id_by_ipnum_v6 (GeoIP* gi, geo
+ return 0;
+ }
+ */
+- if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6 &&
+- gi->databaseType != GEOIP_PROXY_EDITION &&
+- gi->databaseType != GEOIP_NETSPEED_EDITION) {
++ if (gi->databaseType != GEOIP_COUNTRY_EDITION_V6) {
+ printf("Invalid database type %s, expected %s\n",
+ GeoIPDBDescription[(int)gi->databaseType],
+ GeoIPDBDescription[GEOIP_COUNTRY_EDITION_V6]);
+@@ -1346,6 +1388,7 @@ char *_get_name (GeoIP* gi, unsigned lon
+
+ if (gi->databaseType != GEOIP_ORG_EDITION &&
+ gi->databaseType != GEOIP_ISP_EDITION &&
++ gi->databaseType != GEOIP_DOMAIN_EDITION &&
+ gi->databaseType != GEOIP_ASNUM_EDITION) {
+ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_ORG_EDITION]);
+ return NULL;
+@@ -1382,6 +1425,7 @@ char *_get_name_v6 (GeoIP* gi, geoipv6_t
+
+ if (gi->databaseType != GEOIP_ORG_EDITION &&
+ gi->databaseType != GEOIP_ISP_EDITION &&
++ gi->databaseType != GEOIP_DOMAIN_EDITION &&
+ gi->databaseType != GEOIP_ASNUM_EDITION) {
+ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_ORG_EDITION]);
+ return NULL;
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/GeoIP.h c/libGeoIP/GeoIP.h
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/GeoIP.h 2009-02-24 10:03:23.000000000 -0600
++++ c/libGeoIP/GeoIP.h 2009-08-30 21:15:04.000000000 -0500
+@@ -162,6 +162,13 @@ GEOIP_API const char *GeoIP_country_name
+ 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 const char *GeoIP_country_code_by_addr_v6 (GeoIP* gi, const char *addr);
++GEOIP_API const char *GeoIP_country_code_by_name_v6 (GeoIP* gi, const char *host);
++GEOIP_API const char *GeoIP_country_code3_by_addr_v6 (GeoIP* gi, const char *addr);
++GEOIP_API const char *GeoIP_country_code3_by_name_v6 (GeoIP* gi, const char *host);
++GEOIP_API const char *GeoIP_country_name_by_addr_v6 (GeoIP* gi, const char *addr);
++GEOIP_API const char *GeoIP_country_name_by_name_v6 (GeoIP* gi, const char *host);
++
+ /* Deprecated - for backwards compatibility only */
+ GEOIP_API int GeoIP_country_id_by_addr (GeoIP* gi, const char *addr);
+ GEOIP_API int GeoIP_country_id_by_name (GeoIP* gi, const char *host);
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP: Makefile.in
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/regionName.c c/libGeoIP/regionName.c
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/libGeoIP/regionName.c 2009-02-24 10:03:23.000000000 -0600
++++ c/libGeoIP/regionName.c 2009-07-23 15:48:20.000000000 -0500
+@@ -2249,6 +2249,12 @@ const char * GeoIP_region_name_by_code(c
+ }
+ if (strcmp(country_code,"CI") == 0) {
+ switch (region_code2) {
++ case 5:
++ name = "Atacama";
++ break;
++ case 6:
++ name = "Biobio";
++ break;
+ case 51:
+ name = "Sassandra";
+ break;
+@@ -6102,6 +6108,9 @@ const char * GeoIP_region_name_by_code(c
+ case 29:
+ name = "Snafellsnes- og Hnappadalssysla";
+ break;
++ case 30:
++ name = "Strandasysla";
++ break;
+ case 31:
+ name = "Sudur-Mulasysla";
+ break;
+@@ -6875,6 +6884,9 @@ const char * GeoIP_region_name_by_code(c
+ case 1:
+ name = "Beqaa";
+ break;
++ case 2:
++ name = "Al Janub";
++ break;
+ case 3:
+ name = "Liban-Nord";
+ break;
+@@ -7092,6 +7104,9 @@ const char * GeoIP_region_name_by_code(c
+ case 4:
+ name = "Grand Cape Mount";
+ break;
++ case 5:
++ name = "Lofa";
++ break;
+ case 6:
+ name = "Maryland";
+ break;
+@@ -7107,15 +7122,33 @@ const char * GeoIP_region_name_by_code(c
+ case 11:
+ name = "Grand Bassa";
+ break;
++ case 12:
++ name = "Grand Cape Mount";
++ break;
++ case 13:
++ name = "Maryland";
++ break;
+ case 14:
+ name = "Montserrado";
+ break;
++ case 17:
++ name = "Margibi";
++ break;
++ case 18:
++ name = "River Cess";
++ break;
+ case 19:
+ name = "Grand Gedeh";
+ break;
+ case 20:
+ name = "Lofa";
+ break;
++ case 21:
++ name = "Gbarpolu";
++ break;
++ case 22:
++ name = "River Gee";
++ break;
+ }
+ }
+ if (strcmp(country_code,"LS") == 0) {
+@@ -8848,12 +8881,18 @@ const char * GeoIP_region_name_by_code(c
+ case 11:
+ name = "Federal Capital Territory";
+ break;
++ case 12:
++ name = "Gongola";
++ break;
+ case 16:
+ name = "Ogun";
+ break;
+ case 17:
+ name = "Ondo";
+ break;
++ case 18:
++ name = "Oyo";
++ break;
+ case 21:
+ name = "Akwa Ibom";
+ break;
+@@ -9271,6 +9310,9 @@ const char * GeoIP_region_name_by_code(c
+ case 1092:
+ name = "West Coast";
+ break;
++ case 85:
++ name = "Waikato";
++ break;
+ }
+ }
+ if (strcmp(country_code,"OM") == 0) {
+@@ -9612,6 +9654,9 @@ const char * GeoIP_region_name_by_code(c
+ case 44:
+ name = "Mountain";
+ break;
++ case 45:
++ name = "Negros Occidental";
++ break;
+ case 46:
+ name = "Negros Oriental";
+ break;
+@@ -10711,6 +10756,9 @@ const char * GeoIP_region_name_by_code(c
+ case 6:
+ name = "Gitarama";
+ break;
++ case 7:
++ name = "Kibungo";
++ break;
+ case 9:
+ name = "Kigali";
+ break;
+@@ -11532,6 +11580,9 @@ const char * GeoIP_region_name_by_code(c
+ case 7:
+ name = "Thies";
+ break;
++ case 8:
++ name = "Louga";
++ break;
+ case 9:
+ name = "Fatick";
+ break;
+@@ -12075,6 +12126,12 @@ const char * GeoIP_region_name_by_code(c
+ case 78:
+ name = "Mukdahan";
+ break;
++ case 79:
++ name = "Nong Bua Lamphu";
++ break;
++ case 80:
++ name = "Sa Kaeo";
++ break;
+ }
+ }
+ if (strcmp(country_code,"TJ") == 0) {
+@@ -12112,22 +12169,19 @@ const char * GeoIP_region_name_by_code(c
+ if (strcmp(country_code,"TN") == 0) {
+ switch (region_code2) {
+ case 2:
+- name = "Al Qasrayn";
++ name = "Kasserine";
+ break;
+ case 3:
+- name = "Al Qayrawan";
++ name = "Kairouan";
+ break;
+ case 6:
+- name = "Jundubah";
+- break;
+- case 10:
+- name = "Qafsah";
++ name = "Jendouba";
+ break;
+ case 14:
+- name = "Kef";
++ name = "El Kef";
+ break;
+ case 15:
+- name = "Al Mahdiyah";
++ name = "Al Mahdia";
+ break;
+ case 16:
+ name = "Al Munastir";
+@@ -12136,58 +12190,52 @@ const char * GeoIP_region_name_by_code(c
+ name = "Bajah";
+ break;
+ case 18:
+- name = "Banzart";
++ name = "Bizerte";
+ break;
+ case 19:
+- name = "Nabul";
++ name = "Nabeul";
+ break;
+ case 22:
+- name = "Silyanah";
++ name = "Siliana";
+ break;
+ case 23:
+- name = "Susah";
++ name = "Sousse";
+ break;
+ case 26:
+- name = "Chaiyaphum Province";
++ name = "Ariana";
+ break;
+ case 27:
+- name = "Bin";
++ name = "Ben Arous";
+ break;
+ case 28:
+ name = "Madanin";
+ break;
+ case 29:
+- name = "Qabis";
++ name = "Gabes";
+ break;
+ case 30:
+- name = "Qafsah";
++ name = "Gafsa";
+ break;
+ case 31:
+- name = "Qibili";
++ name = "Kebili";
+ break;
+ case 32:
+- name = "Safaqis";
++ name = "Sfax";
+ break;
+ case 33:
+- name = "Sidi Bu Zayd";
++ name = "Sidi Bou Zid";
+ break;
+ case 34:
+- name = "Tatawin";
++ name = "Tataouine";
+ break;
+ case 35:
+- name = "Tawzar";
++ name = "Tozeur";
+ break;
+ case 36:
+ name = "Tunis";
+ break;
+ case 37:
+- name = "Zaghwan";
+- break;
+- case 38:
+- name = "Ariana";
+- break;
+- case 39:
+- name = "Manouba";
++ name = "Zaghouan";
+ break;
+ }
+ }
+@@ -13035,6 +13083,9 @@ const char * GeoIP_region_name_by_code(c
+ case 5:
+ name = "Cao Bang";
+ break;
++ case 6:
++ name = "Cuu Long";
++ break;
+ case 7:
+ name = "Dac Lac";
+ break;
+@@ -13053,6 +13104,9 @@ const char * GeoIP_region_name_by_code(c
+ case 14:
+ name = "Ha Nam Ninh";
+ break;
++ case 15:
++ name = "Ha Noi";
++ break;
+ case 16:
+ name = "Ha Son Binh";
+ break;
+@@ -13377,6 +13431,9 @@ const char * GeoIP_region_name_by_code(c
+ case 5:
+ name = "Shabwah";
+ break;
++ case 6:
++ name = "Al Ghaydah";
++ break;
+ case 8:
+ name = "Al Hudaydah";
+ break;
+Only in c/: LICENSE
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: LICENSE.txt
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: Makefile.in
+Only in c/man: CVS
+Only in c/man: geoiplookup.1
+Only in c/man: geoiplookup6.1
+Only in c/man: geoipupdate.1
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/man: Makefile.in
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: missing
+diff -urp --exclude=from=/home/mdomsch/excludes --minimal /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/README c/README
+--- /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/README 2009-02-24 10:03:24.000000000 -0600
++++ c/README 2009-06-10 07:35:19.000000000 -0500
+@@ -182,4 +182,27 @@ from XORG X-Server). It happens at least
+ If GEOIP_MMAP_CACHE doesn't work on a 64bit machine, try adding
+ the flag "MAP_32BIT" to the mmap call.
+
++If you get a "passing argument 3 of 'gethostbyname_r' from incompatible pointer type"
++error on AIX, download and/or untar a fresh copy of GeoIP. ( To avoid cached
++results from a previous ./configure run )
++
++cd ./GeoIP-1.4.6
++then edit the file ./configure
++
++and delete these two lines:
++
++#define HAVE_GETHOSTBYNAME_R 1
++
++#define GETHOSTBYNAME_R_RETURNS_INT 1
++
++then save the configure script
++
++and build it as usual
++
++./configure
++make
++sudo make install
++
++
++
+ To submit a patch, please contact support at maxmind.com
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/: README.fedora
+Only in c/: regioncode
+Only in c/test: CVS
+Only in c/test: fail_test.txt
+Only in /home/mdomsch/cvs/fedora-extras/GeoIP/devel/GeoIP-1.4.6/test: Makefile.in
+Only in c/test: proxy_test.txt
+Only in c/: timezone
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/GeoIP.git/commit/?h=el6&id=ac8dd27ac0d070cede1de9d9e2ad2e9b6178a976
More information about the scm-commits
mailing list