No, I didn't notice it. And unfortunately is doesn't seem that I will be able to find time to play with it in near future. But on very quick look it seems that this might be enough:
diff -Naur mod_geoip2_1.2.5-ipv6-2a/mod_geoip.c mod_geoip2_1.2.5-ipv6-3/mod_geoip.c
--- mod_geoip2_1.2.5-ipv6-2a/mod_geoip.c 2010-11-24 02:35:01.726736800 +0100
+++ mod_geoip2_1.2.5-ipv6-3/mod_geoip.c 2012-03-19 02:44:47.935774500 +0100
@@ -500,7 +500,15 @@
break;
case GEOIP_CITY_EDITION_REV0:
case GEOIP_CITY_EDITION_REV1:
+ if(is_v6) break;
gir = GeoIP_record_by_addr(cfg->gips[i], ipaddr);
+ goto geoip_city_id;
+ case GEOIP_CITY_EDITION_REV0_V6:
+ case GEOIP_CITY_EDITION_REV1_V6:
+ if(!is_v6) break;
+ gir = GeoIP_record_by_addr_v6(cfg->gips[i], ipaddr);
+
+ geoip_city_id:
if (gir != NULL) {
if ( gir->country_code != NULL ) {
region_name = GeoIP_region_name_by_code(gir->country_code, gir->region);
It's completely untested, I just changed the file and didn't even try to compile it.