[IPv6 IRC-DEV] [CVS] Module ipv6: Change committed
Brought to you by:
zolty
From: Toni G. <zo...@us...> - 2003-01-29 18:55:37
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-29 18:55:35 UTC Modified files: Ipv6.zoltan Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ipv6/Ipv6.zoltan diff -u ipv6/Ipv6.zoltan:1.14 ipv6/Ipv6.zoltan:1.15 --- ipv6/Ipv6.zoltan:1.14 Sat Sep 28 05:03:03 2002 +++ ipv6/Ipv6.zoltan Wed Jan 29 10:55:23 2003 @@ -1,82 +1,43 @@ -11 Septiembre 2002 ------------------- +11 Septiembre 2002 (Actualizacion 29 de Enero 2003) +--------------------------------------------------- Pasos para el desarrollo del soporte IPv6 para el ircd de ESNET-Hispano: -1º Crear un nuevo archivo "inet.h" en el directorio include. (HECHO) + A) Mirar si se cambia o no al sistema de hybrid. -2º Mover todos los includes que hagan referencia a la familia de protocolos - de INET al nuevo archivo inet.h. Son los siguientes: - netinet/in.h - sys/socket.h - arpa/inet.h - Y poner el include "inet.h" en los *.c que hagan falta y hacer un "make depend". - (HECHO) + B) Adaptar el CALCULATE_HASH de IPcheck.c a IPv6 y activar todos los IP*(). -3º Crear defines para las familias: + C) Revisar la resolucion DNS, en principio usaremos el RFC antiguo, es decir + ip6.int para la inversa y registro AAAA para la directa. + Mas tarde migrar a ip6.arpa para inversa y registro A6 para directa. - DEFINE Familia IPv4 Familia IPv6 + D) Comprobar el bind() de los sockets teniendo activado y desactivado la opcion + VIRTUALHOST del config. - AFINET AF_INET AF_INET6 - SOCKADDR_IN sockaddr_in sockaddr_in6 - SIN_FAMILY sin_family sin6_family - SIN_PORT sin_port sin6_port - SIN_ADDR sin_addr sin6_addr - S_ADDR s_addr s6_addr - IN_ADDR in_addr in6_addr - INADDRANY_STR "0.0.0.0" "0::0" + E) Comprobar todo lo que afecta al fichero match.c (Comparacion de ip's) y el correcto + funcionamiento de las cosas que utilizan match*(). Ejemplos: + 1) Hostmask O lines. + 2) Hostmask C y N lines. + 3) Hostmask K line y IP en k line. + 4) Hostmask E lines. + 5) Hostmask G lines. + 6) Bans, Silences, etc.. - Y sustituirlos por TODO el codigo. Hay que tener en cuenta que la familia IPv6 - soporta conexiones de tanto IPv4 como IPv6 (HECHO) + F) La ip en base64 que se propaga en el comando NICK de un usuario nuevo, se + podria hacer lo siguiente, si el usuario entra por una conexion ipv4 aunque + use mapeado (::a.b.c.d o :ffff:.a.b.c.d), que solo tenga 6 caracteres y + si tiene ipv6 22 caracteres. Esto es aplicable en toda la red tenga o no + ipv6 en cada ircd. -4º La ip de IPv6 en formato binario, no puede estar en un int, ya que son 128 bits, - hay que meterlo en un puntero char* o en un int[4]. (HECHO) - -5º Definir un macro en "inet.h" para la delimitacion de los campos de las lineas - del ircd.conf ya que como en INET6 usan ':', entonces para el ircd.conf utilizaremos - el '%' si el ircd se compila para INET6. (HECHO) + G) Para las IP's Virtuales, preguntar a jcea para elegir opcion adecuada. Opciones: + 1) Ip virtual corta para ipv4 y larga para ipv6 + 2) Igual tamanio para ipv4 y ipv6. + Teniendo en cuenta que en IPv4 se usan 6 caracteres mas 6 caracteres de entropia, + para ipv6 serian 22 caracteres mas ¿6? ¿11? caracteres de entropia (Hacer calculos). -6º Adaptar el inetntoa al IPv6 o cambiar por una funcion nueva inetntop (numerico a - puntero) para tanto IPv4 como IPv6. (HECHO) -7º Adaptar el res.c al IPv6, la busqueda de la ip a partir del dominio es con AAAA para - las ips de IPv6. La inversa es a partir de lo siguiente: - Si la Ip es 3ffe:b80:124f:1::1, el dominio inverso seria - 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.f.4.2.1.0.8.b.0.e.f.f.3.ip6.int - (HECHO) -8º Adaptar el CALCULATE_HASH de IPcheck.c a IPv6. - -9º Modificar el pretty_mask() para que el ':' lo trate igual que '.'. (HECHO) - -10º Modificar el parche de Nikolas de bans, para que admita ':'. (HECHO) - -11º La ip en formato base64 ha de tener 22 caracteres en vez de 6, para toda la red - si hay al menos 1 ircd con IPv6 activado para que se pueda traducir direcciones - con reversibilidad. - -12º Idem con las ips virtuales, que en vez de 6 + 6 de entropia, han de ser 22 + ¿6? - de entropia. Para toda la red si hay al menos 1 ircd con IPv6 activado. - -13º Crear un ejemplo-ipv6.conf. (HECHO) - -14º Poner la pregunta en el make config. (HECHO) - -15: Comprobar el bind de puertos de escucha asi como el virtualhosting. - -16: Comprobar que se pillan las ips de conexiones IPv6 - -17: Comprobar la resolucion DNS. - -18: Comprobar que va bien los chequeos IDENT y PROXY - -19: Comprobar hosts E-lines, O-lines, I-lines, C/N-lines. - -20: Comprobar WHO, SILENCE, GLINE, todo aquello comando que haga comparacion de IP's - - - -2002 IRC-DEV TEAM +2002-2003 IRC-DEV TEAM www.irc-dev.net Miembros: (en orden alfabetico) ----------------------- End of diff ----------------------- |