Ú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