Compare commits

...
Sign in to create a new pull request.

61 commits

Author SHA1 Message Date
Fedora Release Engineering
7dd1638b9c Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:20:42 +00:00
Zbigniew Jędrzejewski-Szmek
eaab36ec0d Add sysusers.d config file to allow rpm to create users/groups automatically
See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers.
2025-02-11 17:03:12 +01:00
Fedora Release Engineering
140b2f2f29 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:51:51 +00:00
Miroslav Suchý
061d6909e0 convert GPLv2+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-26 03:38:43 +02:00
Fedora Release Engineering
98204d12f1 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:12:44 +00:00
Software Management Team
4337b4d498 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:49 +02:00
Fedora Release Engineering
a03c012620 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:32:15 +00:00
Fedora Release Engineering
034a6a93aa Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 18:04:29 +00:00
Fedora Release Engineering
69921f6fc6 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:41:58 +00:00
Fedora Release Engineering
938b21a42f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:17:56 +00:00
Fedora Release Engineering
5af73fad66 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:21:27 +00:00
Sérgio M. Basto
99084dfb29 Add some patches from Debian, fix gcc10 common support 2022-01-15 16:30:53 +00:00
Sérgio M. Basto
44ebe36907 Fix warning message (#2040985) 2022-01-15 15:26:56 +00:00
Fedora Release Engineering
302e0c696a - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 20:50:13 +00:00
Fedora Release Engineering
06dcb8b05e - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 23:23:45 +00:00
Tom Stellard
2d275c8e1b Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-09 00:51:45 +00:00
Fedora Release Engineering
3a1933a912 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 14:02:30 +00:00
Sérgio M. Basto
042fbc6057 Add define for legacy_common_support 2020-02-08 01:53:07 +00:00
Fedora Release Engineering
290b0979f3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 03:34:28 +00:00
Fedora Release Engineering
895e73d4b6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 03:21:03 +00:00
Fedora Release Engineering
e1c4e87b49 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:36:04 +00:00
Igor Gnatenko
a6157e72e6 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:54 +01:00
Fedora Release Engineering
3f671592f3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 08:45:46 +00:00
Igor Gnatenko
ff99e253b9 add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:53 +02:00
Fedora Release Engineering
29f09af27a - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 20:49:14 +00:00
Fedora Release Engineering
284175aade - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 10:13:13 +00:00
Fedora Release Engineering
8889cd5bc4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 21:32:17 +00:00
Fedora Release Engineering
1a97531eec - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 17:17:44 +00:00
Sérgio M. Basto
2124268221 Add patch to fix some undefined behaviour by switching to memmove() (#1409349) 2017-01-11 03:08:49 +00:00
Robert Scheck
b5ef51fae3 Build on EPEL >= 7 against libdb-devel to enable DNS/GeoDB code 2016-12-20 21:03:08 +01:00
Sérgio M. Basto
ae5159deb6 Package review (#226536)
- Fix bogus date in changelog
- Enable-geoip
- Clean-up spec
2016-12-01 20:23:59 +00:00
Fedora Release Engineering
dbc4ed87e7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-05 02:56:23 +00:00
Dennis Gilmore
418f199d18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-19 02:18:36 +00:00
Jan Kaluza
35e7387cf0 update to new version 2.23-08 (#1119536) 2014-08-21 11:51:13 +02:00
Peter Robinson
2e1c54ea3d - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-18 08:23:34 +00:00
Dennis Gilmore
3bcaff282e - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 23:19:05 -05:00
Dennis Gilmore
397b3c78b7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 01:43:01 -05:00
Remi Collet
e23757beff rebuild for new GD 2.1.0 2013-06-11 12:40:40 +02:00
Dennis Gilmore
d14314a8b7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 21:01:10 -06:00
Joe Orton
b2f08d730f fix config for 2.4 (#871494)
Resolves: rhbz#871494
2013-01-04 14:55:49 +00:00
Dennis Gilmore
f843597a96 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-21 22:20:55 -05:00
Joe Orton
83e86eb39c build (conditionally) against libdb-devel 2012-04-25 10:58:40 +01:00
Dennis Gilmore
54c00eb701 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-14 02:11:40 -06:00
Adam Jackson
b2ca754f3d Rebuild for new libpng 2011-12-06 01:27:24 -05:00
Joe Orton
4e103968db update to 2.23_05 2011-07-14 09:36:00 +01:00
Dennis Gilmore
98a4552fce - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-07 20:13:17 -06:00
Ruben
3cd02f6881 - Don't run cronjob unless configured in /etc/sysconfig/webalizer (merge review #298203) 2010-10-17 20:27:43 +02:00
Fedora Release Engineering
5f107bcd9f dist-git conversion 2010-07-29 15:14:15 +00:00
Bill Nottingham
7c295cbeac Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 22:43:12 +00:00
Jesse Keating
ca699a5349 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild 2009-07-27 07:07:54 +00:00
jorton
a405ea9ad0 - upload new source 2009-04-14 14:08:03 +00:00
jorton
8dc1d43ca8 - update to 2.21-02 (thanks to Robert Scheck) 2009-04-14 13:18:54 +00:00
Jesse Keating
a1f06d0a06 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-25 18:20:01 +00:00
jorton
a22855ca0a - update to 2.20_01 2008-09-05 20:22:55 +00:00
jorton
295eacc38a - adjust patch fuzz 2008-07-14 14:11:26 +00:00
jorton
05d94c78fc - rebuild for new BDB 2008-07-14 10:53:35 +00:00
jorton
462efea8d0 - fix build with new glibc, use _GNU_SOURCE 2008-02-07 16:33:39 +00:00
jorton
319ce9a1b9 - use %{_localestatedir}, remove tabs, require httpd not webserver, mark
webalizer.conf config(noreplace) (#226536)
2008-02-07 16:21:43 +00:00
Bill Nottingham
4ecae548cc makefile update to properly grab makefile.common 2007-10-15 19:30:33 +00:00
jorton
c1a4b9b982 - clarify License tag 2007-08-30 13:58:10 +00:00
jorton
8ef6daee01 - rebuild 2007-08-22 09:43:42 +00:00
30 changed files with 508 additions and 1252 deletions

View file

@ -1,4 +0,0 @@
webalizer-2.01-10-src.tar.bz2
clog
*.src.rpm
x86_64

8
.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
webalizer-2.01-10-src.tar.bz2
clog
*.src.rpm
x86_64
webalizer-2.20-01-src.tgz
webalizer-2.21-02-src.tar.bz2
/webalizer-2.23-05-src.tgz
/webalizer-2.23-08-src.tgz

View file

@ -0,0 +1,28 @@
From: Julien Viard de Galbert <julien@vdg.blogsite.org>
Date: Wed, 24 Nov 2010 00:16:20 +0100
Subject: Fix a spelling error
Thank you lintian ;)
Index: webalizer/wcmgr.c
===================================================================
--- webalizer.orig/wcmgr.c 2013-10-06 14:34:50.000000000 +0200
+++ webalizer/wcmgr.c 2013-10-06 14:45:59.000000000 +0200
@@ -692,7 +692,7 @@
}
dns_db->close(dns_db, 0);
if (verbose)
- printf("%s sucessfully deleted from cache file\n",addr);
+ printf("%s successfully deleted from cache file\n",addr);
}
/*********************************************/
@@ -770,7 +770,7 @@
if (db_put(addr, name, (strcmp(name,addr))?0:1, runtime)==0)
dns_db->close(dns_db,0);
if (verbose)
- printf("%s sucessfully added to cache file\n",addr);
+ printf("%s successfully added to cache file\n",addr);
}
}
}

View file

@ -0,0 +1,67 @@
From: Julien Viard de Galbert <julien@vdg.blogsite.org>
Date: Tue, 7 Oct 2014 23:45:04 +0200
Subject: Fix cast warnings when building output.c
Casts were used to cast to the same type, so discarded them.
---
output.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/output.c b/output.c
index 838d383..81e869c 100644
--- a/output.c
+++ b/output.c
@@ -949,7 +949,7 @@ void top_sites_table(int flag)
while(cnt--)
{
/* calculate totals */
- switch ( (int)((HNODEPTR)(*pointer)->flag) )
+ switch ( (*pointer)->flag )
{
case OBJ_REG: h_reg++; break;
case OBJ_GRP: h_grp++; break;
@@ -1182,7 +1182,7 @@ void top_urls_table(int flag)
while (cnt--)
{
/* calculate totals */
- switch ( (int)((UNODEPTR)(*pointer)->flag) )
+ switch ( (*pointer)->flag )
{
case OBJ_REG: u_reg++; break;
case OBJ_GRP: u_grp++; break;
@@ -1436,7 +1436,7 @@ void top_entry_table(int flag)
cnt=a_ctr; pointer=u_array;
while (cnt--)
{
- if ( (int)((UNODEPTR)(*pointer)->flag) == OBJ_REG )
+ if ( (*pointer)->flag == OBJ_REG )
{
if ( (u_int64_t)(((UNODEPTR)(*pointer))->entry) )
{ u_entry++; t_entry+=(u_int64_t)(((UNODEPTR)(*pointer))->entry); }
@@ -1540,7 +1540,7 @@ void top_refs_table()
while(cnt--)
{
/* calculate totals */
- switch ( (int)((RNODEPTR)(*pointer)->flag) )
+ switch ( (*pointer)->flag )
{
case OBJ_REG: r_reg++; break;
case OBJ_HIDE: r_hid++; break;
@@ -1705,7 +1705,7 @@ void top_agents_table()
while(cnt--)
{
/* calculate totals */
- switch ( (int)((ANODEPTR)(*pointer)->flag) )
+ switch ( (*pointer)->flag )
{
case OBJ_REG: a_reg++; break;
case OBJ_GRP: a_grp++; break;
@@ -1972,7 +1972,7 @@ void top_users_table()
while(cnt--)
{
/* calculate totals */
- switch ( (int)((INODEPTR)(*pointer)->flag) )
+ switch ( (*pointer)->flag )
{
case OBJ_REG: i_reg++; break;
case OBJ_GRP: i_grp++; break;

View file

@ -0,0 +1,60 @@
From: Julien Viard de Galbert <julien@vdg.blogsite.org>
Subject: enable and add more SearchEngines in .conf file
Based on patch
14_add_search_engines.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
Also uncomment all SearchEngines directives.
#################################
# SearchEngine field for the sensis.com.au search engine
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327496
# From: Gavin Rogers <grogers@vk6hgr.echidna.id.au>
################################
# Support for French versions of Google keywords
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=253830
# From: Cyril Bouthors <cyb@debian.org>
No longer needed, the sample configuration matches the ".google." string.
Index: webalizer/sample.conf
===================================================================
--- webalizer.orig/sample.conf 2013-10-06 14:58:08.000000000 +0200
+++ webalizer/sample.conf 2013-10-06 14:58:08.000000000 +0200
@@ -710,21 +710,22 @@
# engine, and the second is the URL variable used by that search engine
# to define its search terms.
-#SearchEngine .google. q=
-#SearchEngine yahoo.com p=
-#SearchEngine altavista.com q=
-#SearchEngine aolsearch. query=
-#SearchEngine ask.co q=
-#SearchEngine eureka.com q=
-#SearchEngine lycos.com query=
-#SearchEngine hotbot.com MT=
-#SearchEngine msn.com q=
-#SearchEngine infoseek.com qt=
-#SearchEngine excite search=
-#SearchEngine netscape.com query=
-#SearchEngine mamma.com query=
-#SearchEngine alltheweb.com q=
-#SearchEngine northernlight.com qr=
+SearchEngine .google. q=
+SearchEngine yahoo.com p=
+SearchEngine altavista.com q=
+SearchEngine aolsearch. query=
+SearchEngine ask.co q=
+SearchEngine eureka.com q=
+SearchEngine lycos.com query=
+SearchEngine hotbot.com MT=
+SearchEngine msn.com q=
+SearchEngine infoseek.com qt=
+SearchEngine excite search=
+SearchEngine netscape.com query=
+SearchEngine mamma.com query=
+SearchEngine alltheweb.com q=
+SearchEngine northernlight.com qr=
+SearchEngine sensis.com.au find=
# Normally, search strings are converted to lower case in order to
# increase accuracy. The SearchCaseI option allows them to maintain

View file

@ -0,0 +1,21 @@
From: Julien Viard de Galbert <julien@vdg.blogsite.org>
Date: Wed, 12 Jul 2017 23:59:31 +0200
Subject: Fix typo supress -> suppress in sample.conf
---
sample.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.conf b/sample.conf
index 925f509..fc91d0c 100644
--- a/sample.conf
+++ b/sample.conf
@@ -289,7 +289,7 @@ PageType cgi
#Quiet no
-# ReallyQuiet will supress all messages including errors and
+# ReallyQuiet will suppress all messages including errors and
# warnings. Values can be 'yes' or 'no' with 'no' being the
# default. If 'yes' is used here, it cannot be overriden from
# the command line, so use with caution. A value of 'no' has

View file

@ -0,0 +1,25 @@
Description: Fix compilation with GCC 10.
Author: Logan Rosen <logan@ubuntu.com>
Bug-Debian: https://bugs.debian.org/957923
Forwarded: no
Reviewed-By: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
Last-Update: 2021-02-12
--- a/dns_resolv.c
+++ b/dns_resolv.c
@@ -78,11 +78,11 @@
struct dns_child child[MAXCHILD]; /* DNS child pipe data */
-DNODEPTR host_table[MAXHASH]; /* hostname/ip hash table */
+extern DNODEPTR host_table[MAXHASH]; /* hostname/ip hash table */
-char buffer[BUFSIZE]; /* log file record buffer */
-char tmp_buf[BUFSIZE]; /* used to temp save above */
-struct utsname system_info; /* system info structure */
+extern char buffer[BUFSIZE]; /* log file record buffer */
+extern char tmp_buf[BUFSIZE]; /* used to temp save above */
+extern struct utsname system_info; /* system info structure */
int raiseSigChild = 1;

View file

@ -1,6 +0,0 @@
# Makefile for source rpm: webalizer
# $Id$
NAME := webalizer
SPECFILE = $(firstword $(wildcard *.spec))
include ../common/Makefile.common

View file

@ -1,11 +0,0 @@
--- webalizer-2.01-06/dns_resolv.c.orig Wed Feb 14 11:14:25 2001
+++ webalizer-2.01-06/dns_resolv.c Wed Feb 14 11:15:08 2001
@@ -86,7 +86,7 @@
#ifdef HAVE_DB_185_H
#include <db_185.h> /* on my RH6.0 system ?!? */
#else
-#include <db.h> /* DB header ****************/
+#include <db1/db.h> /* DB header ****************/
#endif /* HAVE_DB_185_H */
#include "webalizer.h" /* main header */

View file

@ -1 +1 @@
26d0a3c142423678daed2d6f579525d8 webalizer-2.01-10-src.tar.bz2
00f1f18bd5ed462ea43bf98d867e7966 webalizer-2.23-08-src.tgz

View file

@ -1,42 +0,0 @@
--- webalizer-2.01-06/Makefile.in.rh Tue Oct 17 06:15:53 2000
+++ webalizer-2.01-06/Makefile.in Tue Oct 17 15:43:59 2000
@@ -18,10 +18,10 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
+bindir = @bindir@
+mandir = @mandir@
+sysconfdir = @sysconfdir@
-BINDIR = @bindir@
-MANDIR = @mandir@/man1
-ETCDIR = @ETCDIR@
CC = @CC@
CFLAGS = @CFLAGS@
LIBS = @LIBS@
@@ -84,16 +84,16 @@
@LN_S@ lang/webalizer_lang.@DEFAULT_LANG@ webalizer_lang.h
install: all
- $(INSTALL_PROGRAM) webalizer ${BINDIR}/webalizer
- $(INSTALL_DATA) webalizer.1 ${MANDIR}/webalizer.1
- $(INSTALL_DATA) sample.conf ${ETCDIR}/webalizer.conf.sample
- rm -f ${BINDIR}/webazolver
- @LN_S@ ${BINDIR}/webalizer ${BINDIR}/webazolver
+ $(INSTALL_PROGRAM) webalizer ${bindir}/webalizer
+ $(INSTALL_DATA) webalizer.1 ${mandir}/man1/webalizer.1
+ $(INSTALL_DATA) sample.conf ${sysconfdir}/webalizer.conf.sample
+ rm -f ${bindir}/webazolver
+ @LN_S@ webalizer ${bindir}/webazolver
uninstall:
- rm -f ${BINDIR}/webalizer
- rm -f ${BINDIR}/webazolver
- rm -f ${MANDIR}/webalizer.1
- rm -f ${ETCDIR}/webalizer.conf.sample
+ rm -f ${bindir}/webalizer
+ rm -f ${bindir}/webazolver
+ rm -f ${mandir}/man1/webalizer.1
+ rm -f ${sysconfdir}/webalizer.conf.sample
rm -f webalizer_lang.h
@LN_S@ lang/webalizer_lang.@DEFAULT_LANG@ webalizer_lang.h

View file

@ -1,53 +0,0 @@
--- webalizer-2.01-10/webalizer.c.apple 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-04-07 10:11:41.000000000 +0300
@@ -853,7 +853,41 @@
}
*cp2='\0';
} else {
- cp1=strstr(str,"Mozilla"); /* Netscape flavor */
+ cp1=strstr(str,"AppleWebKit/"); /* Apple flavor */
+ if (cp1!=NULL)
+ {
+ cp2=str;
+ while (*cp1!='/') *cp2++=*cp1++;
+ if (*(cp1+1)!='.'&&*(cp1+1)!=' '&&*(cp1+1)!='/'&&
+ *(cp1+1)!='('&&*(cp1+1)!='\0')
+ {
+ *cp2++=*cp1++;
+ while (*cp1!='.'&&*cp1!=' '&&*cp1!='/'&&
+ *cp1!='('&&*cp1!='\0')
+ *cp2++=*cp1++;
+ }
+ /* AppleWebKit versions grow so rapidly that we use <4 */
+ if (mangle_agent<4 && *cp1=='.' &&
+ *(cp1+1)>='0' && *(cp1+1)<='9')
+ {
+ *cp2++=*cp3++;
+ while (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++;
+ }
+ if (mangle_agent<3 && *cp1=='.' &&
+ *(cp1+1)>='0' && *(cp1+1)<='9')
+ {
+ *cp2++=*cp3++;
+ while (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++;
+ }
+ if (mangle_agent<3)
+ while (*cp1!=' ' && *cp1!='/' && *cp1!='(' &&
+ *cp1!='\0')
+ *cp2++=*cp1++;
+ *cp2='\0';
+ }
+ else
+ {
+ cp1=strstr(str,"Mozilla"); /* Mozilla flavor */
if (cp1!=NULL)
{
while (*cp1!='/'&&*cp1!=' '&&*cp1!='\0') *cp2++=*cp1++;
@@ -887,6 +921,7 @@
*cp2='\0';
}
}
+ }
}
}

View file

@ -1,15 +0,0 @@
--- webalizer-2.01-10/webalizer.c.compatible 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-04-06 18:36:27.000000000 +0300
@@ -785,9 +785,10 @@
str=cp2=log_rec.agent;
cp1=strstr(str,"ompatible"); /* check known fakers */
if (cp1!=NULL) {
- while (*cp1!=';'&&*cp1!='\0') cp1++;
+ cp1+=9;
+ cp3=strstr(cp1,"Mozilla"); /* Mozilla can't be compatible :) */
/* kludge for Mozilla/3.01 (compatible;) */
- if (*cp1++==';' && strcmp(cp1,")\"")) { /* success! */
+ if (cp3==NULL && *cp1++==';' && strcmp(cp1,")\"")) { /* success! */
while (*cp1 == ' ') cp1++; /* eat spaces */
while (*cp1!='.'&&*cp1!='\0'&&*cp1!=';') *cp2++=*cp1++;
if (mangle_agent<5)

View file

@ -1,56 +0,0 @@
--- webalizer-2.01-10/webalizer.c.default 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-04-07 14:37:34.000000000 +0300
@@ -886,6 +886,53 @@
}
*cp2='\0';
}
+ else /* default flavor */
+ {
+ cp1=str+1;
+ i=0;
+ while (*cp1!='/' && *cp1!=' ' && *cp1!='(' && *cp1!='\0')
+ {
+ cp1++;
+ i++;
+ }
+ if (i&&*cp1=='/'&&*(cp1+1)>='0'&&*(cp1+1)<='9')
+ {
+ cp1=str+1;
+ while (*cp1!='/' && *cp1!=' ' && *cp1!='(' && *cp1!='\0')
+ *cp2++=*cp1++;
+ if (*cp1=='/') *cp2++=*cp1++;
+ while (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++;
+ if (mangle_agent<5 && *cp1=='.' &&
+ *(cp1+1)>='0' && *(cp1+1)<='9')
+ {
+ *cp2++=*cp1++;
+ while (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++;
+ }
+ if (mangle_agent<4 && *cp1=='.' &&
+ *(cp1+1)>='0' && *(cp1+1)<='9')
+ {
+ *cp2++=*cp1++;
+ while (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++;
+ }
+ if (mangle_agent<3)
+ while (*cp1!='/' && *cp1!=' ' && *cp1!='(' && *cp1!='\0')
+ *cp2++=*cp1++;
+ if (mangle_agent<2)
+ {
+ cp1=strstr(str,"(");
+ if (cp1!=NULL)
+ {
+ cp1++;
+ *cp2++=' ';
+ *cp2++='(';
+ while (*cp1!=';'&&*cp1!=')'&&*cp1!='\0')
+ *cp2++=*cp1++;
+ *cp2++=')';
+ }
+ }
+ *cp2='\0';
+ }
+ }
}
}
}

View file

@ -1,69 +0,0 @@
--- webalizer-2.01-10/webalizer.c.gecko 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-04-07 15:13:43.000000000 +0300
@@ -856,6 +856,20 @@
cp1=strstr(str,"Mozilla"); /* Netscape flavor */
if (cp1!=NULL)
{
+ cp1=strstr(str,"Mozilla/");
+ if (cp1!=NULL)
+ {
+ cp3=cp1+8;
+ if (*cp3=='0' || *cp3=='1' || *cp3=='2' ||
+ *cp3=='3' || *cp3=='4') cp3=NULL;
+ else
+ {
+ cp3=strstr(str," Gecko/");
+ if (cp3==NULL) cp1=NULL;
+ }
+ }
+ if (cp1!=NULL)
+ {
while (*cp1!='/'&&*cp1!=' '&&*cp1!='\0') *cp2++=*cp1++;
if (*cp1==' ') *cp1='/';
while (*cp1!='.'&&*cp1!='\0') *cp2++=*cp1++;
@@ -870,6 +884,37 @@
if (mangle_agent<3)
while (*cp1!=' '&&*cp1!='\0'&&*cp1!='(')
*cp2++=*cp1++;
+ if (cp3!=NULL)
+ {
+ *cp2++=' ';
+ *cp2++='G'; *cp2++='e'; *cp2++='c'; *cp2++='k'; *cp2++='o';
+ cp3=strstr(str,"rv:");
+ if (cp3!=NULL)
+ {
+ cp3+=3;
+ if (*cp3!='.' && *cp3!='\0' && *cp3!=';' && *cp3!=')')
+ {
+ *cp2++=' ';
+ while (*cp3!='.' && *cp3!='\0' &&
+ *cp3!=';' && *cp3!=')') *cp2++=*cp3++;
+ if (mangle_agent<5 && *cp3=='.' &&
+ *(cp3+1)>='0' && *(cp3+1)<='9')
+ {
+ *cp2++=*cp3++;
+ while (*cp3>='0'&&*cp3<='9') *cp2++=*cp3++;
+ }
+ if (mangle_agent<4 && *cp3=='.' &&
+ *(cp3+1)>='0' && *(cp3+1)<='9')
+ {
+ *cp2++=*cp3++;
+ while (*cp3>='0'&&*cp3<='9') *cp2++=*cp3++;
+ }
+ if (mangle_agent<3)
+ while (*cp3!='\0' && *cp3!=';' && *cp3!=')')
+ *cp2++=*cp3++;
+ }
+ }
+ }
if (mangle_agent<2)
{
/* Level 1 - Try to get OS */
@@ -885,6 +930,7 @@
}
}
*cp2='\0';
+ }
}
}
}

View file

@ -1,11 +0,0 @@
--- webalizer-2.01-10/webalizer.c.opera 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-04-06 16:31:29.000000000 +0300
@@ -888,6 +888,8 @@
}
}
}
+ if (cp1=strstr(log_rec.agent,"Opera "))
+ if (cp1!=NULL && cp1==str) str[5] = '/';
}
/* if necessary, shrink referrer to fit storage */

View file

@ -1,537 +0,0 @@
--- webalizer-2.01-10/webalizer.h.countrycode 2001-02-10 02:58:18.000000000 +0200
+++ webalizer-2.01-10/webalizer.h 2006-03-30 15:58:18.000000000 +0300
@@ -5,6 +5,8 @@
#define IDX_2C(c1,c2) (((c1-'a'+1)<<5)+(c2-'a'+1) )
#define IDX_3C(c1,c2,c3) (((c1-'a'+1)<<10)+((c2-'a'+1)<<5)+(c3-'a'+1) )
#define IDX_4C(c1,c2,c3,c4) (((c1-'a'+1)<<15)+((c2-'a'+1)<<10)+((c3-'a'+1)<<5)+(c4-'a'+1) )
+#define IDX_5C(c1,c2,c3,c4,c5) (((c1-'a'+1)<<20)+((c2-'a'+1)<<15)+((c3-'a'+1)<<10)+(c4-'a'+1)<<5+(c5-'a'+1) )
+#define IDX_6C(c1,c2,c3,c4,c5,c6) (((c1-'a'+1)<<25)+((c2-'a'+1)<<20)+((c3-'a'+1)<<15)+(c4-'a'+1)<<10+(c5-'a'+1)<<5+(c6-'a'+1) )
#ifndef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b))
--- webalizer-2.01-10/lang/webalizer_lang.english.countrycode 2000-10-06 08:27:48.000000000 +0300
+++ webalizer-2.01-10/lang/webalizer_lang.english 2006-03-30 15:53:51.000000000 +0300
@@ -324,257 +324,270 @@
/* Country codes (previously in ctry.h header file) */
struct country_code ctry[] = {
-{ 0, "Unresolved/Unknown", 0,0,0 },
-{ IDX_3C('c','o','m'), "US Commercial", 0,0,0 },
-{ IDX_3C('e','d','u'), "US Educational", 0,0,0 },
-{ IDX_3C('g','o','v'), "US Government", 0,0,0 },
-{ IDX_3C('i','n','t'), "International (int)", 0,0,0 },
-{ IDX_3C('m','i','l'), "US Military", 0,0,0 },
-{ IDX_3C('n','e','t'), "Network", 0,0,0 },
-{ IDX_3C('o','r','g'), "Non-Profit Organization", 0,0,0 },
-{ IDX_4C('a','r','p','a'),"Old style Arpanet (arpa)", 0,0,0 },
-{ IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 },
-{ IDX_2C('a','d'), "Andorra", 0,0,0 },
-{ IDX_2C('a','e'), "United Arab Emirates", 0,0,0 },
-{ IDX_2C('a','f'), "Afghanistan", 0,0,0 },
-{ IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 },
-{ IDX_2C('a','i'), "Anguilla", 0,0,0 },
-{ IDX_2C('a','l'), "Albania", 0,0,0 },
-{ IDX_2C('a','m'), "Armenia", 0,0,0 },
-{ IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 },
-{ IDX_2C('a','o'), "Angola", 0,0,0 },
-{ IDX_2C('a','q'), "Antarctica", 0,0,0 },
-{ IDX_2C('a','r'), "Argentina", 0,0,0 },
-{ IDX_2C('a','s'), "American Samoa", 0,0,0 },
-{ IDX_2C('a','t'), "Austria", 0,0,0 },
-{ IDX_2C('a','u'), "Australia", 0,0,0 },
-{ IDX_2C('a','w'), "Aruba", 0,0,0 },
-{ IDX_2C('a','z'), "Azerbaijan", 0,0,0 },
-{ IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 },
-{ IDX_2C('b','b'), "Barbados", 0,0,0 },
-{ IDX_2C('b','d'), "Bangladesh", 0,0,0 },
-{ IDX_2C('b','e'), "Belgium", 0,0,0 },
-{ IDX_2C('b','f'), "Burkina Faso", 0,0,0 },
-{ IDX_2C('b','g'), "Bulgaria", 0,0,0 },
-{ IDX_2C('b','h'), "Bahrain", 0,0,0 },
-{ IDX_2C('b','i'), "Burundi", 0,0,0 },
-{ IDX_2C('b','j'), "Benin", 0,0,0 },
-{ IDX_2C('b','m'), "Bermuda", 0,0,0 },
-{ IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 },
-{ IDX_2C('b','o'), "Bolivia", 0,0,0 },
-{ IDX_2C('b','r'), "Brazil", 0,0,0 },
-{ IDX_2C('b','s'), "Bahamas", 0,0,0 },
-{ IDX_2C('b','t'), "Bhutan", 0,0,0 },
-{ IDX_2C('b','v'), "Bouvet Island", 0,0,0 },
-{ IDX_2C('b','w'), "Botswana", 0,0,0 },
-{ IDX_2C('b','y'), "Belarus", 0,0,0 },
-{ IDX_2C('b','z'), "Belize", 0,0,0 },
-{ IDX_2C('c','a'), "Canada", 0,0,0 },
-{ IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 },
-{ IDX_2C('c','f'), "Central African Republic", 0,0,0 },
-{ IDX_2C('c','g'), "Congo", 0,0,0 },
-{ IDX_2C('c','h'), "Switzerland", 0,0,0 },
-{ IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 },
-{ IDX_2C('c','k'), "Cook Islands", 0,0,0 },
-{ IDX_2C('c','l'), "Chile", 0,0,0 },
-{ IDX_2C('c','m'), "Cameroon", 0,0,0 },
-{ IDX_2C('c','n'), "China", 0,0,0 },
-{ IDX_2C('c','o'), "Colombia", 0,0,0 },
-{ IDX_2C('c','r'), "Costa Rica", 0,0,0 },
-{ IDX_2C('c','s'), "Czechoslovakia (former)", 0,0,0 },
-{ IDX_2C('c','u'), "Cuba", 0,0,0 },
-{ IDX_2C('c','v'), "Cape Verde", 0,0,0 },
-{ IDX_2C('c','x'), "Christmas Island", 0,0,0 },
-{ IDX_2C('c','y'), "Cyprus", 0,0,0 },
-{ IDX_2C('c','z'), "Czech Republic", 0,0,0 },
-{ IDX_2C('d','e'), "Germany", 0,0,0 },
-{ IDX_2C('d','j'), "Djibouti", 0,0,0 },
-{ IDX_2C('d','k'), "Denmark", 0,0,0 },
-{ IDX_2C('d','m'), "Dominica", 0,0,0 },
-{ IDX_2C('d','o'), "Dominican Republic", 0,0,0 },
-{ IDX_2C('d','z'), "Algeria", 0,0,0 },
-{ IDX_2C('e','c'), "Ecuador", 0,0,0 },
-{ IDX_2C('e','e'), "Estonia", 0,0,0 },
-{ IDX_2C('e','g'), "Egypt", 0,0,0 },
-{ IDX_2C('e','h'), "Western Sahara", 0,0,0 },
-{ IDX_2C('e','r'), "Eritrea", 0,0,0 },
-{ IDX_2C('e','s'), "Spain", 0,0,0 },
-{ IDX_2C('e','t'), "Ethiopia", 0,0,0 },
-{ IDX_2C('f','i'), "Finland", 0,0,0 },
-{ IDX_2C('f','j'), "Fiji", 0,0,0 },
-{ IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 },
-{ IDX_2C('f','m'), "Micronesia", 0,0,0 },
-{ IDX_2C('f','o'), "Faroe Islands", 0,0,0 },
-{ IDX_2C('f','r'), "France", 0,0,0 },
-{ IDX_2C('f','x'), "France, Metropolitan", 0,0,0 },
-{ IDX_2C('g','a'), "Gabon", 0,0,0 },
-{ IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 },
-{ IDX_2C('g','d'), "Grenada", 0,0,0 },
-{ IDX_2C('g','e'), "Georgia", 0,0,0 },
-{ IDX_2C('g','f'), "French Guiana", 0,0,0 },
-{ IDX_2C('g','h'), "Ghana", 0,0,0 },
-{ IDX_2C('g','i'), "Gibraltar", 0,0,0 },
-{ IDX_2C('g','l'), "Greenland", 0,0,0 },
-{ IDX_2C('g','m'), "Gambia", 0,0,0 },
-{ IDX_2C('g','n'), "Guinea", 0,0,0 },
-{ IDX_2C('g','p'), "Guadeloupe", 0,0,0 },
-{ IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 },
-{ IDX_2C('g','r'), "Greece", 0,0,0 },
-{ IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 },
-{ IDX_2C('g','t'), "Guatemala", 0,0,0 },
-{ IDX_2C('g','u'), "Guam", 0,0,0 },
-{ IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 },
-{ IDX_2C('g','y'), "Guyana", 0,0,0 },
-{ IDX_2C('h','k'), "Hong Kong", 0,0,0 },
-{ IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 },
-{ IDX_2C('h','n'), "Honduras", 0,0,0 },
-{ IDX_2C('h','r'), "Croatia (Hrvatska)", 0,0,0 },
-{ IDX_2C('h','t'), "Haiti", 0,0,0 },
-{ IDX_2C('h','u'), "Hungary", 0,0,0 },
-{ IDX_2C('i','d'), "Indonesia", 0,0,0 },
-{ IDX_2C('i','e'), "Ireland", 0,0,0 },
-{ IDX_2C('i','l'), "Israel", 0,0,0 },
-{ IDX_2C('i','n'), "India", 0,0,0 },
-{ IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 },
-{ IDX_2C('i','q'), "Iraq", 0,0,0 },
-{ IDX_2C('i','r'), "Iran", 0,0,0 },
-{ IDX_2C('i','s'), "Iceland", 0,0,0 },
-{ IDX_2C('i','t'), "Italy", 0,0,0 },
-{ IDX_2C('j','m'), "Jamaica", 0,0,0 },
-{ IDX_2C('j','o'), "Jordan", 0,0,0 },
-{ IDX_2C('j','p'), "Japan", 0,0,0 },
-{ IDX_2C('k','e'), "Kenya", 0,0,0 },
-{ IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 },
-{ IDX_2C('k','h'), "Cambodia", 0,0,0 },
-{ IDX_2C('k','i'), "Kiribati", 0,0,0 },
-{ IDX_2C('k','m'), "Comoros", 0,0,0 },
-{ IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 },
-{ IDX_2C('k','p'), "Korea (North)", 0,0,0 },
-{ IDX_2C('k','r'), "Korea (South)", 0,0,0 },
-{ IDX_2C('k','w'), "Kuwait", 0,0,0 },
-{ IDX_2C('k','y'), "Cayman Islands", 0,0,0 },
-{ IDX_2C('k','z'), "Kazakhstan", 0,0,0 },
-{ IDX_2C('l','a'), "Laos", 0,0,0 },
-{ IDX_2C('l','b'), "Lebanon", 0,0,0 },
-{ IDX_2C('l','c'), "Saint Lucia", 0,0,0 },
-{ IDX_2C('l','i'), "Liechtenstein", 0,0,0 },
-{ IDX_2C('l','k'), "Sri Lanka", 0,0,0 },
-{ IDX_2C('l','r'), "Liberia", 0,0,0 },
-{ IDX_2C('l','s'), "Lesotho", 0,0,0 },
-{ IDX_2C('l','t'), "Lithuania", 0,0,0 },
-{ IDX_2C('l','u'), "Luxembourg", 0,0,0 },
-{ IDX_2C('l','v'), "Latvia", 0,0,0 },
-{ IDX_2C('l','y'), "Libya", 0,0,0 },
-{ IDX_2C('m','a'), "Morocco", 0,0,0 },
-{ IDX_2C('m','c'), "Monaco", 0,0,0 },
-{ IDX_2C('m','d'), "Moldova", 0,0,0 },
-{ IDX_2C('m','g'), "Madagascar", 0,0,0 },
-{ IDX_2C('m','h'), "Marshall Islands", 0,0,0 },
-{ IDX_2C('m','k'), "Macedonia", 0,0,0 },
-{ IDX_2C('m','l'), "Mali", 0,0,0 },
-{ IDX_2C('m','m'), "Myanmar", 0,0,0 },
-{ IDX_2C('m','n'), "Mongolia", 0,0,0 },
-{ IDX_2C('m','o'), "Macau", 0,0,0 },
-{ IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 },
-{ IDX_2C('m','q'), "Martinique", 0,0,0 },
-{ IDX_2C('m','r'), "Mauritania", 0,0,0 },
-{ IDX_2C('m','s'), "Montserrat", 0,0,0 },
-{ IDX_2C('m','t'), "Malta", 0,0,0 },
-{ IDX_2C('m','u'), "Mauritius", 0,0,0 },
-{ IDX_2C('m','v'), "Maldives", 0,0,0 },
-{ IDX_2C('m','w'), "Malawi", 0,0,0 },
-{ IDX_2C('m','x'), "Mexico", 0,0,0 },
-{ IDX_2C('m','y'), "Malaysia", 0,0,0 },
-{ IDX_2C('m','z'), "Mozambique", 0,0,0 },
-{ IDX_2C('n','a'), "Namibia", 0,0,0 },
-{ IDX_2C('n','c'), "New Caledonia", 0,0,0 },
-{ IDX_2C('n','e'), "Niger", 0,0,0 },
-{ IDX_2C('n','f'), "Norfolk Island", 0,0,0 },
-{ IDX_2C('n','g'), "Nigeria", 0,0,0 },
-{ IDX_2C('n','i'), "Nicaragua", 0,0,0 },
-{ IDX_2C('n','l'), "Netherlands", 0,0,0 },
-{ IDX_2C('n','o'), "Norway", 0,0,0 },
-{ IDX_2C('n','p'), "Nepal", 0,0,0 },
-{ IDX_2C('n','r'), "Nauru", 0,0,0 },
-{ IDX_2C('n','t'), "Neutral Zone", 0,0,0 },
-{ IDX_2C('n','u'), "Niue", 0,0,0 },
-{ IDX_2C('n','z'), "New Zealand (Aotearoa)", 0,0,0 },
-{ IDX_2C('o','m'), "Oman", 0,0,0 },
-{ IDX_2C('p','a'), "Panama", 0,0,0 },
-{ IDX_2C('p','e'), "Peru", 0,0,0 },
-{ IDX_2C('p','f'), "French Polynesia", 0,0,0 },
-{ IDX_2C('p','g'), "Papua New Guinea", 0,0,0 },
-{ IDX_2C('p','h'), "Philippines", 0,0,0 },
-{ IDX_2C('p','k'), "Pakistan", 0,0,0 },
-{ IDX_2C('p','l'), "Poland", 0,0,0 },
-{ IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 },
-{ IDX_2C('p','n'), "Pitcairn", 0,0,0 },
-{ IDX_2C('p','r'), "Puerto Rico", 0,0,0 },
-{ IDX_2C('p','t'), "Portugal", 0,0,0 },
-{ IDX_2C('p','w'), "Palau", 0,0,0 },
-{ IDX_2C('p','y'), "Paraguay", 0,0,0 },
-{ IDX_2C('q','a'), "Qatar", 0,0,0 },
-{ IDX_2C('r','e'), "Reunion", 0,0,0 },
-{ IDX_2C('r','o'), "Romania", 0,0,0 },
-{ IDX_2C('r','u'), "Russian Federation", 0,0,0 },
-{ IDX_2C('r','w'), "Rwanda", 0,0,0 },
-{ IDX_2C('s','a'), "Saudi Arabia", 0,0,0 },
-{ IDX_2C('s','B'), "Solomon Islands", 0,0,0 },
-{ IDX_2C('s','c'), "Seychelles", 0,0,0 },
-{ IDX_2C('s','d'), "Sudan", 0,0,0 },
-{ IDX_2C('s','e'), "Sweden", 0,0,0 },
-{ IDX_2C('s','g'), "Singapore", 0,0,0 },
-{ IDX_2C('s','h'), "St. Helena", 0,0,0 },
-{ IDX_2C('s','i'), "Slovenia", 0,0,0 },
-{ IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 },
-{ IDX_2C('s','k'), "Slovak Republic", 0,0,0 },
-{ IDX_2C('s','l'), "Sierra Leone", 0,0,0 },
-{ IDX_2C('s','m'), "San Marino", 0,0,0 },
-{ IDX_2C('s','n'), "Senegal", 0,0,0 },
-{ IDX_2C('s','o'), "Somalia", 0,0,0 },
-{ IDX_2C('s','r'), "Suriname", 0,0,0 },
-{ IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 },
-{ IDX_2C('s','u'), "USSR (former)", 0,0,0 },
-{ IDX_2C('s','v'), "El Salvador", 0,0,0 },
-{ IDX_2C('s','y'), "Syria", 0,0,0 },
-{ IDX_2C('s','z'), "Swaziland", 0,0,0 },
-{ IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 },
-{ IDX_2C('t','d'), "Chad", 0,0,0 },
-{ IDX_2C('t','f'), "French Southern Territories", 0,0,0 },
-{ IDX_2C('t','g'), "Togo", 0,0,0 },
-{ IDX_2C('t','h'), "Thailand", 0,0,0 },
-{ IDX_2C('t','j'), "Tajikistan", 0,0,0 },
-{ IDX_2C('t','k'), "Tokelau", 0,0,0 },
-{ IDX_2C('t','m'), "Turkmenistan", 0,0,0 },
-{ IDX_2C('t','n'), "Tunisia", 0,0,0 },
-{ IDX_2C('t','o'), "Tonga", 0,0,0 },
-{ IDX_2C('t','p'), "East Timor", 0,0,0 },
-{ IDX_2C('t','r'), "Turkey", 0,0,0 },
-{ IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 },
-{ IDX_2C('t','v'), "Tuvalu", 0,0,0 },
-{ IDX_2C('t','w'), "Taiwan", 0,0,0 },
-{ IDX_2C('t','z'), "Tanzania", 0,0,0 },
-{ IDX_2C('u','a'), "Ukraine", 0,0,0 },
-{ IDX_2C('u','g'), "Uganda", 0,0,0 },
-{ IDX_2C('u','k'), "United Kingdom", 0,0,0 },
-{ IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 },
-{ IDX_2C('u','s'), "United States", 0,0,0 },
-{ IDX_2C('u','y'), "Uruguay", 0,0,0 },
-{ IDX_2C('u','z'), "Uzbekistan", 0,0,0 },
-{ IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 },
-{ IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 },
-{ IDX_2C('v','e'), "Venezuela", 0,0,0 },
-{ IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 },
-{ IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 },
-{ IDX_2C('v','n'), "Viet Nam", 0,0,0 },
-{ IDX_2C('v','u'), "Vanuatu", 0,0,0 },
-{ IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 },
-{ IDX_2C('w','s'), "Samoa", 0,0,0 },
-{ IDX_2C('y','e'), "Yemen", 0,0,0 },
-{ IDX_2C('y','t'), "Mayotte", 0,0,0 },
-{ IDX_2C('y','u'), "Yugoslavia", 0,0,0 },
-{ IDX_2C('z','a'), "South Africa", 0,0,0 },
-{ IDX_2C('z','m'), "Zambia", 0,0,0 },
-{ IDX_2C('z','r'), "Zaire", 0,0,0 },
-{ IDX_2C('z','w'), "Zimbabwe", 0,0,0 },
+{ 0, "unresolved", 0,0,0 },
+{ IDX_4C('a','r','p','a'), "address and routing parameter area (.arpa)" ,0,0,0 },
+{ IDX_4C('r','o','o','t'), "unknown (.root)" ,0,0,0 },
+{ IDX_4C('a','e','r','o'), "air-transport industry (.aero)" ,0,0,0 },
+{ IDX_3C('b','i','z'), "business (.biz)" ,0,0,0 },
+{ IDX_3C('c','a','t'), "Catalan language/culture (.cat)" ,0,0,0 },
+{ IDX_3C('c','o','m'), "commercial (.com)" ,0,0,0 },
+{ IDX_4C('c','o','o','p'), "cooperatives (.coop)" ,0,0,0 },
+{ IDX_3C('e','d','u'), "US educational (.edu)" ,0,0,0 },
+{ IDX_3C('g','o','v'), "US governmental (.gov)" ,0,0,0 },
+{ IDX_4C('i','n','f','o'), "information (.info)" ,0,0,0 },
+{ IDX_3C('i','n','t'), "international organisations (.int)" ,0,0,0 },
+{ IDX_4C('j','o','b','s'), "companies (.jobs)" ,0,0,0 },
+{ IDX_3C('m','i','l'), "US Military (.mil)" ,0,0,0 },
+{ IDX_4C('m','o','b','i'), "mobile devices (.mobi)" ,0,0,0 },
+{ IDX_6C('m','u','s','e','u','m'), "museums (.museum)" ,0,0,0 },
+{ IDX_4C('n','a','m','e'), "individuals, by name (.name)" ,0,0,0 },
+{ IDX_3C('n','e','t'), "network (.net)" ,0,0,0 },
+{ IDX_3C('o','r','g'), "organizations (.org)" ,0,0,0 },
+{ IDX_3C('p','r','o'), "professions (.pro)" ,0,0,0 },
+{ IDX_6C('t','r','a','v','e','l'), "travel and travel-agency related sites (.travel)" ,0,0,0 },
+{ IDX_2C('a','c'), "Ascension Island" ,0,0,0 },
+{ IDX_2C('a','d'), "Andorra" ,0,0,0 },
+{ IDX_2C('a','e'), "United Arab Emirates" ,0,0,0 },
+{ IDX_2C('a','f'), "Afghanistan" ,0,0,0 },
+{ IDX_2C('a','g'), "Antigua and Barbuda" ,0,0,0 },
+{ IDX_2C('a','i'), "Anguilla" ,0,0,0 },
+{ IDX_2C('a','l'), "Albania" ,0,0,0 },
+{ IDX_2C('a','m'), "Armenia" ,0,0,0 },
+{ IDX_2C('a','n'), "Netherlands Antilles" ,0,0,0 },
+{ IDX_2C('a','o'), "Angola" ,0,0,0 },
+{ IDX_2C('a','q'), "Antarctica" ,0,0,0 },
+{ IDX_2C('a','r'), "Argentina" ,0,0,0 },
+{ IDX_2C('a','s'), "American Samoa" ,0,0,0 },
+{ IDX_2C('a','t'), "Austria" ,0,0,0 },
+{ IDX_2C('a','u'), "Australia" ,0,0,0 },
+{ IDX_2C('a','w'), "Aruba" ,0,0,0 },
+{ IDX_2C('a','z'), "Azerbaijan" ,0,0,0 },
+{ IDX_2C('b','a'), "Bosnia and Herzegovina" ,0,0,0 },
+{ IDX_2C('b','b'), "Barbados" ,0,0,0 },
+{ IDX_2C('b','d'), "Bangladesh" ,0,0,0 },
+{ IDX_2C('b','e'), "Belgium" ,0,0,0 },
+{ IDX_2C('b','f'), "Burkina Faso" ,0,0,0 },
+{ IDX_2C('b','g'), "Bulgaria" ,0,0,0 },
+{ IDX_2C('b','h'), "Bahrain" ,0,0,0 },
+{ IDX_2C('b','i'), "Burundi" ,0,0,0 },
+{ IDX_2C('b','j'), "Benin" ,0,0,0 },
+{ IDX_2C('b','m'), "Bermuda" ,0,0,0 },
+{ IDX_2C('b','n'), "Brunei Darussalam" ,0,0,0 },
+{ IDX_2C('b','o'), "Bolivia" ,0,0,0 },
+{ IDX_2C('b','r'), "Brazil" ,0,0,0 },
+{ IDX_2C('b','s'), "Bahamas" ,0,0,0 },
+{ IDX_2C('b','t'), "Bhutan" ,0,0,0 },
+{ IDX_2C('b','v'), "Bouvet Island" ,0,0,0 },
+{ IDX_2C('b','w'), "Botswana" ,0,0,0 },
+{ IDX_2C('b','y'), "Belarus" ,0,0,0 },
+{ IDX_2C('b','z'), "Belize" ,0,0,0 },
+{ IDX_2C('c','a'), "Canada" ,0,0,0 },
+{ IDX_2C('c','c'), "Cocos (Keeling) Islands" ,0,0,0 },
+{ IDX_2C('c','d'), "Democratic Republic of the Congo" ,0,0,0 },
+{ IDX_2C('c','f'), "Central African Republic" ,0,0,0 },
+{ IDX_2C('c','g'), "Republic of the Congo" ,0,0,0 },
+{ IDX_2C('c','h'), "Switzerland" ,0,0,0 },
+{ IDX_2C('c','i'), "Côte d'Ivoire" ,0,0,0 },
+{ IDX_2C('c','k'), "Cook Islands" ,0,0,0 },
+{ IDX_2C('c','l'), "Chile" ,0,0,0 },
+{ IDX_2C('c','m'), "Cameroon" ,0,0,0 },
+{ IDX_2C('c','n'), "People's Republic of China" ,0,0,0 },
+{ IDX_2C('c','o'), "Colombia" ,0,0,0 },
+{ IDX_2C('c','r'), "Costa Rica" ,0,0,0 },
+{ IDX_2C('c','u'), "Cuba" ,0,0,0 },
+{ IDX_2C('c','v'), "Cape Verde" ,0,0,0 },
+{ IDX_2C('c','x'), "Christmas Island" ,0,0,0 },
+{ IDX_2C('c','y'), "Cyprus" ,0,0,0 },
+{ IDX_2C('c','z'), "Czech Republic" ,0,0,0 },
+{ IDX_2C('d','e'), "Germany" ,0,0,0 },
+{ IDX_2C('d','j'), "Djibouti" ,0,0,0 },
+{ IDX_2C('d','k'), "Denmark" ,0,0,0 },
+{ IDX_2C('d','m'), "Dominica" ,0,0,0 },
+{ IDX_2C('d','o'), "Dominican Republic" ,0,0,0 },
+{ IDX_2C('d','z'), "Algeria" ,0,0,0 },
+{ IDX_2C('e','c'), "Ecuador" ,0,0,0 },
+{ IDX_2C('e','e'), "Estonia" ,0,0,0 },
+{ IDX_2C('e','g'), "Egypt" ,0,0,0 },
+{ IDX_2C('e','r'), "Eritrea" ,0,0,0 },
+{ IDX_2C('e','s'), "Spain" ,0,0,0 },
+{ IDX_2C('e','t'), "Ethiopia" ,0,0,0 },
+{ IDX_2C('e','u'), "European Union" ,0,0,0 },
+{ IDX_2C('f','i'), "Finland" ,0,0,0 },
+{ IDX_2C('f','j'), "Fiji" ,0,0,0 },
+{ IDX_2C('f','k'), "Falkland Islands" ,0,0,0 },
+{ IDX_2C('f','m'), "Federated States of Micronesia" ,0,0,0 },
+{ IDX_2C('f','o'), "Faroe Islands" ,0,0,0 },
+{ IDX_2C('f','r'), "France" ,0,0,0 },
+{ IDX_2C('g','a'), "Gabon" ,0,0,0 },
+{ IDX_2C('g','b'), "United Kingdom" ,0,0,0 },
+{ IDX_2C('g','d'), "Grenada" ,0,0,0 },
+{ IDX_2C('g','e'), "Georgia" ,0,0,0 },
+{ IDX_2C('g','f'), "French Guiana" ,0,0,0 },
+{ IDX_2C('g','g'), "Guernsey" ,0,0,0 },
+{ IDX_2C('g','h'), "Ghana" ,0,0,0 },
+{ IDX_2C('g','i'), "Gibraltar" ,0,0,0 },
+{ IDX_2C('g','l'), "Greenland" ,0,0,0 },
+{ IDX_2C('g','m'), "The Gambia" ,0,0,0 },
+{ IDX_2C('g','n'), "Guinea" ,0,0,0 },
+{ IDX_2C('g','p'), "Guadeloupe" ,0,0,0 },
+{ IDX_2C('g','q'), "Equatorial Guinea" ,0,0,0 },
+{ IDX_2C('g','r'), "Greece" ,0,0,0 },
+{ IDX_2C('g','s'), "South Georgia and the South Sandwich Islands" ,0,0,0 },
+{ IDX_2C('g','t'), "Guatemala" ,0,0,0 },
+{ IDX_2C('g','u'), "Guam" ,0,0,0 },
+{ IDX_2C('g','w'), "Guinea-Bissau" ,0,0,0 },
+{ IDX_2C('g','y'), "Guyana" ,0,0,0 },
+{ IDX_2C('h','k'), "Hong Kong" ,0,0,0 },
+{ IDX_2C('h','m'), "Heard Island and McDonald Islands" ,0,0,0 },
+{ IDX_2C('h','n'), "Honduras" ,0,0,0 },
+{ IDX_2C('h','r'), "Croatia" ,0,0,0 },
+{ IDX_2C('h','t'), "Haiti" ,0,0,0 },
+{ IDX_2C('h','u'), "Hungary" ,0,0,0 },
+{ IDX_2C('i','d'), "Indonesia" ,0,0,0 },
+{ IDX_2C('i','e'), "Ireland" ,0,0,0 },
+{ IDX_2C('i','l'), "Israel" ,0,0,0 },
+{ IDX_2C('i','m'), "Isle of Man" ,0,0,0 },
+{ IDX_2C('i','n'), "India" ,0,0,0 },
+{ IDX_2C('i','o'), "British Indian Ocean Territory" ,0,0,0 },
+{ IDX_2C('i','q'), "Iraq" ,0,0,0 },
+{ IDX_2C('i','r'), "Iran" ,0,0,0 },
+{ IDX_2C('i','s'), "Iceland" ,0,0,0 },
+{ IDX_2C('i','t'), "Italy" ,0,0,0 },
+{ IDX_2C('j','e'), "Jersey" ,0,0,0 },
+{ IDX_2C('j','m'), "Jamaica" ,0,0,0 },
+{ IDX_2C('j','o'), "Jordan" ,0,0,0 },
+{ IDX_2C('j','p'), "Japan" ,0,0,0 },
+{ IDX_2C('k','e'), "Kenya" ,0,0,0 },
+{ IDX_2C('k','g'), "Kyrgyzstan" ,0,0,0 },
+{ IDX_2C('k','h'), "Cambodia" ,0,0,0 },
+{ IDX_2C('k','i'), "Kiribati" ,0,0,0 },
+{ IDX_2C('k','m'), "Comoros" ,0,0,0 },
+{ IDX_2C('k','n'), "Saint Kitts and Nevis" ,0,0,0 },
+{ IDX_2C('k','r'), "South Korea" ,0,0,0 },
+{ IDX_2C('k','w'), "Kuwait" ,0,0,0 },
+{ IDX_2C('k','y'), "Cayman Islands" ,0,0,0 },
+{ IDX_2C('k','z'), "Kazakhstan" ,0,0,0 },
+{ IDX_2C('l','a'), "Laos" ,0,0,0 },
+{ IDX_2C('l','b'), "Lebanon" ,0,0,0 },
+{ IDX_2C('l','c'), "Saint Lucia" ,0,0,0 },
+{ IDX_2C('l','i'), "Liechtenstein" ,0,0,0 },
+{ IDX_2C('l','k'), "Sri Lanka" ,0,0,0 },
+{ IDX_2C('l','r'), "Liberia" ,0,0,0 },
+{ IDX_2C('l','s'), "Lesotho" ,0,0,0 },
+{ IDX_2C('l','t'), "Lithuania" ,0,0,0 },
+{ IDX_2C('l','u'), "Luxembourg" ,0,0,0 },
+{ IDX_2C('l','v'), "Latvia" ,0,0,0 },
+{ IDX_2C('l','y'), "Libya" ,0,0,0 },
+{ IDX_2C('m','a'), "Morocco" ,0,0,0 },
+{ IDX_2C('m','c'), "Monaco" ,0,0,0 },
+{ IDX_2C('m','d'), "Moldova" ,0,0,0 },
+{ IDX_2C('m','g'), "Madagascar" ,0,0,0 },
+{ IDX_2C('m','h'), "Marshall Islands" ,0,0,0 },
+{ IDX_2C('m','k'), "Republic of Macedonia" ,0,0,0 },
+{ IDX_2C('m','l'), "Mali" ,0,0,0 },
+{ IDX_2C('m','m'), "Myanmar" ,0,0,0 },
+{ IDX_2C('m','n'), "Mongolia" ,0,0,0 },
+{ IDX_2C('m','o'), "Macau" ,0,0,0 },
+{ IDX_2C('m','p'), "Northern Mariana Islands" ,0,0,0 },
+{ IDX_2C('m','q'), "Martinique" ,0,0,0 },
+{ IDX_2C('m','r'), "Mauritania" ,0,0,0 },
+{ IDX_2C('m','s'), "Montserrat" ,0,0,0 },
+{ IDX_2C('m','t'), "Malta" ,0,0,0 },
+{ IDX_2C('m','u'), "Mauritius" ,0,0,0 },
+{ IDX_2C('m','v'), "Maldives" ,0,0,0 },
+{ IDX_2C('m','w'), "Malawi" ,0,0,0 },
+{ IDX_2C('m','x'), "Mexico" ,0,0,0 },
+{ IDX_2C('m','y'), "Malaysia" ,0,0,0 },
+{ IDX_2C('m','z'), "Mozambique" ,0,0,0 },
+{ IDX_2C('n','a'), "Namibia" ,0,0,0 },
+{ IDX_2C('n','c'), "New Caledonia" ,0,0,0 },
+{ IDX_2C('n','e'), "Niger" ,0,0,0 },
+{ IDX_2C('n','f'), "Norfolk Island" ,0,0,0 },
+{ IDX_2C('n','g'), "Nigeria" ,0,0,0 },
+{ IDX_2C('n','i'), "Nicaragua" ,0,0,0 },
+{ IDX_2C('n','l'), "Netherlands" ,0,0,0 },
+{ IDX_2C('n','o'), "Norway" ,0,0,0 },
+{ IDX_2C('n','p'), "Nepal" ,0,0,0 },
+{ IDX_2C('n','r'), "Nauru" ,0,0,0 },
+{ IDX_2C('n','u'), "Niue" ,0,0,0 },
+{ IDX_2C('n','z'), "New Zealand" ,0,0,0 },
+{ IDX_2C('o','m'), "Oman" ,0,0,0 },
+{ IDX_2C('p','a'), "Panama" ,0,0,0 },
+{ IDX_2C('p','e'), "Peru" ,0,0,0 },
+{ IDX_2C('p','f'), "French Polynesia" ,0,0,0 },
+{ IDX_2C('p','g'), "Papua New Guinea" ,0,0,0 },
+{ IDX_2C('p','h'), "Philippines" ,0,0,0 },
+{ IDX_2C('p','k'), "Pakistan" ,0,0,0 },
+{ IDX_2C('p','l'), "Poland" ,0,0,0 },
+{ IDX_2C('p','m'), "Saint-Pierre and Miquelon" ,0,0,0 },
+{ IDX_2C('p','n'), "Pitcairn Islands" ,0,0,0 },
+{ IDX_2C('p','r'), "Puerto Rico" ,0,0,0 },
+{ IDX_2C('p','s'), "Palestinian territories" ,0,0,0 },
+{ IDX_2C('p','t'), "Portugal" ,0,0,0 },
+{ IDX_2C('p','w'), "Palau" ,0,0,0 },
+{ IDX_2C('p','y'), "Paraguay" ,0,0,0 },
+{ IDX_2C('q','a'), "Qatar" ,0,0,0 },
+{ IDX_2C('r','e'), "Réunion" ,0,0,0 },
+{ IDX_2C('r','o'), "Romania" ,0,0,0 },
+{ IDX_2C('r','u'), "Russia" ,0,0,0 },
+{ IDX_2C('r','w'), "Rwanda" ,0,0,0 },
+{ IDX_2C('s','a'), "Saudi Arabia" ,0,0,0 },
+{ IDX_2C('s','b'), "Solomon Islands" ,0,0,0 },
+{ IDX_2C('s','c'), "Seychelles" ,0,0,0 },
+{ IDX_2C('s','d'), "Sudan" ,0,0,0 },
+{ IDX_2C('s','e'), "Sweden" ,0,0,0 },
+{ IDX_2C('s','g'), "Singapore" ,0,0,0 },
+{ IDX_2C('s','h'), "Saint Helena" ,0,0,0 },
+{ IDX_2C('s','i'), "Slovenia" ,0,0,0 },
+{ IDX_2C('s','j'), "Svalbard and Jan Mayen Islands" ,0,0,0 },
+{ IDX_2C('s','k'), "Slovakia" ,0,0,0 },
+{ IDX_2C('s','l'), "Sierra Leone" ,0,0,0 },
+{ IDX_2C('s','m'), "San Marino" ,0,0,0 },
+{ IDX_2C('s','n'), "Senegal" ,0,0,0 },
+{ IDX_2C('s','o'), "Somalia" ,0,0,0 },
+{ IDX_2C('s','r'), "Suriname" ,0,0,0 },
+{ IDX_2C('s','t'), "São Tomé and Príncipe" ,0,0,0 },
+{ IDX_2C('s','u'), "former Soviet Union" ,0,0,0 },
+{ IDX_2C('s','v'), "El Salvador" ,0,0,0 },
+{ IDX_2C('s','y'), "Syria" ,0,0,0 },
+{ IDX_2C('s','z'), "Swaziland" ,0,0,0 },
+{ IDX_2C('t','c'), "Turks and Caicos Islands" ,0,0,0 },
+{ IDX_2C('t','d'), "Chad" ,0,0,0 },
+{ IDX_2C('t','f'), "French Southern and Antarctic Lands" ,0,0,0 },
+{ IDX_2C('t','g'), "Togo" ,0,0,0 },
+{ IDX_2C('t','h'), "Thailand" ,0,0,0 },
+{ IDX_2C('t','j'), "Tajikistan" ,0,0,0 },
+{ IDX_2C('t','k'), "Tokelau" ,0,0,0 },
+{ IDX_2C('t','l'), "East Timor" ,0,0,0 },
+{ IDX_2C('t','m'), "Turkmenistan" ,0,0,0 },
+{ IDX_2C('t','n'), "Tunisia" ,0,0,0 },
+{ IDX_2C('t','o'), "Tonga" ,0,0,0 },
+{ IDX_2C('t','p'), "East Timor" ,0,0,0 },
+{ IDX_2C('t','r'), "Turkey" ,0,0,0 },
+{ IDX_2C('t','t'), "Trinidad and Tobago" ,0,0,0 },
+{ IDX_2C('t','v'), "Tuvalu" ,0,0,0 },
+{ IDX_2C('t','w'), "Taiwan (Republic of China)" ,0,0,0 },
+{ IDX_2C('t','z'), "Tanzania" ,0,0,0 },
+{ IDX_2C('u','a'), "Ukraine" ,0,0,0 },
+{ IDX_2C('u','g'), "Uganda" ,0,0,0 },
+{ IDX_2C('u','k'), "United Kingdom" ,0,0,0 },
+{ IDX_2C('u','m'), "United States Minor Outlying Islands" ,0,0,0 },
+{ IDX_2C('u','s'), "United States of America" ,0,0,0 },
+{ IDX_2C('u','y'), "Uruguay" ,0,0,0 },
+{ IDX_2C('u','z'), "Uzbekistan" ,0,0,0 },
+{ IDX_2C('v','a'), "Vatican City State" ,0,0,0 },
+{ IDX_2C('v','c'), "Saint Vincent and the Grenadines" ,0,0,0 },
+{ IDX_2C('v','e'), "Venezuela" ,0,0,0 },
+{ IDX_2C('v','g'), "British Virgin Islands" ,0,0,0 },
+{ IDX_2C('v','i'), "U.S. Virgin Islands" ,0,0,0 },
+{ IDX_2C('v','n'), "Vietnam" ,0,0,0 },
+{ IDX_2C('v','u'), "Vanuatu" ,0,0,0 },
+{ IDX_2C('w','f'), "Wallis and Futuna" ,0,0,0 },
+{ IDX_2C('w','s'), "Samoa" ,0,0,0 },
+{ IDX_2C('y','e'), "Yemen" ,0,0,0 },
+{ IDX_2C('y','t'), "Mayotte" ,0,0,0 },
+{ IDX_2C('y','u'), "Yugoslavia" ,0,0,0 },
+{ IDX_2C('z','a'), "South Africa" ,0,0,0 },
+{ IDX_2C('z','m'), "Zambia" ,0,0,0 },
+{ IDX_2C('z','w'), "Zimbabwe" ,0,0,0 },
{ 0 , NULL, 0,0,0 }};

View file

@ -1,62 +0,0 @@
--- webalizer-2.01-10/webalizer.c.hostname 2002-04-17 01:11:31.000000000 +0300
+++ webalizer-2.01-10/webalizer.c 2006-03-30 09:22:39.000000000 +0300
@@ -251,6 +251,10 @@
int max_ctry; /* max countries defined */
+ char *ip; /* pointer to current IP */
+ int invalid; /* flag inside hostname check */
+ int dot; /* flag if dot has passed */
+
/* month names used for parsing logfile (shouldn't be lang specific) */
char *log_month[12]={ "jan", "feb", "mar",
"apr", "may", "jun",
@@ -987,6 +991,9 @@
f_day=l_day=rec_day;
}
+ /* Save IP address for later checks */
+ ip = log_rec.hostname;
+
#ifdef USE_DNS
/* Resolve IP address if needed */
if (dns_db)
@@ -996,13 +1003,33 @@
}
#endif
- /* lowercase hostname */
+ /* lowercase hostname - and validity check */
cp1 = log_rec.hostname;
- while (*cp1 != '\0')
+ dot = 0;
+ if (!isalnum((int)*cp1)) strncpy(log_rec.hostname,"Invalid",8);
+ else
{
- if ( (*cp1>='A') && (*cp1<='Z') ) *cp1 += 'a'-'A';
- if ( (isalnum((int)*cp1))||(*cp1=='.')||(*cp1=='-') ) cp1++;
- else *cp1='\0';
+ invalid = 0;
+ while (*cp1 != '\0')
+ {
+ if ( (*cp1>='A') && (*cp1<='Z') ) *cp1 += 'a'-'A';
+ if (*cp1=='.') dot = 1;
+ if ( (isalnum((int)*cp1))||(*cp1=='.')||(*cp1=='-') ||
+ (*cp1=='_' && dot==0) ) cp1++;
+ else
+ {
+ if (strcmp(log_rec.hostname,ip)!=0)
+ strcpy(log_rec.hostname,ip);
+ else
+ strncpy(log_rec.hostname,"Invalid",8);
+ invalid = 1; break;
+ }
+ }
+ if (!invalid)
+ {
+ cp1--;
+ if (!isalnum((int)*cp1)) strncpy(log_rec.hostname,"Invalid",8);
+ }
}
/* Catch blank hostnames here */

View file

@ -1,241 +0,0 @@
#IPv6 patch by Arkadiusz Mi¶kiewicz <misiek@pld.org.pl> for webalizer >= 2.01-10
#
#Ported to Red Hat Linux/Fedora Core by Robert Scheck
#
--- webalizer-2.01-10/dns_resolv.c 2004-05-25 01:21:50.000000000 +0200
+++ webalizer-2.01-10/dns_resolv.c.ipv6 2004-05-25 01:35:12.000000000 +0200
@@ -61,6 +61,11 @@
#include <sys/types.h>
#endif
+/* ensure getaddrinfo/getnameinfo */
+#ifndef _NETDB_H
+#include <netdb.h>
+#endif
+
/* some systems need this */
#ifdef HAVE_MATH_H
#include <math.h>
@@ -266,9 +271,16 @@
strcpy(tmp_buf, buffer); /* save buffer in case of error */
if(parse_record(buffer)) /* parse the record */
{
- if((log_rec.addr.s_addr = inet_addr(log_rec.hostname)) != INADDR_NONE)
+ struct addrinfo hints, *ares;
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_NUMERICHOST;
+ if (0 == getaddrinfo(log_rec.hostname, "0", &hints, &ares))
{
DBT q, r;
+ memcpy(&log_rec.addr, ares->ai_addr, ares->ai_addrlen);
+ freeaddrinfo(ares);
q.data = log_rec.hostname;
q.size = strlen(log_rec.hostname);
@@ -414,12 +426,10 @@
{
int size;
- struct hostent *res_ent;
-
close(child[i].inpipe[0]);
close(child[i].outpipe[1]);
- /* get struct in_addr here */
+ /* get struct sockaddr_storage here */
while((size = read(child[i].outpipe[0], child_buf, MAXHOST)))
{
if(size < 0)
@@ -429,37 +439,40 @@
}
else
{
+ char hbuf[NI_MAXHOST];
+
if(debug_mode)
printf("Child got work: %lx(%d)\n",
- *((unsigned long *)child_buf), size);
+ *(unsigned long *)((struct sockaddr*)child_buf)->sa_data, size);
- if((res_ent = gethostbyaddr(child_buf, size, AF_INET)))
+ if(0 == getnameinfo((struct sockaddr*)child_buf, sizeof(struct sockaddr_storage),
+ hbuf, sizeof(hbuf), NULL, 0, NI_NAMEREQD))
{
/* must be at least 4 chars */
- if (strlen(res_ent->h_name)>3)
+ if (strlen(hbuf)>3)
{
if(debug_mode)
- printf("Child got %s for %lx(%d), %d bytes\n",
- res_ent->h_name,
- *((unsigned long *)child_buf),
- size,strlen(res_ent->h_name));
+ printf("Child got %s for %x(%d), %d bytes\n",
+ hbuf,
+ *(unsigned long *)((struct sockaddr *)child_buf)->sa_data,
+ size,strlen(hbuf));
/* If long hostname, take max domain name part */
- if ((size = strlen(res_ent->h_name)) > MAXHOST-2)
- strcpy(child_buf,(res_ent->h_name+(size-MAXHOST+1)));
- else strcpy(child_buf, res_ent->h_name);
+ if ((size = strlen(hbuf)) > MAXHOST-2)
+ strcpy(child_buf,(hbuf+(size-MAXHOST+1)));
+ else strcpy(child_buf, hbuf);
size = strlen(child_buf);
}
else
{
if (debug_mode)
- printf("gethostbyaddr returned bad h_name!\n");
+ printf("getnameinfor returned bad hbuf!\n");
}
}
else
{
if(debug_mode)
- printf("gethostbyaddr returned NULL! (%d)\n",h_errno);
+ printf("getnameinfo didn't return any usable information!\n");
}
if (write(child[i].inpipe[1], child_buf, size) == -1)
@@ -538,8 +551,8 @@
if(trav) /* something to resolve */
{
- if (write(child[i].outpipe[1], &(trav->addr.s_addr),
- sizeof(trav->addr.s_addr)) != -1)
+ if (write(child[i].outpipe[1], &trav->addr,
+ sizeof(trav->addr)) != -1)
{
/* We will watch this child */
child[i].cur = trav;
@@ -547,10 +560,9 @@
max_fd = MAX(max_fd, child[i].inpipe[0]);
if(debug_mode)
- printf("Giving %s (%lx) to Child %d for resolving\n",
+ printf("Giving %s (%x) to Child %d for resolving\n",
child[i].cur->string,
- (unsigned long)child[i].cur->addr.s_addr, i);
-
+ *(unsigned long *)((struct sockaddr *)&child[i].cur->addr)->sa_data, i);
trav = trav->llist;
}
else /* write error */
@@ -640,8 +652,8 @@
default:
{
dns_buf[size] = '\0';
- if(memcmp(dns_buf, &(child[i].cur->addr.s_addr),
- sizeof(child[i].cur->addr.s_addr)))
+ if(memcmp(dns_buf, &(child[i].cur->addr),
+ sizeof(child[i].cur->addr)))
{
if(debug_mode)
printf("Got a result (%d): %s -> %s\n",
--- webalizer-2.01-10/hashtab.c 2001-06-15 10:34:24.000000000 +0200
+++ webalizer-2.01-10/hashtab.c.ipv6 2004-05-25 01:36:24.000000000 +0200
@@ -976,7 +976,7 @@
/* PUT_DNODE - insert/update dns host node */
/*********************************************/
-int put_dnode(char *str, struct in_addr *addr, DNODEPTR *htab)
+int put_dnode(char *str, struct sockaddr_storage *addr, DNODEPTR *htab)
{
DNODEPTR cptr,nptr;
@@ -988,8 +988,8 @@
/* not hashed */
if ( (nptr=new_dnode(str)) != NULL)
{
- if (addr) memcpy(&nptr->addr, addr, sizeof(struct in_addr));
- else memset(&nptr->addr, 0, sizeof(struct in_addr));
+ if (addr) memcpy(&nptr->addr, addr, sizeof(struct sockaddr_storage));
+ else memset(&nptr->addr, 0, sizeof(struct sockaddr_storage));
nptr->next = NULL;
htab[hash(str)] = nptr;
}
@@ -1005,8 +1005,8 @@
/* not found... */
if ( (nptr = new_dnode(str)) != NULL)
{
- if (addr) memcpy(&nptr->addr, addr, sizeof(struct in_addr));
- else memset(&nptr->addr, 0, sizeof(struct in_addr));
+ if (addr) memcpy(&nptr->addr, addr, sizeof(struct sockaddr_storage));
+ else memset(&nptr->addr, 0, sizeof(struct sockaddr_storage));
nptr->next = htab[hash(str)];
htab[hash(str)]=nptr;
}
--- webalizer-2.01-10/hashtab.h 2000-09-29 05:50:30.000000000 +0200
+++ webalizer-2.01-10/hashtab.h.ipv6 2004-05-25 01:37:26.000000000 +0200
@@ -18,7 +18,7 @@
#ifdef USE_DNS
struct dnode { char *string; /* DNS node hash table struct */
- struct in_addr addr;
+ struct sockaddr_storage addr;
struct dnode *llist;
struct dnode *next; };
#endif
@@ -87,7 +87,7 @@
extern int put_snode(char *, u_long, SNODEPTR *);
#ifdef USE_DNS
-extern int put_dnode(char *, struct in_addr *, DNODEPTR *);
+extern int put_dnode(char *, struct sockaddr_storage *, DNODEPTR *);
extern void del_dlist(DNODEPTR *);
#endif
--- webalizer-2.01-10/parser.c 2001-06-15 10:34:24.000000000 +0200
+++ webalizer-2.01-10/parser.c.ipv6 2004-05-25 01:37:56.000000000 +0200
@@ -114,7 +114,7 @@
log_rec.ident[0]=0;
*/
#ifdef USE_DNS
- memset(&log_rec.addr,0,sizeof(struct in_addr));
+ memset(&log_rec.addr,0,sizeof(struct sockaddr_storage));
#endif
/* call appropriate handler */
--- webalizer-2.01-10/webalizer.c 2004-05-25 01:21:50.000000000 +0200
+++ webalizer-2.01-10/webalizer.c.ipv6 2004-05-25 01:39:31.000000000 +0200
@@ -63,6 +63,7 @@
#ifdef USE_DNS
#include <netinet/in.h>
#include <arpa/inet.h>
+#include <netdb.h>
#ifdef HAVE_DB_185_H
#include <db_185.h>
@@ -991,8 +992,15 @@
/* Resolve IP address if needed */
if (dns_db)
{
- if (inet_addr(log_rec.hostname) != INADDR_NONE)
- resolve_dns(&log_rec);
+ struct addrinfo hints, *ares;
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_NUMERICHOST;
+ if (0 == getaddrinfo(log_rec.hostname, "0", &hints, &ares)) {
+ freeaddrinfo(ares);
+ resolve_dns(&log_rec);
+ }
}
#endif
--- webalizer-2.01-10/webalizer.h 2001-02-10 01:58:18.000000000 +0100
+++ webalizer-2.01-10/webalizer.h.ipv6 2004-05-25 01:40:09.000000000 +0200
@@ -143,7 +143,7 @@
int resp_code; /* response code */
u_long xfer_size; /* xfer size in bytes */
#ifdef USE_DNS
- struct in_addr addr; /* IP address structure */
+ struct sockaddr_storage addr; /* IP address structure */
#endif /* USE_DNS */
char refer[MAXREF]; /* referrer */
char agent[MAXAGENT]; /* user agent (browser) */

View file

@ -1,11 +0,0 @@
--- webalizer-2.01-10/webalizer.h.maxagent 2001-02-10 02:58:18.000000000 +0200
+++ webalizer-2.01-10/webalizer.h 2006-03-28 17:29:03.000000000 +0300
@@ -17,7 +17,7 @@
#define MAXURLH 128 /* Max URL field size in htab */
#define MAXREF 1024 /* Max referrer field size */
#define MAXREFH 128 /* Max referrer field size in htab */
-#define MAXAGENT 64 /* Max user agent field size */
+#define MAXAGENT 128 /* Max user agent field size */
#define MAXCTRY 48 /* Max country name size */
#define MAXSRCH 256 /* Max size of search string buffer */
#define MAXSRCHH 64 /* Max size of search str in htab */

View file

@ -1,11 +0,0 @@
--- webalizer-2.01-10/dns_resolv.c.overflow 2004-01-08 14:51:04.000000000 +0000
+++ webalizer-2.01-10/dns_resolv.c 2004-01-08 14:51:11.000000000 +0000
@@ -156,7 +156,7 @@
strncpy (log_rec->hostname,
((struct dnsRecord *)response.data)->hostName,
MAXHOST);
- log_rec->hostname[MAXHOST]=0;
+ log_rec->hostname[MAXHOST-1]=0;
if (debug_mode)
fprintf(stderr," found: %s (%ld)\n",
log_rec->hostname, alignedRecord.timeStamp);

View file

@ -1,11 +0,0 @@
--- webalizer-2.01-10/webalizer.c.lfs 2002-04-16 23:11:31.000000000 +0100
+++ webalizer-2.01-10/webalizer.c 2003-08-02 09:42:11.000000000 +0100
@@ -419,7 +419,7 @@
{
if (log_fname)
{
- log_fp = fopen(log_fname,"r");
+ log_fp = fopen64(log_fname,"r");
if (log_fp==NULL)
{
/* Error: Can't open log file ... */

View file

@ -1,6 +1,6 @@
--- webalizer-2.01-10/webalizer.c.underrun 2004-06-18 07:53:48.000000000 -0400
+++ webalizer-2.01-10/webalizer.c 2004-06-18 07:59:30.000000000 -0400
@@ -585,10 +585,16 @@
--- webalizer-2.21-02/webalizer.c 2009-01-13 06:35:54.000000000 +0100
+++ webalizer-2.21-02/webalizer.c.underrun 2009-03-29 14:16:21.000000000 +0200
@@ -737,10 +737,16 @@
rec_sec =atoi(&log_rec.datetime[19]); /* get second number */
/* Kludge for Netscape server time (0-24?) error */
@ -12,7 +12,7 @@
+ rec_sec = 59;
/* minimal sanity check on date */
- if ((i>=12)||(rec_min>59)||(rec_sec>59)||(rec_year<1990))
- if ((i>=12)||(rec_min>59)||(rec_sec>60)||(rec_year<1990))
+ if ( i >= 12 || rec_min < 0 || rec_min > 59 ||
+ rec_sec < 0 || rec_sec > 59 || rec_year<1990 ||
+ rec_day < 0)

View file

@ -3,15 +3,6 @@ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158174
--- webalizer-2.01-10/webalizer.c.confuser 2005-09-21 13:32:40.000000000 +0100
+++ webalizer-2.01-10/webalizer.c 2005-09-21 13:33:43.000000000 +0100
@@ -50,6 +50,8 @@
#include <sys/types.h>
#endif
+#include <sys/stat.h>
+
/* some systems need this */
#ifdef HAVE_MATH_H
#include <math.h>
@@ -252,6 +254,8 @@
int max_ctry; /* max countries defined */

View file

@ -1,15 +1,16 @@
--- webalizer-2.01-10/hashtab.c.groupvisit 2001-06-15 11:34:24.000000000 +0300
+++ webalizer-2.01-10/hashtab.c 2006-03-30 12:52:30.000000000 +0300
@@ -94,6 +94,8 @@
diff -uap webalizer-2.23-05/hashtab.c.groupvisit webalizer-2.23-05/hashtab.c
--- webalizer-2.23-05/hashtab.c.groupvisit 2011-01-10 01:47:49.000000000 +0000
+++ webalizer-2.23-05/hashtab.c 2011-07-14 09:26:11.645377843 +0100
@@ -88,6 +88,8 @@ INODEPTR im_htab[MAXHASH];
DNODEPTR host_table[MAXHASH]; /* DNS hash table */
#endif /* USE_DNS */
+u_long pre_tstamp = 0; /* prev. real record tstamp */
+
/*********************************************/
/* DEL_HTABS - clear out our hash tables */
@@ -184,6 +186,7 @@
/*********************************************/
@@ -186,6 +188,7 @@ int put_hnode( char *str, /* Hostn
nptr->visit=(visit-1);
nptr->lasturl=find_url(lasturl);
nptr->tstamp=tstamp;
@ -17,7 +18,7 @@
return 0;
}
else
@@ -193,6 +196,7 @@
@@ -195,6 +198,7 @@ int put_hnode( char *str, /* Hostn
if (htab==sm_htab) update_entry(log_rec.url);
nptr->lasturl=find_url(log_rec.url);
nptr->tstamp=tstamp;
@ -25,7 +26,7 @@
nptr->visit=1;
}
}
@@ -214,7 +218,8 @@
@@ -225,7 +229,8 @@ int put_hnode( char *str, /* Hostn
if (ispage(log_rec.url))
{
@ -35,7 +36,7 @@
{
cptr->visit++;
if (htab==sm_htab)
@@ -247,6 +252,7 @@
@@ -262,6 +267,7 @@ int put_hnode( char *str, /* Hostn
nptr->visit = (visit-1);
nptr->lasturl=find_url(lasturl);
nptr->tstamp= tstamp;
@ -43,7 +44,7 @@
return 0;
}
else
@@ -256,6 +262,7 @@
@@ -271,6 +277,7 @@ int put_hnode( char *str, /* Hostn
if (htab==sm_htab) update_entry(log_rec.url);
nptr->lasturl=find_url(log_rec.url);
nptr->tstamp= tstamp;
@ -51,7 +52,7 @@
nptr->visit=1;
}
}
@@ -840,11 +847,16 @@
@@ -875,11 +882,16 @@ int put_inode( char *str, /* ident
{
nptr->visit=(visit-1);
nptr->tstamp=tstamp;
@ -69,7 +70,7 @@
}
}
}
@@ -864,7 +876,8 @@
@@ -899,7 +911,8 @@ int put_inode( char *str, /* ident
if (ispage(log_rec.url))
{
@ -79,7 +80,7 @@
cptr->visit++;
cptr->tstamp=tstamp;
}
@@ -888,11 +901,16 @@
@@ -923,11 +936,16 @@ int put_inode( char *str, /* ident
{
nptr->visit = (visit-1);
nptr->tstamp= tstamp;

View file

@ -0,0 +1,33 @@
diff -u new/dns_resolv.c new.1/dns_resolv.c
--- new/dns_resolv.c 2013-02-26 05:37:27.000000000 +0000
+++ new.1/dns_resolv.c 2016-04-05 06:57:30.827715718 +0000
@@ -886,7 +886,7 @@
/* kludge for IPv6 6to4 (RFC3056) */
if (addr[0]==0x20 && addr[1]==0x02)
{
- memcpy(&addr[12],&addr[2],4);
+ memmove(&addr[12],&addr[2],4);
memset(&addr,0,12);
}
diff -u new/preserve.c new.1/preserve.c
--- new/preserve.c 2013-02-26 05:37:27.000000000 +0000
+++ new.1/preserve.c 2016-04-05 06:56:39.023080706 +0000
@@ -109,7 +109,7 @@
yr = hist[i].year;
mth= hist[i].month+1;
if (mth>12) { mth=1; yr++; }
- memcpy(&hist[0], &hist[1], sizeof(hist[0])*i);
+ memmove(&hist[0], &hist[1], sizeof(hist[0])*i);
memset(&hist[i], 0, sizeof(struct hist_rec));
hist[i].year=yr; hist[i].month=mth; n--;
}
@@ -277,7 +277,7 @@
yr = hist[i].year;
mth= hist[i].month+1;
if (mth>12) { mth=1; yr++; }
- memcpy(&hist[0],&hist[1],sizeof(hist[0])*i);
+ memmove(&hist[0],&hist[1],sizeof(hist[0])*i);
memset(&hist[i], 0, sizeof(struct hist_rec));
hist[i].year=yr; hist[i].month=mth; n--;
}

View file

@ -6,9 +6,6 @@
Alias /usage /var/www/usage
<Location /usage>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
# Allow from .example.com
# Alternative e.g. "Require ip 192.168.10"
Require local
</Location>

View file

@ -1,6 +1,11 @@
#! /bin/bash
#!/bin/bash
# update access statistics for the web site
if [ -s /var/log/httpd/access_log ]; then
exec /usr/bin/webalizer -Q
fi
NAME=webalizer
[ -f /etc/sysconfig/$NAME ] || exit 0
source /etc/sysconfig/$NAME
[ "z$WEBALIZER_CRON" != "zyes" ] && exit 0
exec /usr/bin/webalizer -Q

View file

@ -1,37 +1,39 @@
%define ver 2.01
%define patchlevel 10
%define ver 2.23
%define patchlevel 08
%if 0%{?fedora} < 18 && 0%{?rhel} < 7
%global db_devel db4-devel
%else
%global db_devel libdb-devel
%endif
Name: webalizer
Summary: A flexible Web server log file analysis program
Group: Applications/Internet
Version: 2.01_10
Release: 32
Version: 2.23_08
Release: 29%{?dist}
URL: http://www.mrunix.net/webalizer/
License: GPL
Source0: ftp://ftp.mrunix.net/pub/webalizer/%{name}-%{ver}-%{patchlevel}-src.tar.bz2
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Source0: ftp://ftp.mrunix.net/pub/webalizer/%{name}-%{ver}-%{patchlevel}-src.tgz
Source1: webalizer.conf
Source2: webalizer.cron
Source3: webalizer-httpd.conf
Patch0: webalizer-2.01-06-rh.patch
Patch1: dns-db1.patch
Patch2: webalizer-2.01_10-lfs.patch
Patch3: webalizer-2.01-10-overflow.patch
Patch4: webalizer-2.01-10-underrun.patch
Patch5: webalizer-2.01-10-ipv6.patch
Patch6: webalizer-2.01_10-confuser.patch
Patch7: webalizer-2.01-10-hostname.patch
Patch8: webalizer-2.01-10-maxagent.patch
Patch9: webalizer-2.01-10-groupvisit.patch
Patch10: webalizer-2.01-10-countrycode.patch
Patch11: webalizer-2.01-10-agent-opera.patch
Patch12: webalizer-2.01-10-agent-gecko.patch
Patch13: webalizer-2.01-10-agent-apple.patch
Patch14: webalizer-2.01-10-agent-compatible.patch
Patch15: webalizer-2.01-10-agent-default.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gd-devel, db4-devel
Requires(pre): /usr/sbin/useradd
Requires: webserver, crontabs
Source4: webalizer.sysconfig
Patch4: webalizer-2.21-02-underrun.patch
Patch6: webalizer-2.23-05-confuser.patch
Patch9: webalizer-2.23-05-groupvisit.patch
Patch10: webalizer-2.23-08-memmove.patch
# From Debian
Patch21: 02_fix_a_spelling_error.diff
Patch22: 04_Fix_cast_warnings_in_output.c.diff
Patch23: 14_add_search_engines.diff
Patch24: 17_fix_typo_supress_suppress_in_sample.conf.diff
Patch25: 27_fix_compilation_with_gcc-10.diff
BuildRequires: make
BuildRequires: gcc
BuildRequires: gd-devel, %{db_devel}, bzip2-devel
BuildRequires: GeoIP-devel
Requires: httpd, crontabs
%description
The Webalizer is a Web server log analysis program. It is designed to
@ -42,70 +44,223 @@ Web traffic is coming from easy.
%prep
%setup -q -n %{name}-%{ver}-%{patchlevel}
%patch0 -p1 -b .rh
%patch1 -p1 -b .db1
%patch2 -p1 -b .lfs
%patch3 -p1 -b .overflow
%patch4 -p1 -b .underrun
%patch5 -p1 -b .ipv6
%patch6 -p1 -b .confuser
%patch7 -p1 -b .hostname
%patch8 -p1 -b .maxagent
%patch9 -p1 -b .groupvisit
%patch10 -p1 -b .countrycode
%patch11 -p1 -b .agent-opera
%patch12 -p1 -b .agent-gecko
%patch13 -p1 -b .agent-apple
%patch14 -p1 -b .agent-compatible
%patch15 -p1 -b .agent-default
%patch -P4 -p1 -b .underrun
%patch -P6 -p1 -b .confuser
%patch -P9 -p1 -b .groupvisit
%patch -P10 -p1 -b .memmove
%patch -P21 -p1 -b .spelling_error
%patch -P22 -p1 -b .cast_warnings
%patch -P23 -p1 -b .sample_add_search_engines
%patch -P24 -p1 -b .sample_typo
%patch -P25 -p1 -b .gcc10_common_support
# Create a sysusers.d config file
cat >webalizer.sysusers.conf <<EOF
u webalizer - 'Webalizer' %{_localstatedir}/www/usage -
EOF
%build
CPPFLAGS="-I%{_includedir}/db4" ; export CPPFLAGS
CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS -D_LARGEFILE64_SOURCE" ; export CFLAGS
%configure --enable-dns --with-dblib=/lib
#CPPFLAGS="-I%{_includedir}/db4" ; export CPPFLAGS
#CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS -D_GNU_SOURCE" ; export CFLAGS
%configure --enable-dns --enable-bz2 --enable-geoip
make %{?_smp_mflags}
%make_build
%install
rm -fr $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_localstatedir}/www/usage \
%{buildroot}%{_sysconfdir}/cron.daily
mkdir -p $RPM_BUILD_ROOT%{_bindir} \
$RPM_BUILD_ROOT/%{_mandir}/man1 \
$RPM_BUILD_ROOT/var/www/usage \
$RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
mkdir -p %{buildroot}%{_localstatedir}/lib/webalizer
mkdir -p $RPM_BUILD_ROOT/var/lib/webalizer
%make_install
%makeinstall
install -p -m 644 $RPM_SOURCE_DIR/webalizer.conf $RPM_BUILD_ROOT%{_sysconfdir}
install -p -m 644 *.png $RPM_BUILD_ROOT/var/www/usage
install -p -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/00webalizer
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
install -p -m 644 $RPM_SOURCE_DIR/webalizer-httpd.conf \
$RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/webalizer.conf
install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}
install -p -m 644 *.png %{buildroot}%{_localstatedir}/www/usage
install -p -m 755 %{SOURCE2} \
%{buildroot}%{_sysconfdir}/cron.daily/00webalizer
mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
install -p -m 644 %{SOURCE3} \
%{buildroot}%{_sysconfdir}/httpd/conf.d/webalizer.conf
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
install -p -m 644 %{SOURCE4} \
%{buildroot}%{_sysconfdir}/sysconfig/webalizer
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/webalizer.conf.sample
rm -f %{buildroot}%{_sysconfdir}/webalizer.conf.sample
%clean
rm -rf $RPM_BUILD_ROOT
install -m0644 -D webalizer.sysusers.conf %{buildroot}%{_sysusersdir}/webalizer.conf
%pre
/usr/sbin/adduser -c "Webalizer" -u 67 \
-s /sbin/nologin -r -d /var/www/usage webalizer 2>/dev/null || :
%files
%defattr(-,root,root)
%doc README
%{_mandir}/man1/webalizer.1*
%{_mandir}/man1/*.1*
%{_bindir}/*
%config %{_sysconfdir}/webalizer.conf
%config(noreplace) %{_sysconfdir}/cron.daily/00webalizer
%config(noreplace) %{_sysconfdir}/webalizer.conf
%{_sysconfdir}/cron.daily/00webalizer
%config(noreplace) %{_sysconfdir}/httpd/conf.d/webalizer.conf
%attr(-, webalizer, root) %dir /var/www/usage
%attr(-, webalizer, root) %dir /var/lib/webalizer
%attr(-, webalizer, root) /var/www/usage/*.png
%config(noreplace) %{_sysconfdir}/sysconfig/webalizer
%attr(-, webalizer, root) %dir %{_localstatedir}/www/usage
%attr(-, webalizer, root) %dir %{_localstatedir}/lib/webalizer
%attr(-, webalizer, root) %{_localstatedir}/www/usage/*.png
%{_sysusersdir}/webalizer.conf
%changelog
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.23_08-28
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.23_08-26
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 15 2022 Sérgio Basto <sergio@serjux.com> - 2.23_08-19
- Add some patches from Debian, fix gcc10 common support
* Sat Jan 15 2022 Sérgio Basto <sergio@serjux.com> - 2.23_08-18
- Fix warning message (#2040985)
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jan 11 2017 Sérgio Basto <sergio@serjux.com> - 2.23_08-6
- Add patch to fix some undefined behaviour by switching to memmove() (#1409349)
* Tue Dec 20 2016 Robert Scheck <robert@fedoraproject.org> - 2.23_08-5
- Build on EPEL >= 7 against libdb-devel to enable DNS/GeoDB code
* Thu Dec 01 2016 Sérgio Basto <sergio@serjux.com> - 2.23_08-4
- Package review (#226536)
- Fix bogus date in changelog
- Enable-geoip
- Clean-up spec
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_08-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Aug 21 2014 Jan Kaluza <jkaluza@redhat.com> - 2.23_08-1
- update to new version 2.23-08 (#1119536)
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jun 11 2013 Remi Collet <rcollet@redhat.com> - 2.23_05-8
- rebuild for new GD 2.1.0
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Jan 4 2013 Joe Orton <jorton@redhat.com> - 2.23_05-6
- fix config for 2.4 (#871494)
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed Apr 25 2012 Joe Orton <jorton@redhat.com> - 2.23_05-4
- build (conditionally) against libdb-devel
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23_05-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 2.23_05-2
- Rebuild for new libpng
* Thu Jul 14 2011 Joe Orton <jorton@redhat.com> - 2.23_05-1
- update to 2.23_05
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.21_02-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Oct 17 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.21_02-4
- Don't run cronjob unless configured in /etc/sysconfig/webalizer (merge review #298203)
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.21_02-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Apr 14 2009 Joe Orton <jorton@redhat.com> 2.21_02-2
- update to 2.21-02 (thanks to Robert Scheck)
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.20_01-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Sep 5 2008 Joe Orton <jorton@redhat.com> 2.20_01-1
- update to 2.20_01
* Mon Jul 14 2008 Joe Orton <jorton@redhat.com> 2.01_10-37
- rebuild for new BDB
* Thu Feb 7 2008 Joe Orton <jorton@redhat.com> 2.01_10-36
- fix build with new glibc, use _GNU_SOURCE
* Thu Feb 7 2008 Joe Orton <jorton@redhat.com> 2.01_10-35
- use %%{_localestatedir}, remove tabs, require httpd not
webserver, mark webalizer.conf config(noreplace) (#226536)
* Thu Aug 30 2007 Joe Orton <jorton@redhat.com> 2.01_10-34
- clarify License tag
* Wed Aug 22 2007 Joe Orton <jorton@redhat.com> 2.01_10-33
- rebuild
* Mon Mar 19 2007 Joe Orton <jorton@redhat.com> 2.01_10-32
- spec file cleanups (#226536):
* convert to UTF-8
@ -195,7 +350,7 @@ rm -rf $RPM_BUILD_ROOT
* Thu Jul 3 2003 Joe Orton <jorton@redhat.com>
- rebuilt
* Wed Jun 05 2003 Elliot Lee <sopwith@redhat.com>
* Thu Jun 05 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Thu Jun 05 2003 Florian La Roche <Florian.LaRoche@redhat.de>
@ -217,7 +372,7 @@ rm -rf $RPM_BUILD_ROOT
* Mon Jul 01 2002 Than Ngo <than@redhat.com> 2.01_10-8
- fix a bug in pre (bug #67634)
* Wed Jun 27 2002 Than Ngo <than@redhat.com> 2.01_10-7
* Thu Jun 27 2002 Than Ngo <than@redhat.com> 2.01_10-7
- add shadow-utils in prereq
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
@ -247,7 +402,7 @@ rm -rf $RPM_BUILD_ROOT
* Mon Feb 25 2002 Than Ngo <than@redhat.com> 2.01_09-5
- allows multiple partial log files to be used instead of one huge one.(bug #60295)
* Wed Feb 21 2002 Than Ngo <than@redhat.com> 2.01_09-4
* Thu Feb 21 2002 Than Ngo <than@redhat.com> 2.01_09-4
- add function to enable/disable webalizer (bug #59752)
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
@ -307,7 +462,7 @@ rm -rf $RPM_BUILD_ROOT
* Wed Jul 12 2000 Than Ngo <than@redhat.de>
- rebuilt
* Sun Jun 19 2000 Karsten Hopp <karsten@redhat.de>
* Mon Jun 19 2000 Karsten Hopp <karsten@redhat.de>
- rebuild for 7.0
- changed mandir
- changed graph output to png instead of gif

5
webalizer.sysconfig Normal file
View file

@ -0,0 +1,5 @@
# uncomment if you want webalizer to be run each day by
# /etc/cron.daily/00webalizer
#WEBALIZER_CRON=yes