[IRC-DEV] Problema pendiente en el WATCH
Toni García
zoltan at teleline.es
Fri Aug 30 16:37:03 CEST 2002
> En el WATCH, aun sigue habiendo, por lo visto, algunos casos
> donde envía, para usuarios con entrada en la tabla 'v', su IP virtual
> calculada a partir de la real, y no la asignada en dicha tabla:
También pasa con la tabla 'w'.
El problema es que se mandan los notifys de los usuarios remotos cuando aún
no recibieron el modo +r y como para que se muestre la ip virtual
personalizada han de tener el modo +r obligatoriamente.
Bien, he pensado en 2 propuestas para resolver esta problema, son las
siguientes:
1) Flag interno, que si se recibe un cambio de nick de un usuario remoto en
m_nick(), mirar si tiene entrada en la tabla v y w, y si es así, se le marca
un flag (no es un modo, sino un bit, como el de ts8, pendiente de auth,
etc..) y no se envía el aviso de notify. Luego en m_umode() después de
recibir los modos, se mira si tiene ese flag, y si es el caso se manda el
notify de watch y se borra el flag.
2) La otra solución, más compleja bajo el punto de vista de desarrollo pero
más optimizada, consiste en ampliar el comando NICK de servidor <=>
servidor, en el caso de cambio de nick, para que mande los modos también,
además con esto, se ahorra trafico, ya que con los cambios de nicks
registrados, se hacen un NICK + MODE (gana modos) y con la propuesta sería
NICK (nick + gana modos) y por lo tanto, a la hora de mandar el notify, ya
tienen el +r.
Un saludo
zoltan
More information about the IRC-Dev
mailing list