Index: head/www/webalizer/Makefile =================================================================== --- head/www/webalizer/Makefile (revision 434400) +++ head/www/webalizer/Makefile (revision 434401) @@ -1,197 +1,184 @@ # $FreeBSD$ PORTNAME= webalizer PORTVERSION= 2.23.8 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES+= www MASTER_SITES= ftp://ftp.mrunix.net/pub/webalizer/:main \ ftp://ftp.mrunix.net/pub/webalizer/geodb/:geodb \ ftp://ftp.dinoex.de/pub/FreeBSD/distfiles/:main \ http://flags.blogpotato.de/zip/:flags PKGNAMESUFFIX?= ${WEBALIZER_SUFFIX}${PKGNAMESUFFIX2} DISTNAME= ${PORTNAME}-2.23-08-src DISTFILES= ${DISTNAME}.tgz:main MAINTAINER?= dinoex@FreeBSD.org COMMENT= Web server log file analysis program LICENSE= GPLv2 +LIB_DEPENDS+= libpng16.so:graphics/png + GNU_CONFIGURE= yes DOCSDIR?= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} EXAMPLESDIR?= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME} GD_PORT?= graphics/gd CONFLICTS= geolizer-2* .if defined(BATCH) # no cosmetique spaces allowed WEBALIZER_LANG?=english .endif OPTIONS_DEFINE= GEOIP GEODB BDB1 BDB WEBALIZER_CONV \ - FULL_CGI_REFS CLICKABLE_REFERER LARGE_URL \ + FULL_CGI_REFS CLICKABLE_REFERER \ + IP_AS_HOSTNAME LARGE_URL \ DOCS EXAMPLES -OPTIONS_DEFAULT?= +OPTIONS_DEFAULT?= BDB1 NO_OPTIONS_SORT=yes +OPTIONS_SUB=yes GEODB_DESC=Enable Webalizers IP-Database support WEBALIZER_CONV_DESC=Japanese character code convert patch FULL_CGI_REFS_DESC=Show full cgi parameters in referers CLICKABLE_REFERER_DESC=Make referers clickable +IP_AS_HOSTNAME_DESC=Show IP as hostname when IP does not resolve LARGE_URL_DESC=Enable URLs longer 512 bytes +GEOIP_CONFIGURE_ON= --enable-geoip \ + --with-geoip-lib=${LOCALBASE}/lib \ + --with-geoip-inc=${LOCALBASE}/include +GEOIP_LIB_DEPENDS= libGeoIP.so:net/GeoIP +BDB1_PREVENTS= BDB +BDB1_CFLAGS= -DUSE_DB185 +BDB_PREVENTS= BDB1 +BDB_USES= bdb +BDB_LDFLAGS= -L${BDB_LIB_DIR} +BDB_CFLAGS= -I${BDB_INCLUDE_DIR} +WEBALIZER_CONV_USES= iconv +WEBALIZER_CONV_CONFIGURE_ON= --enable-mininls +WEBALIZER_CONV_CPPFLAGS= -I${LOCALBASE}/include +WEBALIZER_CONV_LIBS= -L${LOCALBASE}/lib ${ICONV_LIB} +FULL_CGI_REFS_CFLAGS= -DUSE_FULL_CGI_REFS +CLICKABLE_REFERER_CFLAGS= -DUSE_CLICKABLE_REFERER +IP_AS_HOSTNAME_CFLAGS= -DUSE_IP_AS_HOSTNAME + .include .if ${PORT_OPTIONS:MGEODB} || ${PORT_OPTIONS:MGEOIP} || make(makesum) || defined(FETCH_ALL) DISTFILES+= webalizer-flags.tgz:main .endif .if ${PORT_OPTIONS:MGEODB} || make(makesum) || defined(FETCH_ALL) -DISTFILES+= webalizer-geodb-20150901.tgz:geodb +DISTFILES+= webalizer-geodb-20170201.tgz:geodb .endif # slave ports override with languages specific gd -.if !defined(LIB_DEPENDS) +.if empty(LIB_DEPENDS:Mlibgd*) LIB_DEPENDS+= libgd.so:${GD_PORT} .endif .if ${PORT_OPTIONS:MGEOIP} -LIB_DEPENDS+= libGeoIP.so:net/GeoIP -.endif - -.if ${PORT_OPTIONS:MGEODB} -.if empty(PORT_OPTIONS:MBDB1) -USES+= bdb -.endif -PLIST_SUB+= WITH_GEODB="" -.else -PLIST_SUB+= WITH_GEODB="@comment " -.endif - -.if ${PORT_OPTIONS:MGEOIP} CONFLICTS+= ${PKGNAMEPREFIX}webalizer-2* -CONFIGURE_ARGS+= --enable-geoip \ - --with-geoip-lib=${LOCALBASE}/lib \ - --with-geoip-inc=${LOCALBASE}/include .else CONFLICTS+= ${PKGNAMEPREFIX}webalizer-geoip-2* .endif .if ${PORT_OPTIONS:MGEODB} || ${PORT_OPTIONS:MGEOIP} -PLIST_SUB+= WITH_GEOIP="" +PLIST_SUB+= WITH_ICONS="" .else -PLIST_SUB+= WITH_GEOIP="@comment " +PLIST_SUB+= WITH_ICONS="@comment " .endif -.if defined(WITH_BDB_VER) || ${PORT_OPTIONS:MBDB} -USES+= bdb -LDFLAGS+= -L${BDB_LIB_DIR} -CFLAGS+= -I${BDB_INCLUDE_DIR} -.else -CFLAGS+= -DUSE_DB185 -.endif - CONFIGURE_ARGS+= --enable-dns \ --enable-bz2 \ --with-geodb=${PREFIX}/share/webalizer \ --sysconfdir=${PREFIX}/etc \ --with-gdlib=${LOCALBASE}/lib \ --with-gd=${LOCALBASE}/include LDFLAGS+= -L${PREFIX}/lib CFLAGS+= -Wall LMAN1= ${PKGNAMEPREFIX}webalizer.1 ${PKGNAMEPREFIX}wcmgr.1 DOC1= CHANGES Copyright INSTALL \ README README.FIRST DNS.README country-codes.txt EXAMPLES1= msfree.png sample.conf webalizer.png WRKSRC= ${WRKDIR}/${DISTNAME:S/-src$//} PLIST_SUB+= PKGNAMEPREFIX=${PKGNAMEPREFIX} SUPP_LANG= albanian arabic catalan chinese croatian czech danish dutch \ english estonian finnish french galician german greek \ hungarian icelandic indonesian italian japanese korean \ latvian lithuanian malay norwegian polish portuguese \ portuguese_brazil romanian romanian-iso-8859-2 russian \ serbian simplified_chinese slovak slovene spanish swedish \ thai turkish ukrainian .if defined(WEBALIZER_LANG) CONFIGURE_ARGS+= --with-language=${WEBALIZER_LANG} # The patch file is written by URASHIMA Akira # see http://tyche.pu-toyama.ac.jp/~a-urasim/webalizer/ .if ${WEBALIZER_LANG} == japanese EXTRA_PATCHES+= ${FILESDIR}/ja-webalizer.conf-dist.patch .endif .endif .if ${PORT_OPTIONS:MWEBALIZER_CONV} -USES+= iconv -# The patch file is written by URASHIMA Akira +# The patch file is written by URASHIMA Akira # see http://tyche.pu-toyama.ac.jp/~a-urasim/webalizer/ EXTRA_PATCHES+= ${FILESDIR}/webalizer-a-urasim_2.patch -CONFIGURE_ARGS+= --enable-mininls -CPPFLAGS+= -I${LOCALBASE}/include -LIBS+= -L${LOCALBASE}/lib ${ICONV_LIB} .endif -.if ${PORT_OPTIONS:MFULL_CGI_REFS} -CFLAGS+= -DUSE_FULL_CGI_REFS -.endif - -.if ${PORT_OPTIONS:MCLICKABLE_REFERER} -CFLAGS+= -DUSE_CLICKABLE_REFERER -.endif - pre-configure: ${REINPLACE_CMD} -e "s|/etc|${PREFIX}/etc|" \ ${WRKSRC}/webalizer.1 ${REINPLACE_CMD} \ -e "s|webalizer.conf|${PKGNAMEPREFIX}webalizer.conf|" \ ${WRKSRC}/webalizer.c .if ${PORT_OPTIONS:MLARGE_URL} ${REINPLACE_CMD} \ -e "s|MAXURLH 512 |MAXURLH 2048|" \ ${WRKSRC}/webalizer.h .endif -.if defined(WITH_BDB_VER) || ${PORT_OPTIONS:MBDB} +.if ${PORT_OPTIONS:MBDB} ${REINPLACE_CMD} -e "s|-ldb|-l${BDB_LIB_NAME}|" \ ${WRKSRC}/configure .else ${REINPLACE_CMD} -e "s|-ldb||" \ ${WRKSRC}/configure .endif .if !defined(WEBALIZER_LANG) @${ECHO_MSG} "You can customize the language by typing" @${ECHO_MSG} " make WEBALIZER_LANG=" @${ECHO_MSG} "where is one of:" @${ECHO_MSG} ${SUPP_LANG} .endif do-install: ${INSTALL_PROGRAM} ${WRKSRC}/webalizer \ ${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}webalizer ${INSTALL_PROGRAM} ${WRKSRC}/wcmgr \ ${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}wcmgr ${LN} -sf ${PKGNAMEPREFIX}webalizer \ ${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}webazolver ${INSTALL_DATA} ${WRKSRC}/sample.conf \ ${STAGEDIR}${PREFIX}/etc/${PKGNAMEPREFIX}webalizer.conf-dist ; .for i in ${LMAN1} ${INSTALL_MAN} ${WRKSRC}/${i:S/^${PKGNAMEPREFIX}//} ${STAGEDIR}${PREFIX}/man/man1/${i} .endfor .if ${PORT_OPTIONS:MGEODB} || ${PORT_OPTIONS:MGEOIP} ${MKDIR} ${STAGEDIR}${PREFIX}/share/geolizer ${INSTALL_DATA} ${WRKDIR}/flags/* ${STAGEDIR}${PREFIX}/share/geolizer/ .endif .if ${PORT_OPTIONS:MGEODB} ${INSTALL_DATA} ${WRKDIR}/GeoDB.dat ${STAGEDIR}${PREFIX}/share/geolizer/ .endif -.if ${PORT_OPTIONS:MDOCS} + +do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${DOC1:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ -.endif -.if ${PORT_OPTIONS:MEXAMPLES} + +do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${EXAMPLES1:S,^,${WRKSRC}/,} ${STAGEDIR}${EXAMPLESDIR}/ -.endif .include Index: head/www/webalizer/distinfo =================================================================== --- head/www/webalizer/distinfo (revision 434400) +++ head/www/webalizer/distinfo (revision 434401) @@ -1,6 +1,7 @@ +TIMESTAMP = 1487502029 SHA256 (webalizer-2.23-08-src.tgz) = edaddb5aa41cc4a081a1500e3fa96615d4b41bc12086bcedf9938018ce79ed8d SIZE (webalizer-2.23-08-src.tgz) = 537037 SHA256 (webalizer-flags.tgz) = df9961fec7da2c16ed3faefb763f912c2db5ddce6a24e4f46647d7e64b8ab29a SIZE (webalizer-flags.tgz) = 146658 -SHA256 (webalizer-geodb-20150901.tgz) = dfc3023924968d45c1bad52ec89f63c6e885ce88c6aec48ae098a2db783709e7 -SIZE (webalizer-geodb-20150901.tgz) = 962059 +SHA256 (webalizer-geodb-20170201.tgz) = 7610f08125e1f7cdc3c57363470bc8c234257fb45ff8d18899e49e3011950f67 +SIZE (webalizer-geodb-20170201.tgz) = 1205029 Index: head/www/webalizer/files/patch-dns_resolv.c =================================================================== --- head/www/webalizer/files/patch-dns_resolv.c (revision 434400) +++ head/www/webalizer/files/patch-dns_resolv.c (revision 434401) @@ -1,236 +1,236 @@ ---- dns_resolv.c.orig 2008-07-01 07:49:26.000000000 +0200 -+++ dns_resolv.c 2008-07-05 08:45:35.000000000 +0200 +--- dns_resolv.c.orig 2013-02-26 05:37:27 UTC ++++ dns_resolv.c @@ -68,13 +68,21 @@ #include "parser.h" /* log parser functions */ #include "dns_resolv.h" /* our header */ +#ifndef DB_NOTFOUND +#define DB_NOTFOUND 1 +#endif + /* local data */ DB *dns_db = NULL; /* DNS cache database */ int dns_fd = 0; DB *geo_db = NULL; /* GeoDB database */ +#ifdef USE_DB185 +int geo_dbc = 0; /* GeoDB database cursor */ +#else DBC *geo_dbc = NULL; /* GeoDB database cursor */ +#endif struct dns_child child[MAXCHILD]; /* DNS child pipe data */ -@@ -122,7 +130,11 @@ +@@ -122,7 +130,11 @@ void resolve_dns(struct log_struct *log_ if (debug_mode) fprintf(stderr,"Checking %s...", log_rec->hostname); +#ifdef USE_DB185 + if ( (i=dns_db->get(dns_db, &query, &response, 0)) == 0) +#else if ( (i=dns_db->get(dns_db, NULL, &query, &response, 0)) == 0) +#endif { memcpy(&alignedRecord, response.data, sizeof(struct dnsRecord)); strncpy (log_rec->hostname, -@@ -131,7 +143,7 @@ +@@ -131,7 +143,7 @@ void resolve_dns(struct log_struct *log_ log_rec->hostname[MAXHOST-1]=0; if (debug_mode) fprintf(stderr," found: %s (%ld)\n", - log_rec->hostname, alignedRecord.timeStamp); + log_rec->hostname, (long)alignedRecord.timeStamp); } else /* not found or error occured during get */ { -@@ -193,10 +205,14 @@ +@@ -193,10 +205,14 @@ int dns_resolver(void *log_fp) } /* open cache file */ +#ifdef USE_DB185 + if (!(dns_db = dbopen(dns_cache, O_RDWR|O_CREAT, 0664, DB_HASH, NULL))) +#else if ( (db_create(&dns_db, NULL, 0) != 0) || (dns_db->open(dns_db, NULL, dns_cache, NULL, DB_HASH, DB_CREATE, 0644) != 0) ) +#endif { /* Error: Unable to open DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache); -@@ -206,14 +222,22 @@ +@@ -206,14 +222,22 @@ int dns_resolver(void *log_fp) } /* get file descriptor */ +#ifdef USE_DB185 + dns_fd = dns_db->fd(dns_db); +#else dns_db->fd(dns_db, &dns_fd); +#endif tmp_flock.l_type=F_WRLCK; /* set read/write lock type */ if (fcntl(dns_fd,F_SETLK,&tmp_flock) < 0) /* and barf if we cant lock */ { /* Error: Unable to lock DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif dns_cache=NULL; dns_db=NULL; return 0; /* disable cache */ -@@ -261,7 +285,11 @@ +@@ -261,7 +285,11 @@ int dns_resolver(void *log_fp) q.size = strlen(log_rec.hostname); /* Check if we have it in DB */ +#ifdef USE_DB185 + if ( (i=(dns_db->get)(dns_db, &q, &r, 0)) == 0 ) +#else if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0 ) +#endif { /* have a record for this address */ memcpy(&alignedRecord, r.data, sizeof(struct dnsRecord)); -@@ -301,7 +329,11 @@ +@@ -302,7 +330,11 @@ int dns_resolver(void *log_fp) if (verbose>1) printf("%s\n",msg_dns_none); tmp_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &tmp_flock); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif return 0; } -@@ -334,7 +366,11 @@ +@@ -335,7 +367,11 @@ int dns_resolver(void *log_fp) /* processing done, exit */ tmp_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &tmp_flock); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif return 0; } -@@ -719,7 +755,11 @@ +@@ -720,7 +756,11 @@ static void db_put(char *key, char *valu v.size = recSize; v.data = recPtr; +#ifdef USE_DB185 + if ( (dns_db->put)(dns_db, &k, &v, 0) < 0) +#else if ( dns_db->put(dns_db, NULL, &k, &v, 0) != 0 ) +#endif if (verbose>1) fprintf(stderr,"db_put fail!\n"); free(recPtr); } -@@ -767,10 +807,14 @@ +@@ -768,10 +808,14 @@ int open_cache() } /* open cache file */ +#ifdef USE_DB185 + if (!(dns_db = dbopen(dns_cache, O_RDONLY, 0664, DB_HASH, NULL))) +#else if ( (db_create(&dns_db, NULL, 0) != 0) || (dns_db->open(dns_db, NULL, dns_cache, NULL, DB_HASH, DB_RDONLY, 0644) != 0) ) +#endif { /* Error: Unable to open DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache); -@@ -778,13 +822,21 @@ +@@ -779,13 +823,21 @@ int open_cache() } /* get file descriptor */ +#ifdef USE_DB185 + dns_fd = dns_db->fd(dns_db); +#else dns_db->fd(dns_db, &dns_fd); +#endif /* Get shared lock on cache file */ if (fcntl(dns_fd, F_SETLK, &tmp_flock) < 0) { if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif return 0; } return 1; -@@ -806,7 +858,11 @@ +@@ -807,7 +859,11 @@ int close_cache() /* clear lock and close cache file */ fcntl(dns_fd, F_SETLK, &tmp_flock); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif return 1; } -@@ -824,6 +880,11 @@ +@@ -825,6 +881,11 @@ DB *geodb_open(char *dbname) strncpy(buf,dbname,sizeof(buf)-1); buf[sizeof(buf)-1]='\0'; +#ifdef USE_DB185 + geo_db = dbopen(buf, O_RDONLY, 0664, DB_HASH, NULL); + if (geo_db == NULL) + return NULL; +#else /* create database thingie */ if ( db_create(&geo_db, NULL, 0) ) return NULL; -@@ -836,6 +897,7 @@ +@@ -837,6 +898,7 @@ DB *geodb_open(char *dbname) geo_db->close(geo_db,0); return NULL; } +#endif /* all is well in the world */ return geo_db; } -@@ -856,7 +918,11 @@ +@@ -857,7 +919,11 @@ char *geodb_ver(DB *db, char *str) k.data=&x; k.size=sizeof(x); +#ifdef USE_DB185 + i=geo_db->get(geo_db, &k, &v, 0); +#else i=geo_db->get(geo_db, NULL, &k, &v, 0); +#endif if (i) strncpy(str, "Unknown", 8); else strncpy(str, v.data+3, v.size-3); -@@ -894,7 +960,11 @@ +@@ -895,7 +961,11 @@ char *geodb_get_cc(DB *db, char *ip, cha k.data=&addr; k.size=sizeof(addr); +#ifdef USE_DB185 + i=geo_db->get(geo_db, &k, &v, 0); +#else i=geo_dbc->c_get(geo_dbc, &k, &v, DB_SET_RANGE); +#endif if (!i) memcpy(buf, v.data, 2); return buf; } -@@ -905,7 +975,11 @@ +@@ -906,7 +976,11 @@ char *geodb_get_cc(DB *db, char *ip, cha void geodb_close(DB *db) { +#ifdef USE_DB185 + db->close(db); +#else db->close(db,0); +#endif } /*********************************************/ Index: head/www/webalizer/files/patch-output.c =================================================================== --- head/www/webalizer/files/patch-output.c (revision 434400) +++ head/www/webalizer/files/patch-output.c (revision 434401) @@ -1,23 +1,23 @@ ---- output.c.orig 2008-06-10 09:50:08.000000000 +0200 -+++ output.c 2008-06-20 18:43:04.000000000 +0200 -@@ -989,6 +989,20 @@ +--- output.c.orig 2013-02-26 05:37:27 UTC ++++ output.c +@@ -992,6 +992,20 @@ int all_sites_page(u_int64_t h_reg, u_in hptr=*pointer++; if (hptr->flag == OBJ_REG) { +#ifdef USE_CLICKABLE_REFERER + if (strstr(hptr->string,"://")!=NULL) + fprintf(out_fp, + "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% " \ + "%8llu %6.02f%% %s\n", + hptr->count, + (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files, + (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024, + (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit, + (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0, + hptr->string, + hptr->string); + else +#endif fprintf(out_fp, "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% " \ "%8llu %6.02f%% %s\n", Index: head/www/webalizer/files/patch-wcmgr.c =================================================================== --- head/www/webalizer/files/patch-wcmgr.c (revision 434400) +++ head/www/webalizer/files/patch-wcmgr.c (revision 434401) @@ -1,590 +1,589 @@ ---- wcmgr.c.orig 2008-06-02 07:27:57.000000000 +0200 -+++ wcmgr.c 2008-07-05 08:49:42.000000000 +0200 -@@ -73,6 +73,10 @@ - #include - #include "webalizer.h" +--- wcmgr.c.orig 2013-08-26 04:35:57 UTC ++++ wcmgr.c +@@ -78,6 +78,10 @@ int main() + #define str(x) xstr(x) + #define SMAXHOST str(MAXHOST) /* String version of MAXHOST value */ +#ifndef DB_NOTFOUND +#define DB_NOTFOUND 1 +#endif + /*********************************************/ /* Forward reference local functions */ /*********************************************/ -@@ -104,7 +108,11 @@ +@@ -109,7 +113,11 @@ int verbose = 0; int rec_ttl = 7; /* purge TTL in days */ DB *dns_db = NULL; /* DNS cache database */ DB *out_db = NULL; /* output cache db if needed */ +#ifdef USE_DB185 +int cursorp = 0; /* database cursor */ +#else DBC *cursorp = NULL; /* database cursor */ +#endif DBT q, r; /* query/reply structures */ char *in_file = NULL; /* input cache filename */ char out_file[MAXHOST+4]; /* output cache filename */ -@@ -131,18 +139,24 @@ +@@ -138,18 +146,24 @@ struct dnsRec void print_ver() { +#ifndef USE_DB185 int v,r,l; +#endif struct utsname system_info; uname(&system_info); printf("%s V%s-%s\n%s\n",pname,version,editlvl,copyright); if (verbose) { +#ifndef USE_DB185 db_version(&v,&r,&l); +#endif printf("System : %s %s (%s)\n", system_info.sysname, system_info.release, system_info.machine); +#ifndef USE_DB185 printf("DB Ver. : V%d.%d.%d\n",v,r,l); +#endif printf("Mod Date: %s\n",moddate); } printf("\n"); -@@ -168,7 +182,9 @@ +@@ -175,7 +189,9 @@ void print_help(void) printf(" -l List cache file contents\n"); printf(" -n name hostname (used for add)\n"); printf(" -p num Purge after num days\n"); +#ifndef USE_DB185 printf(" -s Display cache file stats/info\n"); +#endif printf(" -t num TTL value (for add and stats)\n"); printf(" -x name Export cache to tab file\n"); printf("\n"); -@@ -233,7 +249,9 @@ +@@ -240,7 +256,9 @@ int main(int argc, char *argv[]) case 'h': print_help(); break; case 'n': strncpy(name,optarg,sizeof(name)-1); break; case 'p': action='p'; if (optarg!=NULL) rec_ttl=atoi(optarg); break; +#ifndef USE_DB185 case 's': action='s'; break; +#endif case 't': rec_ttl=atoi(optarg); break; case 'v': verbose=1; break; case 'V': print_ver(); break; -@@ -250,12 +268,14 @@ +@@ -257,12 +275,14 @@ int main(int argc, char *argv[]) if (argc - optind == 0) print_help(); /* gots to have a filename!! */ in_file = argv[optind]; +#ifndef USE_DB185 /* Try to create our DB handle */ if ( db_create(&dns_db, NULL, 0) ) { fprintf(stderr,"Error: unable to create db handle!\n"); exit(1); } +#endif /* force sane TTL value */ if (rec_ttl > 99) rec_ttl=99; -@@ -269,7 +289,9 @@ +@@ -276,7 +296,9 @@ int main(int argc, char *argv[]) case 'd': del_rec(); break; case 'f': find_rec(); break; case 'i': import_cache(); break; +#ifndef USE_DB185 case 's': stat_cache(); break; +#endif case 'p': purge_cache(); break; case 'x': export_cache(); break; case 'l': -@@ -290,19 +312,31 @@ +@@ -297,19 +319,31 @@ void list_cache() u_int64_t t_num=0; /* open the database (read-only) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDONLY, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } +#ifndef USE_DB185 /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } +#endif /* get our runtime for TTL calculations */ time(&runtime); -@@ -321,7 +355,12 @@ +@@ -328,7 +362,12 @@ void list_cache() memset(&dns_rec, 0, sizeof(struct dnsRec)); /* Loop through database */ +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_FIRST); + while (!cursorp) +#else while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) +#endif { /* got a record */ t_rec++; -@@ -338,6 +377,9 @@ +@@ -346,6 +385,9 @@ void list_cache() /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_NEXT); +#endif } if (verbose) -@@ -368,15 +410,29 @@ +@@ -376,15 +418,29 @@ void purge_cache() rec_ttl, in_file); /* open the input database (read-write) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDWR|O_CREAT, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } /* get file descriptor */ +#ifdef USE_DB185 + dns_fd = dns_db->fd(dns_db); +#else dns_db->fd(dns_db, &dns_fd); +#endif /* Try to lock the file */ our_flock.l_whence=SEEK_SET; -@@ -391,30 +447,44 @@ +@@ -399,30 +455,44 @@ void purge_cache() exit(1); } +#ifndef USE_DB185 /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } +#endif +#ifndef USE_DB185 /* Try to create our output DB handle */ if ( db_create(&out_db, NULL, 0) ) { fprintf(stderr,"Error: unable to create output db handle!\n"); exit(1); } +#endif /* generate output filename */ memset(out_file, 0, sizeof(out_file)); sprintf(out_file, "%s.new", in_file); /* open the output database (read-write) */ +#ifdef USE_DB185 + out_db = dbopen(out_file, O_RDWR|O_CREAT, 0664, DB_HASH, NULL); + i = errno; + if (!out_db) +#else if ((i=out_db->open(out_db, NULL, out_file, NULL, DB_HASH, DB_CREATE|DB_EXCL, 0644))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",out_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",out_file,db_strerror(i)); +#endif exit(1); } -@@ -426,7 +496,12 @@ +@@ -434,7 +504,12 @@ void purge_cache() memset(&r, 0, sizeof(DBT)); /* Loop through database */ +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_FIRST); + while (!cursorp) +#else while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) +#endif { /* got a record */ t_in++; -@@ -439,9 +514,17 @@ +@@ -447,9 +522,17 @@ void purge_cache() if ( age <= (rec_ttl*86400) ) { /* Good record.. insert into new cache file */ +#ifdef USE_DB185 + if ( (out_db->put)(out_db, &q, &r, 0) < 0) +#else if ( (i=out_db->put(out_db, NULL, &q, &r, 0)) != 0 ) +#endif { +#ifdef USE_DB185 + fprintf(stderr,"Error: db_put fail: %s!\n",strerror(i)); +#else fprintf(stderr,"Error: db_put fail: %s!\n",db_strerror(i)); +#endif exit(1); } else t_out++; -@@ -462,13 +545,21 @@ +@@ -470,13 +553,21 @@ void purge_cache() /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_NEXT); +#endif } /* Successful exit! */ our_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &our_flock); +#ifdef USE_DB185 + dns_db->close(dns_db); + out_db->close(out_db); +#else dns_db->close(dns_db, 0); out_db->close(out_db, 0); +#endif /* rename files */ if (rename(out_file, in_file)) -@@ -485,6 +576,7 @@ +@@ -493,6 +584,7 @@ void purge_cache() /* STAT_CACHE - Display cache stats/info */ /*********************************************/ +#ifndef USE_DB185 void stat_cache() { /* Define some variables */ -@@ -576,6 +668,7 @@ - printf("Record Size Errors : %llu\n",t_err); +@@ -566,6 +658,7 @@ void stat_cache() + if (t_err) printf("Record Size Errors : %llu\n",t_err); printf("\n"); } +#endif /*********************************************/ /* FIND_REC - Find IP record in cache */ -@@ -587,10 +680,20 @@ +@@ -577,10 +670,20 @@ void find_rec() char ip_buf[48]; /* open the database (read-only) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDONLY, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } -@@ -605,7 +708,11 @@ +@@ -595,7 +698,11 @@ void find_rec() /* search the cache */ q.data = &addr; q.size = strlen(addr); +#ifdef USE_DB185 + if ( (i=(dns_db->get)(dns_db, &q, &r, 0)) == 0 ) +#else if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0) +#endif { /* We found it! display info */ memset(ip_buf, 0, sizeof(ip_buf)); -@@ -644,7 +751,11 @@ +@@ -635,7 +742,11 @@ void find_rec() if (i==DB_NOTFOUND) printf("%s not found!\n",addr); else +#ifdef USE_DB185 + printf("Error: %s\n",strerror(i)); +#else printf("Error: %s\n",db_strerror(i)); +#endif } } -@@ -669,10 +780,20 @@ +@@ -660,10 +771,20 @@ void del_rec() cp=addr; while (*cp!='\0') *cp++=tolower(*cp); /* open the database (read-write) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDWR, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } -@@ -686,7 +807,11 @@ +@@ -677,7 +798,11 @@ void del_rec() q.size = strlen(addr); /* Try to delete the record */ +#ifdef USE_DB185 + if ( (i=dns_db->del(dns_db, &q, 0)) ) +#else if ( (i=dns_db->del(dns_db, NULL, &q, 0)) ) +#endif { if (i==DB_NOTFOUND) { -@@ -695,11 +820,19 @@ +@@ -686,11 +811,19 @@ void del_rec() } else { +#ifdef USE_DB185 + fprintf(stderr,"Error: %s\n",strerror(i)); +#else fprintf(stderr,"Error: %s\n",db_strerror(i)); +#endif exit(1); } } +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db, 0); +#endif if (verbose) printf("%s sucessfully deleted from cache file\n",addr); } -@@ -736,10 +869,20 @@ +@@ -727,10 +860,20 @@ void add_rec() } /* open the database (read-write) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDWR, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } -@@ -754,7 +897,11 @@ +@@ -745,7 +888,11 @@ void add_rec() /* search the cache */ q.data = &addr; q.size = strlen(addr); +#ifdef USE_DB185 + if ( (i=(dns_db->get)(dns_db, &q, &r, 0)) == 0 ) +#else if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0) +#endif { fprintf(stderr,"Error: %s already exists in cache!\n",addr); exit(1); -@@ -763,7 +910,11 @@ +@@ -754,7 +901,11 @@ void add_rec() { if (i!=DB_NOTFOUND) { +#ifdef USE_DB185 + fprintf(stderr,"Error: %s\n",strerror(i)); +#else fprintf(stderr,"Error: %s\n",db_strerror(i)); +#endif exit(1); } else -@@ -777,7 +928,11 @@ +@@ -768,7 +919,11 @@ void add_rec() /* put it in the database */ if (db_put(addr, name, (strcmp(name,addr))?0:1, runtime)==0) +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db,0); +#endif if (verbose) printf("%s sucessfully added to cache file\n",addr); } -@@ -793,14 +948,28 @@ +@@ -784,14 +939,28 @@ void create_cache() int i; /* create the database */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDWR|O_CREAT, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db,NULL,in_file,NULL, DB_HASH,DB_CREATE|DB_EXCL,0644))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db,0); +#endif if (verbose) printf("Cache file %s created successfully\n",in_file); } -@@ -817,11 +986,23 @@ +@@ -808,11 +977,23 @@ void import_cache() char buffer[4096]; /* open the database (read-write) */ +#ifdef USE_DB185 + flag=O_RDWR; + if (create) flag|=O_CREAT; + dns_db = dbopen(in_file, flag, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if (create) flag=DB_CREATE|DB_EXCL; if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, flag, 0644))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } -@@ -859,7 +1040,11 @@ +@@ -850,7 +1031,11 @@ void import_cache() } } else fprintf(stderr,"Error: File not found: %s\n",out_file); +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db,0); +#endif if (verbose) printf("%llu records imported into '%s' from file '%s'\n", t_rec, in_file, out_file); -@@ -885,19 +1070,31 @@ +@@ -876,19 +1061,31 @@ void export_cache() } /* open the database (read-only) */ +#ifdef USE_DB185 + dns_db = dbopen(in_file, O_RDONLY, 0664, DB_HASH, NULL); + i = errno; + if (!dns_db) +#else if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) +#endif { /* Error opening the cache file.. tell user and exit */ +#ifdef USE_DB185 + fprintf(stderr,"Error: %s: %s\n",in_file,strerror(i)); +#else fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); +#endif exit(1); } +#ifndef USE_DB185 /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } +#endif /* stat output file */ if ( !(lstat(out_file, &out_stat)) ) -@@ -923,7 +1120,12 @@ +@@ -914,7 +1111,12 @@ void export_cache() memset(&dns_rec, 0, sizeof(struct dnsRec)); /* Loop through database */ +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_FIRST); + while (!cursorp) +#else while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) +#endif { /* got a record */ t_rec++; -@@ -941,8 +1143,15 @@ +@@ -932,8 +1134,15 @@ void export_cache() /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); -- } +#ifdef USE_DB185 + cursorp = dns_db->seq(dns_db, &q, &r, R_NEXT); +#endif -+ } + } +#ifdef USE_DB185 + dns_db->close(dns_db); +#else dns_db->close(dns_db,0); +#endif fclose(out_fp); if (verbose) printf("%llu records exported from '%s' to file '%s'\n", -@@ -989,8 +1198,13 @@ +@@ -980,8 +1189,13 @@ static int db_put(char *key, char *value v.size = recSize; v.data = recPtr; +#ifdef USE_DB185 + if ( (dns_db->put)(dns_db, &k, &v, 0) < 0) + fprintf(stderr,"Error: db_put fail: %s!\n",strerror(errno)); +#else if ( (i=dns_db->put(dns_db, NULL, &k, &v, 0)) != 0 ) fprintf(stderr,"Error: db_put fail: %s!\n",db_strerror(i)); +#endif free(recPtr); } else return 1; Index: head/www/webalizer/files/patch-webalizer.c =================================================================== --- head/www/webalizer/files/patch-webalizer.c (revision 434400) +++ head/www/webalizer/files/patch-webalizer.c (revision 434401) @@ -1,14 +1,28 @@ ---- webalizer.c.orig 2008-07-02 00:23:43.000000000 +0200 -+++ webalizer.c 2008-07-05 09:00:42.000000000 +0200 -@@ -929,7 +930,11 @@ +--- webalizer.c.orig 2013-08-26 04:52:15 UTC ++++ webalizer.c +@@ -942,7 +942,11 @@ int main(int argc, char *argv[]) { /* Save query portion in log.rec.srchstr */ strncpy(log_rec.srchstr,(char *)cp1,MAXSRCH); +#ifdef USE_FULL_CGI_REFS + *cp1++; +#else *cp1++='\0'; +#endif break; } else cp1++; +@@ -1089,6 +1093,13 @@ int main(int argc, char *argv[]) + { + freeaddrinfo(ares); + resolve_dns(&log_rec); ++ ++#ifdef USE_IP_AS_HOSTNAME ++ /* restore the host's IP-address if the host's name has not been resolved */ ++ if (!strcmp(log_rec.hostname,"\020\002")) ++ strncpy(log_rec.hostname, host_buf, sizeof(host_buf)); ++#endif ++ + } + } + #endif Index: head/www/webalizer/pkg-plist =================================================================== --- head/www/webalizer/pkg-plist (revision 434400) +++ head/www/webalizer/pkg-plist (revision 434401) @@ -1,273 +1,273 @@ bin/%%PKGNAMEPREFIX%%webalizer bin/%%PKGNAMEPREFIX%%webazolver bin/%%PKGNAMEPREFIX%%wcmgr etc/%%PKGNAMEPREFIX%%webalizer.conf-dist man/man1/%%PKGNAMEPREFIX%%webalizer.1.gz man/man1/%%PKGNAMEPREFIX%%wcmgr.1.gz -%%WITH_GEODB%%share/geolizer/GeoDB.dat -%%WITH_GEOIP%%share/geolizer/README -%%WITH_GEOIP%%share/geolizer/a1.png -%%WITH_GEOIP%%share/geolizer/a2.png -%%WITH_GEOIP%%share/geolizer/ac.png -%%WITH_GEOIP%%share/geolizer/ad.png -%%WITH_GEOIP%%share/geolizer/ae.png -%%WITH_GEOIP%%share/geolizer/af.png -%%WITH_GEOIP%%share/geolizer/ag.png -%%WITH_GEOIP%%share/geolizer/ai.png -%%WITH_GEOIP%%share/geolizer/al.png -%%WITH_GEOIP%%share/geolizer/am.png -%%WITH_GEOIP%%share/geolizer/an.png -%%WITH_GEOIP%%share/geolizer/ao.png -%%WITH_GEOIP%%share/geolizer/aq.png -%%WITH_GEOIP%%share/geolizer/ar.png -%%WITH_GEOIP%%share/geolizer/as.png -%%WITH_GEOIP%%share/geolizer/at.png -%%WITH_GEOIP%%share/geolizer/au.png -%%WITH_GEOIP%%share/geolizer/aw.png -%%WITH_GEOIP%%share/geolizer/ax.png -%%WITH_GEOIP%%share/geolizer/az.png -%%WITH_GEOIP%%share/geolizer/ba.png -%%WITH_GEOIP%%share/geolizer/bb.png -%%WITH_GEOIP%%share/geolizer/bd.png -%%WITH_GEOIP%%share/geolizer/be.png -%%WITH_GEOIP%%share/geolizer/bf.png -%%WITH_GEOIP%%share/geolizer/bg.png -%%WITH_GEOIP%%share/geolizer/bh.png -%%WITH_GEOIP%%share/geolizer/bi.png -%%WITH_GEOIP%%share/geolizer/bj.png -%%WITH_GEOIP%%share/geolizer/bl.png -%%WITH_GEOIP%%share/geolizer/bm.png -%%WITH_GEOIP%%share/geolizer/bn.png -%%WITH_GEOIP%%share/geolizer/bo.png -%%WITH_GEOIP%%share/geolizer/br.png -%%WITH_GEOIP%%share/geolizer/bs.png -%%WITH_GEOIP%%share/geolizer/bt.png -%%WITH_GEOIP%%share/geolizer/bv.png -%%WITH_GEOIP%%share/geolizer/bw.png -%%WITH_GEOIP%%share/geolizer/by.png -%%WITH_GEOIP%%share/geolizer/bz.png -%%WITH_GEOIP%%share/geolizer/ca.png -%%WITH_GEOIP%%share/geolizer/cc.png -%%WITH_GEOIP%%share/geolizer/cd.png -%%WITH_GEOIP%%share/geolizer/cf.png -%%WITH_GEOIP%%share/geolizer/cg.png -%%WITH_GEOIP%%share/geolizer/ch.png -%%WITH_GEOIP%%share/geolizer/ci.png -%%WITH_GEOIP%%share/geolizer/ck.png -%%WITH_GEOIP%%share/geolizer/cl.png -%%WITH_GEOIP%%share/geolizer/cm.png -%%WITH_GEOIP%%share/geolizer/cn.png -%%WITH_GEOIP%%share/geolizer/co.png -%%WITH_GEOIP%%share/geolizer/cr.png -%%WITH_GEOIP%%share/geolizer/cu.png -%%WITH_GEOIP%%share/geolizer/cv.png -%%WITH_GEOIP%%share/geolizer/cx.png -%%WITH_GEOIP%%share/geolizer/cy.png -%%WITH_GEOIP%%share/geolizer/cz.png -%%WITH_GEOIP%%share/geolizer/de.png -%%WITH_GEOIP%%share/geolizer/dj.png -%%WITH_GEOIP%%share/geolizer/dk.png -%%WITH_GEOIP%%share/geolizer/dm.png -%%WITH_GEOIP%%share/geolizer/do.png -%%WITH_GEOIP%%share/geolizer/dz.png -%%WITH_GEOIP%%share/geolizer/ec.png -%%WITH_GEOIP%%share/geolizer/ee.png -%%WITH_GEOIP%%share/geolizer/eg.png -%%WITH_GEOIP%%share/geolizer/eh.png -%%WITH_GEOIP%%share/geolizer/er.png -%%WITH_GEOIP%%share/geolizer/es.png -%%WITH_GEOIP%%share/geolizer/et.png -%%WITH_GEOIP%%share/geolizer/eu.png -%%WITH_GEOIP%%share/geolizer/fi.png -%%WITH_GEOIP%%share/geolizer/fj.png -%%WITH_GEOIP%%share/geolizer/fk.png -%%WITH_GEOIP%%share/geolizer/fm.png -%%WITH_GEOIP%%share/geolizer/fo.png -%%WITH_GEOIP%%share/geolizer/fr.png -%%WITH_GEOIP%%share/geolizer/ga.png -%%WITH_GEOIP%%share/geolizer/gb.png -%%WITH_GEOIP%%share/geolizer/gd.png -%%WITH_GEOIP%%share/geolizer/ge.png -%%WITH_GEOIP%%share/geolizer/gf.png -%%WITH_GEOIP%%share/geolizer/gg.png -%%WITH_GEOIP%%share/geolizer/gh.png -%%WITH_GEOIP%%share/geolizer/gi.png -%%WITH_GEOIP%%share/geolizer/gl.png -%%WITH_GEOIP%%share/geolizer/gm.png -%%WITH_GEOIP%%share/geolizer/gn.png -%%WITH_GEOIP%%share/geolizer/gp.png -%%WITH_GEOIP%%share/geolizer/gq.png -%%WITH_GEOIP%%share/geolizer/gr.png -%%WITH_GEOIP%%share/geolizer/gs.png -%%WITH_GEOIP%%share/geolizer/gt.png -%%WITH_GEOIP%%share/geolizer/gu.png -%%WITH_GEOIP%%share/geolizer/gw.png -%%WITH_GEOIP%%share/geolizer/gy.png -%%WITH_GEOIP%%share/geolizer/hk.png -%%WITH_GEOIP%%share/geolizer/hm.png -%%WITH_GEOIP%%share/geolizer/hn.png -%%WITH_GEOIP%%share/geolizer/hr.png -%%WITH_GEOIP%%share/geolizer/ht.png -%%WITH_GEOIP%%share/geolizer/hu.png -%%WITH_GEOIP%%share/geolizer/id.png -%%WITH_GEOIP%%share/geolizer/ie.png -%%WITH_GEOIP%%share/geolizer/il.png -%%WITH_GEOIP%%share/geolizer/im.png -%%WITH_GEOIP%%share/geolizer/in.png -%%WITH_GEOIP%%share/geolizer/io.png -%%WITH_GEOIP%%share/geolizer/iq.png -%%WITH_GEOIP%%share/geolizer/ir.png -%%WITH_GEOIP%%share/geolizer/is.png -%%WITH_GEOIP%%share/geolizer/it.png -%%WITH_GEOIP%%share/geolizer/je.png -%%WITH_GEOIP%%share/geolizer/jm.png -%%WITH_GEOIP%%share/geolizer/jo.png -%%WITH_GEOIP%%share/geolizer/jp.png -%%WITH_GEOIP%%share/geolizer/ke.png -%%WITH_GEOIP%%share/geolizer/kg.png -%%WITH_GEOIP%%share/geolizer/kh.png -%%WITH_GEOIP%%share/geolizer/ki.png -%%WITH_GEOIP%%share/geolizer/km.png -%%WITH_GEOIP%%share/geolizer/kn.png -%%WITH_GEOIP%%share/geolizer/kp.png -%%WITH_GEOIP%%share/geolizer/kr.png -%%WITH_GEOIP%%share/geolizer/kw.png -%%WITH_GEOIP%%share/geolizer/ky.png -%%WITH_GEOIP%%share/geolizer/kz.png -%%WITH_GEOIP%%share/geolizer/la.png -%%WITH_GEOIP%%share/geolizer/lb.png -%%WITH_GEOIP%%share/geolizer/lc.png -%%WITH_GEOIP%%share/geolizer/li.png -%%WITH_GEOIP%%share/geolizer/lk.png -%%WITH_GEOIP%%share/geolizer/lr.png -%%WITH_GEOIP%%share/geolizer/ls.png -%%WITH_GEOIP%%share/geolizer/lt.png -%%WITH_GEOIP%%share/geolizer/lu.png -%%WITH_GEOIP%%share/geolizer/lv.png -%%WITH_GEOIP%%share/geolizer/ly.png -%%WITH_GEOIP%%share/geolizer/ma.png -%%WITH_GEOIP%%share/geolizer/mc.png -%%WITH_GEOIP%%share/geolizer/md.png -%%WITH_GEOIP%%share/geolizer/me.png -%%WITH_GEOIP%%share/geolizer/mf.png -%%WITH_GEOIP%%share/geolizer/mg.png -%%WITH_GEOIP%%share/geolizer/mh.png -%%WITH_GEOIP%%share/geolizer/mk.png -%%WITH_GEOIP%%share/geolizer/ml.png -%%WITH_GEOIP%%share/geolizer/mm.png -%%WITH_GEOIP%%share/geolizer/mn.png -%%WITH_GEOIP%%share/geolizer/mo.png -%%WITH_GEOIP%%share/geolizer/mp.png -%%WITH_GEOIP%%share/geolizer/mq.png -%%WITH_GEOIP%%share/geolizer/mr.png -%%WITH_GEOIP%%share/geolizer/ms.png -%%WITH_GEOIP%%share/geolizer/mt.png -%%WITH_GEOIP%%share/geolizer/mu.png -%%WITH_GEOIP%%share/geolizer/mv.png -%%WITH_GEOIP%%share/geolizer/mw.png -%%WITH_GEOIP%%share/geolizer/mx.png -%%WITH_GEOIP%%share/geolizer/my.png -%%WITH_GEOIP%%share/geolizer/mz.png -%%WITH_GEOIP%%share/geolizer/na.png -%%WITH_GEOIP%%share/geolizer/nc.png -%%WITH_GEOIP%%share/geolizer/ne.png -%%WITH_GEOIP%%share/geolizer/nf.png -%%WITH_GEOIP%%share/geolizer/ng.png -%%WITH_GEOIP%%share/geolizer/ni.png -%%WITH_GEOIP%%share/geolizer/nl.png -%%WITH_GEOIP%%share/geolizer/no.png -%%WITH_GEOIP%%share/geolizer/np.png -%%WITH_GEOIP%%share/geolizer/nr.png -%%WITH_GEOIP%%share/geolizer/nu.png -%%WITH_GEOIP%%share/geolizer/nz.png -%%WITH_GEOIP%%share/geolizer/o1.png -%%WITH_GEOIP%%share/geolizer/om.png -%%WITH_GEOIP%%share/geolizer/pa.png -%%WITH_GEOIP%%share/geolizer/pe.png -%%WITH_GEOIP%%share/geolizer/pf.png -%%WITH_GEOIP%%share/geolizer/pg.png -%%WITH_GEOIP%%share/geolizer/ph.png -%%WITH_GEOIP%%share/geolizer/pk.png -%%WITH_GEOIP%%share/geolizer/pl.png -%%WITH_GEOIP%%share/geolizer/pm.png -%%WITH_GEOIP%%share/geolizer/pn.png -%%WITH_GEOIP%%share/geolizer/pr.png -%%WITH_GEOIP%%share/geolizer/ps.png -%%WITH_GEOIP%%share/geolizer/pt.png -%%WITH_GEOIP%%share/geolizer/pw.png -%%WITH_GEOIP%%share/geolizer/py.png -%%WITH_GEOIP%%share/geolizer/qa.png -%%WITH_GEOIP%%share/geolizer/re.png -%%WITH_GEOIP%%share/geolizer/ro.png -%%WITH_GEOIP%%share/geolizer/rs.png -%%WITH_GEOIP%%share/geolizer/ru.png -%%WITH_GEOIP%%share/geolizer/rw.png -%%WITH_GEOIP%%share/geolizer/sa.png -%%WITH_GEOIP%%share/geolizer/sb.png -%%WITH_GEOIP%%share/geolizer/sc.png -%%WITH_GEOIP%%share/geolizer/sd.png -%%WITH_GEOIP%%share/geolizer/se.png -%%WITH_GEOIP%%share/geolizer/sg.png -%%WITH_GEOIP%%share/geolizer/sh.png -%%WITH_GEOIP%%share/geolizer/si.png -%%WITH_GEOIP%%share/geolizer/sj.png -%%WITH_GEOIP%%share/geolizer/sk.png -%%WITH_GEOIP%%share/geolizer/sl.png -%%WITH_GEOIP%%share/geolizer/sm.png -%%WITH_GEOIP%%share/geolizer/sn.png -%%WITH_GEOIP%%share/geolizer/so.png -%%WITH_GEOIP%%share/geolizer/sr.png -%%WITH_GEOIP%%share/geolizer/st.png -%%WITH_GEOIP%%share/geolizer/su.png -%%WITH_GEOIP%%share/geolizer/sv.png -%%WITH_GEOIP%%share/geolizer/sy.png -%%WITH_GEOIP%%share/geolizer/sz.png -%%WITH_GEOIP%%share/geolizer/tc.png -%%WITH_GEOIP%%share/geolizer/td.png -%%WITH_GEOIP%%share/geolizer/tf.png -%%WITH_GEOIP%%share/geolizer/tg.png -%%WITH_GEOIP%%share/geolizer/th.png -%%WITH_GEOIP%%share/geolizer/tj.png -%%WITH_GEOIP%%share/geolizer/tk.png -%%WITH_GEOIP%%share/geolizer/tl.png -%%WITH_GEOIP%%share/geolizer/tm.png -%%WITH_GEOIP%%share/geolizer/tn.png -%%WITH_GEOIP%%share/geolizer/to.png -%%WITH_GEOIP%%share/geolizer/tp.png -%%WITH_GEOIP%%share/geolizer/tr.png -%%WITH_GEOIP%%share/geolizer/tt.png -%%WITH_GEOIP%%share/geolizer/tv.png -%%WITH_GEOIP%%share/geolizer/tw.png -%%WITH_GEOIP%%share/geolizer/tz.png -%%WITH_GEOIP%%share/geolizer/ua.png -%%WITH_GEOIP%%share/geolizer/ug.png -%%WITH_GEOIP%%share/geolizer/uk.png -%%WITH_GEOIP%%share/geolizer/um.png -%%WITH_GEOIP%%share/geolizer/us.png -%%WITH_GEOIP%%share/geolizer/uy.png -%%WITH_GEOIP%%share/geolizer/uz.png -%%WITH_GEOIP%%share/geolizer/va.png -%%WITH_GEOIP%%share/geolizer/vc.png -%%WITH_GEOIP%%share/geolizer/ve.png -%%WITH_GEOIP%%share/geolizer/vg.png -%%WITH_GEOIP%%share/geolizer/vi.png -%%WITH_GEOIP%%share/geolizer/vn.png -%%WITH_GEOIP%%share/geolizer/vu.png -%%WITH_GEOIP%%share/geolizer/wf.png -%%WITH_GEOIP%%share/geolizer/ws.png -%%WITH_GEOIP%%share/geolizer/ye.png -%%WITH_GEOIP%%share/geolizer/yt.png -%%WITH_GEOIP%%share/geolizer/yu.png -%%WITH_GEOIP%%share/geolizer/za.png -%%WITH_GEOIP%%share/geolizer/zm.png -%%WITH_GEOIP%%share/geolizer/zw.png +%%GEODB%%share/geolizer/GeoDB.dat +%%WITH_ICONS%%share/geolizer/README +%%WITH_ICONS%%share/geolizer/a1.png +%%WITH_ICONS%%share/geolizer/a2.png +%%WITH_ICONS%%share/geolizer/ac.png +%%WITH_ICONS%%share/geolizer/ad.png +%%WITH_ICONS%%share/geolizer/ae.png +%%WITH_ICONS%%share/geolizer/af.png +%%WITH_ICONS%%share/geolizer/ag.png +%%WITH_ICONS%%share/geolizer/ai.png +%%WITH_ICONS%%share/geolizer/al.png +%%WITH_ICONS%%share/geolizer/am.png +%%WITH_ICONS%%share/geolizer/an.png +%%WITH_ICONS%%share/geolizer/ao.png +%%WITH_ICONS%%share/geolizer/aq.png +%%WITH_ICONS%%share/geolizer/ar.png +%%WITH_ICONS%%share/geolizer/as.png +%%WITH_ICONS%%share/geolizer/at.png +%%WITH_ICONS%%share/geolizer/au.png +%%WITH_ICONS%%share/geolizer/aw.png +%%WITH_ICONS%%share/geolizer/ax.png +%%WITH_ICONS%%share/geolizer/az.png +%%WITH_ICONS%%share/geolizer/ba.png +%%WITH_ICONS%%share/geolizer/bb.png +%%WITH_ICONS%%share/geolizer/bd.png +%%WITH_ICONS%%share/geolizer/be.png +%%WITH_ICONS%%share/geolizer/bf.png +%%WITH_ICONS%%share/geolizer/bg.png +%%WITH_ICONS%%share/geolizer/bh.png +%%WITH_ICONS%%share/geolizer/bi.png +%%WITH_ICONS%%share/geolizer/bj.png +%%WITH_ICONS%%share/geolizer/bl.png +%%WITH_ICONS%%share/geolizer/bm.png +%%WITH_ICONS%%share/geolizer/bn.png +%%WITH_ICONS%%share/geolizer/bo.png +%%WITH_ICONS%%share/geolizer/br.png +%%WITH_ICONS%%share/geolizer/bs.png +%%WITH_ICONS%%share/geolizer/bt.png +%%WITH_ICONS%%share/geolizer/bv.png +%%WITH_ICONS%%share/geolizer/bw.png +%%WITH_ICONS%%share/geolizer/by.png +%%WITH_ICONS%%share/geolizer/bz.png +%%WITH_ICONS%%share/geolizer/ca.png +%%WITH_ICONS%%share/geolizer/cc.png +%%WITH_ICONS%%share/geolizer/cd.png +%%WITH_ICONS%%share/geolizer/cf.png +%%WITH_ICONS%%share/geolizer/cg.png +%%WITH_ICONS%%share/geolizer/ch.png +%%WITH_ICONS%%share/geolizer/ci.png +%%WITH_ICONS%%share/geolizer/ck.png +%%WITH_ICONS%%share/geolizer/cl.png +%%WITH_ICONS%%share/geolizer/cm.png +%%WITH_ICONS%%share/geolizer/cn.png +%%WITH_ICONS%%share/geolizer/co.png +%%WITH_ICONS%%share/geolizer/cr.png +%%WITH_ICONS%%share/geolizer/cu.png +%%WITH_ICONS%%share/geolizer/cv.png +%%WITH_ICONS%%share/geolizer/cx.png +%%WITH_ICONS%%share/geolizer/cy.png +%%WITH_ICONS%%share/geolizer/cz.png +%%WITH_ICONS%%share/geolizer/de.png +%%WITH_ICONS%%share/geolizer/dj.png +%%WITH_ICONS%%share/geolizer/dk.png +%%WITH_ICONS%%share/geolizer/dm.png +%%WITH_ICONS%%share/geolizer/do.png +%%WITH_ICONS%%share/geolizer/dz.png +%%WITH_ICONS%%share/geolizer/ec.png +%%WITH_ICONS%%share/geolizer/ee.png +%%WITH_ICONS%%share/geolizer/eg.png +%%WITH_ICONS%%share/geolizer/eh.png +%%WITH_ICONS%%share/geolizer/er.png +%%WITH_ICONS%%share/geolizer/es.png +%%WITH_ICONS%%share/geolizer/et.png +%%WITH_ICONS%%share/geolizer/eu.png +%%WITH_ICONS%%share/geolizer/fi.png +%%WITH_ICONS%%share/geolizer/fj.png +%%WITH_ICONS%%share/geolizer/fk.png +%%WITH_ICONS%%share/geolizer/fm.png +%%WITH_ICONS%%share/geolizer/fo.png +%%WITH_ICONS%%share/geolizer/fr.png +%%WITH_ICONS%%share/geolizer/ga.png +%%WITH_ICONS%%share/geolizer/gb.png +%%WITH_ICONS%%share/geolizer/gd.png +%%WITH_ICONS%%share/geolizer/ge.png +%%WITH_ICONS%%share/geolizer/gf.png +%%WITH_ICONS%%share/geolizer/gg.png +%%WITH_ICONS%%share/geolizer/gh.png +%%WITH_ICONS%%share/geolizer/gi.png +%%WITH_ICONS%%share/geolizer/gl.png +%%WITH_ICONS%%share/geolizer/gm.png +%%WITH_ICONS%%share/geolizer/gn.png +%%WITH_ICONS%%share/geolizer/gp.png +%%WITH_ICONS%%share/geolizer/gq.png +%%WITH_ICONS%%share/geolizer/gr.png +%%WITH_ICONS%%share/geolizer/gs.png +%%WITH_ICONS%%share/geolizer/gt.png +%%WITH_ICONS%%share/geolizer/gu.png +%%WITH_ICONS%%share/geolizer/gw.png +%%WITH_ICONS%%share/geolizer/gy.png +%%WITH_ICONS%%share/geolizer/hk.png +%%WITH_ICONS%%share/geolizer/hm.png +%%WITH_ICONS%%share/geolizer/hn.png +%%WITH_ICONS%%share/geolizer/hr.png +%%WITH_ICONS%%share/geolizer/ht.png +%%WITH_ICONS%%share/geolizer/hu.png +%%WITH_ICONS%%share/geolizer/id.png +%%WITH_ICONS%%share/geolizer/ie.png +%%WITH_ICONS%%share/geolizer/il.png +%%WITH_ICONS%%share/geolizer/im.png +%%WITH_ICONS%%share/geolizer/in.png +%%WITH_ICONS%%share/geolizer/io.png +%%WITH_ICONS%%share/geolizer/iq.png +%%WITH_ICONS%%share/geolizer/ir.png +%%WITH_ICONS%%share/geolizer/is.png +%%WITH_ICONS%%share/geolizer/it.png +%%WITH_ICONS%%share/geolizer/je.png +%%WITH_ICONS%%share/geolizer/jm.png +%%WITH_ICONS%%share/geolizer/jo.png +%%WITH_ICONS%%share/geolizer/jp.png +%%WITH_ICONS%%share/geolizer/ke.png +%%WITH_ICONS%%share/geolizer/kg.png +%%WITH_ICONS%%share/geolizer/kh.png +%%WITH_ICONS%%share/geolizer/ki.png +%%WITH_ICONS%%share/geolizer/km.png +%%WITH_ICONS%%share/geolizer/kn.png +%%WITH_ICONS%%share/geolizer/kp.png +%%WITH_ICONS%%share/geolizer/kr.png +%%WITH_ICONS%%share/geolizer/kw.png +%%WITH_ICONS%%share/geolizer/ky.png +%%WITH_ICONS%%share/geolizer/kz.png +%%WITH_ICONS%%share/geolizer/la.png +%%WITH_ICONS%%share/geolizer/lb.png +%%WITH_ICONS%%share/geolizer/lc.png +%%WITH_ICONS%%share/geolizer/li.png +%%WITH_ICONS%%share/geolizer/lk.png +%%WITH_ICONS%%share/geolizer/lr.png +%%WITH_ICONS%%share/geolizer/ls.png +%%WITH_ICONS%%share/geolizer/lt.png +%%WITH_ICONS%%share/geolizer/lu.png +%%WITH_ICONS%%share/geolizer/lv.png +%%WITH_ICONS%%share/geolizer/ly.png +%%WITH_ICONS%%share/geolizer/ma.png +%%WITH_ICONS%%share/geolizer/mc.png +%%WITH_ICONS%%share/geolizer/md.png +%%WITH_ICONS%%share/geolizer/me.png +%%WITH_ICONS%%share/geolizer/mf.png +%%WITH_ICONS%%share/geolizer/mg.png +%%WITH_ICONS%%share/geolizer/mh.png +%%WITH_ICONS%%share/geolizer/mk.png +%%WITH_ICONS%%share/geolizer/ml.png +%%WITH_ICONS%%share/geolizer/mm.png +%%WITH_ICONS%%share/geolizer/mn.png +%%WITH_ICONS%%share/geolizer/mo.png +%%WITH_ICONS%%share/geolizer/mp.png +%%WITH_ICONS%%share/geolizer/mq.png +%%WITH_ICONS%%share/geolizer/mr.png +%%WITH_ICONS%%share/geolizer/ms.png +%%WITH_ICONS%%share/geolizer/mt.png +%%WITH_ICONS%%share/geolizer/mu.png +%%WITH_ICONS%%share/geolizer/mv.png +%%WITH_ICONS%%share/geolizer/mw.png +%%WITH_ICONS%%share/geolizer/mx.png +%%WITH_ICONS%%share/geolizer/my.png +%%WITH_ICONS%%share/geolizer/mz.png +%%WITH_ICONS%%share/geolizer/na.png +%%WITH_ICONS%%share/geolizer/nc.png +%%WITH_ICONS%%share/geolizer/ne.png +%%WITH_ICONS%%share/geolizer/nf.png +%%WITH_ICONS%%share/geolizer/ng.png +%%WITH_ICONS%%share/geolizer/ni.png +%%WITH_ICONS%%share/geolizer/nl.png +%%WITH_ICONS%%share/geolizer/no.png +%%WITH_ICONS%%share/geolizer/np.png +%%WITH_ICONS%%share/geolizer/nr.png +%%WITH_ICONS%%share/geolizer/nu.png +%%WITH_ICONS%%share/geolizer/nz.png +%%WITH_ICONS%%share/geolizer/o1.png +%%WITH_ICONS%%share/geolizer/om.png +%%WITH_ICONS%%share/geolizer/pa.png +%%WITH_ICONS%%share/geolizer/pe.png +%%WITH_ICONS%%share/geolizer/pf.png +%%WITH_ICONS%%share/geolizer/pg.png +%%WITH_ICONS%%share/geolizer/ph.png +%%WITH_ICONS%%share/geolizer/pk.png +%%WITH_ICONS%%share/geolizer/pl.png +%%WITH_ICONS%%share/geolizer/pm.png +%%WITH_ICONS%%share/geolizer/pn.png +%%WITH_ICONS%%share/geolizer/pr.png +%%WITH_ICONS%%share/geolizer/ps.png +%%WITH_ICONS%%share/geolizer/pt.png +%%WITH_ICONS%%share/geolizer/pw.png +%%WITH_ICONS%%share/geolizer/py.png +%%WITH_ICONS%%share/geolizer/qa.png +%%WITH_ICONS%%share/geolizer/re.png +%%WITH_ICONS%%share/geolizer/ro.png +%%WITH_ICONS%%share/geolizer/rs.png +%%WITH_ICONS%%share/geolizer/ru.png +%%WITH_ICONS%%share/geolizer/rw.png +%%WITH_ICONS%%share/geolizer/sa.png +%%WITH_ICONS%%share/geolizer/sb.png +%%WITH_ICONS%%share/geolizer/sc.png +%%WITH_ICONS%%share/geolizer/sd.png +%%WITH_ICONS%%share/geolizer/se.png +%%WITH_ICONS%%share/geolizer/sg.png +%%WITH_ICONS%%share/geolizer/sh.png +%%WITH_ICONS%%share/geolizer/si.png +%%WITH_ICONS%%share/geolizer/sj.png +%%WITH_ICONS%%share/geolizer/sk.png +%%WITH_ICONS%%share/geolizer/sl.png +%%WITH_ICONS%%share/geolizer/sm.png +%%WITH_ICONS%%share/geolizer/sn.png +%%WITH_ICONS%%share/geolizer/so.png +%%WITH_ICONS%%share/geolizer/sr.png +%%WITH_ICONS%%share/geolizer/st.png +%%WITH_ICONS%%share/geolizer/su.png +%%WITH_ICONS%%share/geolizer/sv.png +%%WITH_ICONS%%share/geolizer/sy.png +%%WITH_ICONS%%share/geolizer/sz.png +%%WITH_ICONS%%share/geolizer/tc.png +%%WITH_ICONS%%share/geolizer/td.png +%%WITH_ICONS%%share/geolizer/tf.png +%%WITH_ICONS%%share/geolizer/tg.png +%%WITH_ICONS%%share/geolizer/th.png +%%WITH_ICONS%%share/geolizer/tj.png +%%WITH_ICONS%%share/geolizer/tk.png +%%WITH_ICONS%%share/geolizer/tl.png +%%WITH_ICONS%%share/geolizer/tm.png +%%WITH_ICONS%%share/geolizer/tn.png +%%WITH_ICONS%%share/geolizer/to.png +%%WITH_ICONS%%share/geolizer/tp.png +%%WITH_ICONS%%share/geolizer/tr.png +%%WITH_ICONS%%share/geolizer/tt.png +%%WITH_ICONS%%share/geolizer/tv.png +%%WITH_ICONS%%share/geolizer/tw.png +%%WITH_ICONS%%share/geolizer/tz.png +%%WITH_ICONS%%share/geolizer/ua.png +%%WITH_ICONS%%share/geolizer/ug.png +%%WITH_ICONS%%share/geolizer/uk.png +%%WITH_ICONS%%share/geolizer/um.png +%%WITH_ICONS%%share/geolizer/us.png +%%WITH_ICONS%%share/geolizer/uy.png +%%WITH_ICONS%%share/geolizer/uz.png +%%WITH_ICONS%%share/geolizer/va.png +%%WITH_ICONS%%share/geolizer/vc.png +%%WITH_ICONS%%share/geolizer/ve.png +%%WITH_ICONS%%share/geolizer/vg.png +%%WITH_ICONS%%share/geolizer/vi.png +%%WITH_ICONS%%share/geolizer/vn.png +%%WITH_ICONS%%share/geolizer/vu.png +%%WITH_ICONS%%share/geolizer/wf.png +%%WITH_ICONS%%share/geolizer/ws.png +%%WITH_ICONS%%share/geolizer/ye.png +%%WITH_ICONS%%share/geolizer/yt.png +%%WITH_ICONS%%share/geolizer/yu.png +%%WITH_ICONS%%share/geolizer/za.png +%%WITH_ICONS%%share/geolizer/zm.png +%%WITH_ICONS%%share/geolizer/zw.png %%PORTDOCS%%%%DOCSDIR%%/CHANGES %%PORTDOCS%%%%DOCSDIR%%/Copyright %%PORTDOCS%%%%DOCSDIR%%/DNS.README %%PORTDOCS%%%%DOCSDIR%%/INSTALL %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/README.FIRST %%PORTDOCS%%%%DOCSDIR%%/country-codes.txt %%PORTEXAMPLES%%%%EXAMPLESDIR%%/msfree.png %%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample.conf %%PORTEXAMPLES%%%%EXAMPLESDIR%%/webalizer.png