Re: Webalizer : bug du 4 oct 2001

2001-10-09 Par sujet Fabien Salvi
Frederic Dubuy wrote:
 
 Fabien Salvi ([EMAIL PROTECTED]) s'exprimait ainsi :
 
  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.
 
 [...]
 
  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).
 

J'ai oublié de préciser la raison :
Webalizer code les timestamps sur des entiers longs non signé, or c'est
sur 4 octets (32 bits).
2^32 = 4'294'967'296

Le 4 octobre 2001, on arrivait à 429416, bref, juste à la limite.
Le 5 octobre 2001, on dépasse la limite...


Avec le calcul daté du 1/1/1970, on repousse le problème à une date
ultérieure, on est maintenant à environ :
3'009'065'424

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



Re: Webalizer : bug du 4 oct 2001

2001-10-09 Par sujet Fabien Salvi
Fabien Salvi wrote:
 
 Frederic Dubuy wrote:
 
  Fabien Salvi ([EMAIL PROTECTED]) s'exprimait ainsi :
 
   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.
  
  [...]
  
   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).
  
 
 J'ai oublié de préciser la raison :
 Webalizer code les timestamps sur des entiers longs non signé, or c'est
 sur 4 octets (32 bits).
 2^32 = 4'294'967'296
 
 Le 4 octobre 2001, on arrivait à 429416, bref, juste à la limite.
 Le 5 octobre 2001, on dépasse la limite...
 
 Avec le calcul daté du 1/1/1970, on repousse le problème à une date
 ultérieure, on est maintenant à environ :
 3'009'065'424

L'auteur de webalizer a fait un patch :
ftp://ftp.mrunix.net/pub/webalizer/pre-release/v130-epoch.patch

voir la news :
http://www.webalizer.org/news.html


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



Re: Webalizer : bug du 4 oct 2001

2001-10-09 Par sujet Fabien Salvi
Fabien Salvi wrote:
 
 Fabien Salvi wrote:
 
  Frederic Dubuy wrote:
  
   Fabien Salvi ([EMAIL PROTECTED]) s'exprimait ainsi :
  
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.
   
   [...]
   
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).
   
 
  J'ai oublié de préciser la raison :
  Webalizer code les timestamps sur des entiers longs non signé, or c'est
  sur 4 octets (32 bits).
  2^32 = 4'294'967'296
 
  Le 4 octobre 2001, on arrivait à 429416, bref, juste à la limite.
  Le 5 octobre 2001, on dépasse la limite...
 
  Avec le calcul daté du 1/1/1970, on repousse le problème à une date
  ultérieure, on est maintenant à environ :
  3'009'065'424
 
 L'auteur de webalizer a fait un patch :
 ftp://ftp.mrunix.net/pub/webalizer/pre-release/v130-epoch.patch
 
 voir la news :
 http://www.webalizer.org/news.html

Pour ceux que ça intéresse, j'ai refait le package potato de webalizer
en incluant le patch et en compilant en version française. C'est ici,
comme le reste des contribs du Centre de Ressources Informatiques de
Haute-Savoie :
ftp://debian.cri74.org/debian-cri/dists/potato/main/binary-i386/web/webalizer_1.30.4-4_i386.deb
 
-
Fabien SALVI  Centre de Ressources Informatiques
  Archamps, France -- http://www.cri74.org
  PingOO GNU/linux distribution : http://www.pingoo.org



Webalizer : bug du 4 oct 2001

2001-10-08 Par sujet Fabien Salvi
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)*100)+
(rec_hour*1) + (rec_min*100) + rec_sec;

cur_tstamp=((jdate(cur_day,cur_month,cur_year)-epoch)*100)+
  (cur_hour*1) + (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



Re: Webalizer : bug du 4 oct 2001

2001-10-08 Par sujet Frederic Dubuy
Fabien Salvi ([EMAIL PROTECTED]) s'exprimait ainsi :

 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.
 
[...]
 
 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).
 
Apparemment ça a l'air de résoudre le problème (au moins temporairement).
J'ai changé le epoch, rebuildé le package, et rattrapé le retard des stats.
En attendant de passer en 2.0.1, ça dépanne