Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

IRC Server 2.9.32 (modificaciones)

Última Actualización: 7 de Enero de 1.998 - Miércoles

La red IRC Hispano está basada en la versión 2.9.32 del servidor de IRC de Undernet. Dicha versión tiene algunas características valiosas, como el control de NetRides mediante sellos temporales (timestamp).

No obstante existen algunos problemas en la red IRC que se pretenden solucionar mediante una serie de parches opcionales.

Existe otra página con parches para la versión 2.10.01 del servidor IRC de Undernet, que es la versión empleada en la red ESNET.

ATENCIÓN:
Estos parches han sido desarrollados por mí y no están respaldados ni por el equipo de desarrollo de Undernet ni por la totalidad de los miembros de la red IRC Hispano. Su uso es voluntario, y me eximo de toda responsabilidad debido a un mal funcionamiento de los mismos.

Si tienes comentarios, ideas o "bug fixes", házmelos llegar, por favor.

Describo aquí, someramente, las modificaciones existentes en mi IRCD. No las voy a explicar con detalle para no aburriros y porque ya lo he hecho en un mensaje anterior:

  • /JOIN <#canal> GOD

    Permite a un IRCop el entrar en cualquier canal, aunque tenga clave, esté baneado de él o esté en modo invite. Sólo se activa el modo extendido si se es IRCop y se teclea la clave GOD.

    Me ha resultado útil en muchísimas ocasiones en que se hacía un takeover y el canal quedaba en modo +mi y sin OPs. Me niego a regresar al método primitivo de kills a manta y squit :))

    Archivos afectados: channel.c
    Coge channel.diff para ver los cambios

  • /MODE <#canal> x<modos...> <nicks...>

    Permite cambiar de modos AUNQUE no se sea un operador en el canal. Sólo se activa la función especial si se es IRCop y se invoca con el modo "x" (flag "prestado" que no está definido en el IRCD).

    Lamentablemente este comando no funciona muy bien debido a las protecciones TS8 del uircd 2.9.32 (con versiones más antiguas funciona OK), por lo que lo más normal es que el cambio de modo sea rechazado por el HUB. Funciona bien, claro, si el canal es local (un canal &) y, a veces, si el canal no tiene OP.

    Funciona muy bien, y es muy útil, cuando alguien nos quita op en el canal, ya que permite seguir actuando como si se tuviese op aunque formalmente no se tenga. En esos casos resulta impresionante pasarse op a uno mismo, por ejemplo, o quitar el op al usuario problemático sin tenerlo nosotros.

    Podría haberme metido más a fondo a forzar la aprobación de cambios de modo por parte del resto de los servidores IRC, pero lo he dejado un poco de lado de momento :). La solución más natural sería actualizar todos los IRCD de la red para que permitan esta posibilidad. Bastaría con añadir dos líneas al IRCD... y no las tropecientas que tengo yo ahora para intentar que cuele.

    Mi motivación para realizar este cambio es el intentar independizarnos un poco de Theilax. Ante un split Theilax no sirve de ayuda, hay un 0.1% del tiempo en el que no está disponible por una razón u otra, no todos los IRCops tienen cuenta allí y, por último, el que las claves viajen por la red no me divierte demasiado. Además, si se puede hacer de forma distribuída algo que ahora se realiza de forma centralizada, mejor que mejor.

    Archivos afectados: channel.c
    Coge channel.diff para ver los cambios

  • /MODE <nick> k

    Pone el "Channel Service" sobre el usuario <nick>, lo que significa que no se le puede quitar el op ni kickear... ideal para los bots de control de canal. Es necesario que el usuario que ejecute el comando sea IRCOP y que lo haga sobre sí mismo, para evitar abusos (paso de dejar que cualquier IRCop pueda poner Cservice sobre usuarios arbitrarios :)).

    Las razones... Las mismas del punto anterior y alguna más que no se puede poner en páginas públicas };-).

    Archivos afectados: s_user.c
    Coge s_user.diff para ver los cambios.

Desde el primer día he sido reacio a distribuir estas modificaciones debido a la falta de una política clara al respecto, en esta red. La excepciónn ha sido el Join. El parche para el Join fue publicado en la lista por "petición popular" (una o dos personas :) y porque tenía precedentes. Además, lo considero un parche imprescindible para poder corregir adecuadamente determinadas situaciones sin tener que recurrir a soluciones drásticas (léase, kill y squit).

Si alguien necesita alguna aclaración adicional...


Novedades:

  • 17/Dic/97: Se ha revisado el tercer parche (Channel Service). Ya no es necesario provocar un split para propagar el modo "K" (Channel Service), y los problemas de propagación comentados el 24/Jun/97 ya están solucionados. El nuevo "s_user.diff" sustituye al antiguo y debe aplicarse sobre el código original IRCdu.

  • 06/Nov/97: Se han substituido los fuentes por "context diff's". De esta forma los ficheros son mucho más reducidos y se puede observar con mayor claridad cuáles son los cambios.

  • 05/Nov/97: He declarado públicas estas modificaciones. Por ello ya no es necesario Usuario/Passwd para acceder al fuente. A partir de este momento se trata de código de libre circulación.

  • 24/Jun/97: En algunas ocasiones los modos "O" de un usuario no se propagan adecuadamente al resto de la red, aunque parece que se soluciona provocando un squit. Estoy estudiando el tema para comprobar si se trata de un problema de mis parches o bien un error del IRCdu. Muy probablemente se trate de la primera opción.



Python Zope ©1997-98 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS