diff --git a/.gitignore b/.gitignore index 8c6a2ac..666dc76 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ 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 diff --git a/02_fix_a_spelling_error.diff b/02_fix_a_spelling_error.diff new file mode 100644 index 0000000..5346799 --- /dev/null +++ b/02_fix_a_spelling_error.diff @@ -0,0 +1,28 @@ +From: Julien Viard de Galbert +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); + } + } + } diff --git a/04_Fix_cast_warnings_in_output.c.diff b/04_Fix_cast_warnings_in_output.c.diff new file mode 100644 index 0000000..f7d7277 --- /dev/null +++ b/04_Fix_cast_warnings_in_output.c.diff @@ -0,0 +1,67 @@ +From: Julien Viard de Galbert +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; diff --git a/14_add_search_engines.diff b/14_add_search_engines.diff new file mode 100644 index 0000000..06535a4 --- /dev/null +++ b/14_add_search_engines.diff @@ -0,0 +1,60 @@ +From: Julien Viard de Galbert +Subject: enable and add more SearchEngines in .conf file + +Based on patch +14_add_search_engines.dpatch by Jose Carlos Medeiros +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 + +################################ +# Support for French versions of Google keywords +# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=253830 +# From: Cyril Bouthors +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 diff --git a/17_fix_typo_supress_suppress_in_sample.conf.diff b/17_fix_typo_supress_suppress_in_sample.conf.diff new file mode 100644 index 0000000..d7f2764 --- /dev/null +++ b/17_fix_typo_supress_suppress_in_sample.conf.diff @@ -0,0 +1,21 @@ +From: Julien Viard de Galbert +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 diff --git a/27_fix_compilation_with_gcc-10.diff b/27_fix_compilation_with_gcc-10.diff new file mode 100644 index 0000000..e42bdca --- /dev/null +++ b/27_fix_compilation_with_gcc-10.diff @@ -0,0 +1,25 @@ +Description: Fix compilation with GCC 10. +Author: Logan Rosen +Bug-Debian: https://bugs.debian.org/957923 +Forwarded: no +Reviewed-By: Francisco Vilmar Cardoso Ruviaro +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; + diff --git a/sources b/sources index 20adb96..747c8fd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -304338cf3b1e9389123380d5f7d88d58 webalizer-2.23-05-src.tgz +00f1f18bd5ed462ea43bf98d867e7966 webalizer-2.23-08-src.tgz diff --git a/webalizer-2.23-05-groupvisit.patch b/webalizer-2.23-05-groupvisit.patch index 56fd74b..5895311 100644 --- a/webalizer-2.23-05-groupvisit.patch +++ b/webalizer-2.23-05-groupvisit.patch @@ -7,9 +7,9 @@ diff -uap webalizer-2.23-05/hashtab.c.groupvisit webalizer-2.23-05/hashtab.c +u_long pre_tstamp = 0; /* prev. real record tstamp */ + - /* Last node pointers */ - HNODEPTR lm_hnode=NULL; - HNODEPTR ld_hnode=NULL; + /*********************************************/ + /* DEL_HTABS - clear out our hash tables */ + /*********************************************/ @@ -186,6 +188,7 @@ int put_hnode( char *str, /* Hostn nptr->visit=(visit-1); nptr->lasturl=find_url(lasturl); diff --git a/webalizer-2.23-08-memmove.patch b/webalizer-2.23-08-memmove.patch new file mode 100644 index 0000000..44769da --- /dev/null +++ b/webalizer-2.23-08-memmove.patch @@ -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--; + } diff --git a/webalizer-httpd.conf b/webalizer-httpd.conf index 556d95d..6a352b2 100644 --- a/webalizer-httpd.conf +++ b/webalizer-httpd.conf @@ -6,9 +6,6 @@ Alias /usage /var/www/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 diff --git a/webalizer.spec b/webalizer.spec index 1c16f98..82a2613 100644 --- a/webalizer.spec +++ b/webalizer.spec @@ -1,13 +1,19 @@ %define ver 2.23 -%define patchlevel 05 +%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.23_05 -Release: 3 +Version: 2.23_08 +Release: 29%{?dist} URL: http://www.mrunix.net/webalizer/ -License: GPLv2+ +# 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 @@ -16,9 +22,17 @@ Source4: webalizer.sysconfig Patch4: webalizer-2.21-02-underrun.patch Patch6: webalizer-2.23-05-confuser.patch Patch9: webalizer-2.23-05-groupvisit.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: gd-devel, db4-devel, bzip2-devel -Requires(pre): /usr/sbin/useradd +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 @@ -30,49 +44,53 @@ Web traffic is coming from easy. %prep %setup -q -n %{name}-%{ver}-%{patchlevel} -%patch4 -p1 -b .underrun -%patch6 -p1 -b .confuser -%patch9 -p1 -b .groupvisit +%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 </dev/null || : %files -%defattr(-,root,root) %doc README %{_mandir}/man1/*.1* %{_bindir}/* @@ -83,8 +101,123 @@ rm -rf $RPM_BUILD_ROOT %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 - 2.23_08-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.23_08-28 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Sun Jan 19 2025 Fedora Release Engineering - 2.23_08-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jul 26 2024 Miroslav Suchý - 2.23_08-26 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 2.23_08-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 2.23_08-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.23_08-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.23_08-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.23_08-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2.23_08-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 15 2022 Sérgio Basto - 2.23_08-19 +- Add some patches from Debian, fix gcc10 common support + +* Sat Jan 15 2022 Sérgio Basto - 2.23_08-18 +- Fix warning message (#2040985) + +* Fri Jul 23 2021 Fedora Release Engineering - 2.23_08-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 2.23_08-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.23_08-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 2.23_08-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2.23_08-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.23_08-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.23_08-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.23_08-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 2.23_08-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.23_08-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 2.23_08-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 11 2017 Sérgio Basto - 2.23_08-6 +- Add patch to fix some undefined behaviour by switching to memmove() (#1409349) + +* Tue Dec 20 2016 Robert Scheck - 2.23_08-5 +- Build on EPEL >= 7 against libdb-devel to enable DNS/GeoDB code + +* Thu Dec 01 2016 Sérgio Basto - 2.23_08-4 +- Package review (#226536) +- Fix bogus date in changelog +- Enable-geoip +- Clean-up spec + +* Fri Feb 05 2016 Fedora Release Engineering - 2.23_08-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.23_08-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Aug 21 2014 Jan Kaluza - 2.23_08-1 +- update to new version 2.23-08 (#1119536) + +* Mon Aug 18 2014 Fedora Release Engineering - 2.23_05-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.23_05-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 2.23_05-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 11 2013 Remi Collet - 2.23_05-8 +- rebuild for new GD 2.1.0 + +* Fri Feb 15 2013 Fedora Release Engineering - 2.23_05-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 4 2013 Joe Orton - 2.23_05-6 +- fix config for 2.4 (#871494) + +* Sun Jul 22 2012 Fedora Release Engineering - 2.23_05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Apr 25 2012 Joe Orton - 2.23_05-4 +- build (conditionally) against libdb-devel + * Sat Jan 14 2012 Fedora Release Engineering - 2.23_05-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild @@ -217,7 +350,7 @@ rm -rf $RPM_BUILD_ROOT * Thu Jul 3 2003 Joe Orton - rebuilt -* Wed Jun 05 2003 Elliot Lee +* Thu Jun 05 2003 Elliot Lee - rebuilt * Thu Jun 05 2003 Florian La Roche @@ -239,7 +372,7 @@ rm -rf $RPM_BUILD_ROOT * Mon Jul 01 2002 Than Ngo 2.01_10-8 - fix a bug in pre (bug #67634) -* Wed Jun 27 2002 Than Ngo 2.01_10-7 +* Thu Jun 27 2002 Than Ngo 2.01_10-7 - add shadow-utils in prereq * Fri Jun 21 2002 Tim Powers @@ -269,7 +402,7 @@ rm -rf $RPM_BUILD_ROOT * Mon Feb 25 2002 Than Ngo 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 2.01_09-4 +* Thu Feb 21 2002 Than Ngo 2.01_09-4 - add function to enable/disable webalizer (bug #59752) * Wed Jan 09 2002 Tim Powers @@ -329,7 +462,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Jul 12 2000 Than Ngo - rebuilt -* Sun Jun 19 2000 Karsten Hopp +* Mon Jun 19 2000 Karsten Hopp - rebuild for 7.0 - changed mandir - changed graph output to png instead of gif