[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Webalizer : bug du 4 oct 2001



A tous ceux qui utilisent la version stable de webalizer de Debian et
les autres qui même sans utiliser le package debian utilisent webalizer
1.30 ou 2.0.0, regardez vos statistiques web ; elles risquent bien de
s'être arrêtées au 4 octobre.

Visiblement, il y a des problèmes au niveau des timestamps qui sont
calculés en utilisant une fonction jdate refaite et basé sur le 1er
janvier 1990 (?).

Ceci semble entrainer une erreur lors de la vérification du record
timestamp et du current timestamp à ce niveau (version 1.30) :
           /* check if less than/equal to last record
processed            */
            if ( rec_tstamp <= cur_tstamp )

avec 
rec_tstamp=((jdate(rec_day,rec_month,rec_year)-epoch)*1000000)+
            (rec_hour*10000) + (rec_min*100) + rec_sec;

cur_tstamp=((jdate(cur_day,cur_month,cur_year)-epoch)*1000000)+
      (cur_hour*10000) + (cur_min*100) + cur_sec;

et
epoch=jdate(1,1,1990);

========
u_long jdate( int day, int month, int year )
{
   u_long days;                      /* value returned */
   int mtable[] = {0,31,59,90,120,151,181,212,243,273,304,334};

   /* First, calculate base number including leap and Centenial year
stuff */

   days=(((u_long)year*365)+day+mtable[month-1]+
           ((year+4)/4) - ((year/100)-(year/400)));

   /* now adjust for leap year before March 1st */

   if ((year % 4 == 0) && !((year % 100 == 0) &&
       (year % 400 != 0)) && (month < 3))
   --days;

   /* done, return with calculated value */

   return(days+5);
}

========


La version 2.0.1 n'est à priori pas touché par ce problème, vu que les
calculs de timestamp sont différents...

Exemple de stats bloqués :
http://www.mozilla.org/webalizer/usage_200110.html
http://linuxhelp.dyndns.org/webalizer/usage_200110.html

Solutions : 
* Passer à la version 2.0.1, il ne doit pas y avoir de soucis :
http://counter.li.org/webalizer/usage_200110.html

* Calculer epoch à partir du 1/1/1970 au lieu de 1/1/1990
(je ne suis pas certain que ça suffise à corriger le problème).

Site de webalizer :
http://www.webalizer.org/

-------------
Fabien SALVI      Centre de Ressources Informatiques
                  Archamps, France -- http://www.cri74.org
                  PingOO GNU/linux distribution : http://www.pingoo.org



Reply to: