irc-dev-ipv6 Mailing List for IRC-Dev ircd development
Brought to you by:
zolty
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(49) |
Oct
(6) |
Nov
(5) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(8) |
Feb
(11) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: ZOLTAN <ZO...@te...> - 2004-01-23 08:54:27
|
Saludos |
From: <zo...@te...> - 2003-07-30 10:57:27
|
Nas http://www.microsoft.com/downloads/details.aspx?displaylang=3Des&FamilyID= =3D e88cc382-8ce6-4739-97c0-1a52a6f005e4 Advanced Networking Pack para Windows XP es una actualizaci=F3n recomendada para Windows XP SP1. Incluye una nueva versi=F3n de la pila IPv6, un servidor de seguridad IPv6 y una infraestructura de igual a igual. Saludos zoltan |
From: Toni G. <zo...@us...> - 2003-07-08 15:08:19
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-07-08 15:08:18 UTC Log message: IRCD Hispano 07-02 Status: Vendor Tag: vendor Release Tags: release U ipv6/.cvsignore U ipv6/.indent.pro C ipv6/.patches U ipv6/BUGS U ipv6/CAMBIOS2_10_06 U ipv6/CAMBIOS2_10_07 U ipv6/CAMBIOS2_10_H_01 U ipv6/CAMBIOS2_10_H_02 U ipv6/CAMBIOS2_10_H_03 U ipv6/CAMBIOS2_10_H_04 C ipv6/CAMBIOS2_10_H_05 C ipv6/CAMBIOS2_10_H_06 N ipv6/CAMBIOS2_10_H_07 U ipv6/ChangeLog U ipv6/ChangeLog.07 U ipv6/ChangeLog.10 U ipv6/INSTALL U ipv6/LICENCE U ipv6/Makefile.in U ipv6/RELEASE.NOTES U ipv6/configure U ipv6/lazyserver.jcea U ipv6/tener_en_cuenta.jcea C ipv6/todo.jcea U ipv6/config/.cvsignore U ipv6/config/Configure.in U ipv6/config/Makefile.in U ipv6/config/README U ipv6/config/acconfig.h U ipv6/config/acinclude.m4 U ipv6/config/aclocal.m4 C ipv6/config/config-sh.in U ipv6/config/configure U ipv6/config/configure.in U ipv6/config/gen.doc.Makefile U ipv6/config/gen.ircd.Makefile U ipv6/config/install-sh U ipv6/config/parse.none U ipv6/config/setup.h.in U ipv6/config/setup.h.top U ipv6/config/stamp-h.in U ipv6/doc/.cvsignore U ipv6/doc/Authors C ipv6/doc/Configure.help U ipv6/doc/Makefile.in U ipv6/doc/ejemplo.conf U ipv6/doc/irc.1 U ipv6/doc/ircd.8 U ipv6/doc/readme.crules U ipv6/doc/readme.indent U ipv6/doc/readme.who U ipv6/doc/readme.www U ipv6/doc/history/2.4.notes U ipv6/doc/history/2.7-New U ipv6/doc/history/Manual U ipv6/doc/history/README-2.6 U ipv6/doc/history/README.patches U ipv6/doc/history/history.pre24 U ipv6/doc/history/overview.u2.9 U ipv6/include/IPcheck.h U ipv6/include/bsd.h C ipv6/include/channel.h U ipv6/include/class.h U ipv6/include/common.h U ipv6/include/crule.h U ipv6/include/dbuf.h U ipv6/include/fileio.h U ipv6/include/h.h U ipv6/include/hash.h U ipv6/include/ircd.h U ipv6/include/list.h U ipv6/include/m_config.h C ipv6/include/m_watch.h U ipv6/include/map.h U ipv6/include/match.h U ipv6/include/msg.h C ipv6/include/numeric.h U ipv6/include/numnicks.h U ipv6/include/opercmds.h U ipv6/include/packet.h U ipv6/include/parse.h U ipv6/include/patchlevel.h N ipv6/include/persistent_malloc.h C ipv6/include/querycmds.h U ipv6/include/random.h U ipv6/include/res.h U ipv6/include/runmalloc.h U ipv6/include/s_auth.h C ipv6/include/s_bdd.h C ipv6/include/s_bsd.h U ipv6/include/s_conf.h U ipv6/include/s_debug.h U ipv6/include/s_err.h U ipv6/include/s_misc.h U ipv6/include/s_numeric.h U ipv6/include/s_ping.h U ipv6/include/s_serv.h U ipv6/include/s_socks.h C ipv6/include/s_user.h U ipv6/include/send.h U ipv6/include/sprintf_irc.h C ipv6/include/struct.h C ipv6/include/support.h U ipv6/include/sys.h U ipv6/include/userload.h U ipv6/include/version.h U ipv6/include/whocmds.h U ipv6/include/whowas.h U ipv6/ircd/.cvsignore C ipv6/ircd/IPcheck.c C ipv6/ircd/Makefile.in C ipv6/ircd/bsd.c C ipv6/ircd/channel.c U ipv6/ircd/chkconf.c U ipv6/ircd/class.c C ipv6/ircd/common.c U ipv6/ircd/crule.c C ipv6/ircd/dbuf.c U ipv6/ircd/fileio.c U ipv6/ircd/hash.c C ipv6/ircd/ircd.c U ipv6/ircd/list.c C ipv6/ircd/m_config.c C ipv6/ircd/m_watch.c U ipv6/ircd/map.c U ipv6/ircd/match.c U ipv6/ircd/numnicks.c C ipv6/ircd/opercmds.c U ipv6/ircd/packet.c U ipv6/ircd/parse.c N ipv6/ircd/persistent_malloc.c C ipv6/ircd/querycmds.c U ipv6/ircd/random.c C ipv6/ircd/res.c U ipv6/ircd/runmalloc.c C ipv6/ircd/s_auth.c C ipv6/ircd/s_bdd.c C ipv6/ircd/s_bsd.c C ipv6/ircd/s_conf.c C ipv6/ircd/s_debug.c C ipv6/ircd/s_err.c C ipv6/ircd/s_misc.c U ipv6/ircd/s_numeric.c U ipv6/ircd/s_ping.c C ipv6/ircd/s_serv.c C ipv6/ircd/s_socks.c C ipv6/ircd/s_user.c U ipv6/ircd/send.c U ipv6/ircd/sprintf_irc.c C ipv6/ircd/support.c U ipv6/ircd/userload.c U ipv6/ircd/version.c.SH C ipv6/ircd/whocmds.c U ipv6/ircd/whowas.c U ipv6/ircd/crypt/Makefile U ipv6/ircd/crypt/README U ipv6/ircd/crypt/crypter U ipv6/ircd/crypt/mkpasswd.c U ipv6/ircd/crypt/sums U ipv6/ircd/crypt/tea/Makefile U ipv6/ircd/crypt/tea/README U ipv6/ircd/crypt/tea/cifranick.c U ipv6/zlib/.cvsignore U ipv6/zlib/ChangeLog U ipv6/zlib/FAQ U ipv6/zlib/INDEX U ipv6/zlib/Make_vms.com U ipv6/zlib/Makefile U ipv6/zlib/Makefile.in U ipv6/zlib/Makefile.riscos U ipv6/zlib/README U ipv6/zlib/adler32.c U ipv6/zlib/algorithm.txt U ipv6/zlib/compress.c U ipv6/zlib/configure U ipv6/zlib/crc32.c U ipv6/zlib/deflate.c U ipv6/zlib/deflate.h U ipv6/zlib/descrip.mms U ipv6/zlib/example.c U ipv6/zlib/gzio.c U ipv6/zlib/infblock.c U ipv6/zlib/infblock.h U ipv6/zlib/infcodes.c U ipv6/zlib/infcodes.h U ipv6/zlib/inffast.c U ipv6/zlib/inffast.h U ipv6/zlib/inffixed.h U ipv6/zlib/inflate.c U ipv6/zlib/inftrees.c U ipv6/zlib/inftrees.h U ipv6/zlib/infutil.c U ipv6/zlib/infutil.h U ipv6/zlib/maketree.c U ipv6/zlib/minigzip.c U ipv6/zlib/trees.c U ipv6/zlib/trees.h U ipv6/zlib/uncompr.c U ipv6/zlib/zconf.h U ipv6/zlib/zlib.3 U ipv6/zlib/zlib.h U ipv6/zlib/zutil.c U ipv6/zlib/zutil.h U ipv6/zlib/amiga/Makefile.pup U ipv6/zlib/amiga/Makefile.sas U ipv6/zlib/contrib/README.contrib U ipv6/zlib/contrib/visual-basic.txt U ipv6/zlib/contrib/asm386/gvmat32.asm U ipv6/zlib/contrib/asm386/gvmat32c.c U ipv6/zlib/contrib/asm386/mkgvmt32.bat U ipv6/zlib/contrib/asm386/zlibvc.def U ipv6/zlib/contrib/asm386/zlibvc.dsp U ipv6/zlib/contrib/asm386/zlibvc.dsw U ipv6/zlib/contrib/asm586/README.586 U ipv6/zlib/contrib/asm586/match.S U ipv6/zlib/contrib/asm686/README.686 U ipv6/zlib/contrib/asm686/match.S U ipv6/zlib/contrib/delphi/zlib.mak U ipv6/zlib/contrib/delphi/zlibdef.pas U ipv6/zlib/contrib/delphi2/d_zlib.bpr U ipv6/zlib/contrib/delphi2/d_zlib.cpp U ipv6/zlib/contrib/delphi2/readme.txt U ipv6/zlib/contrib/delphi2/zlib.bpg U ipv6/zlib/contrib/delphi2/zlib.bpr U ipv6/zlib/contrib/delphi2/zlib.cpp U ipv6/zlib/contrib/delphi2/zlib.pas U ipv6/zlib/contrib/delphi2/zlib32.bpr U ipv6/zlib/contrib/delphi2/zlib32.cpp U ipv6/zlib/contrib/iostream/test.cpp U ipv6/zlib/contrib/iostream/zfstream.cpp U ipv6/zlib/contrib/iostream/zfstream.h U ipv6/zlib/contrib/iostream2/zstream.h U ipv6/zlib/contrib/iostream2/zstream_test.cpp U ipv6/zlib/contrib/minizip/ChangeLogUnzip U ipv6/zlib/contrib/minizip/Makefile U ipv6/zlib/contrib/minizip/miniunz.c U ipv6/zlib/contrib/minizip/minizip.c U ipv6/zlib/contrib/minizip/readme.txt U ipv6/zlib/contrib/minizip/unzip.c U ipv6/zlib/contrib/minizip/unzip.def U ipv6/zlib/contrib/minizip/unzip.h U ipv6/zlib/contrib/minizip/zip.c U ipv6/zlib/contrib/minizip/zip.def U ipv6/zlib/contrib/minizip/zip.h U ipv6/zlib/contrib/minizip/zlibvc.def U ipv6/zlib/contrib/minizip/zlibvc.dsp U ipv6/zlib/contrib/minizip/zlibvc.dsw U ipv6/zlib/contrib/untgz/Makefile U ipv6/zlib/contrib/untgz/makefile.w32 U ipv6/zlib/contrib/untgz/untgz.c U ipv6/zlib/msdos/Makefile.b32 U ipv6/zlib/msdos/Makefile.bor U ipv6/zlib/msdos/Makefile.dj2 U ipv6/zlib/msdos/Makefile.emx U ipv6/zlib/msdos/Makefile.msc U ipv6/zlib/msdos/Makefile.tc U ipv6/zlib/msdos/Makefile.w32 U ipv6/zlib/msdos/Makefile.wat U ipv6/zlib/msdos/zlib.def U ipv6/zlib/msdos/zlib.rc U ipv6/zlib/nt/Makefile.emx U ipv6/zlib/nt/Makefile.gcc U ipv6/zlib/nt/Makefile.nt U ipv6/zlib/nt/zlib.dnt U ipv6/zlib/os2/Makefile.os2 U ipv6/zlib/os2/zlib.def 39 conflicts created by this import. Use the following command to help the merge: cvs checkout -jvendor:yesterday -jvendor ipv6 |
From: Toni G. <zo...@us...> - 2003-02-16 17:43:44
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-02-16 17:43:42 UTC Modified files: CAMBIOS.Ipv6 Ipv6.zoltan include/inet.h include/match.h include/patchlevel.h include/support.h ircd/IPcheck.c ircd/ircd.c ircd/match.c ircd/numnicks.c ircd/res.c ircd/s_bsd.c ircd/s_conf.c ircd/s_misc.c ircd/s_serv.c ircd/s_user.c Log message: INET6.22 ---------------------- diff included ---------------------- Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.21 ipv6/CAMBIOS.Ipv6:1.22 --- ipv6/CAMBIOS.Ipv6:1.21 Sat Feb 8 13:02:53 2003 +++ ipv6/CAMBIOS.Ipv6 Sun Feb 16 09:43:31 2003 @@ -1,3 +1,10 @@ +* 2003/02/16 zo...@ir... INET6.22 +----------------------------------------------------------------------- +Adaptacion de CALCULATE_HASH al IPv6, y por lo tanto los clones, throttle, +son 100% operativos. +En getsockopt() el IP_OPTIONS esta incompleto con el IPv6, parche facilitado +por the_butche. + * 2003/02/08 zo...@ir... INET6.21 ----------------------------------------------------------------------- Nueva funcion inetntoa_cptr() para imprimir la ip de tanto users locales Index: ipv6/Ipv6.zoltan diff -u ipv6/Ipv6.zoltan:1.17 ipv6/Ipv6.zoltan:1.18 --- ipv6/Ipv6.zoltan:1.17 Sat Feb 8 13:02:53 2003 +++ ipv6/Ipv6.zoltan Sun Feb 16 09:43:31 2003 @@ -3,16 +3,16 @@ Pasos para el desarrollo del soporte IPv6 para el ircd de ESNET-Hispano: - A) Adaptar el CALCULATE_HASH de IPcheck.c a IPv6 y activar todos los IP*(). - - B) Revisar la resolucion DNS, en principio usaremos el RFC antiguo, es decir + A) 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. + Ya estamos usando ip6.arpa, y al parecer solo resuelve a los usuarios con IPv6 + y al ipv4 se pone tonto. - C) Comprobar el bind() de los sockets teniendo activado y desactivado la opcion + B) Comprobar el bind() de los sockets teniendo activado y desactivado la opcion VIRTUALHOST del config. - D) Comprobar todo lo que afecta al fichero match.c (Comparacion de ip's) y el correcto + C) 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. @@ -21,11 +21,14 @@ 5) Hostmask G lines. 6) Bans, Silences, etc.. - E) Para las IP's Virtuales, preguntar a jcea para elegir opcion adecuada. Opciones: + D) 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). + + E) Comprobar el /CONNECT manual y el connect automatico, al parecer no chuta bien, que + se hace un lio (Segun el debug.log). F) Compilar en SunOs, Solaris, HP-UX, etc.. Index: ipv6/include/inet.h diff -u ipv6/include/inet.h:1.10 ipv6/include/inet.h:1.11 --- ipv6/include/inet.h:1.10 Sat Feb 8 13:02:53 2003 +++ ipv6/include/inet.h Sun Feb 16 09:43:32 2003 @@ -65,6 +65,10 @@ #if defined(__FreeBSD__) #undef IN6_IS_ADDR_V4MAPPED +#endif + +/* ::ffff:a.b.c.d */ +#ifndef IN6_IS_ADDR_V4MAPPED #define IN6_IS_ADDR_V4MAPPED(a) \ (((const unsigned int *) (a))[0] == 0 \ && ((const unsigned int *) (a))[1] == 0 \ @@ -119,7 +123,7 @@ #define WHOSTENTP(x) (x) -/* Localhost loopback */ +/* Localhost loopback 127.0.0.1 */ #ifndef IN_LOOPBACKNET #define IN_LOOPBACKNET 0x7f /* 127 */ #endif @@ -129,7 +133,7 @@ #define INADDR_ANY 0x00000000 #endif -/* Indica un error 255.255.255.255 */ +/* 255.255.255.255 */ #ifndef INADDR_NONE #define INADDR_NONE 0xffffffff #endif @@ -163,7 +167,7 @@ /* * IP mas larga posible */ -#define IPLEN 46 +#define IPLEN IP6LEN #endif /* INET_H */ Index: ipv6/include/match.h diff -u ipv6/include/match.h:1.5 ipv6/include/match.h:1.6 --- ipv6/include/match.h:1.5 Wed Jan 29 12:14:55 2003 +++ ipv6/include/match.h Sun Feb 16 09:43:32 2003 @@ -15,12 +15,12 @@ struct in_mask { #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ struct in_addr bits; struct in_addr mask; #else - struct IN_ADDR bits; - struct IN_ADDR mask; + struct in_addr bits; + struct in_addr mask; #endif int fall; }; Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.22 ipv6/include/patchlevel.h:1.23 --- ipv6/include/patchlevel.h:1.22 Sat Feb 8 13:02:53 2003 +++ ipv6/include/patchlevel.h Sun Feb 16 09:43:32 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.21" + "+INET6.22" /* * Deliberate empty lines Index: ipv6/include/support.h diff -u ipv6/include/support.h:1.7 ipv6/include/support.h:1.8 --- ipv6/include/support.h:1.7 Sat Feb 8 13:02:54 2003 +++ ipv6/include/support.h Sun Feb 16 09:43:32 2003 @@ -16,7 +16,7 @@ #endif extern void dumpcore(const char *pattern, ...) __attribute__ ((format(printf, 1, 2))); -extern char *inetntoa(struct IN_ADDR); +extern char *inetntoa(struct IN_ADDR in); extern char *inetntoa_cptr(aClient *cptr); #ifdef INET6 extern int inetpton(int af, const char *src, void *dst); Index: ipv6/ircd/IPcheck.c diff -u ipv6/ircd/IPcheck.c:1.7 ipv6/ircd/IPcheck.c:1.8 --- ipv6/ircd/IPcheck.c:1.7 Wed Jan 29 12:14:56 2003 +++ ipv6/ircd/IPcheck.c Sun Feb 16 09:43:32 2003 @@ -39,7 +39,7 @@ #include "support.h" #endif -RCSTAG_CC("$Id: IPcheck.c,v 1.7 2003/01/29 20:14:56 zolty Exp $"); +RCSTAG_CC("$Id: IPcheck.c,v 1.8 2003/02/16 17:43:32 zolty Exp $"); extern aClient me; extern time_t now; @@ -98,23 +98,38 @@ * Calculate a `hash' value between 0 and HASHTABSIZE, from the internet address `IN_ADDR'. * Apply it immedeately to the table, effectively hiding the table itself. */ -#ifdef INET61 +#ifdef INET6 /* * CALCULATE_HASH for IPv6 address */ -/* FIXME-ZOLTAN: Adaptar el hash al ipv6 */ -#define CALCULATE_HASH(IN_ADDR) \ +#define CALCULATE_HASH(in6_addr) \ struct IPregistry_vector *hash; \ - do { register char *ip; \ - memcpy(&ip, (IN_ADDR).S_ADDR, sizeof(struct IN_ADDR)); \ - hash = &IPregistry_hashtable[ip]; } while(0) -#else + if (IN6_IS_ADDR_V4MAPPED(&in6_addr)) \ + { \ + unsigned int ip = (in6_addr).s6_addr32[3]; \ + hash = &IPregistry_hashtable[((ip >> 14) + (ip >> 7) + ip) & (HASHTABSIZE - 1)]; \ + } \ + else \ + { \ + unsigned int ip; \ + unsigned int res; \ + ip = (in6_addr).s6_addr32[0]; \ + res = ((ip >> 14) + (ip >> 7) + ip); \ + ip = (in6_addr).s6_addr32[1]; \ + res = (res | ((ip >> 14) + (ip >> 7) + ip)); \ + ip = (in6_addr).s6_addr32[2]; \ + res = (res | ((ip >> 14) + (ip >> 7) + ip)); \ + ip = (in6_addr).s6_addr32[3]; \ + res = (res | ((ip >> 14) + (ip >> 7) + ip)); \ + hash = &IPregistry_hashtable[res & (HASHTABSIZE - 1)]; \ + } +#else /* !INET6 */ /* * CALCULATE_HASH for IPv4 address */ -#define CALCULATE_HASH(IN_ADDR) \ +#define CALCULATE_HASH(in_addr) \ struct IPregistry_vector *hash; \ - do { register unsigned int ip = (IN_ADDR).S_ADDR; \ + do { register unsigned int ip = (in_addr).s_addr; \ hash = &IPregistry_hashtable[((ip >> 14) + (ip >> 7) + ip) & (HASHTABSIZE - 1)]; } while(0) #endif /* INET6 */ Index: ipv6/ircd/ircd.c diff -u ipv6/ircd/ircd.c:1.6 ipv6/ircd/ircd.c:1.7 --- ipv6/ircd/ircd.c:1.6 Wed Jan 29 12:14:56 2003 +++ ipv6/ircd/ircd.c Sun Feb 16 09:43:32 2003 @@ -51,6 +51,7 @@ #ifdef VIRTUAL_HOST #include <sys/socket.h> /* Needed for AF_INET on some OS */ #endif + #include <assert.h> #include "h.h" @@ -77,7 +78,7 @@ #include "IPcheck.h" #include "s_bdd.h" -RCSTAG_CC("$Id: ircd.c,v 1.6 2003/01/29 20:14:56 zolty Exp $"); +RCSTAG_CC("$Id: ircd.c,v 1.7 2003/02/16 17:43:32 zolty Exp $"); extern void init_counters(void); Index: ipv6/ircd/match.c diff -u ipv6/ircd/match.c:1.3 ipv6/ircd/match.c:1.4 --- ipv6/ircd/match.c:1.3 Sat Sep 14 15:44:51 2002 +++ ipv6/ircd/match.c Sun Feb 16 09:43:32 2003 @@ -24,7 +24,7 @@ #include "match.h" #include "ircd.h" -RCSTAG_CC("$Id: match.c,v 1.3 2002/09/14 22:44:51 zolty Exp $"); +RCSTAG_CC("$Id: match.c,v 1.4 2003/02/16 17:43:32 zolty Exp $"); /* * mmatch() @@ -1007,12 +1007,12 @@ while (*m++); #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ imask->bits.s_addr = htonl(bits); imask->mask.s_addr = htonl(filt); #else - imask->bits.S_ADDR = htonl(bits); - imask->mask.S_ADDR = htonl(filt); + imask->bits.s_addr = htonl(bits); + imask->mask.s_addr = htonl(filt); #endif imask->fall = unco; return ((bits & ~filt) ? -1 : 0); Index: ipv6/ircd/numnicks.c diff -u ipv6/ircd/numnicks.c:1.3 ipv6/ircd/numnicks.c:1.4 --- ipv6/ircd/numnicks.c:1.3 Sat Feb 8 13:02:54 2003 +++ ipv6/ircd/numnicks.c Sun Feb 16 09:43:32 2003 @@ -16,8 +16,9 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: numnicks.c,v 1.3 2003/02/08 21:02:54 zolty Exp $ + * $Id: numnicks.c,v 1.4 2003/02/16 17:43:32 zolty Exp $ */ + #include "sys.h" #include "numnicks.h" #include "inet.h" @@ -34,7 +35,7 @@ #include <assert.h> -RCSTAG_CC("$Id: numnicks.c,v 1.3 2003/02/08 21:02:54 zolty Exp $"); +RCSTAG_CC("$Id: numnicks.c,v 1.4 2003/02/16 17:43:32 zolty Exp $"); /* * Numeric nicks are new as of version ircu2.10.00beta1. Index: ipv6/ircd/res.c diff -u ipv6/ircd/res.c:1.9 ipv6/ircd/res.c:1.10 --- ipv6/ircd/res.c:1.9 Fri Feb 7 11:36:38 2003 +++ ipv6/ircd/res.c Sun Feb 16 09:43:32 2003 @@ -42,7 +42,7 @@ #include "common.h" #include "sprintf_irc.h" -RCSTAG_CC("$Id: res.c,v 1.9 2003/02/07 19:36:38 zolty Exp $"); +RCSTAG_CC("$Id: res.c,v 1.10 2003/02/16 17:43:32 zolty Exp $"); #define MAXPACKET 1024 @@ -227,11 +227,14 @@ { _res.nscount = 1; #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ +/* FIXME-ZOLTAN + _res.nsaddr_list[0].sin_addr.s_addr = inet_addr("127.0.0.1"); +*/ _res.nsaddr_list[0].sin_addr.s_addr = inet_pton(AF_INET, "127.0.0.1", &_res.nsaddr_list[0].sin_addr.s_addr); #else - _res.nsaddr_list[0].SIN_ADDR.S_ADDR = inet_addr("127.0.0.1"); + _res.nsaddr_list[0].sin_addr.s_addr = inet_addr("127.0.0.1"); #endif } #ifdef DEBUGMODE @@ -240,10 +243,10 @@ alarm(2); #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ fd = socket(AF_INET, SOCK_DGRAM, 0); #else - fd = socket(AFINET, SOCK_DGRAM, 0); + fd = socket(AF_INET, SOCK_DGRAM, 0); #endif alarm(0); if (fd < 0) @@ -256,10 +259,10 @@ */ alarm(2); #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) #else - if ((fd = socket(AFINET, SOCK_DGRAM, 0)) < 0) + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) #endif { alarm(0); @@ -467,10 +470,10 @@ for (i = 0; i < max; ++i) { #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ _res.nsaddr_list[i].sin_family = AF_INET; #else - _res.nsaddr_list[i].SIN_FAMILY = AFINET; + _res.nsaddr_list[i].sin_family = AF_INET; #endif if (sendto(resfd, msg, len, 0, (struct SOCKADDR *)&(_res.nsaddr_list[i]), sizeof(struct SOCKADDR)) == len) @@ -526,6 +529,7 @@ { aCache *cp; + Debug((DEBUG_DNS, "Resolver: gethost_byname_type %s", name)); reinfo.re_na_look++; if ((cp = find_cache_name(name))) return (struct hostent *)&(cp->he); @@ -549,6 +553,7 @@ { aCache *cp; + Debug((DEBUG_DNS, "Resolver: gethost_byaddr %s", inetntoa(*addr))); reinfo.re_nu_look++; if ((cp = find_cache_number(NULL, addr))) return &cp->he.h; @@ -965,10 +970,10 @@ Reg2 ResRQ *rptr = NULL; aCache *cp = NULL; #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ struct sockaddr_in sin; #else - struct SOCKADDR_IN sin; + struct sockaddr_in sin; #endif int a, max; size_t rc, len = sizeof(sin); @@ -1012,14 +1017,15 @@ for (a = 0; a < max; a++) { #ifdef INET6 - /* still IPv4 */ + /* No hay estructuras IPv6 */ if (!_res.nsaddr_list[a].sin_addr.s_addr || !memcmp((char *)&sin.sin_addr, (char *)&_res.nsaddr_list[a].sin_addr, sizeof(struct in_addr))) #else - if (!_res.nsaddr_list[a].SIN_ADDR.S_ADDR || - !memcmp((char *)&sin.SIN_ADDR, (char *)&_res.nsaddr_list[a].SIN_ADDR, - sizeof(struct IN_ADDR))) + /* No hay estructuras IPv6 */ + if (!_res.nsaddr_list[a].sin_addr.s_addr || + !memcmp((char *)&sin.sin_addr, (char *)&_res.nsaddr_list[a].sin_addr, + sizeof(struct in_addr))) #endif break; } Index: ipv6/ircd/s_bsd.c diff -u ipv6/ircd/s_bsd.c:1.10 ipv6/ircd/s_bsd.c:1.11 --- ipv6/ircd/s_bsd.c:1.10 Fri Feb 7 11:36:38 2003 +++ ipv6/ircd/s_bsd.c Sun Feb 16 09:43:32 2003 @@ -105,7 +105,7 @@ #include "msg.h" #endif -RCSTAG_CC("$Id: s_bsd.c,v 1.10 2003/02/07 19:36:38 zolty Exp $"); +RCSTAG_CC("$Id: s_bsd.c,v 1.11 2003/02/16 17:43:32 zolty Exp $"); #define IP_LOOKUP_START ":%s NOTICE IP_LOOKUP :*** Looking up your hostname...\r\n" #define IP_LOOKUP_OK ":%s NOTICE IP_LOOKUP :*** Found your hostname.\r\n" @@ -767,7 +767,7 @@ ** Gestion Distribuida de Clones */ -#if defined(BDD) && defined(BDD_CLONES) && !defined(INET6) +#if defined(BDD) && defined(BDD_CLONES) if (hp) { @@ -1331,6 +1331,10 @@ if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (OPT_TYPE *)&opt, sizeof(opt)) < 0) report_error("setsockopt(SO_SNDBUF) %s: %s", cptr); #endif +#ifndef INET6 +/* + * En getsockopt() el IP_OPTIONS esta incompleto con el IPv6 + */ #if defined(IP_OPTIONS) && defined(IPPROTO_IP) { char *s = readbuf, *t = readbuf + sizeof(readbuf) / 2; @@ -1348,6 +1352,7 @@ report_error("setsockopt(IP_OPTIONS) %s: %s", cptr); } #endif +#endif /* !INET6 */ } int get_sockerr(aClient *cptr) @@ -1536,7 +1541,6 @@ * If it is a connection to a user port and if the site has been throttled, * reject the user. */ -#ifndef INET6 if (IPcheck_local_connect(acptr) == -1 && IsUserPort(acptr)) { ircstp->is_ref++; @@ -1544,7 +1548,7 @@ "Your host is trying to (re)connect too fast -- throttled"); return NULL; } -#endif /* INET6 */ + #ifdef PROXY_PROTECTION if (IsUserPort(acptr)) { Index: ipv6/ircd/s_conf.c diff -u ipv6/ircd/s_conf.c:1.7 ipv6/ircd/s_conf.c:1.8 --- ipv6/ircd/s_conf.c:1.7 Wed Jan 29 12:14:56 2003 +++ ipv6/ircd/s_conf.c Sun Feb 16 09:43:32 2003 @@ -74,7 +74,7 @@ #include "hash.h" #include "fileio.h" -RCSTAG_CC("$Id: s_conf.c,v 1.7 2003/01/29 20:14:56 zolty Exp $"); +RCSTAG_CC("$Id: s_conf.c,v 1.8 2003/02/16 17:43:32 zolty Exp $"); static int check_time_interval(char *, char *); static int lookup_confhost(aConfItem *); @@ -288,10 +288,8 @@ { /* Refuse connections when there are already <digit> clients connected with the same IP number */ unsigned short nr = *aconf->passwd - '0'; -#ifndef INET6 if (IPcheck_nr(cptr) > nr) return ACR_TOO_MANY_FROM_IP; /* Already got nr with that ip# */ -#endif } #ifdef USEONE else if (!strcmp(aconf->passwd, "ONE")) Index: ipv6/ircd/s_misc.c diff -u ipv6/ircd/s_misc.c:1.8 ipv6/ircd/s_misc.c:1.9 --- ipv6/ircd/s_misc.c:1.8 Sat Feb 8 13:02:55 2003 +++ ipv6/ircd/s_misc.c Sun Feb 16 09:43:32 2003 @@ -65,7 +65,7 @@ #include <assert.h> -RCSTAG_CC("$Id: s_misc.c,v 1.8 2003/02/08 21:02:55 zolty Exp $"); +RCSTAG_CC("$Id: s_misc.c,v 1.9 2003/02/16 17:43:32 zolty Exp $"); static void exit_one_client(aClient *, char *); @@ -634,10 +634,8 @@ Count_unknowndisconnects(nrof); /* Update IPregistry */ -#ifndef INET6 if (IsIPChecked(bcptr)) IPcheck_disconnect(bcptr); -#endif /* * Remove from serv->client_list Index: ipv6/ircd/s_serv.c diff -u ipv6/ircd/s_serv.c:1.7 ipv6/ircd/s_serv.c:1.8 --- ipv6/ircd/s_serv.c:1.7 Sat Feb 8 13:02:55 2003 +++ ipv6/ircd/s_serv.c Sun Feb 16 09:43:32 2003 @@ -57,7 +57,7 @@ #include "IPcheck.h" -RCSTAG_CC("$Id: s_serv.c,v 1.7 2003/02/08 21:02:55 zolty Exp $"); +RCSTAG_CC("$Id: s_serv.c,v 1.8 2003/02/16 17:43:32 zolty Exp $"); static int exit_new_server(aClient *cptr, aClient *sptr, char *host, time_t timestamp, char *fmt, ...) @@ -861,9 +861,7 @@ tx_num_serie_dbs(cptr); #endif -#ifndef INET6 IPcheck_connect_fail(cptr); /* Don't charge this IP# for connecting */ -#endif } det_confs_butmask(cptr, Index: ipv6/ircd/s_user.c diff -u ipv6/ircd/s_user.c:1.13 ipv6/ircd/s_user.c:1.14 --- ipv6/ircd/s_user.c:1.13 Sat Feb 8 13:02:55 2003 +++ ipv6/ircd/s_user.c Sun Feb 16 09:43:32 2003 @@ -69,7 +69,7 @@ #include "IPcheck.h" #include "class.h" -RCSTAG_CC("$Id: s_user.c,v 1.13 2003/02/08 21:02:55 zolty Exp $"); +RCSTAG_CC("$Id: s_user.c,v 1.14 2003/02/16 17:43:32 zolty Exp $"); /* *INDENT-OFF* */ @@ -423,9 +423,7 @@ sendto_op_mask(SNO_TOOMANY, "Too many connections in class for %s.", sptr->sockhost); } -#ifndef INET6 IPcheck_connect_fail(sptr); -#endif ircstp->is_ref++; { char *msg = @@ -454,9 +452,7 @@ case ACR_ALREADY_AUTHORIZED: /* Can this ever happen? */ case ACR_BAD_SOCKET: -#ifndef INET6 IPcheck_connect_fail(sptr); -#endif return exit_client(cptr, sptr, &me, "Unknown error -- Try again"); } if (IsUnixSocket(sptr)) @@ -486,9 +482,7 @@ { ircstp->is_ref++; sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, parv[0]); -#ifndef INET6 IPcheck_connect_fail(sptr); -#endif return exit_client(cptr, sptr, &me, "Bad Password"); } @@ -659,9 +653,7 @@ sendbufto_op_mask(SNO_CONNEXIT); #endif /* SNO_CONNEXIT_IP */ #endif /* ALLOW_SNO_CONNEXIT */ -#ifndef INET6 IPcheck_connect_succeeded(sptr); -#endif } else /* if (IsServer(cptr)) */ @@ -694,12 +686,10 @@ for (acptr = user->server; acptr != &me; acptr = acptr->serv->up) if (IsBurst(acptr) || Protocol(acptr) < 10) break; -#ifndef INET6 if (IPcheck_remote_connect(sptr, user->host, (acptr != &me)) == -1) /* We ran out of bits to count this */ return exit_client(cptr, sptr, &me, "More then 255 connections from this IP number"); -#endif } #ifdef NO_PROTOCOL9 /* Use this when all servers are 2.10 (but test it first) --Run */ @@ -1188,9 +1178,7 @@ */ if (IsUnknown(acptr) && MyConnect(acptr)) { -#ifndef INET6 IPcheck_connect_fail(acptr); -#endif exit_client(cptr, acptr, &me, "Overridden by other sign on"); goto nickkilldone; } ----------------------- End of diff ----------------------- |
From: <zo...@te...> - 2003-02-15 22:16:10
|
Al parecer el DNS reverso funciona correctamente s=F3lo si est=E1 con la opci=F3n de no chequear proxys/socks4, lo posteo aqu=ED para tener constancia del problema. Un saludo zoltan |
From: <zo...@te...> - 2003-02-05 12:30:34
|
>=20 > struct in6_addr { > union { > u_int8_t __u6_addr8[16]; > u_int16_t __u6_addr16[8]; > u_int32_t __u6_addr32[4]; > } __u6_addr; /* 128-bit IP6 address */ > }; >=20 Al final har=E9 lo siguiente... En la estructura del Client, hay un campo para almacenar la ip de los usuarios locales y remotos: struct in_addr ip; Y lo cambiar=E9 a... struct irc_inaddr ip; Cuya estructura ser=E1 lo siguiente: Struct irc_inaddr { union { struct in_addr sin; =20 #ifdef INET6 struct in6_addr sin6;=20 #else u_int32_t irc6_addr[4]; /* 4 partes de 32 bits cada una =3D> 128 = bits :) */ #endif } sins; }; De esta forma, los nodos IPv4 (que muchas m=E1quinas no tienen ni las librerias IPv6) puedan almacenar la ip en formato binario que reciba de los usuarios remotos partiendo de la ip en formato base64 del comando NICK de servidor. Todos los nodos, tengan IPv6 activado o no, han de mandar 6 caracteres si son ip's de IPv4 o ip's mapeadas IPv6-to-IPv4 (ejemplo ::ffff:80.59.255.83, que el ircd la trunca y muestra 80.59.255.83). Y 24 (6+6+6+6, 6 por cada 32 bits) si son ip's de IPv6. He encontrado un parche para el ircu de undernet que lo hacian de esta forma, de esta manera el comando /USERIP funcionar=E1 correctamente, asi como las ip's virtuales y otros comandos que hagan uso de la ip en formato num=E9rico (hexadecimal). Este fin de semanaa los pondr=E9 en el CVS. Tambien meter=E9 parches = para la resoluci=F3n DNS, que meter=E9 ya de entrada el dominio "ip6.arpa" para = las inversas ya que me han delegado una. Un saludo zoltan |
From: Daniel <fre...@un...> - 2003-02-03 09:55:20
|
El s=E1b, 01-02-2003 a las 09:35, Toni Garc=EDa escribi=F3: > El "if def" esta pensado para que los nodos que no compilan con INET6, > que habr=E1 nodos con sistema operativo tan viejo que no tendr=E1 ni > librer=EDas de IPv6 como el sunos de gaia, puedan tener algo para > almacenar el valor. Dudo en un "unsigned long" o un "char *". =BFCual > seria la mejor soluci=F3n? >=20 Pues habria que crear un tipo de datos nuevo que almacene los 128 bits, por ejemplo, haciendo una union como hacen en las propias librerias de IPv6, el problema esta en que no todos los compiladores de C usan el mismo rango para los int, ya que algunos usan 32 bits, y otros usan 16 bits. La creacion de un entero de 128 bits se podria hacer bien con un array de enteros que posteriormente serian usados como un tipo de 128 mediante casts (para no complicarse la existencia) o haciendo como hacen las propias librerias IPv6 (para hacerlo mas correcto): (Sacado de las propias librerias de IPv6) struct in6_addr { union { u_int8_t __u6_addr8[16]; u_int16_t __u6_addr16[8]; u_int32_t __u6_addr32[4]; } __u6_addr; /* 128-bit IP6 address */ }; Por cierto, creo que en el configure se detectan los tama=F1os de los tipos de datos del compilador, hay que verlo. S2 --=20 Daniel Fern=E1ndez <fre...@un...> |
From: Ruben C. <ru...@ar...> - 2003-02-01 11:12:29
|
Toni Garc=EDa wrote: >> Como luego la manipulacion de los hosts se hace a base de=20 >>examinar la cadena (todo el tema de match.c, por ejemplo), >>para mi que se deja un char * y asi ya luego no hay que >>hacer conversiones. >> >=20 >=20 > Cuando se tiene que imprimir en formato humano una ip se hace un > "inetntoa(sptr->ip);" Hablo de manipularla, no de imprimirla :P Saludos, NiKoLaS |
From: <zo...@te...> - 2003-02-01 11:07:56
|
> > Como luego la manipulacion de los hosts se hace a base de > examinar la cadena (todo el tema de match.c, por ejemplo), > para mi que se deja un char * y asi ya luego no hay que > hacer conversiones. > Cuando se tiene que imprimir en formato humano una ip se hace un "inetntoa(sptr->ip);" Un saludo zoltan |
From: Ruben C. <ni...@te...> - 2003-02-01 10:27:49
|
Hola, > El "if def" esta pensado para que los nodos que no compilan con INET6, > que habrá nodos con sistema operativo tan viejo que no tendrá ni > librerías de IPv6 como el sunos de gaia, puedan tener algo para > almacenar el valor. Dudo en un "unsigned long" o un "char *". ¿Cual > seria la mejor solución? Como luego la manipulacion de los hosts se hace a base de examinar la cadena (todo el tema de match.c, por ejemplo), para mi que se deja un char * y asi ya luego no hay que hacer conversiones. Saludos, NiKoLaS |
From: <zo...@te...> - 2003-02-01 08:43:54
|
> struct in_addr sin; =20 > #ifdef INET6 > struct in6_addr sin6;=20 > #else > unsigned long ip6; > =F3 > char *ip6; =20 Quiero decir unsigned long ip6[0]; unsigned long ip6[1]; unsigned long ip6[2]; unsigned long ip6[3]; Porque un int o un long en una maquina de 32 bits, es de 32 bits y como la ipv6 tiene 128.... :) |
From: <zo...@te...> - 2003-02-01 08:35:40
|
Como todos sabemos, en el comando NICK de servidor en protocolo P10 se incluye la IP en formato base64, bien, hay un problema que es lo siguiente y habr=EDa que pensar en como resolverlo ya que de todas las implementaciones existentes de IPv6 no hay ninguna en el ircu de undernet o en cualquiera de sus variantes como el ircd universal de Carlo Wood. La IP en formato base64 es un valor de 6 caracteres si se trata de una ip IPv4 (32 bits), pero para IPv6 (128 bits) hace falta 22 caracteres para garantizar la reversibilidad. Esto es muy necesario para las IPS virtuales que se calculan a partir de la ip num=E9rica, clones a la IP, glines a la IP, respuesta del USERIP, etc.. (OJO no es lo mismo el hostname que la IP). Se podr=EDa hacer que un nodo mande 22 caracteres si el usuario est=E1 = por una conexi=F3n de IPv6 y 6 en el resto. Y un nodo, aunque sea solo IPv4, ha de poderse parsear y guardar. Actualmente, el ircd manda con lo siguiente...=20 inttobase64(ip_base64, ntohl(sptr->ip.s_addr), 6) El nthol es para pasar a formato base2, o sea si mi ip es 80.59.255.83, seria 1010011111111111110111010000 y el inttobase64 es para pasar a base64 para hacerlo mas corto, en solo 6 caracteres en vez de 32. Y cuando recibe, hace lo siguiente=20 sptr->ip.s_addr =3D htonl(base64toint(parv[parc - 3])); El parv[parc - 3] se refiere a capturar el 3 par=E1metro a partir de la derecha, que en P10 es la ip en formato base64. Hab=E9is visto que la info esta en sptr->ip, siendo sptr un struct = Client, ahora mismo lo tengo en... #ifdef INET6 struct in6_addr ip; #else struct in_addr ip; #endif Para resolver el problema del IP-Base64, la soluci=F3n que meti no es la m=E1s adecuada, porque un nodo IPv4 ha de poder almacenar IPv6 de = usuarios remotos e viceversa. La mas adecuada seria lo siguiente... Definir un nuevo struct, llamado "irc_inaddr" (se usa en el hybrid de EFNet) para sustituir a struct "in_addr" y que estar=EDa definido de la siguiente forma: struct irc_inaddr =20 { union { struct in_addr sin; =20 #ifdef INET6 struct in6_addr sin6;=20 #else unsigned long ip6; =F3 char *ip6; =20 #endif } sins; }; El "if def" esta pensado para que los nodos que no compilan con INET6, que habr=E1 nodos con sistema operativo tan viejo que no tendr=E1 ni librer=EDas de IPv6 como el sunos de gaia, puedan tener algo para almacenar el valor. Dudo en un "unsigned long" o un "char *". =BFCual seria la mejor soluci=F3n? =BFComentarios? =BFOpiniones? Un saludo zoltan =20 |
From: ZOLTAN <ZO...@te...> - 2003-01-31 14:27:36
|
> CVSROOT : /cvsroot/irc-dev > Module : ipv6 > Commit time: 2003-01-31 14:10:05 UTC He creado un branch, el "INET6_19", que se quedara lo que hay ahora mismo, porque en el branch development (el main) voy a hacer numerosos cambios en el codigo :) Para bajar la version funcional hay que usar cvs co -r INET6_19 Un saludo zoltan |
From: Toni G. <zo...@us...> - 2003-01-31 14:10:06
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-31 14:10:05 UTC Modified files: CAMBIOS.Ipv6 include/inet.h include/patchlevel.h ircd/common.c ircd/support.c Log message: INET6.19 ---------------------- diff included ---------------------- Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.18 ipv6/CAMBIOS.Ipv6:1.19 --- ipv6/CAMBIOS.Ipv6:1.18 Fri Jan 31 04:02:44 2003 +++ ipv6/CAMBIOS.Ipv6 Fri Jan 31 06:09:54 2003 @@ -1,3 +1,9 @@ +* 2003/01/31 zoltan y thebutche INET6.19 +----------------------------------------------------------------------- +Common.c: Se añade el : en el macro de NTL_IRCIP. (zoltan) +Solucionado un warning de compilacion en FREEBSD. (thebutche) + + * 2003/01/31 the...@in... INET6.18 ----------------------------------------------------------------------- Compila en FREEBSD sin problemas :) Index: ipv6/include/inet.h diff -u ipv6/include/inet.h:1.7 ipv6/include/inet.h:1.8 --- ipv6/include/inet.h:1.7 Mon Sep 16 07:07:32 2002 +++ ipv6/include/inet.h Fri Jan 31 06:09:54 2003 @@ -24,6 +24,9 @@ #include <arpa/nameser.h> #include <netdb.h> #include <netinet/in.h> +#if defined(__FreeBSD__) +#include <netinet6/in6.h> +#endif #include <sys/socket.h> @@ -48,6 +51,14 @@ /* Delimitador de campos de las lineas del ircd.conf */ #define IRCDCONF_DELIMITER '%' + +#if defined(__FreeBSD__) +#undef IN6_IS_ADDR_V4MAPPED +#define IN6_IS_ADDR_V4MAPPED(a) \ + (((const unsigned int *) (a))[0] == 0 \ + && ((const unsigned int *) (a))[1] == 0 \ + && ((const unsigned int *) (a))[2] == htonl (0xffff)) +#endif /* Localhost loopback */ #ifndef IN6_IS_ADDR_LOOPBACK Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.19 ipv6/include/patchlevel.h:1.20 --- ipv6/include/patchlevel.h:1.19 Fri Jan 31 04:02:45 2003 +++ ipv6/include/patchlevel.h Fri Jan 31 06:09:54 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.18" + "+INET6.19" /* * Deliberate empty lines Index: ipv6/ircd/common.c diff -u ipv6/ircd/common.c:1.2 ipv6/ircd/common.c:1.3 --- ipv6/ircd/common.c:1.2 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/common.c Fri Jan 31 06:09:54 2003 @@ -369,7 +369,7 @@ markString(NTL_IRCHN, "-_."); /* Some DNS might allow '_' per RFC 1033 ! */ moveMacro(NTL_DIGIT, NTL_IRCIP); - markString(NTL_IRCIP, "."); + markString(NTL_IRCIP, ".:"); moveMacro(NTL_DIGIT | NTL_ALPHA, NTL_IRCNK); markString(NTL_IRCNK, "-_`"); Index: ipv6/ircd/support.c diff -u ipv6/ircd/support.c:1.6 ipv6/ircd/support.c:1.7 --- ipv6/ircd/support.c:1.6 Mon Sep 16 08:47:29 2002 +++ ipv6/ircd/support.c Fri Jan 31 06:09:55 2003 @@ -27,6 +27,7 @@ #endif #include <stdarg.h> #include <signal.h> +#include "inet.h" #include "h.h" #include "send.h" #include "ircd.h" @@ -36,7 +37,7 @@ #include "common.h" #include "fileio.h" -RCSTAG_CC("$Id: support.c,v 1.6 2002/09/16 15:47:29 zolty Exp $"); +RCSTAG_CC("$Id: support.c,v 1.7 2003/01/31 14:09:55 zolty Exp $"); #ifndef HAVE_STRTOKEN /* ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2003-01-31 12:02:58
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-31 12:02:56 UTC Modified files: CAMBIOS.Ipv6 include/patchlevel.h ircd/res.c Log message: INET6.18 ---------------------- diff included ---------------------- Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.17 ipv6/CAMBIOS.Ipv6:1.18 --- ipv6/CAMBIOS.Ipv6:1.17 Wed Jan 29 12:14:55 2003 +++ ipv6/CAMBIOS.Ipv6 Fri Jan 31 04:02:44 2003 @@ -1,3 +1,7 @@ +* 2003/01/31 the...@in... INET6.18 +----------------------------------------------------------------------- +Compila en FREEBSD sin problemas :) + * 2003/01/29 zo...@ir... INET6.17 ----------------------------------------------------------------------- Make depend. Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.18 ipv6/include/patchlevel.h:1.19 --- ipv6/include/patchlevel.h:1.18 Wed Jan 29 12:14:55 2003 +++ ipv6/include/patchlevel.h Fri Jan 31 04:02:45 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.17" + "+INET6.18" /* * Deliberate empty lines Index: ipv6/ircd/res.c diff -u ipv6/ircd/res.c:1.7 ipv6/ircd/res.c:1.8 --- ipv6/ircd/res.c:1.7 Wed Jan 29 12:14:56 2003 +++ ipv6/ircd/res.c Fri Jan 31 04:02:45 2003 @@ -16,6 +16,9 @@ #include <arpa/inet.h> #include <arpa/nameser.h> #include <resolv.h> +#if defined(__FreeBSD__) +typedef struct __res_state *res_state; +#endif /* dn_skipname is really an internal function, we shouldn't be using it in res.c */ #if !defined(dn_skipname) && !defined(__dn_skipname) @@ -39,7 +42,7 @@ #include "common.h" #include "sprintf_irc.h" -RCSTAG_CC("$Id: res.c,v 1.7 2003/01/29 20:14:56 zolty Exp $"); +RCSTAG_CC("$Id: res.c,v 1.8 2003/01/31 12:02:45 zolty Exp $"); #define MAXPACKET 1024 ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2003-01-31 11:39:25
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-31 11:39:24 UTC Modified files: Ipv6.zoltan Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ipv6/Ipv6.zoltan diff -u ipv6/Ipv6.zoltan:1.15 ipv6/Ipv6.zoltan:1.16 --- ipv6/Ipv6.zoltan:1.15 Wed Jan 29 10:55:23 2003 +++ ipv6/Ipv6.zoltan Fri Jan 31 03:39:14 2003 @@ -1,9 +1,10 @@ -11 Septiembre 2002 (Actualizacion 29 de Enero 2003) +11 Septiembre 2002 (Actualizacion 31 de Enero 2003) --------------------------------------------------- Pasos para el desarrollo del soporte IPv6 para el ircd de ESNET-Hispano: - A) Mirar si se cambia o no al sistema de hybrid. + A) Mirar si se cambia o no al sistema de hybrid. Se refiere a un irc_inaddr y + dentro un "union { in_addr; in6_addr };" B) Adaptar el CALCULATE_HASH de IPcheck.c a IPv6 y activar todos los IP*(). @@ -35,6 +36,8 @@ 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). + H) No se compila en FREEBSD, tanto IPv6 activado como desactivado. Bug reportado + por Lord y Thebutche. 2002-2003 IRC-DEV TEAM ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2003-01-29 20:15:19
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-29 20:15:07 UTC Modified files: .patches CAMBIOS.Ipv6 CAMBIOS2_10_H_06 todo.jcea include/channel.h include/match.h include/numeric.h include/patchlevel.h include/res.h include/s_bdd.h include/s_bsd.h include/s_conf.h include/struct.h include/support.h ircd/IPcheck.c ircd/Makefile.in ircd/bsd.c ircd/channel.c ircd/chkconf.c ircd/ircd.c ircd/opercmds.c ircd/querycmds.c ircd/res.c ircd/s_auth.c ircd/s_bdd.c ircd/s_bsd.c ircd/s_conf.c ircd/s_debug.c ircd/s_err.c ircd/s_misc.c ircd/s_ping.c ircd/s_socks.c ircd/whocmds.c Log message: INET 6.17 ---------------------- diff included ---------------------- Index: ipv6/.patches diff -u ipv6/.patches:1.5 ipv6/.patches:1.6 --- ipv6/.patches:1.5 Fri Jan 3 16:27:31 2003 +++ ipv6/.patches Wed Jan 29 12:14:55 2003 @@ -1 +1 @@ -u2.10.H.06.35 +u2.10.H.06.44 Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.16 ipv6/CAMBIOS.Ipv6:1.17 --- ipv6/CAMBIOS.Ipv6:1.16 Fri Jan 3 16:48:42 2003 +++ ipv6/CAMBIOS.Ipv6 Wed Jan 29 12:14:55 2003 @@ -1,3 +1,9 @@ +* 2003/01/29 zo...@ir... INET6.17 +----------------------------------------------------------------------- +Make depend. +Restauro includes que habia quitado. +Actualizacion IRCD hasta el u2.10.H.06.44. + * 2003/01/04 zo...@ir... INET6.16 ----------------------------------------------------------------------- Se corrigen unos bugs introducidos en INET6.14. Index: ipv6/CAMBIOS2_10_H_06 diff -u ipv6/CAMBIOS2_10_H_06:1.3 ipv6/CAMBIOS2_10_H_06:1.4 --- ipv6/CAMBIOS2_10_H_06:1.3 Fri Jan 3 16:27:31 2003 +++ ipv6/CAMBIOS2_10_H_06 Wed Jan 29 12:14:55 2003 @@ -1,4 +1,77 @@ -$Id: CAMBIOS2_10_H_06,v 1.3 2003/01/04 00:27:31 zolty Exp $ +$Id: CAMBIOS2_10_H_06,v 1.4 2003/01/29 20:14:55 zolty Exp $ + +* 2003/01/21 ni...@ir... (u2.10.H.06.44) FEATURE + ----------------------------------------------------------------------- + En el numeric 252 (ircops, helpers y bots online) cambiamos el orden + en que se envian los contadores de manera que el primero en aparecer + sea el de helpers, por ser mas significativo que el de ircops. + +* 2003/01/16 ni...@ir... (u2.10.H.06.43) FEATURE + ----------------------------------------------------------------------- + En el tiempo de expiracion de las g-lines se incluye informacion con + la zona horaria. + +* 2003/01/09 ni...@ir... (u2.10.H.06.42) FIX + ----------------------------------------------------------------------- + Compilando *SIN* soporte BDD se muestra el resumen de modos del numeric + 379. + +* 2003/01/09 jc...@ar... (u2.10.H.06.41) FIX + ----------------------------------------------------------------------- + Corrige algunos problemas para permitir compilar el servidor sin + soporte de BDD. + +* 2003/01/08 jc...@ar... (CH2 - u2.10.H.06.40) FEATURE + ----------------------------------------------------------------------- + Si llega un modo '+r' para un canal a traves de la red (burst o cambio + de modo normal), lo ignoramos. + + Cuando un canal pierde '+r', pierde tambien '+S' y '+A'. + +* 2003/01/08 jc...@ar... (CH1 - u2.10.H.06.39) FEATURE + ----------------------------------------------------------------------- + Define el modo "+r" de canal. + + Cuando se elimina un registro de canal registrado, y dicho canal + esta vacio, lo eliminamos de memoria. Si no esta vacio, enviamos + el "-r". + + Cuando se recibe un registro de un canal registrado, que no lo estaba: + + - Si el canal no existe, lo crea y lo deja vacio. + + - Si el canal existe, propaga "+r" del canal a los usuarios locales. + + Si un canal se queda vacio pero es "+r", no lo elimina. + +* 2003/01/08 jc...@ar... (DB100 - u2.10.H.06.38) FEATURE + ----------------------------------------------------------------------- + A la hora de normalizar las claves de la BDD, permite lógica distinta + segun la tabla de que se trate. + + Incluyo logica de normalizacion de nombres de canales. + + Soporte del canal 'c', de registro de canales. + + Ya hay cierto soporte antiguo para el canal 'c', que tengo que evaluar + si sigue siendo correcto o no. Muevo esa logica a la tabla 'z' hasta + poder revisarla despacito y con buena letra. + +* 2003/01/08 jc...@ar... (DB99 - u2.10.H.06.37) FEATURE + ----------------------------------------------------------------------- + Se incluye logica que permite la ejecucion de codigo arbitrario cuando + se da de alta o se elimina un registro en la BDD. Esto permite que + cualquier cambio en la BDD tenga efecto de forma inmediata, no cuando + se use dicho registro. + + Cuando se modifica la BDD, se indica la fuente de la modificacion, que + puede ser un nodo externo o el propio server (tomando los datos del + disco duro). + +* 2003/01/07 ni...@ir... (u2.10.H.06.36) FIX + ----------------------------------------------------------------------- + Ajuste en el contador de helpers. En exit_client eliminamos el flag de + helper para no volverlo a restar en exit_one_client. * 2003/01/02 jc...@ar... (u2.10.H.06.35) CLEANUP ----------------------------------------------------------------------- Index: ipv6/include/channel.h diff -u ipv6/include/channel.h:1.4 ipv6/include/channel.h:1.5 --- ipv6/include/channel.h:1.4 Sat Nov 9 06:52:54 2002 +++ ipv6/include/channel.h Wed Jan 29 12:14:55 2003 @@ -92,7 +92,7 @@ #define RestrictedChannel(x) ((x) && ((x)->mode.mode & MODE_REGNICKS)) #define AutoOpChannel(x) ((x) && ((x)->mode.mode & MODE_AUTOOP)) #define SecureOpChannel(x) ((x) && ((x)->mode.mode & MODE_SECUREOP)) -#define MsgOnlyRegChannel(x) ((x) && ((x)->mode.mode & MODE_MSGNONREG)) +#define MsgOnlyRegChannel(x) ((x) && ((x)->mode.mode & MODE_MSGNONREG)) extern int m_botmode(aClient *cptr, aClient *sptr, int parc, char *parv[]); @@ -196,6 +196,8 @@ extern char *pretty_mask(char *mask); extern void del_invite(aClient *cptr, aChannel *chptr); extern void list_next_channels(aClient *cptr, int nr); +extern void sub1_from_channel(aChannel *chptr); +extern aChannel *get_channel(aClient *sptr, char *chname, int flag); extern int m_join(aClient *cptr, aClient *sptr, int parc, char *parv[]); extern int m_create(aClient *cptr, aClient *sptr, int parc, char *parv[]); extern int m_destruct(aClient *cptr, aClient *sptr, int parc, char *parv[]); Index: ipv6/include/match.h diff -u ipv6/include/match.h:1.4 ipv6/include/match.h:1.5 --- ipv6/include/match.h:1.4 Sat Sep 14 15:44:51 2002 +++ ipv6/include/match.h Wed Jan 29 12:14:55 2003 @@ -4,6 +4,10 @@ /*============================================================================= * System headers used by this header file */ +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include "inet.h" /*============================================================================= * Structures Index: ipv6/include/numeric.h diff -u ipv6/include/numeric.h:1.4 ipv6/include/numeric.h:1.5 --- ipv6/include/numeric.h:1.4 Tue Dec 17 08:16:50 2002 +++ ipv6/include/numeric.h Wed Jan 29 12:14:55 2003 @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: numeric.h,v 1.4 2002/12/17 16:16:50 zolty Exp $ + * $Id: numeric.h,v 1.5 2003/01/29 20:14:55 zolty Exp $ */ #ifndef NUMERIC_H @@ -309,9 +309,9 @@ #if defined(BDD) #define RPL_WHOISHOST 378 /* Hispano extension */ /* RPL_BANEXPIRED 378 Aircd */ -#define RPL_WHOISMODES 379 /* Hispano extension */ /* RPL_KICKLINKED 379 Aircd */ #endif +#define RPL_WHOISMODES 379 /* Hispano extension */ /* RPL_BANLINKED 380 Aircd */ #define RPL_YOUREOPER 381 #define RPL_REHASHING 382 Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.17 ipv6/include/patchlevel.h:1.18 --- ipv6/include/patchlevel.h:1.17 Fri Jan 3 16:48:42 2003 +++ ipv6/include/patchlevel.h Wed Jan 29 12:14:55 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.16" + "+INET6.17" /* * Deliberate empty lines Index: ipv6/include/res.h diff -u ipv6/include/res.h:1.3 ipv6/include/res.h:1.4 --- ipv6/include/res.h:1.3 Thu Sep 12 12:02:14 2002 +++ ipv6/include/res.h Wed Jan 29 12:14:55 2003 @@ -1,6 +1,8 @@ #ifndef RES_H #define RES_H +#include <netinet/in.h> +#include <netdb.h> #ifdef HPUX #ifndef h_errno extern int h_errno; Index: ipv6/include/s_bdd.h diff -u ipv6/include/s_bdd.h:1.1.1.1 ipv6/include/s_bdd.h:1.2 --- ipv6/include/s_bdd.h:1.1.1.1 Wed Sep 11 03:09:08 2002 +++ ipv6/include/s_bdd.h Wed Jan 29 12:14:55 2003 @@ -33,6 +33,7 @@ #define BDD_BOTSDB 'b' #define BDD_IPVIRTUALDB 'v' #define BDD_IPVIRTUAL2DB 'w' +#define BDD_CHANDB_OLD 'z' /* Para las features de los pseudoBOTS */ #define BDD_CHANSERV "ChanServ" Index: ipv6/include/s_bsd.h diff -u ipv6/include/s_bsd.h:1.6 ipv6/include/s_bsd.h:1.7 --- ipv6/include/s_bsd.h:1.6 Tue Dec 17 08:16:50 2002 +++ ipv6/include/s_bsd.h Wed Jan 29 12:14:55 2003 @@ -1,6 +1,7 @@ #ifndef S_BSD_H #define S_BSD_H +#include <netdb.h> #include "s_conf.h" /*============================================================================= Index: ipv6/include/s_conf.h diff -u ipv6/include/s_conf.h:1.3 ipv6/include/s_conf.h:1.4 --- ipv6/include/s_conf.h:1.3 Thu Sep 12 12:02:14 2002 +++ ipv6/include/s_conf.h Wed Jan 29 12:14:56 2003 @@ -3,6 +3,8 @@ #include "inet.h" #include "list.h" +#include <netinet/in.h> +#include <netdb.h> /*============================================================================= * General defines Index: ipv6/include/struct.h diff -u ipv6/include/struct.h:1.4 ipv6/include/struct.h:1.5 --- ipv6/include/struct.h:1.4 Tue Dec 17 08:16:50 2002 +++ ipv6/include/struct.h Wed Jan 29 12:14:56 2003 @@ -22,6 +22,7 @@ #ifndef STRUCT_H #define STRUCT_H +#include <netinet/in.h> #include "inet.h" /* Needed for struct IN_ADDR */ #include "whowas.h" /* Needed for whowas struct */ Index: ipv6/include/support.h diff -u ipv6/include/support.h:1.5 ipv6/include/support.h:1.6 --- ipv6/include/support.h:1.5 Mon Sep 16 05:22:13 2002 +++ ipv6/include/support.h Wed Jan 29 12:14:56 2003 @@ -1,6 +1,8 @@ #ifndef SUPPORT_H #define SUPPORT_H +#include <netinet/in.h> +#include "inet.h" /*============================================================================= * Proto types Index: ipv6/ircd/IPcheck.c diff -u ipv6/ircd/IPcheck.c:1.6 ipv6/ircd/IPcheck.c:1.7 --- ipv6/ircd/IPcheck.c:1.6 Tue Dec 17 02:40:58 2002 +++ ipv6/ircd/IPcheck.c Wed Jan 29 12:14:56 2003 @@ -20,6 +20,8 @@ /* This file should be edited in a window with a width of 141 characters */ #include "sys.h" +#include <netinet/in.h> +#include "inet.h" #include "h.h" #include "IPcheck.h" #include "querycmds.h" @@ -37,7 +39,7 @@ #include "support.h" #endif -RCSTAG_CC("$Id: IPcheck.c,v 1.6 2002/12/17 10:40:58 zolty Exp $"); +RCSTAG_CC("$Id: IPcheck.c,v 1.7 2003/01/29 20:14:56 zolty Exp $"); extern aClient me; extern time_t now; Index: ipv6/ircd/Makefile.in diff -u ipv6/ircd/Makefile.in:1.3 ipv6/ircd/Makefile.in:1.4 --- ipv6/ircd/Makefile.in:1.3 Thu Sep 12 12:18:59 2002 +++ ipv6/ircd/Makefile.in Wed Jan 29 12:14:56 2003 @@ -137,12 +137,12 @@ ${CHMOD} 700 ${DBPATH} ; \ ${CHOWN} ${IRC_UID} ${DBPATH} ; \ ${CHGRP} ${IRC_GID} ${DBPATH} ; \ - for i in b i n o v w; \ + for i in b c i n o v w; \ do \ ${TOUCH} ${DBPATH}/tabla.$$i ; \ done; \ ${TOUCH} ${DBPATH}/hashes ; \ - for i in a c d e f g h j k l m p q r s t u x y z ; \ + for i in a d e f g h j k l m p q r s t u x y z ; \ do \ ${RM} -f ${DBPATH}/tabla.$$i ; \ ${TOUCH} ${DBPATH}/tabla.$$i ; \ @@ -227,328 +227,337 @@ # DO NOT DELETE THIS LINE -- make depend depends on it. -IPcheck.o: IPcheck.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/IPcheck.h ../include/querycmds.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_user.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ - ../include/send.h ../include/s_bdd.h ../include/support.h -bsd.o: bsd.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/list.h ../include/ircd.h \ - ../include/bsd.h -channel.o: channel.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/channel.h ../include/list.h ../include/parse.h \ - ../include/send.h ../include/s_err.h ../include/numeric.h \ - ../include/ircd.h ../include/common.h ../include/s_bdd.h \ - ../include/match.h ../include/hash.h ../include/s_serv.h \ - ../include/s_misc.h ../include/s_user.h ../include/s_conf.h \ - ../include/s_bsd.h ../include/msg.h ../include/support.h \ - ../include/numnicks.h ../include/sprintf_irc.h ../include/querycmds.h -class.o: class.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/class.h \ - ../include/s_conf.h ../include/list.h ../include/s_serv.h \ - ../include/send.h ../include/s_err.h ../include/numeric.h \ - ../include/ircd.h +IPcheck.o: IPcheck.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/inet.h \ + ../include/h.h ../include/s_debug.h ../include/IPcheck.h \ + ../include/querycmds.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_user.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/send.h ../include/s_bdd.h ../include/support.h +bsd.o: bsd.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/inet.h \ + ../include/h.h ../include/s_debug.h ../include/struct.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/ircd.h ../include/bsd.h +channel.o: channel.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/channel.h ../include/list.h ../include/parse.h \ + ../include/send.h ../include/s_err.h ../include/numeric.h \ + ../include/ircd.h ../include/common.h ../include/s_bdd.h \ + ../include/match.h ../include/hash.h ../include/s_serv.h \ + ../include/s_misc.h ../include/s_user.h ../include/s_conf.h \ + ../include/s_bsd.h ../include/msg.h ../include/support.h \ + ../include/numnicks.h ../include/sprintf_irc.h ../include/querycmds.h +class.o: class.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/class.h ../include/s_conf.h ../include/list.h \ + ../include/s_serv.h ../include/send.h ../include/s_err.h \ + ../include/numeric.h ../include/ircd.h common.o: common.c ../include/common.h ../include/sys.h \ - ../config/config.h ../config/setup.h ../include/runmalloc.h -crule.o: crule.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ - ../include/ircd.h ../include/match.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/list.h ../include/common.h \ - ../include/crule.h -dbuf.o: dbuf.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/common.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/s_serv.h ../include/list.h ../include/send.h + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h +crule.o: crule.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_serv.h ../include/ircd.h ../include/match.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/common.h ../include/crule.h +dbuf.o: dbuf.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/common.h ../include/struct.h \ + ../include/inet.h ../include/whowas.h ../include/dbuf.h \ + ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h ../include/list.h \ + ../include/send.h fileio.o: fileio.c ../include/fileio.h ../include/runmalloc.h -ircd.o: ircd.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/res.h ../include/inet.h ../include/list.h \ - ../include/struct.h ../include/whowas.h ../include/dbuf.h \ - ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h ../include/send.h \ - ../include/ircd.h ../include/s_conf.h ../include/class.h \ - ../include/s_misc.h ../include/parse.h ../include/match.h \ - ../include/s_bsd.h ../include/crule.h ../include/userload.h \ - ../include/numeric.h ../include/hash.h ../include/bsd.h \ - ../include/version.h ../include/numnicks.h ../include/IPcheck.h \ - ../include/s_bdd.h -list.o: list.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/numeric.h \ - ../include/send.h ../include/s_conf.h ../include/list.h \ - ../include/class.h ../include/match.h ../include/ircd.h \ - ../include/s_serv.h ../include/support.h ../include/s_misc.h \ - ../include/s_bsd.h ../include/res.h ../include/common.h \ - ../include/s_user.h ../include/opercmds.h ../include/m_watch.h \ - ../include/hash.h -map.o: map.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/numeric.h \ - ../include/send.h ../include/match.h ../include/list.h \ - ../include/s_err.h ../include/ircd.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/s_misc.h ../include/querycmds.h \ - ../include/map.h ../include/numnicks.h -match.o: match.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ - ../include/match.h ../include/ircd.h +ircd.o: ircd.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/inet.h ../include/res.h \ + ../include/list.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ + ../include/send.h ../include/ircd.h ../include/s_conf.h \ + ../include/class.h ../include/s_misc.h ../include/parse.h \ + ../include/match.h ../include/s_bsd.h ../include/crule.h \ + ../include/userload.h ../include/numeric.h ../include/hash.h \ + ../include/bsd.h ../include/version.h ../include/numnicks.h \ + ../include/IPcheck.h ../include/s_bdd.h +list.o: list.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/numeric.h ../include/send.h ../include/s_conf.h \ + ../include/list.h ../include/class.h ../include/match.h \ + ../include/ircd.h ../include/s_serv.h ../include/support.h \ + ../include/s_misc.h ../include/s_bsd.h ../include/res.h \ + ../include/common.h ../include/s_user.h ../include/opercmds.h \ + ../include/m_watch.h ../include/hash.h +map.o: map.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/numeric.h ../include/send.h ../include/match.h \ + ../include/list.h ../include/s_err.h ../include/ircd.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/s_misc.h \ + ../include/querycmds.h ../include/map.h ../include/numnicks.h +match.o: match.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/common.h ../include/match.h ../include/ircd.h numnicks.o: numnicks.c ../include/numnicks.h ../include/sys.h \ - ../config/config.h ../config/setup.h ../include/runmalloc.h \ - ../include/h.h ../include/s_debug.h ../include/s_serv.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ - ../include/ircd.h ../include/s_misc.h ../include/match.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h -opercmds.o: opercmds.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/opercmds.h ../include/struct.h \ - ../include/inet.h ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h \ - ../zlib/zconf.h ../include/ircd.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/list.h ../include/send.h \ - ../include/s_err.h ../include/numeric.h ../include/match.h \ - ../include/s_misc.h ../include/class.h ../include/s_bdd.h \ - ../include/s_user.h ../include/common.h ../include/msg.h \ - ../include/sprintf_irc.h ../include/userload.h ../include/parse.h \ - ../include/numnicks.h ../include/crule.h ../include/version.h \ - ../include/support.h ../include/s_serv.h ../include/hash.h -packet.o: packet.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_misc.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ - ../include/ircd.h ../include/msg.h ../include/parse.h ../include/send.h \ - ../include/packet.h ../include/s_serv.h -parse.o: parse.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ - ../include/send.h ../include/parse.h ../include/common.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ - ../include/msg.h ../include/s_user.h ../include/channel.h \ - ../include/s_ping.h ../include/res.h ../include/map.h \ - ../include/m_watch.h ../include/s_bdd.h ../include/m_config.h \ - ../include/hash.h ../include/numeric.h ../include/ircd.h \ - ../include/s_misc.h ../include/s_numeric.h ../include/numnicks.h \ - ../include/opercmds.h ../include/querycmds.h ../include/whocmds.h -querycmds.o: querycmds.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/parse.h ../include/send.h ../include/s_err.h \ - ../include/numeric.h ../include/ircd.h ../include/s_user.h \ - ../include/version.h ../include/s_bsd.h ../include/s_conf.h \ - ../include/list.h ../include/s_misc.h ../include/match.h \ - ../include/s_serv.h ../include/msg.h ../include/channel.h \ - ../include/numnicks.h ../include/userload.h ../include/support.h \ - ../include/querycmds.h -random.o: random.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/random.h -res.o: res.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/res.h ../include/inet.h ../include/list.h \ - ../include/struct.h ../include/whowas.h ../include/dbuf.h \ - ../zlib/zlib.h ../zlib/zconf.h ../include/numeric.h ../include/send.h \ - ../include/s_err.h ../include/s_misc.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/ircd.h ../include/s_ping.h \ - ../include/support.h ../include/common.h ../include/sprintf_irc.h -runmalloc.o: runmalloc.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h -s_auth.o: s_auth.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/res.h ../include/inet.h ../include/list.h \ - ../include/struct.h ../include/whowas.h ../include/dbuf.h \ - ../zlib/zlib.h ../zlib/zconf.h ../include/common.h ../include/send.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/s_misc.h \ - ../include/s_serv.h ../include/support.h ../include/ircd.h \ - ../include/s_auth.h ../include/sprintf_irc.h -s_bsd.o: s_bsd.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/res.h ../include/inet.h ../include/list.h \ - ../include/struct.h ../include/whowas.h ../include/dbuf.h \ - ../zlib/zlib.h ../zlib/zconf.h ../include/s_bsd.h ../include/s_conf.h \ - ../include/s_serv.h ../include/numeric.h ../include/send.h \ - ../include/s_bdd.h ../include/m_config.h ../include/s_misc.h \ - ../include/hash.h ../include/s_err.h ../include/ircd.h \ - ../include/support.h ../include/s_auth.h ../include/class.h \ - ../include/packet.h ../include/s_ping.h ../include/channel.h \ - ../include/version.h ../include/parse.h ../include/common.h \ - ../include/bsd.h ../include/numnicks.h ../include/s_user.h \ - ../include/sprintf_irc.h ../include/querycmds.h ../include/IPcheck.h \ - ../include/msg.h -s_conf.o: s_conf.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ - ../include/opercmds.h ../include/numeric.h ../include/send.h \ - ../include/s_conf.h ../include/list.h ../include/class.h \ - ../include/s_misc.h ../include/match.h ../include/common.h \ - ../include/s_err.h ../include/s_bsd.h ../include/ircd.h \ - ../include/crule.h ../include/res.h ../include/s_bdd.h \ - ../include/support.h ../include/parse.h ../include/numnicks.h \ - ../include/sprintf_irc.h ../include/IPcheck.h ../include/hash.h \ - ../include/fileio.h -s_debug.o: s_debug.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/numeric.h ../include/hash.h ../include/s_serv.h \ - ../include/send.h ../include/s_conf.h ../include/list.h \ - ../include/class.h ../include/ircd.h ../include/s_bsd.h \ - ../include/bsd.h ../include/res.h ../include/channel.h \ - ../include/numnicks.h -s_err.o: s_err.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/numeric.h ../include/s_err.h ../include/sprintf_irc.h \ - ../include/m_watch.h -s_misc.o: s_misc.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ - ../include/numeric.h ../include/send.h ../include/s_conf.h \ - ../include/list.h ../include/s_misc.h ../include/common.h \ - ../include/match.h ../include/hash.h ../include/s_bsd.h \ - ../include/res.h ../include/ircd.h ../include/s_ping.h \ - ../include/channel.h ../include/s_err.h ../include/support.h \ - ../include/userload.h ../include/parse.h ../include/s_user.h \ - ../include/numnicks.h ../include/sprintf_irc.h ../include/querycmds.h \ - ../include/IPcheck.h ../include/m_watch.h -s_numeric.o: s_numeric.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/s_serv.h ../include/s_bsd.h ../include/s_conf.h \ - ../include/list.h ../include/send.h ../include/support.h \ - ../include/parse.h ../include/numeric.h ../include/channel.h \ - ../include/ircd.h ../include/hash.h ../include/numnicks.h \ - ../include/s_numeric.h -s_ping.o: s_ping.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/send.h \ - ../include/s_conf.h ../include/list.h ../include/match.h \ - ../include/res.h ../include/s_bsd.h ../include/s_serv.h \ - ../include/ircd.h ../include/s_ping.h ../include/support.h \ - ../include/numeric.h ../include/s_user.h ../include/s_err.h \ - ../include/common.h ../include/numnicks.h -s_serv.o: s_serv.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/ircd.h \ - ../include/s_serv.h ../include/s_misc.h ../include/sprintf_irc.h \ - ../include/send.h ../include/s_err.h ../include/numeric.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ - ../include/hash.h ../include/common.h ../include/s_bdd.h \ - ../include/msg.h ../include/m_config.h ../include/match.h \ - ../include/crule.h ../include/parse.h ../include/numnicks.h \ - ../include/userload.h ../include/s_user.h ../include/channel.h \ - ../include/querycmds.h ../include/IPcheck.h -s_user.o: s_user.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ - ../include/s_serv.h ../include/numeric.h ../include/send.h \ - ../include/s_conf.h ../include/list.h ../include/s_misc.h \ - ../include/match.h ../include/hash.h ../include/s_bsd.h \ - ../include/s_err.h ../include/parse.h ../include/m_watch.h \ - ../include/s_bdd.h ../include/ircd.h ../include/s_user.h \ - ../include/support.h ../include/channel.h ../include/random.h \ - ../include/version.h ../include/msg.h ../include/userload.h \ - ../include/numnicks.h ../include/sprintf_irc.h ../include/querycmds.h \ - ../include/IPcheck.h ../include/class.h -send.o: send.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_bsd.h \ - ../include/s_conf.h ../include/list.h ../include/s_serv.h \ - ../include/send.h ../include/s_misc.h ../include/common.h \ - ../include/match.h ../include/ircd.h ../include/channel.h \ - ../include/bsd.h ../include/class.h ../include/s_user.h \ - ../include/sprintf_irc.h -sprintf_irc.o: sprintf_irc.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/sprintf_irc.h -support.o: support.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/send.h ../include/ircd.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/inet.h \ - ../include/list.h ../include/support.h ../include/sprintf_irc.h \ - ../include/common.h ../include/fileio.h -userload.o: userload.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/send.h ../include/s_misc.h ../include/userload.h \ - ../include/ircd.h ../include/numnicks.h ../include/s_serv.h \ - ../include/querycmds.h -whocmds.o: whocmds.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/common.h ../include/s_serv.h ../include/numeric.h \ - ../include/send.h ../include/s_conf.h ../include/list.h \ - ../include/s_misc.h ../include/match.h ../include/hash.h \ - ../include/s_bsd.h ../include/s_err.h ../include/parse.h \ - ../include/ircd.h ../include/s_user.h ../include/support.h \ - ../include/channel.h ../include/random.h ../include/version.h \ - ../include/msg.h ../include/userload.h ../include/numnicks.h \ - ../include/sprintf_irc.h ../include/querycmds.h ../include/IPcheck.h -whowas.o: whowas.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/common.h ../include/h.h \ - ../include/s_debug.h ../include/struct.h ../include/inet.h \ - ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ - ../include/numeric.h ../include/send.h ../include/s_misc.h \ - ../include/s_err.h ../include/ircd.h ../include/list.h \ - ../include/s_user.h ../include/support.h -s_socks.o: s_socks.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/res.h ../include/inet.h \ - ../include/list.h ../include/struct.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ - ../include/send.h ../include/s_bsd.h ../include/s_conf.h \ - ../include/s_misc.h ../include/support.h ../include/ircd.h \ - ../include/s_socks.h ../include/sprintf_irc.h ../include/hash.h \ - ../include/s_serv.h -s_bdd.o: s_bdd.c ../include/sys.h ../config/config.h ../config/setup.h \ - ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/ircd.h \ - ../include/s_serv.h ../include/s_misc.h ../include/sprintf_irc.h \ - ../include/send.h ../include/s_err.h ../include/numeric.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ - ../include/hash.h ../include/common.h ../include/match.h \ - ../include/crule.h ../include/parse.h ../include/numnicks.h \ - ../include/userload.h ../include/s_user.h ../include/channel.h \ - ../include/querycmds.h ../include/IPcheck.h ../include/s_bdd.h \ - ../include/msg.h ../include/support.h -m_config.o: m_config.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/common.h ../include/ircd.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ - ../include/msg.h ../include/s_conf.h ../include/list.h \ - ../include/m_config.h ../include/send.h -m_watch.o: m_watch.c ../include/sys.h ../config/config.h \ - ../config/setup.h ../include/runmalloc.h ../include/h.h \ - ../include/s_debug.h ../include/hash.h ../include/s_serv.h \ - ../include/struct.h ../include/inet.h ../include/whowas.h \ - ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/ircd.h \ - ../include/list.h ../include/msg.h ../include/numeric.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/s_err.h \ - ../include/s_user.h ../include/send.h ../include/support.h \ - ../include/m_watch.h + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ + ../include/s_serv.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/common.h ../include/ircd.h ../include/s_misc.h \ + ../include/match.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/list.h +opercmds.o: opercmds.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/opercmds.h ../include/struct.h \ + ../include/inet.h ../include/whowas.h ../include/dbuf.h \ + ../zlib/zlib.h ../zlib/zconf.h ../include/ircd.h ../include/s_bsd.h \ + ../include/s_conf.h ../include/list.h ../include/send.h \ + ../include/s_err.h ../include/numeric.h ../include/match.h \ + ../include/s_misc.h ../include/class.h ../include/s_bdd.h \ + ../include/s_user.h ../include/common.h ../include/msg.h \ + ../include/sprintf_irc.h ../include/userload.h ../include/parse.h \ + ../include/numnicks.h ../include/crule.h ../include/version.h \ + ../include/support.h ../include/s_serv.h ../include/hash.h +packet.o: packet.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_misc.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/list.h ../include/ircd.h ../include/msg.h \ + ../include/parse.h ../include/send.h ../include/packet.h \ + ../include/s_serv.h +parse.o: parse.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_serv.h ../include/send.h ../include/parse.h \ + ../include/common.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/list.h ../include/msg.h ../include/s_user.h \ + ../include/channel.h ../include/s_ping.h ../include/res.h \ + ../include/map.h ../include/m_watch.h ../include/s_bdd.h \ + ../include/m_config.h ../include/hash.h ../include/numeric.h \ + ../include/ircd.h ../include/s_misc.h ../include/s_numeric.h \ + ../include/numnicks.h ../include/opercmds.h ../include/querycmds.h \ + ../include/whocmds.h +querycmds.o: querycmds.c ../include/sys.h \ + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ + ../include/struct.h ../include/inet.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/parse.h \ + ../include/send.h ../include/s_err.h ../include/numeric.h \ + ../include/ircd.h ../include/s_user.h ../include/version.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/s_misc.h ../include/match.h ../include/s_serv.h \ + ../include/msg.h ../include/channel.h ../include/numnicks.h \ + ../include/userload.h ../include/support.h ../include/querycmds.h +random.o: random.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h \ + ../include/random.h +res.o: res.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/res.h ../include/inet.h \ + ../include/list.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/numeric.h \ + ../include/send.h ../include/s_err.h ../include/s_misc.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/ircd.h \ + ../include/s_ping.h ../include/support.h ../include/common.h \ + ../include/sprintf_irc.h +runmalloc.o: runmalloc.c ../include/sys.h \ + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h ../include/h.h ../include/s_debug.h +s_auth.o: s_auth.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/res.h ../include/inet.h \ + ../include/list.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ + ../include/send.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/s_misc.h ../include/s_serv.h ../include/support.h \ + ../include/ircd.h ../include/s_auth.h ../include/sprintf_irc.h +s_bsd.o: s_bsd.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/res.h ../include/inet.h \ + ../include/list.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_bsd.h \ + ../include/s_conf.h ../include/s_serv.h ../include/numeric.h \ + ../include/send.h ../include/s_bdd.h ../include/m_config.h \ + ../include/s_misc.h ../include/hash.h ../include/s_err.h \ + ../include/ircd.h ../include/support.h ../include/s_auth.h \ + ../include/class.h ../include/packet.h ../include/s_ping.h \ + ../include/channel.h ../include/version.h ../include/parse.h \ + ../include/common.h ../include/bsd.h ../include/numnicks.h \ + ../include/s_user.h ../include/sprintf_irc.h ../include/querycmds.h \ + ../include/IPcheck.h ../include/s_socks.h ../include/msg.h +s_conf.o: s_conf.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/inet.h ../include/struct.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_serv.h ../include/opercmds.h ../include/numeric.h \ + ../include/send.h ../include/s_conf.h ../include/list.h \ + ../include/class.h ../include/s_misc.h ../include/match.h \ + ../include/common.h ../include/s_err.h ../include/s_bsd.h \ + ../include/ircd.h ../include/crule.h ../include/res.h \ + ../include/s_bdd.h ../include/support.h ../include/parse.h \ + ../include/numnicks.h ../include/sprintf_irc.h ../include/IPcheck.h \ + ../include/hash.h ../include/fileio.h +s_debug.o: s_debug.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/numeric.h ../include/hash.h ../include/s_serv.h \ + ../include/send.h ../include/s_conf.h ../include/list.h \ + ../include/class.h ../include/ircd.h ../include/s_bsd.h \ + ../include/bsd.h ../include/res.h ../include/channel.h \ + ../include/numnicks.h +s_err.o: s_err.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/numeric.h ../include/s_err.h \ + ../include/sprintf_irc.h ../include/m_watch.h +s_misc.o: s_misc.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_serv.h ../include/numeric.h ../include/send.h \ + ../include/s_conf.h ../include/list.h ../include/s_misc.h \ + ../include/common.h ../include/match.h ../include/hash.h \ + ../include/s_bsd.h ../include/res.h ../include/ircd.h \ + ../include/s_ping.h ../include/channel.h ../include/s_err.h \ + ../include/support.h ../include/userload.h ../include/parse.h \ + ../include/s_user.h ../include/numnicks.h ../include/sprintf_irc.h \ + ../include/querycmds.h ../include/IPcheck.h ../include/m_watch.h +s_numeric.o: s_numeric.c ../include/sys.h \ + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ + ../include/struct.h ../include/inet.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/send.h ../include/support.h ../include/parse.h \ + ../include/numeric.h ../include/channel.h ../include/ircd.h \ + ../include/hash.h ../include/numnicks.h ../include/s_numeric.h +s_ping.o: s_ping.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/inet.h ../include/struct.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/send.h ../include/s_conf.h ../include/list.h \ + ../include/match.h ../include/res.h ../include/s_bsd.h \ + ../include/s_serv.h ../include/ircd.h ../include/s_ping.h \ + ../include/support.h ../include/numeric.h ../include/s_user.h \ + ../include/s_err.h ../include/common.h ../include/numnicks.h +s_serv.o: s_serv.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/ircd.h ../include/s_serv.h ../include/s_misc.h \ + ../include/sprintf_irc.h ../include/send.h ../include/s_err.h \ + ../include/numeric.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/list.h ../include/hash.h ../include/common.h \ + ../include/s_bdd.h ../include/msg.h ../include/m_config.h \ + ../include/match.h ../include/crule.h ../include/parse.h \ + ../include/numnicks.h ../include/userload.h ../include/s_user.h \ + ../include/channel.h ../include/querycmds.h ../include/IPcheck.h +s_user.o: s_user.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/common.h ../include/s_serv.h ../include/numeric.h \ + ../include/send.h ../include/s_conf.h ../include/list.h \ + ../include/s_misc.h ../include/match.h ../include/hash.h \ + ../include/s_bsd.h ../include/s_err.h ../include/parse.h \ + ../include/m_watch.h ../include/s_bdd.h ../include/ircd.h \ + ../include/s_user.h ../include/support.h ../include/channel.h \ + ../include/random.h ../include/version.h ../include/msg.h \ + ../include/userload.h ../include/numnicks.h ../include/sprintf_irc.h \ + ../include/querycmds.h ../include/IPcheck.h ../include/class.h +send.o: send.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/list.h \ + ../include/s_serv.h ../include/send.h ../include/s_misc.h \ + ../include/common.h ../include/match.h ../include/ircd.h \ + ../include/channel.h ../include/bsd.h ../include/class.h \ + ../include/s_user.h ../include/sprintf_irc.h +sprintf_irc.o: sprintf_irc.c ../include/sys.h \ + ../include/../config/config.h ../include/../config/setup.h \ + ../include/runmalloc.h ../include/h.h ../include/s_debug.h \ + ../include/sprintf_irc.h +support.o: support.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/send.h ../include/ircd.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/inet.h \ + ../include/list.h ../include/support.h ../include/sprintf_irc.h \ + ../include/common.h ../include/fileio.h +userload.o: userload.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/send.h ../include/s_misc.h ../include/userload.h \ + ../include/ircd.h ../include/numnicks.h ../include/s_serv.h \ + ../include/querycmds.h +whocmds.o: whocmds.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/common.h ../include/s_serv.h ../include/numeric.h \ + ../include/send.h ../include/s_conf.h ../include/list.h \ + ../include/s_misc.h ../include/match.h ../include/hash.h \ + ../include/s_bsd.h ../include/s_err.h ../include/parse.h \ + ../include/ircd.h ../include/s_user.h ../include/support.h \ + ../include/channel.h ../include/random.h ../include/version.h \ + ../include/msg.h ../include/userload.h ../include/numnicks.h \ + ../include/sprintf_irc.h ../include/querycmds.h ../include/IPcheck.h +whowas.o: whowas.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h \ + ../include/common.h ../include/h.h ../include/s_debug.h \ + ../include/struct.h ../include/inet.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/numeric.h \ + ../include/send.h ../include/s_misc.h ../include/s_err.h \ + ../include/ircd.h ../include/list.h ../include/s_user.h \ + ../include/support.h +s_socks.o: s_socks.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/res.h ../include/inet.h \ + ../include/list.h ../include/struct.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/common.h \ + ../include/send.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/s_misc.h ../include/support.h ../include/ircd.h \ + ../include/s_socks.h ../include/sprintf_irc.h ../include/hash.h \ + ../include/s_serv.h ../include/IPcheck.h ../include/s_bdd.h +s_bdd.o: s_bdd.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/struct.h ../include/inet.h \ + ../include/whowas.h ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h \ + ../include/ircd.h ../include/s_serv.h ../include/s_misc.h \ + ../include/sprintf_irc.h ../include/send.h ../include/s_err.h \ + ../include/numeric.h ../include/s_bsd.h ../include/s_conf.h \ + ../include/list.h ../include/hash.h ../include/common.h \ + ../include/match.h ../include/crule.h ../include/parse.h \ + ../include/numnicks.h ../include/userload.h ../include/s_user.h \ + ../include/channel.h ../include/querycmds.h ../include/IPcheck.h \ + ../include/s_bdd.h ../include/msg.h ../include/support.h +m_config.o: m_config.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/common.h ../include/ircd.h \ + ../include/struct.h ../include/inet.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/s_serv.h \ + ../include/msg.h ../include/s_conf.h ../include/list.h \ + ../include/m_config.h ../include/send.h +m_watch.o: m_watch.c ../include/sys.h ../include/../config/config.h \ + ../include/../config/setup.h ../include/runmalloc.h ../include/h.h \ + ../include/s_debug.h ../include/hash.h ../include/s_serv.h \ + ../include/struct.h ../include/inet.h ../include/whowas.h \ + ../include/dbuf.h ../zlib/zlib.h ../zlib/zconf.h ../include/ircd.h \ + ../include/list.h ../include/msg.h ../include/numeric.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/s_err.h \ + ../include/s_user.h ../include/send.h ../include/support.h \ + ../include/m_watch.h Index: ipv6/ircd/bsd.c diff -u ipv6/ircd/bsd.c:1.2 ipv6/ircd/bsd.c:1.3 --- ipv6/ircd/bsd.c:1.2 Thu Sep 12 09:38:57 2002 +++ ipv6/ircd/bsd.c Wed Jan 29 12:14:56 2003 @@ -20,13 +20,15 @@ #include "sys.h" #include <signal.h> +#include <sys/socket.h> /* Needed for send() */ +#include "inet.h" #include "h.h" #include "struct.h" #include "s_bsd.h" #include "ircd.h" #include "bsd.h" -RCSTAG_CC("$Id: bsd.c,v 1.2 2002/09/12 16:38:57 zolty Exp $"); +RCSTAG_CC("$Id: bsd.c,v 1.3 2003/01/29 20:14:56 zolty Exp $"); #ifdef DEBUGMODE int writecalls = 0; Index: ipv6/ircd/channel.c diff -u ipv6/ircd/channel.c:1.8 ipv6/ircd/channel.c:1.9 --- ipv6/ircd/channel.c:1.8 Tue Dec 17 08:16:51 2002 +++ ipv6/ircd/channel.c Wed Jan 29 12:14:56 2003 @@ -48,7 +48,7 @@ #include "sprintf_irc.h" #include "querycmds.h" -RCSTAG_CC("$Id: channel.c,v 1.8 2002/12/17 16:16:51 zolty Exp $"); +RCSTAG_CC("$Id: channel.c,v 1.9 2003/01/29 20:14:56 zolty Exp $"); aChannel *channel = NullChn; @@ -71,7 +71,6 @@ static int set_mode(aClient *, aClient *, aChannel *, int, char **, char *, char *, char *, int *); #endif -static void sub1_from_channel(aChannel *); static void send_hack_notice(aClient *, aClient *, int, char *[], int, int); static void clean_channelname(char *); @@ -1512,7 +1511,7 @@ { struct db_reg *reg; - reg = db_buscar_registro(BDD_CHANDB, chptr->chname); + reg = db_buscar_registro(BDD_CHANDB_OLD, chptr->chname); #ifdef BDD_OPER_HACK /* * Los miembros de la BD de OPERs pueden usar los modos X @@ -1537,7 +1536,7 @@ * 1999/06/30 sa...@ap... */ if (IsNickRegistered(sptr) && - db_es_miembro(BDD_CHANDB, chptr->chname, sptr->name) == 1) + db_es_miembro(BDD_CHANDB_OLD, chptr->chname, sptr->name) == 1) { if (!is_chan_op(sptr, chptr)) jcea_xmode_esnet = !0; @@ -2340,7 +2339,7 @@ { struct db_reg *reg; - reg = db_buscar_registro(BDD_CHANDB, (char *)chptr->chname); + reg = db_buscar_registro(BDD_CHANDB_OLD, (char *)chptr->chname); #ifdef BDD_OPER_HACK /* * El hack de la base de datos de opers permite que estos dispongan @@ -2365,7 +2364,7 @@ */ if ((!BadPtr(key)) && IsNickRegistered(sptr) - && db_es_miembro(BDD_CHANDB, chptr->chname, sptr->name) == 1 + && db_es_miembro(BDD_CHANDB_OLD, chptr->chname, sptr->name) == 1 && (!compall("FUNDADOR", key))) return 0; #endif @@ -2446,16 +2445,19 @@ * Get Channel block for i (and allocate a new channel * block, if it didn't exists before). */ -static aChannel *get_channel(aClient *cptr, char *chname, int flag) +aChannel *get_channel(aClient *sptr, char *chname, int flag) { Reg1 aChannel *chptr; int len; + int mio_flag; + + mio_flag = ((sptr == NULL) || (MyUser(sptr))); if (BadPtr(chname)) return NULL; len = strlen(chname); - if (MyUser(cptr) && len > CHANNELLEN) + if (mio_flag && len > CHANNELLEN) { len = CHANNELLEN; *(chname + CHANNELLEN) = '\0'; @@ -2472,7 +2474,7 @@ channel->prevch = chptr; chptr->prevch = NULL; chptr->nextch = channel; - chptr->creationtime = MyUser(cptr) ? TStime() : (time_t) 0; + chptr->creationtime = mio_flag ? TStime() : (time_t) 0; channel = chptr; hAddChannel(chptr); } @@ -2575,17 +2577,25 @@ /* * Subtract one user from channel i (and free channel * block, if channel became empty). + * + * Si el canal esta registrado, no lo elimina + * 08/Ene/03 - jc...@ar... */ -static void sub1_from_channel(aChannel *chptr) +void sub1_from_channel(aChannel *chptr) { Reg2 Link *tmp; Link *obtmp; - if (chptr->users > 1) /* Can be 0, called for an empty channel too */ - { + if (chptr->users) /* Can be 0, called for an empty channel too */ --chptr->users; + + if (chptr->users) return; - } + +#if defined(BDD) + if (chptr->mode.mode & MODE_REGCHAN) + return; +#endif /* Channel became (or was) empty: Remove channel */ if (is_listed(chptr)) @@ -2802,7 +2812,7 @@ } chptr = get_channel(sptr, name, CREATE); #if defined(BDD) - if (chptr && db_buscar_registro(BDD_CHANDB, name)) + if (chptr && db_buscar_registro(BDD_CHANDB_OLD, name)) chptr->mode.mode |= MODE_REGCHAN; /* Aki debo implantar los modos por defecto sacados de la DBH */ #endif @@ -2881,7 +2891,7 @@ /* asi ya lo meto en el canal con el OP puesto a nivel local */ if (AutoOpChannel(chptr) && IsNickRegistered(sptr) && - db_es_miembro(BDD_CHANDB, chptr->chname, sptr->name)) + db_es_miembro(BDD_CHANDB_OLD, chptr->chname, sptr->name)) flags = CHFL_CHANOP; #endif } @@ -2975,7 +2985,7 @@ */ if (chptr && AutoOpChannel(chptr) && IsNickRegistered(sptr) - && db_es_miembro(BDD_CHANDB, chptr->chname, sptr->name)) + && db_es_miembro(BDD_CHANDB_OLD, chptr->chname, sptr->name)) { struct db_reg *r; char *botname; @@ -4563,12 +4573,14 @@ return 0; } +#if defined(BDD) if (MyUser(sptr) && IsMsgOnlyReg(acptr) && !IsNickRegistered(sptr) && !IsAnOper(sptr)) { sendto_one(sptr, err_str(ERR_NONONREG), me.name, parv[0], acptr->name); return 0; } +#endif if (MyUser(sptr)) clean_channelname(parv[2]); @@ -4593,7 +4605,7 @@ */ if (MyConnect(sptr)) { - sendto_one(sptr, err_str(ERR_NOTONCHANNEL), me.name, parv[0], parv[2]); + sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL), me.name, parv[0], parv[2]); return 0; } return 0; Index: ipv6/ircd/chkconf.c diff -u ipv6/ircd/chkconf.c:1.3 ipv6/ircd/chkconf.c:1.4 --- ipv6/ircd/chkconf.c:1.3 Sat Sep 14 07:42:05 2002 +++ ipv6/ircd/chkconf.c Wed Jan 29 12:14:56 2003 @@ -22,14 +22,19 @@ #include <unistd.h> #endif #include <stdlib.h> +#include <sys/socket.h> #include <sys/stat.h> #include <ctype.h> #if HAVE_FCNTL_H #include <fcntl.h> #endif +#ifdef HPUX +#include <arpa/inet.h> +#endif /* HPUX */ #ifdef R_LINES #include <signal.h> #endif +#include "inet.h" #include "h.h" #include "s_conf.h" #include "class.h" @@ -37,7 +42,7 @@ #include "ircd.h" #include "fileio.h" -RCSTAG_CC("$Id: chkconf.c,v 1.3 2002/09/14 14:42:05 zolty Exp $"); +RCSTAG_CC("$Id: chkconf.c,v 1.4 2003/01/29 20:14:56 zolty Exp $"); /* * For the connect rule patch.. these really should be in a header, Index: ipv6/ircd/ircd.c diff -u ipv6/ircd/ircd.c:1.5 ipv6/ircd/ircd.c:1.6 --- ipv6/ircd/ircd.c:1.5 Tue Dec 17 08:16:51 2002 +++ ipv6/ircd/ircd.c Wed Jan 29 12:14:56 2003 @@ -44,12 +44,17 @@ #include <syslog.h> #endif #ifdef CHROOTDIR +#include <netinet/in.h> +#include <arpa/nameser.h> #include <resolv.h> #endif - +#ifdef VIRTUAL_HOST +#include <sys/socket.h> /* Needed for AF_INET on some OS */ +#endif #include <assert.h> #include "h.h" +#include "inet.h" #include "res.h" #include "struct.h" #include "s_serv.h" @@ -71,9 +76,8 @@ #include "numnicks.h" #include "IPcheck.h" #include "s_bdd.h" -#include "inet.h" -RCSTAG_CC("$Id: ircd.c,v 1.5 2002/12/17 16:16:51 zolty Exp $"); +RCSTAG_CC("$Id: ircd.c,v 1.6 2003/01/29 20:14:56 zolty Exp $"); extern void init_counters(void); Index: ipv6/ircd/opercmds.c diff -u ipv6/ircd/opercmds.c:1.4 ipv6/ircd/opercmds.c:1.5 --- ipv6/ircd/opercmds.c:1.4 Sat Nov 9 06:52:54 2002 +++ ipv6/ircd/opercmds.c Wed Jan 29 12:14:56 2003 @@ -61,7 +61,7 @@ #include "s_serv.h" #include "hash.h" -RCSTAG_CC("$Id: opercmds.c,v 1.4 2002/11/09 14:52:54 zolty Exp $"); +RCSTAG_CC("$Id: opercmds.c,v 1.5 2003/01/29 20:14:56 zolty Exp $"); /* * m_squit @@ -496,7 +496... [truncated message content] |
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 ----------------------- |
From: Toni G. <zo...@us...> - 2003-01-04 00:48:53
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-04 00:48:53 UTC Modified files: CAMBIOS.Ipv6 config/config-sh.in include/patchlevel.h ircd/s_user.c Log message: INET6.16 ---------------------- diff included ---------------------- Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.15 ipv6/CAMBIOS.Ipv6:1.16 --- ipv6/CAMBIOS.Ipv6:1.15 Fri Jan 3 16:27:31 2003 +++ ipv6/CAMBIOS.Ipv6 Fri Jan 3 16:48:42 2003 @@ -1,3 +1,9 @@ +* 2003/01/04 zo...@ir... INET6.16 +----------------------------------------------------------------------- +Se corrigen unos bugs introducidos en INET6.14. +Deshabilito el BDD_VIP2, el de +x a todo dios, porque todavia no esta +adaptado a INET6. + * 2003/01/04 zo...@ir... INET6.15 ----------------------------------------------------------------------- Actualizacion IRCD hasta el u2.10.H.06.35. Index: ipv6/config/config-sh.in diff -u ipv6/config/config-sh.in:1.2 ipv6/config/config-sh.in:1.3 --- ipv6/config/config-sh.in:1.2 Mon Sep 16 05:38:13 2002 +++ ipv6/config/config-sh.in Fri Jan 3 16:48:42 2003 @@ -390,9 +390,9 @@ bool 'HISPANO/ESNET: Soporte para la ocultacion de IPs' BDD_VIP y if [ "$BDD_VIP" = "y" ]; then bool 'HISPANO/ESNET: Ignorar el flag "+x" a menos que el usuario este en la tabla "v" o "w"' BDD_VIP3 n - if [ "$BDD_VIP3" = "n" ]; then - bool 'HISPANO/ESNET: Ocultación de IP de TODOS los usuarios' BDD_VIP2 y - fi +# if [ "$BDD_VIP3" = "n" ]; then +# bool 'HISPANO/ESNET: Ocultación de IP de TODOS los usuarios' BDD_VIP2 y +# fi fi bool 'HISPANO/ESNET: Proteccion contra Wingates y Socks4 proxies' PROXY_PROTECTION y fi Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.16 ipv6/include/patchlevel.h:1.17 --- ipv6/include/patchlevel.h:1.16 Fri Jan 3 16:27:31 2003 +++ ipv6/include/patchlevel.h Fri Jan 3 16:48:42 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.15" + "+INET6.16" /* * Deliberate empty lines Index: ipv6/ircd/s_user.c diff -u ipv6/ircd/s_user.c:1.10 ipv6/ircd/s_user.c:1.11 --- ipv6/ircd/s_user.c:1.10 Fri Jan 3 16:27:32 2003 +++ ipv6/ircd/s_user.c Fri Jan 3 16:48:42 2003 @@ -69,7 +69,7 @@ #include "IPcheck.h" #include "class.h" -RCSTAG_CC("$Id: s_user.c,v 1.10 2003/01/04 00:27:32 zolty Exp $"); +RCSTAG_CC("$Id: s_user.c,v 1.11 2003/01/04 00:48:42 zolty Exp $"); /* *INDENT-OFF* */ @@ -3155,7 +3155,7 @@ if (aconf->status == CONF_LOCOP) { #else - if (!IsLocal(sptr) || aconf->status == CONF_LOCOP) + if (!MyConnect(sptr) || aconf->status == CONF_LOCOP) { #endif ClearOper(sptr); ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2003-01-04 00:27:42
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2003-01-04 00:27:42 UTC Modified files: .patches CAMBIOS.Ipv6 CAMBIOS2_10_H_06 todo.jcea include/patchlevel.h include/s_user.h ircd/m_config.c ircd/s_debug.c ircd/s_misc.c ircd/s_serv.c ircd/s_user.c ircd/whocmds.c Log message: Sincronizacion u2.10.H.06.35 ---------------------- diff included ---------------------- Index: ipv6/.patches diff -u ipv6/.patches:1.4 ipv6/.patches:1.5 --- ipv6/.patches:1.4 Tue Dec 17 08:16:48 2002 +++ ipv6/.patches Fri Jan 3 16:27:31 2003 @@ -1 +1 @@ -u2.10.H.06.28 +u2.10.H.06.35 Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.14 ipv6/CAMBIOS.Ipv6:1.15 --- ipv6/CAMBIOS.Ipv6:1.14 Tue Dec 17 08:16:48 2002 +++ ipv6/CAMBIOS.Ipv6 Fri Jan 3 16:27:31 2003 @@ -1,3 +1,7 @@ +* 2003/01/04 zo...@ir... INET6.15 +----------------------------------------------------------------------- +Actualizacion IRCD hasta el u2.10.H.06.35. + * 2002/12/17 zo...@ir... INET6.14 ----------------------------------------------------------------------- Actualizacion IRCD hasta el u2.10.H.06.28. Index: ipv6/CAMBIOS2_10_H_06 diff -u ipv6/CAMBIOS2_10_H_06:1.2 ipv6/CAMBIOS2_10_H_06:1.3 --- ipv6/CAMBIOS2_10_H_06:1.2 Tue Dec 17 08:16:48 2002 +++ ipv6/CAMBIOS2_10_H_06 Fri Jan 3 16:27:31 2003 @@ -1,4 +1,50 @@ -$Id: CAMBIOS2_10_H_06,v 1.2 2002/12/17 16:16:48 zolty Exp $ +$Id: CAMBIOS2_10_H_06,v 1.3 2003/01/04 00:27:31 zolty Exp $ + +* 2003/01/02 jc...@ar... (u2.10.H.06.35) CLEANUP + ----------------------------------------------------------------------- + Elimino unos "warnings" en los parches anteriores. + +* 2003/01/01 ni...@ir... (u2.10.H.06.34) FEATURE + ----------------------------------------------------------------------- + Usuarios con +k se saltan la limitacion de targets y de cambios de nick + consecutivos. + +* 2002/12/31 ni...@ir... (u2.10.H.06.33) FIX + ----------------------------------------------------------------------- + Un ajuste mas en el contador de helpers. No se contabilizaban las + salidas por exit_client :) + +* 2002/12/31 ni...@ir... (u2.10.H.06.32) FEATURE + ----------------------------------------------------------------------- + En un VERSION vemos el numero maximo de canales por usuario. Aparece + tras el valor de CLIENT_FLOOD. Asimismo, chequeamos que su valor este + entre 1-99 (99 < MAXCHANNELSPERUSER > 1). + +* 2002/12/31 ni...@ir... (u2.10.H.06.31) FEATURE + ----------------------------------------------------------------------- + Nuevo numeric para el WHOIS: + + /* 379 */ + {RPL_WHOISMODES, "%s :Utiliza los modos [%s]"}, + + Devuelve las letras de los modos visibles del usuario. El criterio para + mostrar u ocultar modos es el mismo que para el WHO. + + Se ha modificado la funcion umode_str(aClient *cptr), que servia para + calcular la cadena de modos que se envia en un BURST para que acepte un + segundo parametro: umode_str(aClient *cptr, aClient *acptr), de tal + modo que calcula tambien, si acptr != NULL, los modos de cptr visibles + por acptr. + +* 2002/12/26 jc...@ar... (Z14 - u2.10.H.06.30) FIX + ----------------------------------------------------------------------- + Inicializacion correcta de ZLIB, que podia dar problemas bajo ciertas + circunstancias, incluyendo la caida del servidor. + +* 2002/12/16 n3...@9p... (u2.10.H.06.29) FEATURE + ----------------------------------------------------------------------- + Segunda parte del parche para permitir el ~ en los nicks. Ahora, ya + permitimos su uso de forma local. * 2002/12/16 jc...@ar... (u2.10.H.06.28) FEATURE ----------------------------------------------------------------------- Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.15 ipv6/include/patchlevel.h:1.16 --- ipv6/include/patchlevel.h:1.15 Tue Dec 17 08:16:50 2002 +++ ipv6/include/patchlevel.h Fri Jan 3 16:27:31 2003 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.14" + "+INET6.15" /* * Deliberate empty lines Index: ipv6/include/s_user.h diff -u ipv6/include/s_user.h:1.2 ipv6/include/s_user.h:1.3 --- ipv6/include/s_user.h:1.2 Thu Sep 12 12:18:59 2002 +++ ipv6/include/s_user.h Fri Jan 3 16:27:32 2003 @@ -58,7 +58,7 @@ extern int m_userip(aClient *cptr, aClient *sptr, int parc, char *parv[]); extern int m_ison(aClient *cptr, aClient *sptr, int parc, char *parv[]); extern void send_features(aClient *sptr, char *nick); -extern char *umode_str(aClient *cptr); +extern char *umode_str(aClient *cptr, aClient *acptr); #if defined(BDD) extern void send_umode(aClient *cptr, aClient *sptr, int old, int sendmask, int oldh, int sendhmask); Index: ipv6/ircd/m_config.c diff -u ipv6/ircd/m_config.c:1.2 ipv6/ircd/m_config.c:1.3 --- ipv6/ircd/m_config.c:1.2 Thu Sep 12 12:19:00 2002 +++ ipv6/ircd/m_config.c Fri Jan 3 16:27:32 2003 @@ -99,6 +99,7 @@ outofmemory(); cptr->comp_out->zalloc = z_alloc; cptr->comp_out->zfree = z_free; + cptr->comp_out->opaque = 0; estado = deflateInit(cptr->comp_out, 9); assert(estado == Z_OK); cptr->comp_out_total_in = 0; @@ -124,8 +125,10 @@ if (!cptr->comp_in) outofmemory(); cptr->comp_in->next_in = Z_NULL; + cptr->comp_in->avail_in = 0; cptr->comp_in->zalloc = z_alloc; cptr->comp_in->zfree = z_free; + cptr->comp_in->opaque = 0; estado = inflateInit(cptr->comp_in); assert(estado == Z_OK); cptr->comp_in_total_in = 0; Index: ipv6/ircd/s_debug.c diff -u ipv6/ircd/s_debug.c:1.2 ipv6/ircd/s_debug.c:1.3 --- ipv6/ircd/s_debug.c:1.2 Sat Sep 14 15:44:51 2002 +++ ipv6/ircd/s_debug.c Fri Jan 3 16:27:32 2003 @@ -56,7 +56,7 @@ #include "channel.h" #include "numnicks.h" -RCSTAG_CC("$Id: s_debug.c,v 1.2 2002/09/14 22:44:51 zolty Exp $"); +RCSTAG_CC("$Id: s_debug.c,v 1.3 2003/01/04 00:27:32 zolty Exp $"); /* *INDENT-OFF* */ @@ -198,6 +198,14 @@ (char)('0' + (CLIENT_FLOOD/10) % 10), (char)('0' + (CLIENT_FLOOD/1) % 10), '.', +#if (MAXCHANNELSPERUSER > 99) || (MAXCHANNELSPERUSER < 1) +#error Valor MAXCHANNELSPERUSER erroneo. Rango permitido 1-99. Ejecuta el "make config" de nuevo y reajusta el valor. +#endif +#if MAXCHANNELSPERUSER > 9 + (char)('0' + (MAXCHANNELSPERUSER/10) % 10), +#endif + (char)('0' + (MAXCHANNELSPERUSER/1) % 10), + '.', #if !0 /* Esto hay que quitarlo en algun momento... */ 'N','5','.', @@ -243,7 +251,7 @@ 'C','F','G','5', #ifdef ESNET_NEG '+', - '.','Z','1','3', + '.','Z','1','4', #ifdef ZLIB_ESNET '+', #else Index: ipv6/ircd/s_misc.c diff -u ipv6/ircd/s_misc.c:1.4 ipv6/ircd/s_misc.c:1.5 --- ipv6/ircd/s_misc.c:1.4 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/s_misc.c Fri Jan 3 16:27:32 2003 @@ -65,7 +65,7 @@ #include <assert.h> -RCSTAG_CC("$Id: s_misc.c,v 1.4 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: s_misc.c,v 1.5 2003/01/04 00:27:32 zolty Exp $"); static void exit_one_client(aClient *, char *); @@ -370,6 +370,9 @@ time_t on_for; #endif char comment1[HOSTLEN + HOSTLEN + 2]; + + if (!IsServer(bcptr) && IsHelpOp(bcptr)) + --nrof.helpers; if (MyConnect(bcptr)) { Index: ipv6/ircd/s_serv.c diff -u ipv6/ircd/s_serv.c:1.4 ipv6/ircd/s_serv.c:1.5 --- ipv6/ircd/s_serv.c:1.4 Mon Sep 16 05:22:13 2002 +++ ipv6/ircd/s_serv.c Fri Jan 3 16:27:32 2003 @@ -57,7 +57,7 @@ #include "IPcheck.h" -RCSTAG_CC("$Id: s_serv.c,v 1.4 2002/09/16 12:22:13 zolty Exp $"); +RCSTAG_CC("$Id: s_serv.c,v 1.5 2003/01/04 00:27:32 zolty Exp $"); static int exit_new_server(aClient *cptr, aClient *sptr, char *host, time_t timestamp, char *fmt, ...) @@ -1040,7 +1040,7 @@ else { char xxx_buf[8]; - char *s = umode_str(acptr); + char *s = umode_str(acptr, NULL); sendto_one(cptr, *s ? "%s NICK %s %d " TIME_T_FMT " %s %s +%s %s %s%s :%s" : "%s NICK %s %d " TIME_T_FMT " %s %s %s%s %s%s :%s", Index: ipv6/ircd/s_user.c diff -u ipv6/ircd/s_user.c:1.9 ipv6/ircd/s_user.c:1.10 --- ipv6/ircd/s_user.c:1.9 Tue Dec 17 08:16:53 2002 +++ ipv6/ircd/s_user.c Fri Jan 3 16:27:32 2003 @@ -69,7 +69,7 @@ #include "IPcheck.h" #include "class.h" -RCSTAG_CC("$Id: s_user.c,v 1.9 2002/12/17 16:16:53 zolty Exp $"); +RCSTAG_CC("$Id: s_user.c,v 1.10 2003/01/04 00:27:32 zolty Exp $"); /* *INDENT-OFF* */ @@ -703,7 +703,7 @@ } #ifdef NO_PROTOCOL9 /* Use this when all servers are 2.10 (but test it first) --Run */ - tmpstr = umode_str(sptr); + tmpstr = umode_str(sptr, NULL); sendto_serv_butone(cptr, *tmpstr ? "%s NICK %s %d %d %s %s +%s %s %s%s :%s" : "%s NICK %s %d %d %s %s %s%s %s%s :%s", @@ -727,7 +727,8 @@ } /* If the user has no umode, no need to generate a user MODE */ - if (*(tmpstr = umode_str(sptr)) && (MyConnect(sptr) || Protocol(cptr) > 9)) + if (*(tmpstr = umode_str(sptr, NULL)) && (MyConnect(sptr) + || Protocol(cptr) > 9)) /* Is it necessary to generate an user MODE message ? */ { for (lp = me.serv->down; lp; lp = lp->next) @@ -1018,8 +1019,7 @@ * creation) then reject it. If from a server and we reject it, * and KILL it. -avalon 4/4/92 */ - if (do_nick_name(nick) == 0 || (IsServer(cptr) && strcmp(nick, parv[1])) - || (!IsServer(cptr) && strchr(nick, '~'))) + if (do_nick_name(nick) == 0 || (IsServer(cptr) && strcmp(nick, parv[1]))) { sendto_one(sptr, err_str(ERR_INVALIDNICKNAME), me.name, parv[0], parv[1]); @@ -1663,8 +1663,10 @@ * If someone didn't change their nick for more then 60 seconds * however, allow to do two nick changes immedately after another * before limiting the nick flood. -Run + * Un +k puede cambiarse de nick todas las veces seguidas que + * quiera sin limitaciones. -NiKoLaS */ - if (now < cptr->nextnick) + if ((now < cptr->nextnick) && !(IsChannelService(cptr))) { cptr->nextnick += 2; /* Send error message */ @@ -1680,6 +1682,10 @@ /* bounce NICK to user */ return 0; /* ignore nick change! */ } + else if (IsChannelService(cptr)) + { + cptr->nextnick = now; + } else { /* Limit total to 1 change per NICK_DELAY seconds: */ @@ -2024,10 +2030,8 @@ register unsigned int tmp = ((size_t)target & 0xffff00) >> 8; unsigned char hash = (tmp * tmp) >> 12; -#ifdef CS_NO_FLOOD_ESNET if (IsChannelService(sptr)) return 0; -#endif if (sptr->targets[0] == hash) /* Same target as last time ? */ return 0; @@ -3766,26 +3770,55 @@ /* * Build umode string for BURST command * --Run + * Se amplia la funcion para devolver los + * modos de cptr que ve acptr. Si solo se + * quiere construir la cadena para el BURST + * o tener el listado completo de los modos + * de cptr, se le pasa NULL como segundo + * parametro. + * --NiKoLaS */ -char *umode_str(aClient *cptr) +char *umode_str(aClient *cptr, aClient *acptr) { char *m = umode_buf; /* Maximum string size: "owidg\0" */ int *s, flag, c_flags; +#if defined(BDD) + int c_hmodes; + + c_hmodes = cptr->hmodes & SEND_HMODES; + + for (s = user_hmodes; (flag = *s); s += 2) + if ((c_hmodes & flag)) + *m++ = *(s + 1); +#endif + c_flags = cptr->flags & SEND_UMODES; /* cleaning up the original code */ for (s = user_modes; (flag = *s); s += 2) + { if ((c_flags & flag)) - *m++ = *(s + 1); + { + if (acptr) + { + if ((flag & FLAGS_INVISIBLE) || (flag & FLAGS_WALLOP) + || (flag & FLAGS_DEBUG)) + { + if (IsAnOper(acptr) #if defined(BDD) - { - int c_hmodes = cptr->hmodes & SEND_HMODES; - - for (s = user_hmodes; (flag = *s); s += 2) - if ((c_hmodes & flag)) + || IsHelpOp(acptr) +#endif + || (acptr == cptr)) + *m++ = *(s + 1); + } + else + *m++ = *(s + 1); + } + else *m++ = *(s + 1); + } } -#endif + *m = '\0'; return umode_buf; /* Note: static buffer, gets Index: ipv6/ircd/whocmds.c diff -u ipv6/ircd/whocmds.c:1.6 ipv6/ircd/whocmds.c:1.7 --- ipv6/ircd/whocmds.c:1.6 Sat Nov 9 06:52:54 2002 +++ ipv6/ircd/whocmds.c Fri Jan 3 16:27:32 2003 @@ -64,7 +64,7 @@ #include "querycmds.h" #include "IPcheck.h" -RCSTAG_CC("$Id: whocmds.c,v 1.6 2002/11/09 14:52:54 zolty Exp $"); +RCSTAG_CC("$Id: whocmds.c,v 1.7 2003/01/04 00:27:32 zolty Exp $"); /* * m_who() @@ -993,6 +993,10 @@ if (MyConnect(acptr)) sendto_one(sptr, rpl_str(RPL_WHOISIDLE), me.name, parv[0], name, now - user->last, acptr->firsttime); + + sendto_one(sptr, rpl_str(RPL_WHOISMODES), me.name, + parv[0], name, umode_str(acptr, sptr)); + } if (found == 2 || total++ >= MAX_WHOIS_LINES) break; Index: ipv6/todo.jcea diff -u ipv6/todo.jcea:1.4 ipv6/todo.jcea:1.5 --- ipv6/todo.jcea:1.4 Tue Dec 17 08:16:49 2002 +++ ipv6/todo.jcea Fri Jan 3 16:27:31 2003 @@ -1,4 +1,13 @@ -$Id: todo.jcea,v 1.4 2002/12/17 16:16:49 zolty Exp $ +$Id: todo.jcea,v 1.5 2003/01/04 00:27:31 zolty Exp $ + +19/Dic/02 +Definir un nuevo modo de usuario, similar al +i +pero que no lista canales NO COMUNES con quien +hace el WHOIS. + +Hay que valorar el hecho de que los usuarios conocen +canales precisamente porque ven los canales de otros +usuarios... 16/Dic/02 Los "invites" deberian estar en la parte local @@ -9,7 +18,7 @@ Dentro de un an~o volver a considerar la opcion de que la tabla de "watch" se guarde en la red, en vez de en el cliente. -Puedes ser util para usaurios que se conectan desde diferentes +Puede ser util para usuarios que se conectan desde diferentes sitios, o para cubrir la deficiencia del mIRC, que no separa los "notify" por redes. @@ -23,20 +32,6 @@ aunque comprometeria la posibilidad futura de soportar compresion con los usuarios. -17/Oct/02 -[11:42] <NiKoLaS> que al hacer un /invite te devuelva los canales donde estas invitado y aun no entraste? -[11:42] <NiKoLaS> esto seria sacado de undernet - -17/Oct/02 -[11:28] <NiKoLaS> En el whois se ha de poder ver el resumen de modos del usuario. Se mostraran -[11:28] <NiKoLaS> los mismos modos que en el WHO y se unificara la rutina que los calcula en -[11:28] <NiKoLaS> en WHO para poder llamarla desde el WHO y el WHOIS y evitar redundancias en -[11:28] <NiKoLaS> el codigo. - -16/Oct/02 -El modo +k debe saltarse tambien la limitacion de cambios -de nick y de TARGETS. - 10/Oct/02 Pasar la tabla 'o' a FLAGS individuales. Osea, cada bit, un flag. @@ -59,11 +54,6 @@ 16/Sep/02 Cuando quitamos a un usuario del WATCH, nos aparece un TimeStamp de 1970. - -09/Sep/02 -Permitir el caracter ~ en los nicks. Aparentemente, -segun NiKoLaS, eso requeriria una actualizacion -en dos etapas. 13/Ago/02 La variable que contiene los modos de usuario esta superpoblada y ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2002-12-17 16:17:08
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2002-12-17 16:17:04 UTC Modified files: .patches CAMBIOS.Ipv6 CAMBIOS2_10_H_06 Makefile.in todo.jcea include/numeric.h include/patchlevel.h include/s_bsd.h include/struct.h ircd/channel.c ircd/ircd.c ircd/res.c ircd/s_auth.c ircd/s_bsd.c ircd/s_err.c ircd/s_socks.c ircd/s_user.c Added files: ircd/crypt/.cvsignore Log message: Sincronizacion u2.10.H.06.28 ---------------------- diff included ---------------------- Index: ipv6/.patches diff -u ipv6/.patches:1.3 ipv6/.patches:1.4 --- ipv6/.patches:1.3 Sat Nov 9 06:52:54 2002 +++ ipv6/.patches Tue Dec 17 08:16:48 2002 @@ -1 +1 @@ -u2.10.H.06.13 +u2.10.H.06.28 Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.13 ipv6/CAMBIOS.Ipv6:1.14 --- ipv6/CAMBIOS.Ipv6:1.13 Tue Dec 17 02:40:57 2002 +++ ipv6/CAMBIOS.Ipv6 Tue Dec 17 08:16:48 2002 @@ -1,3 +1,7 @@ +* 2002/12/17 zo...@ir... INET6.14 +----------------------------------------------------------------------- +Actualizacion IRCD hasta el u2.10.H.06.28. + * 2002/12/17 zo...@ir... INET6.13 ----------------------------------------------------------------------- Compila con VIRTUAL_HOST y PROXY_PROTECTION activados y desactivados :) Index: ipv6/CAMBIOS2_10_H_06 diff -u ipv6/CAMBIOS2_10_H_06:1.1 ipv6/CAMBIOS2_10_H_06:1.2 --- ipv6/CAMBIOS2_10_H_06:1.1 Sat Nov 9 06:52:54 2002 +++ ipv6/CAMBIOS2_10_H_06 Tue Dec 17 08:16:48 2002 @@ -1,4 +1,103 @@ -$Id: CAMBIOS2_10_H_06,v 1.1 2002/11/09 14:52:54 zolty Exp $ +$Id: CAMBIOS2_10_H_06,v 1.2 2002/12/17 16:16:48 zolty Exp $ + +* 2002/12/16 jc...@ar... (u2.10.H.06.28) FEATURE + ----------------------------------------------------------------------- + Se toca la funcion "can_send()" para que un nodo pueda enviar a un + canal. Antes no se podia hacer si el canal estaba +n. + +* 2002/12/16 jc...@ar... (u2.10.H.06.27) FEATURE + ----------------------------------------------------------------------- + Cuando se invita a alguien a un canal, lo ven los "ops" de dicho canal. + +* 2002/12/15 n3...@9p... (u2.10.H.06.26) FEATURE + ----------------------------------------------------------------------- + Primera parte del parche para permitir el uso del caracter '~' en los + nicks. Permitimos nicks con '~' de otros servidores, pero no locales. + +* 2002/12/12 jc...@ar... (u2.10.H.06.25) FIX + ----------------------------------------------------------------------- + Bajo circunstancias poco claras, y si tenemos el servidor configurado + para que use "poll()" en vez de "select()" (lo normal), puede darse + el caso de intentar hacer un + + if (DoingSocks(cptr) || DoingDNS(cptr) || DoingAuth(cptr) + + de conexiones NO locales, con lo que fallan los "assert()". Es algo muy + esporadico (en Gaia, cada 24 horas de funcionamiento), pero que + "ocurre". + + Esto, en realidad, es un bug del IRCD original, pero que no se ha + "detectado" hasta ahora. + +* 2002/12/11 ni...@ir... (u2.10.H.06.24) FIX + ----------------------------------------------------------------------- + Si se hace in INVITE a un canal inexistente, se devuelve el error de + "No such channel" en vez del de "You're not on that channel". + +* 2002/12/11 jc...@ar... (u2.10.H.06.23) FIX + ----------------------------------------------------------------------- + Se solucionan un par de detalles cuestionables del parche anterior. + +* 2002/12/11 zo...@ir... (u2.10.H.06.22) FEATURE + ----------------------------------------------------------------------- + Ampliacion del comando INVITE. Si se invoca sin parametros, nos muestra + la lista de invitaciones que tenemos y que no hemos usado todavia para + entrar. Esta lista siempre ha existido y hasta ahora no era visible. + + Se utilizan los siguientes numericos, utilizados en Undernet. + 346 => RPL_INVITELIST + 347 => RPL_ENDOFINVITELIST + +* 2002/12/10 jc...@ar... (u2.10.H.06.21) CLEANUP + ----------------------------------------------------------------------- + "IsLocal()" y "MyConnect()" son redundantes. Ademas, "IsLocal()" no + funciona correctamente en los primeros instantes de una conexion. + + Elimino "IsLocal()". + +* 2002/12/10 jc...@ar... (u2.10.H.06.20) FIX + ----------------------------------------------------------------------- + Cuando se configura el IRCD para que se ejecute bajo un usuario/grupo, + el grupo no se configuraba correctamente. + +* 2002/12/09 jc...@ar... (u2.10.H.06.19) CLEANUP + ----------------------------------------------------------------------- + Cambio "s_auth.c" para que use macros en la manipulacion de + "FLAGS_AUTH" y "FLAGS_WRAUTH". + +* 2002/12/09 jc...@ar... (u2.10.H.06.18) CLEANUP + ----------------------------------------------------------------------- + Aprovechando el parche "u2.10.H.06.15", migro el flag "FLAGS_WRAUTH". + +* 2002/12/09 jc...@ar... (u2.10.H.06.17) CLEANUP + ----------------------------------------------------------------------- + Aprovechando el parche "u2.10.H.06.15", migro el flag "FLAGS_AUTH". + +* 2002/12/09 jc...@ar... (u2.10.H.06.16) CLEANUP + ----------------------------------------------------------------------- + Aprovechando el parche "u2.10.H.06.15", migro el flag "FLAGS_DOINGDNS". + + En el "assert()" uso "MyConnect()", porque "IsLocal()" no esta + inicializado aun... + +* 2002/12/09 jc...@ar... (u2.10.H.06.15) CLEANUP + ----------------------------------------------------------------------- + La variable de "flags" ya tiene ocupados sus 32 bits. En vez de utilizar + una variable de 64 bits, divido los "flags" en dos grupos de 32 bits. + Un grupo, el actual, existe siempre. El otro grupo de 32 bits SOLO + existira para conexiones LOCALES. + + De esta forma se reduce el consumo de memoria, ya que las conexiones + remotas usan 32 bits, en vez de 64 bits. + + Hay que ir migrando los flags poco a poco, uno a uno. Hay que usar + "assert()" (de forma temporal) para comprobar que se accede + a ese "flag" **SOLO** cuando el usuario es local. + +* 2002/12/04 ni...@ir... (u2.10.H.06.14) FEATURE + ----------------------------------------------------------------------- + Si un usuario sin +r hace un INVITE a un usuario +R no se lo permite. + Si el usuario que hace el INVITE, por contra, tiene +o, si le deja. * 2002/10/22 jc...@ar... (u2.10.H.06.13) FIX ----------------------------------------------------------------------- Index: ipv6/Makefile.in diff -u ipv6/Makefile.in:1.4 ipv6/Makefile.in:1.5 --- ipv6/Makefile.in:1.4 Mon Sep 30 08:01:59 2002 +++ ipv6/Makefile.in Tue Dec 17 08:16:49 2002 @@ -126,6 +126,6 @@ # Indent all headers and source files: indent: - @test "`indent --version`" = "GNU indent 2.2.8" || \ - (echo "You need GNU indent 2.2.8a; See doc/readme.indent" && exit -1); + @test "`indent --version`" = "GNU indent 2.2.7" || \ + (echo "You need GNU indent 2.2.7; See doc/readme.indent" && exit -1); VERSION_CONTROL=none indent include/*.h ircd/*.c Index: ipv6/include/numeric.h diff -u ipv6/include/numeric.h:1.3 ipv6/include/numeric.h:1.4 --- ipv6/include/numeric.h:1.3 Mon Sep 30 08:02:00 2002 +++ ipv6/include/numeric.h Tue Dec 17 08:16:50 2002 @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: numeric.h,v 1.3 2002/09/30 15:02:00 zolty Exp $ + * $Id: numeric.h,v 1.4 2002/12/17 16:16:50 zolty Exp $ */ #ifndef NUMERIC_H @@ -277,8 +277,8 @@ /* RPL_SUMMONING 342 removed from RFC1459 */ #define RPL_MSGONLYREG 342 /* Hispano extension */ -/* RPL_INVITELIST 346 IRCnet & Undernet extension */ -/* RPL_ENDOFINVITELIST 347 IRCnet & Undernet extension */ +#define RPL_INVITELIST 346 /* IRCnet & Undernet extension */ +#define RPL_ENDOFINVITELIST 347 /* IRCnet & Undernet extension */ /* RPL_EXCEPTLIST 348 IRCnet extension */ /* RPL_ENDOFEXCEPTLIST 349 IRCnet extension */ Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.14 ipv6/include/patchlevel.h:1.15 --- ipv6/include/patchlevel.h:1.14 Tue Dec 17 02:40:58 2002 +++ ipv6/include/patchlevel.h Tue Dec 17 08:16:50 2002 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.13" + "+INET6.14" /* * Deliberate empty lines Index: ipv6/include/s_bsd.h diff -u ipv6/include/s_bsd.h:1.5 ipv6/include/s_bsd.h:1.6 --- ipv6/include/s_bsd.h:1.5 Mon Sep 30 08:02:00 2002 +++ ipv6/include/s_bsd.h Tue Dec 17 08:16:50 2002 @@ -20,10 +20,6 @@ #define FLAGS_CLOSING 0x0400 /* set when closing to suppress errors */ #define FLAGS_LISTEN 0x0800 /* used to mark clients which we listen() on */ #define FLAGS_CHKACCESS 0x1000 /* ok to check clients access if set */ -#define FLAGS_DOINGDNS 0x2000 /* client is waiting for a DNS response */ -#define FLAGS_AUTH 0x4000 /* client is waiting on rfc931 response */ -#define FLAGS_WRAUTH 0x8000 /* set if we havent writen to ident server */ -#define FLAGS_LOCAL 0x00010000 /* set for local clients */ #define FLAGS_GOTID 0x00020000 /* successful ident lookup achieved */ #define FLAGS_DOID 0x00040000 /* I-lines say must use ident return */ #define FLAGS_NONL 0x00080000 /* No \n in buffer */ @@ -42,6 +38,13 @@ #define MODE_ISWATCH 0x80000000 /* Se enviara WATCH para este nick */ +/* Flags LOCALES */ +#define FLAGS_DOINGDNS 0x00002000 /* client is waiting for a DNS response */ +#define FLAGS_AUTH 0x00004000 /* client is waiting on rfc931 response */ +#define FLAGS_WRAUTH 0x00008000 /* set if we havent writen to ident server */ + + + #define SEND_UMODES \ (FLAGS_INVISIBLE|FLAGS_OPER|FLAGS_WALLOP|FLAGS_DEAF|FLAGS_CHSERV|FLAGS_DEBUG) @@ -64,7 +67,6 @@ #define IsUnixSocket(x) ((x)->flags & FLAGS_UNIX) #define IsListening(x) ((x)->flags & FLAGS_LISTEN) #define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS) -#define IsLocal(x) ((x)->flags & FLAGS_LOCAL) #define IsDead(x) ((x)->flags & FLAGS_DEADSOCKET) #define IsJunction(x) ((x)->flags & FLAGS_JUNCTION) #define IsBurst(x) ((x)->flags & FLAGS_BURST) @@ -80,10 +82,13 @@ #define SetWallops(x) ((x)->flags |= FLAGS_WALLOP) #define SetDebug(x) ((x)->flags |= FLAGS_DEBUG) #define SetUnixSock(x) ((x)->flags |= FLAGS_UNIX) -#define SetDNS(x) ((x)->flags |= FLAGS_DOINGDNS) -#define DoingDNS(x) ((x)->flags & FLAGS_DOINGDNS) +#define SetDNS(x) (assert(MyConnect(x)),((x)->flags_local |= FLAGS_DOINGDNS)) +#define DoingDNS(x) (assert(MyConnect(x)),((x)->flags_local & FLAGS_DOINGDNS)) +#define SetAuth(x) (assert(MyConnect(x)),((x)->flags_local |= FLAGS_AUTH)) +#define SetWRAuth(x) (assert(MyConnect(x)),((x)->flags_local |= FLAGS_WRAUTH)) #define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS) -#define DoingAuth(x) ((x)->flags & FLAGS_AUTH) +#define DoingAuth(x) (assert(MyConnect(x)),((x)->flags_local & FLAGS_AUTH)) +#define DoingWRAuth(x) (assert(MyConnect(x)),((x)->flags_local & FLAGS_WRAUTH)) #define NoNewLine(x) ((x)->flags & FLAGS_NONL) #define DoPing(x) ((x)->flags & FLAGS_PING) #define SetAskedPing(x) ((x)->flags |= FLAGS_ASKEDPING) @@ -100,8 +105,9 @@ #define ClearInvisible(x) ((x)->flags &= ~FLAGS_INVISIBLE) #define ClearWallops(x) ((x)->flags &= ~FLAGS_WALLOP) #define ClearDebug(x) ((x)->flags &= ~FLAGS_DEBUG) -#define ClearDNS(x) ((x)->flags &= ~FLAGS_DOINGDNS) -#define ClearAuth(x) ((x)->flags &= ~FLAGS_AUTH) +#define ClearDNS(x) (assert(MyConnect(x)),((x)->flags_local &= ~FLAGS_DOINGDNS)) +#define ClearAuth(x) (assert(MyConnect(x)),((x)->flags_local &= ~FLAGS_AUTH)) +#define ClearWRAuth(x) (assert(MyConnect(x)),((x)->flags_local &= ~FLAGS_WRAUTH)) #define ClearAccess(x) ((x)->flags &= ~FLAGS_CHKACCESS) #define ClearPing(x) ((x)->flags &= ~FLAGS_PING) #define ClearAskedPing(x) ((x)->flags &= ~FLAGS_ASKEDPING) Index: ipv6/include/struct.h diff -u ipv6/include/struct.h:1.3 ipv6/include/struct.h:1.4 --- ipv6/include/struct.h:1.3 Thu Sep 12 12:02:14 2002 +++ ipv6/include/struct.h Tue Dec 17 08:16:50 2002 @@ -150,6 +150,8 @@ char sockhost[HOSTLEN + 1]; /* This is the host name from the socket and after which the connection was accepted. */ char passwd[PASSWDLEN + 1]; + + unsigned int flags_local; /* Local client flags */ }; struct Server { Index: ipv6/ircd/channel.c diff -u ipv6/ircd/channel.c:1.7 ipv6/ircd/channel.c:1.8 --- ipv6/ircd/channel.c:1.7 Sat Nov 9 06:52:54 2002 +++ ipv6/ircd/channel.c Tue Dec 17 08:16:51 2002 @@ -48,7 +48,7 @@ #include "sprintf_irc.h" #include "querycmds.h" -RCSTAG_CC("$Id: channel.c,v 1.7 2002/11/09 14:52:54 zolty Exp $"); +RCSTAG_CC("$Id: channel.c,v 1.8 2002/12/17 16:16:51 zolty Exp $"); aChannel *channel = NullChn; @@ -544,7 +544,7 @@ Reg1 Link *lp; int flag; - if ((IsChannelService(cptr)) + if (IsChannelService(cptr) || IsServer(cptr) #if defined(BDD) || (IsServicesBot(cptr)) #endif @@ -4442,7 +4442,7 @@ if (!topic) /* only asking for topic */ { - if (chptr->topic) + if (!chptr->topic) sendto_one(sptr, rpl_str(RPL_NOTOPIC), me.name, parv[0], chptr->chname); else { @@ -4527,6 +4527,23 @@ aClient *acptr; aChannel *chptr; + if (parc < 2) + { + Link *lp; + /* + * Listar los canales donde tienes invitacion + * -zoltan + */ + + assert(MyUser(sptr)); + + for (lp = sptr->user->invited; lp; lp = lp->next) + sendto_one(sptr, rpl_str(RPL_INVITELIST), me.name, sptr->name, + lp->value.chptr->chname); + sendto_one(sptr, rpl_str(RPL_ENDOFINVITELIST), me.name, sptr->name); + return 0; + } + if (parc < 3 || *parv[2] == '\0') { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "INVITE"); @@ -4546,6 +4563,13 @@ return 0; } + if (MyUser(sptr) && IsMsgOnlyReg(acptr) && !IsNickRegistered(sptr) + && !IsAnOper(sptr)) + { + sendto_one(sptr, err_str(ERR_NONONREG), me.name, parv[0], acptr->name); + return 0; + } + if (MyUser(sptr)) clean_channelname(parv[2]); else if (IsLocalChannel(parv[2])) @@ -4640,7 +4664,15 @@ } if (MyConnect(acptr)) + { add_invite(acptr, chptr); + sendto_lchanops_butone(&me, &me, chptr, + ":%s NOTICE @%s :%s invited %s into channel %s", me.name, parv[2], + parv[0], acptr->name, parv[2]); + sendto_chanopsserv_butone(&me, &me, chptr, + ":%s WC %s :%s invited %s into channel %s", me.name, parv[2], parv[0], + acptr->name, parv[2]); + } sendto_prefix_one(acptr, sptr, ":%s INVITE %s :%s", parv[0], acptr->name, chptr->chname); Index: ipv6/ircd/crypt/.cvsignore diff -u /dev/null ipv6/ircd/crypt/.cvsignore:1.1 --- /dev/null Tue Dec 17 08:17:05 2002 +++ ipv6/ircd/crypt/.cvsignore Tue Dec 17 08:16:54 2002 @@ -0,0 +1,2 @@ +mkpasswd +.* \ No newline at end of file Index: ipv6/ircd/ircd.c diff -u ipv6/ircd/ircd.c:1.4 ipv6/ircd/ircd.c:1.5 --- ipv6/ircd/ircd.c:1.4 Mon Sep 16 05:22:13 2002 +++ ipv6/ircd/ircd.c Tue Dec 17 08:16:51 2002 @@ -46,8 +46,9 @@ #ifdef CHROOTDIR #include <resolv.h> #endif -#ifdef VIRTUAL_HOST -#endif + +#include <assert.h> + #include "h.h" #include "res.h" #include "struct.h" @@ -72,7 +73,7 @@ #include "s_bdd.h" #include "inet.h" -RCSTAG_CC("$Id: ircd.c,v 1.4 2002/09/16 12:22:13 zolty Exp $"); +RCSTAG_CC("$Id: ircd.c,v 1.5 2002/12/17 16:16:51 zolty Exp $"); extern void init_counters(void); @@ -766,8 +767,8 @@ /* run as a specified user */ fprintf(stderr, "WARNING: running ircd with uid = %d\n", IRC_UID); fprintf(stderr, " changing to gid %d.\n", IRC_GID); - setuid(IRC_UID); setgid(IRC_GID); + setuid(IRC_UID); #else /* check for setuid root as usual */ fprintf(stderr, Index: ipv6/ircd/res.c diff -u ipv6/ircd/res.c:1.5 ipv6/ircd/res.c:1.6 --- ipv6/ircd/res.c:1.5 Mon Sep 16 08:47:29 2002 +++ ipv6/ircd/res.c Tue Dec 17 08:16:51 2002 @@ -17,6 +17,9 @@ #if !defined(dn_skipname) && !defined(__dn_skipname) extern int dn_skipname(const unsigned char *, const unsigned char *); #endif + +#include <assert.h> + #include "h.h" #include "res.h" #include "struct.h" @@ -32,7 +35,7 @@ #include "sprintf_irc.h" #include "inet.h" -RCSTAG_CC("$Id: res.c,v 1.5 2002/09/16 15:47:29 zolty Exp $"); +RCSTAG_CC("$Id: res.c,v 1.6 2002/12/17 16:16:51 zolty Exp $"); #define MAXPACKET 1024 Index: ipv6/ircd/s_auth.c diff -u ipv6/ircd/s_auth.c:1.4 ipv6/ircd/s_auth.c:1.5 --- ipv6/ircd/s_auth.c:1.4 Thu Sep 12 12:19:00 2002 +++ ipv6/ircd/s_auth.c Tue Dec 17 08:16:52 2002 @@ -36,6 +36,9 @@ #ifdef USE_SYSLOG #include <syslog.h> #endif + +#include <assert.h> + #include "h.h" #include "res.h" #include "struct.h" @@ -49,7 +52,7 @@ #include "s_auth.h" #include "sprintf_irc.h" -RCSTAG_CC("$Id: s_auth.c,v 1.4 2002/09/12 19:19:00 zolty Exp $"); +RCSTAG_CC("$Id: s_auth.c,v 1.5 2002/12/17 16:16:52 zolty Exp $"); #define IDENT_START ":%s NOTICE IDENT_LOOKUP :*** Checking Ident\r\n" #define IDENT_OK ":%s NOTICE IDENT_LOOKUP :*** Got ident response\r\n" @@ -170,7 +173,8 @@ return; } alarm((unsigned)0); - cptr->flags |= (FLAGS_WRAUTH | FLAGS_AUTH); + SetAuth(cptr); + SetWRAuth(cptr); if (cptr->authfd > highest_fd) highest_fd = cptr->authfd; return; @@ -218,7 +222,8 @@ while (!loc_clients[highest_fd]) highest_fd--; cptr->authfd = -1; - cptr->flags &= ~FLAGS_AUTH; + + ClearAuth(cptr); if (IsUserPort(cptr)) { @@ -233,7 +238,7 @@ #endif /* PROXY_PROTECTION */ SetAccess(cptr); } - cptr->flags &= ~FLAGS_WRAUTH; + ClearWRAuth(cptr); return; } Index: ipv6/ircd/s_bsd.c diff -u ipv6/ircd/s_bsd.c:1.7 ipv6/ircd/s_bsd.c:1.8 --- ipv6/ircd/s_bsd.c:1.7 Tue Dec 17 02:40:58 2002 +++ ipv6/ircd/s_bsd.c Tue Dec 17 08:16:52 2002 @@ -58,6 +58,9 @@ #endif #include <sys/utsname.h> #include <resolv.h> + +#include <assert.h> + #include "h.h" #include "res.h" #include "struct.h" @@ -97,7 +100,7 @@ #include "msg.h" #endif -RCSTAG_CC("$Id: s_bsd.c,v 1.7 2002/12/17 10:40:58 zolty Exp $"); +RCSTAG_CC("$Id: s_bsd.c,v 1.8 2002/12/17 16:16:52 zolty Exp $"); #define IP_LOOKUP_START ":%s NOTICE IP_LOOKUP :*** Looking up your hostname...\r\n" #define IP_LOOKUP_OK ":%s NOTICE IP_LOOKUP :*** Found your hostname.\r\n" @@ -312,7 +315,7 @@ server.SIN_FAMILY = AFINET; #ifndef VIRTUAL_HOST #ifdef INET6 - memset(server.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); + memset(server.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); #else server.SIN_ADDR.S_ADDR = INADDR_ANY; #endif @@ -695,14 +698,16 @@ */ enum AuthorizationCheckResult check_client(aClient *cptr) { +#if defined(BDD) char buf[HOSTLEN + 1 + 1024]; char host_buf[HOSTLEN + 1]; int num_clones = -1; int iline = 0; struct db_reg *reg; + Reg3 const char *hname; +#endif static char sockname[HOSTLEN + 1]; Reg2 struct hostent *hp = NULL; - Reg3 const char *hname; Reg3 int i; enum AuthorizationCheckResult acr; @@ -834,7 +839,6 @@ #endif { ircstp->is_loc++; - cptr->flags |= FLAGS_LOCAL; } return ACR_OK; } @@ -1858,7 +1862,7 @@ auth++; Debug((DEBUG_NOTICE, "auth on %p %d", cptr, i)); RFD_SET(cptr->authfd, &read_set, currfd_index, cptr); - if (cptr->flags & FLAGS_WRAUTH) + if (DoingWRAuth(cptr)) RWFD_SET(cptr->authfd, &write_set, currfd_index); } #ifdef PROXY_PROTECTION @@ -2149,11 +2153,12 @@ if (!(cptr = LOC_CLIENTS(i)) || IsMe(cptr)) continue; #ifdef USE_POLL + if (!(cptr = loc_clients[LOC_FD(i)])) + continue; #ifdef PROXY_PROTECTION - if (DoingSocks(cptr) || DoingDNS(cptr) || DoingAuth(cptr) - || !(cptr = loc_clients[LOC_FD(i)])) + if (DoingSocks(cptr) || DoingDNS(cptr) || DoingAuth(cptr)) #else - if (DoingDNS(cptr) || DoingAuth(cptr) || !(cptr = loc_clients[LOC_FD(i)])) + if (DoingDNS(cptr) || DoingAuth(cptr)) #endif /* PROXY_PROTECTION */ continue; #endif /* USE_POLL */ @@ -2652,8 +2657,8 @@ #ifdef VIRTUAL_HOST #ifdef INET6 memset(from.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); - /* provisional, tiene que ser una copia */ - /* FIXME-ZOLTAN */ + /* provisional, tiene que ser una copia */ + /* FIXME-ZOLTAN */ #else from.SIN_ADDR = vserv.SIN_ADDR; #endif Index: ipv6/ircd/s_err.c diff -u ipv6/ircd/s_err.c:1.3 ipv6/ircd/s_err.c:1.4 --- ipv6/ircd/s_err.c:1.3 Sat Nov 9 06:52:54 2002 +++ ipv6/ircd/s_err.c Tue Dec 17 08:16:52 2002 @@ -24,7 +24,7 @@ #include "sprintf_irc.h" #include "m_watch.h" -RCSTAG_CC("$Id: s_err.c,v 1.3 2002/11/09 14:52:54 zolty Exp $"); +RCSTAG_CC("$Id: s_err.c,v 1.4 2002/12/17 16:16:52 zolty Exp $"); typedef struct { int num_val; @@ -442,9 +442,9 @@ /* 345 */ {0, (char *)NULL}, /* 346 */ - {0, (char *)NULL}, + {RPL_INVITELIST, ":%s"}, /* 347 */ - {0, (char *)NULL}, + {RPL_ENDOFINVITELIST, ":End of Invite List"}, /* 348 */ {0, (char *)NULL}, /* 349 */ Index: ipv6/ircd/s_socks.c diff -u ipv6/ircd/s_socks.c:1.4 ipv6/ircd/s_socks.c:1.5 --- ipv6/ircd/s_socks.c:1.4 Tue Dec 17 02:40:58 2002 +++ ipv6/ircd/s_socks.c Tue Dec 17 08:16:53 2002 @@ -40,6 +40,8 @@ #include <pwd.h> #include <sys/types.h> +#include <assert.h> + #include "h.h" #include "res.h" #include "struct.h" @@ -60,7 +62,7 @@ #ifdef PROXY_PROTECTION -RCSTAG_CC("$Id: s_socks.c,v 1.4 2002/12/17 10:40:58 zolty Exp $"); +RCSTAG_CC("$Id: s_socks.c,v 1.5 2002/12/17 16:16:53 zolty Exp $"); #define PROXY_START ":%s NOTICE SOCKS4 :*** Checking WinGate/SocksProxy security...\r\n" #define PROXY_PASS ":%s NOTICE SOCKS4 :*** Proxy test passed.\r\n" Index: ipv6/ircd/s_user.c diff -u ipv6/ircd/s_user.c:1.8 ipv6/ircd/s_user.c:1.9 --- ipv6/ircd/s_user.c:1.8 Sat Nov 9 06:52:54 2002 +++ ipv6/ircd/s_user.c Tue Dec 17 08:16:53 2002 @@ -69,7 +69,7 @@ #include "IPcheck.h" #include "class.h" -RCSTAG_CC("$Id: s_user.c,v 1.8 2002/11/09 14:52:54 zolty Exp $"); +RCSTAG_CC("$Id: s_user.c,v 1.9 2002/12/17 16:16:53 zolty Exp $"); /* *INDENT-OFF* */ @@ -953,7 +953,6 @@ aClient *acptr; aClient *server = NULL; char nick[NICKLEN + 2]; - char *s; Link *lp; time_t lastnick = (time_t) 0; int differ = 1; @@ -1010,8 +1009,6 @@ sendto_ops("bad NICK param count for %s from %s", parv[1], cptr->name); return 0; } - if (MyConnect(sptr) && (s = strchr(parv[1], '~'))) - *s = '\0'; strncpy(nick, parv[1], NICKLEN + 1); nick[sizeof(nick) - 1] = 0; @@ -1021,7 +1018,8 @@ * creation) then reject it. If from a server and we reject it, * and KILL it. -avalon 4/4/92 */ - if (do_nick_name(nick) == 0 || (IsServer(cptr) && strcmp(nick, parv[1]))) + if (do_nick_name(nick) == 0 || (IsServer(cptr) && strcmp(nick, parv[1])) + || (!IsServer(cptr) && strchr(nick, '~'))) { sendto_one(sptr, err_str(ERR_INVALIDNICKNAME), me.name, parv[0], parv[1]); Index: ipv6/todo.jcea diff -u ipv6/todo.jcea:1.3 ipv6/todo.jcea:1.4 --- ipv6/todo.jcea:1.3 Sat Nov 9 06:52:54 2002 +++ ipv6/todo.jcea Tue Dec 17 08:16:49 2002 @@ -1,4 +1,27 @@ -$Id: todo.jcea,v 1.3 2002/11/09 14:52:54 zolty Exp $ +$Id: todo.jcea,v 1.4 2002/12/17 16:16:49 zolty Exp $ + +16/Dic/02 +Los "invites" deberian estar en la parte local +de los clientes, ya que solo se guardan los invites +de los usuarios propios. + +14/Dic/02 +Dentro de un an~o volver a considerar la opcion de que la tabla +de "watch" se guarde en la red, en vez de en el cliente. + +Puedes ser util para usaurios que se conectan desde diferentes +sitios, o para cubrir la deficiencia del mIRC, que no separa +los "notify" por redes. + +14/Dic/02 +Dentro de un an~o, volver a considerar el comando "/knock", que +manda un aviso a los operadores de un canal con acceso restringido. + +10/Dic/02 +Meditar sobre la conveniencia de migrar las estructuras de compresion +a "servidores", en vez de a "conexiones locales". Ello ahorraria memoria, +aunque comprometeria la posibilidad futura de soportar compresion +con los usuarios. 17/Oct/02 [11:42] <NiKoLaS> que al hacer un /invite te devuelva los canales donde estas invitado y aun no entraste? ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2002-12-17 10:41:19
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2002-12-17 10:41:08 UTC Modified files: CAMBIOS.Ipv6 include/patchlevel.h ircd/IPcheck.c ircd/s_bsd.c ircd/s_socks.c Log message: INET 6.13 ---------------------- diff included ---------------------- Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.12 ipv6/CAMBIOS.Ipv6:1.13 --- ipv6/CAMBIOS.Ipv6:1.12 Sat Nov 9 06:52:54 2002 +++ ipv6/CAMBIOS.Ipv6 Tue Dec 17 02:40:57 2002 @@ -1,3 +1,8 @@ +* 2002/12/17 zo...@ir... INET6.13 +----------------------------------------------------------------------- +Compila con VIRTUAL_HOST y PROXY_PROTECTION activados y desactivados :) +Ya solo queda por arreglar el de VIP, que hay que desactivar. + * 2002/11/09 zo...@ir... INET6.12 ----------------------------------------------------------------------- Actualizacion IRCD hasta el u2.10.H.06.13. Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.13 ipv6/include/patchlevel.h:1.14 --- ipv6/include/patchlevel.h:1.13 Sat Nov 9 06:52:54 2002 +++ ipv6/include/patchlevel.h Tue Dec 17 02:40:58 2002 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.12" + "+INET6.13" /* * Deliberate empty lines Index: ipv6/ircd/IPcheck.c diff -u ipv6/ircd/IPcheck.c:1.5 ipv6/ircd/IPcheck.c:1.6 --- ipv6/ircd/IPcheck.c:1.5 Mon Sep 16 05:22:13 2002 +++ ipv6/ircd/IPcheck.c Tue Dec 17 02:40:58 2002 @@ -37,8 +37,7 @@ #include "support.h" #endif -#ifndef INET6 -RCSTAG_CC("$Id: IPcheck.c,v 1.5 2002/09/16 12:22:13 zolty Exp $"); +RCSTAG_CC("$Id: IPcheck.c,v 1.6 2002/12/17 10:40:58 zolty Exp $"); extern aClient me; extern time_t now; @@ -97,7 +96,7 @@ * Calculate a `hash' value between 0 and HASHTABSIZE, from the internet address `IN_ADDR'. * Apply it immedeately to the table, effectively hiding the table itself. */ -#ifdef INET6 +#ifdef INET61 /* * CALCULATE_HASH for IPv6 address */ @@ -670,4 +669,3 @@ } #endif -#endif /* !INET6 */ Index: ipv6/ircd/s_bsd.c diff -u ipv6/ircd/s_bsd.c:1.6 ipv6/ircd/s_bsd.c:1.7 --- ipv6/ircd/s_bsd.c:1.6 Mon Sep 16 05:22:13 2002 +++ ipv6/ircd/s_bsd.c Tue Dec 17 02:40:58 2002 @@ -97,7 +97,7 @@ #include "msg.h" #endif -RCSTAG_CC("$Id: s_bsd.c,v 1.6 2002/09/16 12:22:13 zolty Exp $"); +RCSTAG_CC("$Id: s_bsd.c,v 1.7 2002/12/17 10:40:58 zolty Exp $"); #define IP_LOOKUP_START ":%s NOTICE IP_LOOKUP :*** Looking up your hostname...\r\n" #define IP_LOOKUP_OK ":%s NOTICE IP_LOOKUP :*** Found your hostname.\r\n" @@ -310,10 +310,13 @@ if (port) { server.SIN_FAMILY = AFINET; -/* FIXME-ZOLTAN */ #ifndef VIRTUAL_HOST - server.SIN_ADDR.S_ADDR = INADDR_ANY; +#ifdef INET6 + memset(server.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); #else + server.SIN_ADDR.S_ADDR = INADDR_ANY; +#endif +#else /* VIRTUAL_HOST */ server.SIN_ADDR = vserv.SIN_ADDR; #endif #ifdef TESTNET @@ -2647,9 +2650,19 @@ memset(&from, 0, sizeof(from)); #ifdef VIRTUAL_HOST +#ifdef INET6 + memset(from.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); + /* provisional, tiene que ser una copia */ + /* FIXME-ZOLTAN */ +#else from.SIN_ADDR = vserv.SIN_ADDR; +#endif +#else /* VIRTUALHOST */ +#ifdef INET6 + memset(from.SIN_ADDR.S_ADDR, 0x0, sizeof(struct IN_ADDR)); #else from.SIN_ADDR.S_ADDR = htonl(INADDR_ANY); +#endif #endif #ifdef TESTNET from.SIN_PORT = htons(atoi(UDP_PORT) + 10000); Index: ipv6/ircd/s_socks.c diff -u ipv6/ircd/s_socks.c:1.3 ipv6/ircd/s_socks.c:1.4 --- ipv6/ircd/s_socks.c:1.3 Thu Sep 12 12:02:15 2002 +++ ipv6/ircd/s_socks.c Tue Dec 17 02:40:58 2002 @@ -60,7 +60,7 @@ #ifdef PROXY_PROTECTION -RCSTAG_CC("$Id: s_socks.c,v 1.3 2002/09/12 19:02:15 zolty Exp $"); +RCSTAG_CC("$Id: s_socks.c,v 1.4 2002/12/17 10:40:58 zolty Exp $"); #define PROXY_START ":%s NOTICE SOCKS4 :*** Checking WinGate/SocksProxy security...\r\n" #define PROXY_PASS ":%s NOTICE SOCKS4 :*** Proxy test passed.\r\n" @@ -244,7 +244,12 @@ sk->vn = 4; sk->cd = 1; sk->dstport = us.SIN_PORT; +#ifdef INET6 + +#else sk->dstip = us.SIN_ADDR.S_ADDR; +#endif + /* Ningun nombre de usuario */ *uname = '\0'; ----------------------- End of diff ----------------------- |
From: Jorge D. <jdu...@na...> - 2002-11-15 16:57:18
|
5:51p.04 (sNotice/ipv6.irc-universal.net) *** Notice -- BlasteR adding local GLINE for *@2001:618:400:266b*, expiring at 1037400555 (Fri Nov 15 17:49:15 2002): test ums? - 1037400555 test ums? (expires at Fri Nov 15 17:49:15 2002). <- raw de ``despedida´´ - (SIGUE la conexión) DEBUG: Sending [:ipv6.irc-universal.net 465 BlasteR 1037400555 :test ums? (expires at Fri Nov 15 17:49:15 2002).] to BlasteR Sending [:ipv6.irc-universal.net NOTICE BlasteR :*** Notice -- G-line active for BlasteR[2001:618:400:266b::f]] to BlasteR Por deducción, se supone que es un caso igual que /WHO. El IRCD no encuentra usuarios concordantes con la mascara G-Lineada... _ ____ ____ | | | _ \ | _ \ _ | | | | | | | |_) | Jorge Duarte Rodríguez - mount | |_| | | |_| | | _ < _ \___(_) |____(_) |_| \_(_) ``Hay cosas en la vida, que no se pueden expresar con palabras´´. |
From: <zo...@te...> - 2002-11-15 16:54:15
|
Arggggg, me he equivocado. > 3=BA VirtualHosting Hay que activarlo, porque desactivado da error de compilacion :P Un saludo |
From: <zo...@te...> - 2002-11-15 16:16:06
|
>gcc -g -O3 -pipe -I../include -I../zlib -c s_bsd.c -o s_bsd.o >s_bsd.c: In function `inetport': >s_bsd.c:315: incompatible types in assignment >s_bsd.c: In function `setup_ping': >s_bsd.c:2652: incompatible types in assignment >make[1]: *** [s_bsd.o] Error 1 Okis, se ve que sucede con el VIRTUALHOST activado, bueno lo apunto pa el todo. Actualmente, para compilar correctamente, hay que tener lo siguiente desactivado en el make config: 1=BA BDD_VIP 2=BA Detector de Proxies 3=BA VirtualHosting Espero que para el proximo commit, se pueda activar la 2 y 3. Lo de ips virtuales lo dejo para un poco mas adelante. Un saludo zoltan |