[IRC-DEV] Actualización IRCD IRC-Hispano

Jesus Cea Avion jcea at argo.es
Thu Jun 13 11:21:16 CEST 2002


Por la presente se comunica a todos los administradores de IRC-Hispano
que deben actualizar su servidor IRCD, antes del próximo martes 18 de
Junio. La versión a la que hay que actualizar es la "u2.10.H.04.49" o
superior.

Los datos para actualizar se encuentran en
http://www.argo.es/~jcea/irc/ircd10_h_04.htm

Los cambios desde la última actualización obligatoria son:

>>>>>
$Id: CAMBIOS2_10_H_04,v 1.40 2002/06/12 10:03:38 jcea Exp $

* 2002/06/11 nikolas at irc-dev.net   (u2.10.H.04.49)               
CLEANUP
 
-----------------------------------------------------------------------
  Correccion gramatical de los mensajes en las g-lines.

* 2002/06/11 zoltan at irc-dev.net    (u2.10.H.04.48)               
FEATURE
 
-----------------------------------------------------------------------
  En los notices de las GLINE's cuando se agregan o se cambia la
  expiracion, aparece el tiempo en formato "humano".

* 2002/06/11 zoltan at irc-dev.net    (W8 - u2.10.H.04.47)              
FIX
 
-----------------------------------------------------------------------
  Se cambia de sitio la funcion chequea_estado_watch() en los casos de
un
  cambio de nick. El nick anterior, se avisa antes de que el nick pierda
  los modos y el borrado de su cache de virtualhost, antes lo mandaba
  despues de perder los modos y la cache y esto es incorrecto. Y solo
  manda si es un usuario con conexion registrada.
  Y el nick nuevo, ahora avisa despues de los modos, y solo si es un
  usuario.

* 2002/05/30 jcea at argo.es          (TS6 - u2.10.H.04.46)         
CLEANUP
 
-----------------------------------------------------------------------
  Ortografia.

* 2002/05/30 jcea at argo.es          (TS5 - u2.10.H.04.45)             
FIX
 
-----------------------------------------------------------------------
  Las notificaciones las debe enviar tambien a los OPs locales, no solo
  a los remotos...

* 2002/05/30 jcea at argo.es          (TS4 - u2.10.H.04.44)             
FIX
 
-----------------------------------------------------------------------
  El parche original de TS es incorrecto, ya que solo debe comprobarse
  el TS de los enlaces directos locales, no los de toda la red.

* 2002/05/30 jcea at argo.es          (W7 - u2.10.H.04.43)              
FIX
 
-----------------------------------------------------------------------
  Bajamos el MAXWATCH por defecto de 128 a 96 entradas, para evitar
  problemas con el CLIENT_FLOOD.

  Ademas, no nos deja compilar el codigo si CLIENT_FLOOD y MAXWATCH son
  mas o menos incompatibles. Los detalles son truculentos. Ver los
  comentarios en "ircd/m_watch.c".

* 2002/05/30 jcea at argo.es          (TS3 - u2.10.H.04.42)             
FIX
 
-----------------------------------------------------------------------
  Cuando un nodo aborta el establecimiento de un enlace con otro, debido
  a excesivas diferencias de tiempo, informa a toda la red, no solo a
los
  OPs locales a ese nodo.

* 2002/05/30 jcea at argo.es          (TS2 - u2.10.H.04.41)         
CLEANUP
 
-----------------------------------------------------------------------
  Un par de retoques al parche anterior.

* 2002/05/29 zoltan at irc-dev.net    (TS1 - u2.10.H.04.40)         
FEATURE
 
-----------------------------------------------------------------------
  No permite que dos nodos se conecten si el desfase de tiempos entre
  ellos es mayor de 30 segundos. !!Para algo existe NTP!!.

* 2002/05/29 zoltan at irc-dev.net    (W6 - u2.10.H.04.39)          
CLEANUP
 
-----------------------------------------------------------------------
  Se deshabilita la feature de que al hacer un "WATCH S" nos diga el
  numero de gente que nos tiene en sus notifys.
  Se mantiene el codigo en las fuentes.

* 2002/05/21 zoltan at irc-dev.net    (u2.10.H.04.38)               
CLEANUP
 
-----------------------------------------------------------------------
  Si se pone un valor en el MAXWATCH (maximo de entradas en la lista de
  WATCH) fuera del rango 32-256 dara un error.

* 2002/05/21 zoltan at irc-dev.net    (u2.10.H.04.37)               
FEATURE
 
-----------------------------------------------------------------------
  Un /VERSION nos dara informacion del valor de CLIENT_FLOOD y si WATCH
  esta activado, las entradas maximas permitidas.

* 2002/05/20 jcea at argo.es          (u2.10.H.04.36)                   
FIX
 
-----------------------------------------------------------------------
  Cuando un nodo envia el primer "SERVER" al establecer un enlace,
  envia correctamente el prefijo.

  Problema detectado a traves de Olimpo.

* 2002/05/20 jcea at argo.es          (u2.10.H.04.35)                   
FIX
 
-----------------------------------------------------------------------
  Cuando un nodo envia la clave de enlace a otro,
  envia correctamente el prefijo.

  Problema detectado a traves de Olimpo.

* 2002/05/20 zoltan at irc-dev.net    (u2.10.H.04.34)                   
FIX
 
-----------------------------------------------------------------------
  En el parche u2.10.H.04.04, se ha omitido, por error, el mandar el
  notice de autentificacion cuando un nick entra en la red. Tambien
  se retoca el parche u2.10.H.02.25, cambiando parv[0] por sptr->name,
  teniendo en cuenta que esta dentro de un "if (sptr->name[0])". Asi nos
  curamos en salud.

* 2002/05/20 zoltan at irc-dev.net    (u2.10.H.04.33)               
FEATURE
 
-----------------------------------------------------------------------
  Se mete WATCH en el 005, asi, los clientes de IRC detectan el comando
  WATCH y lo utilizaran en detrimento del ISON.

* 2002/05/20 zoltan at irc-dev.net    (W5 - u2.10.H.04.32)          
FEATURE
 
-----------------------------------------------------------------------
  Nuevos parametros soportados para el WATCH.
      WATCH S/s  Da el estado del notify, nos dice cuantos nicks tenemos
                 en el notify, asi como el numero de gente del mismo
                 servidor que nos tienen en sus notifys.
                 Tambien devuelve la lista de usuarios que estan en el
                 notify como si un ISON se tratase, pero de toda la
gente.

      WATCH l    Lista los usuarios on-line de tu lista de notify.
      WATCH L    Lita tanto los off-line como on-line de la lista.
      WATCH      Hace lo mismo que un WATCH l.

* 2002/05/20 zoltan at irc-dev.net    (W4 - u2.10.H.04.31)          
FEATURE
 
-----------------------------------------------------------------------
  Se define la funcion externa chequea_estado_watch() para los
  seguimientos de nicks cuando un nick entra/sale en la red.

  Al entrar/salir un nick de la red, se mira en la lista aWatch si esta
o
  no, en el caso de que esta en la lista, manda a todos los usuarios que
  lo tengan en sus notifys un RPL_LOGON si se trata de una entrada o un
  RPL_LOGOFF en el caso de una salida.

* 2002/05/20 zoltan at irc-dev.net    (W3 - u2.10.H.04.30)          
FEATURE
 
-----------------------------------------------------------------------
  Implementa el comando WATCH. Las sintaxis son las siguientes:
      WATCH +nick   Agrega un nick
      WATCH -nick   Borra un nick
      WATCH C/c     Resetea la lista.

  Los parametros se pueden combinar, es decir, WATCH C +nick1 +nick2
-nick2
  Se pueden separar los parametros por " " o "," o ambos.

* 2002/05/20 zoltan at irc-dev.net    (W2 - u2.10.H.04.29)          
FEATURE
 
-----------------------------------------------------------------------
  Se introducen en el codigo los numericos relacionados con el WATCH.
Son
  los siguientes:
    512 ERR_TOOMANYWATCH   "%s :Maximum size for WATCH-list is %d
entries"
    600 RPL_LOGON          "%s %s %s %ld :logged online"
    601 RPL_LOGOFF         "%s %s %s %ld :logged offline"
    602 RPL_WATCHOFF       "%s %s %s %ld :stopped watching"
    603 RPL_WATCHSTAT      ":You have %d and are on %d WATCH entries"
    604 RPL_NOWON          "%s %s %s %ld :is online"
    605 RPL_NOWOFF         "%s %s %s %ld :is offline"
    606 RPL_WATCHLIST      ":%s"
    607 RPL_ENDOFWATCHLIST ":End of WATCH %c"

  Para enviar raws del rango 600-607, se ha definido la funcion externa
  watch_str.

* 2002/05/20 zoltan at irc-dev.net    (W1 - u2.10.H.04.28)          
FEATURE
 
-----------------------------------------------------------------------
  Primer parche de implementacion del comando WATCH.
  La activacion es opcional y es configurable en el "make config", asi
  como el numero maximo de entradas en la lista de WATCH. La activacion
  o desactivacion queda reflejado como W1+ o W1- respectivamente, en el
  /VERSION.

  En include/list.h se define un struct Watch para la lista de los nicks
  que estan en al menos 1 notify de los clientes:
     struct Watch {
       struct Watch *next;
       struct SLink *watch;  /* Cadena de punteros a lista aClient */
       char *nick;           /* Nick */
       time_t lasttime;      /* TS de ultimo cambio de estado del nick
*/
     };
  El "struct SLink *watch" apunta a una cadena de punteros donde apuntan
  a las listas aClient de los usuarios que tienen en sus notifys a un
  determinado nick.

  Y un nuevo campo en el "struct SLink", el aWatch (se define en h.h, es
  un typedef a struct Watch), que apunta desde SLink a la lista aWatch.
Y
  aprovechamos el aClient que hay, para apuntar a los usuarios.

  En include/struct.h, se definen 2 nuevos campos en el struct User:
     struct SLink *watch;
     int cwatch;
  El struct SLink *watch, es para apuntar a los nicks que estan en
aWatch,
  asi sabemos que nicks tienen metidos en los notifys de los usuarios.
El
  otro, cwatch, es para contar las entradas que tiene un usuario en su
  lista de watch.

  Para manejar la lista de watch, se ordenan los nicks alfabeticamente
  mediante HASH. Se definen 3 funciones externas en ircd/hash.c:
     int hAddWatch(aWatch *wptr);    Para agregar un watch en la lista.
     int hRemWatch(aWatch *wptr);    Para borrar un watch de la lista.
     aWatch *hSeekWatch(char *nick); Para buscar un watch.
  En include/hash.h, se define un macro, el FindWatch(nick), para buscar
  un nick de la lista de Watch.

  En ircd/list.c, se definen 2 funciones externas para crear y borrar
  entradas en la lista de watch reservando o liberando memoria segun el
  caso:
     aWatch *make_watch(char *nick); Para reservar una entrada.
     void free_watch(aWatch *wptr);  Para borrar una entrada.

* 2002/05/20 zoltan at irc-dev.net    (u2.10.H.04.27)               CLEANUP
  ----------------------------------------------------------------------
  Se cambia el numerico del "ERR_NOSUCHGLINE" del 512 al 514, ya que el
  WATCH utiliza el 512 para avisar de lista de watch llena.

* 2002/05/20 zoltan at irc-dev.net    (u2.10.H.04.26)                   FIX
  ----------------------------------------------------------------------
  16/May/02
  Los comandos que requieren privilegiso especiales, deberian
  comprobar dichos privilegios antes de quejarse de cosas
  como que faltan parametros.

  Ejemplos: "kill" y "wallops".

* 2002/05/20 zoltan at irc-dev.net    (u2.10.H.04.25)                   FIX
  ----------------------------------------------------------------------
  Los notices de autentificacion, mandaban al nick nuevo cuando el
  servidor aun no ha cambiado el nick. Se cambia, para que mande el
  notice al nick actual del usuario.

  Ejemplo:
  NICK zoltan
  :nick2!- at - NOTICE zoltan :*** Contrase\361a aceptada. Bienvenid@ a
casa ;)
  :Melange!~zolty at DKs0ce.ConlBw.virtual NICK :zoltan

  Y deberia ser:
  NICK zoltan
  :nick2!- at - NOTICE Melange :*** Contrase\361a aceptada. Bienvenid@ a
casa ;)
  :Melange!~zolty at DKs0ce.ConlBw.virtual NICK :zoltan

* 2002/05/09 zoltan at irc-dev.net    (u2.10.H.04.24)                   FIX
  ----------------------------------------------------------------------
  Corregido un bug cosmetico, que si hacias /silence <nuestro_nick>,
  salia el error de "You can't see another user silence list", cuando
  debe mostrar la lista de silences.

* 2002/05/09 jcea at argo.es          (DB93 - u2.10.H.04.23)        
FEATURE
 
-----------------------------------------------------------------------
  Cuando se pide un HASH remoto de base de datos, para
  verificar su integridad, deberia existir alguna manera de
  obtener un hash de todas las BD de forma conjunta, para saber
  enseguida si un servidor tiene alguna mal o no, sin tener
  que consultar las 26.

* 2002/04/25 zoltan at irc-dev.net    (u2.10.H.04.22)               
CLEANUP
 
-----------------------------------------------------------------------
  Ahora que todos los nodos estan actualizados a u2.10.H.04.20 o
superior,
  hacemos limpieza del codigo que quedaba de "-r+r" en el cambio de
  nicks equivalentes.

* 2002/04/22 zoltan at irc-dev.net    (u2.10.H.04.21)               
FEATURE
 
-----------------------------------------------------------------------
  Ya que el IRCD de Hispano te avisa con notices cuando estas
silenciando
  por un usuario, eliminamos la posibilidad de ver la lista de silences
  de los otros usuarios por privacidad.
  Se ha an~adido un nuevo error con el numerico 494
(ERR_SILECANTBESHOWN)
  con el mensaje "You can't see another user silence list".
<<<<<

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




More information about the IRC-Dev mailing list