|   |   |   Últimos Cambios | 
|  Blog personal: El hilo del laberinto |  | |
Última Actualización: 9 de Diciembre de 1.999 - Jueves
Esta página contiene diversos parches aplicables al servidor de IRC Undernet versión 2.10.06. Algunas modificaciones son específicas de ESNET e IRC-Hispano.
| La utilización de estos parches corre por cuenta del usuario. No soy responsable de los problemas o incompatibilidades que puedan ocasionar. Si tienes comentarios, ideas o "bug fixes", házmelos llegar, por favor. | 
Debes utilizar el código fuente de la versión 2.10.06 del servidor IRC de Undernet, localizable en la página de desarrollo de Undernet. Los parches Undernet pueden encontrarse en el mismo lugar.
Para aplicar los parches:
| UNDERNET 6 Parches nativos Undernet para 2.10.06. useone
 Estado: Recomendado
 JUMBO 3 Este mega parche aplica los parches individuales ESNET: Join GOD, Channel Service, Channel Service 2,
 Estado: Obligatorio
 DataBase Hispano 1 Este parche implementa las siguientes funciones: Acceso a tablas acelerado por hash, Propuesta de protocolo
 Estado: Obligatorio
 DataBase Hispano 2 Este parche corrige bugs en DBH1. Todavía quedan más fallos y problemas de funcionamiento en dicho parche, pero no se solucionan con éste, ya que se realizará cuando se fusione la gestión de las bases de datos ESNET e IRC-HISPANO. En este parche, aunque no se solucionen, se plantean
 Estado: Obligatorio
 String 1 Cambia "Target Left Undernet" por "Target Left IRC". Estado: Opcional
 DataBase 9 Primer parche de preparación para la gestión de múltiples bases de datos. Este parche crea un directorio donde contener todas las tablas, con todo lo que ello supone (configurar, crear, permisos, etc). Estado: Obligatorio
 DataBase 10 Parche complementario a DB9. Permite que el directorio de la Base de Datos tenga una posición tanto absoluta como relativa al path del programa o al que se indique en la línea de comandos. Estado: Recomendado
 Crypt Makefile El parche DBH1 borraba un fichero Makefile de forma accidental. Este parche lo restaura. Estado: Recomendado
 UNDERNET 7 Parches nativos Undernet para 2.10.06. connip
 Estado: Recomendado
 DataBase Hispano 3 Este parche crea el modo "+r" para usuarios con nick registrado. Estado: Recomendado
 Whois Renumber Este parche cambia la respuesta del "/whois", de forma compatible con otras redes no Undernet, para que se visualice si el nick está registrado o no. Estado: Recomendado
 DataBase Hispano 4 Este parche corrige un bug introducido en DBH1 que puede incluso matar servidores cuando se intenta borrar un registro Estado: Obligatorio
 DataBase Hispano 5 Este parche corrige un problema de corrupción de memoria introducido en el parche DBH3. Más explicaciones en el propio parche. Si no se aplica este parche, DBH3 produce
 Estado: Obligatorio
 DataBase Hispano 6 Este parche evita que un usuario pueda quitarse el flag "+r". No hay razones para que un usuario haga eso, pero así ya ni se les permite :-). También se ha clarificado la lógica de activación del
 Por último, se han realizado algunos cambios cosmeticos
 Estado: Obligatorio
 DataBase Hispano 7 Los cambios de versión no eran propagados por los hubs. Estado: Obligatorio
 No Proxy Analiza cada conexión que llega, intentando localizar Socks abiertos. Si es el caso, no permite la conexión. Estado: Recomendado
 No Proxy 2 Cambios cosméticos y compilación correcta en modo DEBUG. Estado: Recomendado
 DataBase Hispano 8 Define el flag "+h" para los "Opers" de la red (helpers). Aparece en el "Whois". Estado: Obligatorio
 No Proxy 3 No intenta hacer "ident" ni verificación de "Socks", si la conexión es un servidor. Estado: Recomendado (obligatorio si están
 No Proxy 4 Deja entrar al usuario (a duras penas :-) si tiene el puerto "Socks" cerrado con cortafuegos (con "Deny", en vez de "Refuse"). Estado: Recomendado (obligatorio si están instalados
 DataBase Hispano 9 Implementación del comando server<->server "BMODE" que permite que los bots actúen desde fuera de los canales. Añade los modos "+r", "+R", "+A" y "+S" a los canales. Estado: Obligatorio
 Whois Secret Este parche hace posible que los Opers vean los canales "+s" en los que está un usuario. Por supuesto este parche pone en peligro la privacidad e
 Sólo está disponible aquí para que el siguiente parche
 Este parche no se puso "online" hasta que estuvo
 Estado: Prohibido
 DataBase Hispano 10 El comando "BMODE" de DBH9 introducía algunos desyncs. Además, el comando estaba abierto a IRCops, aunque es un comando exclusivamente Server<->Server. Por último, este parche distribuye los modos
 Estado: Obligatorio
 No Whois Secret Este parche anula "whois_secret". Estado: Obligatorio
 Virtual IP Define los flags de usuario "+x" y "+X", que permiten, respectivamente, ocultar la propia IP y ver una IP ajena. Los bans afectan a la IP real, el host real y, ahora, a la IP virtual también. Existe, además, una base de datos para poder asignar IPs fijas concretas a usuarios determinados. Como efecto secundario, el comando "/trace" se ha limitado
 Estado: Obligatorio
 UNDERNET 8 Parches nativos Undernet para 2.10.06. Algunos de los parches fallan, debido a conflictos con los propios parches ESNET. Para solucionarlo, hay que instalar estos parches (no importa que fallen) y seguidamente el parche Under-Esnet3. resolv9-10
 Estado: Recomendado
 Under-Esnet3 Este parche permite mantener un único "Source Tree" con Undernet, a pesar de que ambas versiones tienen parches incompatibles. Este parche soluciona los problemas con los siguientes parches Undernet: n2k Si se instala Undernet8 y no se instala este parche,
 ATENCIÓN: Este parche no garantiza el correcto
 Estado: Obligatorio si se instala Undernet8
 DataBase 11 Este parche permite que funcionen las bases de datos distribuídas cuando se ha instalado n2k. No se garantiza, no obstante, que sigan funcionando en el momento en el que se activen los numerics extendidos. Este tema hay que investigarlo más. Estado: Obligatorio si se instala Undernet8
 DataBase 12 El parche n2k modifica el funcionamiento de base64toint() y de inttobase64(). En DB11 parcheábamos la base de datos para la segunda rutina, pero no para la primera. Ello hace que los nicks no puedan autentificarse. Estado: Obligatorio si se instala Undernet8
 DataBase 13 Más de lo mismo. Estado: Obligatorio si se instala Undernet8
 DataBase Hispano 11 Otro parche para terminar de unificar los fuentes nuestros y de Undernet. En este caso se corrije el funcionamiento de BMODE. También se terminan cambios hechos en la base de datos distribuída en DB11 a DB13. Un make install configura correctamente los modos
 Estado: Obligatorio si se instala Undernet8
 DataBase 14 Más de lo mismo (again). Estado: Obligatorio si se instala Undernet8
 DataBase Hispano 12 Con las nuevas rutinas del parche n2k, los nicks registrados con claves cortas (menos de 12 caracteres) no podían autentificarse. Estado: Obligatorio si se instala Undernet8
 UNDERNET 9 Parches nativos Undernet para 2.10.06. Corrección de bugs en n2k. Instalación obligatoria para evitar core. Estado: Obligatorio si se instala Undernet8
 Virtual IP 2 Un usuario se ve a sí mismo con la IP real. Adicionalmente, un usuario +X ve la IP real del resto de la gente, con un numeric añadido mostrándole la IP virtual. Estado: Obligatorio
 DataBase 15 Permite que los nicks se autentifiquen usando "/nick el_nick:la_clave". Es decir, separando la clave y el nick con ":" (dos puntos). De esta forma se pretende que no haya que modificar
 Este parche también corrije un problema con los
 Estado: Obligatorio
 DataBase 16 Este parche despliega múltiples Bases de Datos Distribuídas, en vez de la única BDD que existía antes en ESNET. El cambio es compatible con las implementaciones antiguas que puedan encontrarse en la red, y es completamente funcional. No obstante éste es el primero de una serie
 Estado: Obligatorio
 DataBase 17 Continuamos la acomodación de DB a múltiples Bases de Datos Distribuídas. Este parche también corrije un error
 Estado: Obligatorio
 DataBase 18 Workaround a un bug de Undernet. 
20 hours in front of the computer. My god!.
 Updating the Distributed Database System used in ESNET/IRC-Hispano, I've
 find_match_server will *always* fail if:
 a) The server searched is the own server (me).
 b) The numeric assigned to this server (me) is the highest numeric
 In this case, lastNNServer would be < me, and the loop in
 Solution: lastNNServer should be initialized to "me" numeric, not to
 PS: If you understand Spanish, try
 In http://www.argo.es/~jcea/irc/ircd10_06.htm, you can find four patches
 PPS: find_match_server() is not very efficient if server numerics
 Estado: Obligatorio
 DataBase 19 Calcula los hashes de las Bases de Datos Distribuídas, como mecanismo de control de integridad. Devuelve esos hashes cuando
 Estado: Obligatorio
 DataBase 20 Implementa (¡¡por fin!!) la compactación de las Bases de Datos Distribuídas. Estado: Obligatorio
 DataBase 21 Actualiza el hash cuando se compacta una Base de Datos Distribuída. Estado: Obligatorio
 DataBase 22 Almacena las hashes de las Bases de Datos Distribuídas en un fichero separado. Estado: Obligatorio
 DataBase 23 Valida la integridad de las Bases de Datos Distribuídas cuando se arranca el programa o se realiza un rehash. En caso de necesidad, solicita una actualización a sus nodos vecinos. Calcula correctamente el hash cuando
 Estado: Obligatorio
 DataBase 24 Cuando el nodo que conecta es capaz de soportar la versión 2 del sistema de Bases de datos Distribuídas, se le envía información sobre todas las BDD. Cuando un nodo remoto solicita una actualización
 Estado: Obligatorio
 UNDERNET 10 Parches nativos Undernet para 2.10.06. Corrección de bugs en n2k, informados en DB18. Estado: Obligatorio si se instala Undernet8
 Virtual IP 3 Las desconexiones involuntarias (Ping Timeout, etc), ya no muestran las IP del usuario si éste tiene +x. El comando who busca en la dirección virtual
 Estado: Obligatorio
 DataBase 25 Este parche es una solución chapucera para el problema documentado en Problemas con el Esquema Propuesto (Fase 3). Estado: Obligatorio
 DataBase 26 Gestiona adecuadamente el caso de que no se pueda leer la Base de Datos de disco. Estado: Obligatorio
 DataBase 27 DB25 corta los enlaces con todos los HUBs, mientras que este parche mantiene una de las conexiones que, además, se puede elegir. Cuando se recibe una orden de borrado se mantiene
 Adicionalmente, sólo se solicitan actualizaciones
 Estado: Obligatorio
 DataBase 28 Corregido un importante BUG que hacía que los registros pasados a los nodos vecinos tuvieran un número de serie incorrecto: en vez del número de serie real, tenían la posición del registro en memoria. Estado: Obligatorio
 DataBase 29 Una orden de compactado de una BDD no residente, sencillamente se ignora por parte del nodo. Estado: Obligatorio
 DataBase 30 Limpia un poco el código y lo deja listo para múltiples BDD. Estado: Obligatorio
 Clones Gestión Distribuída de Clones. Este parche, además, elimina el throttling
 Estado: Obligatorio
 DataBase Hispano 13 Se reemplaza el comando de usuario DBH por DBQ, y se hace rutable en la red (incluyendo broadcast) para poder examinar las BDD de otros nodos. Estado: Obligatorio
 X-Mode 2 Si usamos el XMODE sobre alguien que ya tiene op, y nosotros no lo tenemos, aparece un "mode +x", sin ningún usuario detrás. Bug introducido en alguno de los parches DBH,
 Estado: Obligatorio
 DataBase Hispano 14 Modificada la respuesta al /STATS B, para hacerla más corta, y añadido el soporte de las nuevas BDD. Estado: Obligatorio
 DataBase 31 Elimina races, aunque para ello tenga que cortar las conexiones con los HUBs. El problema es que aunque se deje una única
 Esto sólo se hace si alguna BDD está corrupta. Por otra parte, si se detecta que una BDD está corrupta
 Estado: Obligatorio
 DataBase 32 Optimiza enormemente la generación del BDD BURST, mediante el mapeado en memoria de la BDD a distribuir. Estado: Obligatorio
 Indent Aplica indent al programa. A partir de ahora es obligatorio
 Estado: Obligatorio
 P9 Hispano Cablea los Services P09. Este parche no es preciso en servidores
 Estado: Opcional salvo en HUBS
 DataBase 33 Soluciona un Memory Leak. Estado: Obligatorio
 UNDERNET 11 Parches nativos Undernet para 2.10.06. Estado: Recomendado
 DataBase 34 Tras evaluar cuidadosamente su impacto, restauro el tamaño de los BDD BURST a 100 registros. Estado: Obligatorio
 DataBase 35 Optimiza enormemente la generación de los BDD BURST, al hacer un mmap() de la BDD, y encontrar el registro a partir del cual generar la ráfaga en log2(n) operaciones, en vez de n. La transferencia completa de una BDD requería
 Estado: Obligatorio
 DataBase 36 No introduce en memoria las marcas de compromiso ("*") Estado: Obligatorio
 DataBase 37 Metemos varias comprobaciones a la hora de trabajar con las BDD en disco. Si el servidor no puede arrancar en un estado definido, muere automáticamente propagando un error claro por la red, y también en el Syslog. Estado: Obligatorio
 DataBase 38 Parche complementario al anterior. Estado: Obligatorio
 DataBase 39 Parche complementario a los anteriores. Estado: Obligatorio
 DataBase 40 Mueve todo el tema de BDD a fuente ficheros separados. Estado: Obligatorio
 DataBase 41 Se inicia la migración y unificación de DB y DBH. Estado: Obligatorio
 DataBase 42 Eliminamos el soporte de red para DBH. Estado: Obligatorio
 DataBase Hispano 15 Crea una BDD de migración de nicks para IRC-Hispano. Es la BDD "t", y su uso es temporal mientras los usuarios no migren completamente al nuevo sistema. Estado: Obligatorio
 DataBase 43 Almacena el HASH en disco cuando se borra una BDD. Estado: Obligatorio
 DataBase 44 Sigue eliminando soporte DBH. Estado: Obligatorio
 DataBase 45 Lee las BDD no residentes, aunque no las guarda en memoria, no sólo para comprobar su integridad, sino también para determinar el número de registro a partir del cual aceptamos actualizaciones. Estado: Obligatorio
 DataBase 46 Sigue eliminando soporte DBH. Estado: Obligatorio
 DataBase 47 Elimina más soporte DBH, y reduce la memoria ocupada por los registros residentes. Estado: Obligatorio
 DataBase 48 Reduce aún más la memoria ocupada por los registros residentes, además de borrar los registros que se soliciten de forma inmediata. Estos cambios solucionan también un Memory Leak,
 Estado: Obligatorio
 DataBase 49 Almacena en memoria sólo los registros cuya máscara de destino coincide con el nodo. Los registros más recientes reemplazan a los más antiguos (esto hay que cambiarlo). Estado: Obligatorio
 Indent 2 Un nuevo "indent". Estado: Obligatorio
 DataBase 50 Cuando hay que borrar una base de datos, Enviamos el broadcast antes de cortar los enlaces. Ello no garantiza que el comando llegue antes de que el enlace se corte de manera efectiva, pero es un principio. Estado: Obligatorio
 Virtual IP 4 Nueva función de ocultación de IPs. Estado: Obligatorio
 DataBase 51 Funcionamiento correcto en arquitecturas 64bits. la validación de nick registrados no funcionaba en sistemas Alpha. Estado: Obligatorio
 Script de instalación de los parchesDespués de ejecutarlo: 
 Los que no quieran complicarse la vida,
aquí tienen
 | 
Hala, a avisar a todo el mundo de nuevo...
JODERRRRRRRRRRRR. El parche DBH3 introduce BUGs nuevos, que corrijo con DBH5.
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS
