Thread: [IPv6 IRC-DEV] [CVS] Module ipv6: Change committed
Brought to you by:
zolty
From: Zolty <zo...@us...> - 2002-11-09 14:53:06
|
CVSROOT : /cvsroot/irc-dev Module : ipv6 Commit time: 2002-11-09 14:53:04 UTC Modified files: .patches CAMBIOS.Ipv6 CAMBIOS2_10_H_05 todo.jcea include/channel.h include/patchlevel.h include/querycmds.h ircd/channel.c ircd/m_watch.c ircd/opercmds.c ircd/s_bdd.c ircd/s_err.c ircd/s_user.c ircd/whocmds.c Added files: CAMBIOS2_10_H_06 Log message: Sincronizacion u2.10.H.06.13 ---------------------- diff included ---------------------- Index: ipv6/.patches diff -u ipv6/.patches:1.2 ipv6/.patches:1.3 --- ipv6/.patches:1.2 Mon Sep 30 08:01:59 2002 +++ ipv6/.patches Sat Nov 9 06:52:54 2002 @@ -1 +1 @@ -u2.10.H.05.93 +u2.10.H.06.13 Index: ipv6/CAMBIOS.Ipv6 diff -u ipv6/CAMBIOS.Ipv6:1.11 ipv6/CAMBIOS.Ipv6:1.12 --- ipv6/CAMBIOS.Ipv6:1.11 Mon Sep 30 08:01:59 2002 +++ ipv6/CAMBIOS.Ipv6 Sat Nov 9 06:52:54 2002 @@ -1,3 +1,7 @@ +* 2002/11/09 zo...@ir... INET6.12 +----------------------------------------------------------------------- +Actualizacion IRCD hasta el u2.10.H.06.13. + * 2002/09/30 zo...@ir... INET6.11 ----------------------------------------------------------------------- Actualizacion IRCD hasta el u2.10.H.05.93. Index: ipv6/CAMBIOS2_10_H_05 diff -u ipv6/CAMBIOS2_10_H_05:1.2 ipv6/CAMBIOS2_10_H_05:1.3 --- ipv6/CAMBIOS2_10_H_05:1.2 Mon Sep 30 08:01:59 2002 +++ ipv6/CAMBIOS2_10_H_05 Sat Nov 9 06:52:54 2002 @@ -1,4 +1,15 @@ -$Id: CAMBIOS2_10_H_05,v 1.2 2002/09/30 15:01:59 zolty Exp $ +$Id: CAMBIOS2_10_H_05,v 1.3 2002/11/09 14:52:54 zolty Exp $ + +* 2002/09/01 jc...@ar... (u2.10.H.05.95) FEATURE + ----------------------------------------------------------------------- + Ampliacion de TOPICLEN de 160 a 240 caracteres (un 50% mas). + +* 2002/09/01 ni...@ir... (u2.10.H.05.94) FIX + ----------------------------------------------------------------------- + Deshacemos el parche u2.10.H.05.71 por enviar el numeric en vez del + nick. Es imposible saber el nick al que se envia un PRIVMSG si el + mensaje se pierde en transito por la red a su destino. Por ello, se + vuelve a mostrar el "*" del codigo original. * 2002/09/30 ni...@ir... (u2.10.H.05.93) FIX ----------------------------------------------------------------------- Index: ipv6/CAMBIOS2_10_H_06 diff -u /dev/null ipv6/CAMBIOS2_10_H_06:1.1 --- /dev/null Sat Nov 9 06:53:05 2002 +++ ipv6/CAMBIOS2_10_H_06 Sat Nov 9 06:52:54 2002 @@ -0,0 +1,79 @@ +$Id: CAMBIOS2_10_H_06,v 1.1 2002/11/09 14:52:54 zolty Exp $ + +* 2002/10/22 jc...@ar... (u2.10.H.06.13) FIX + ----------------------------------------------------------------------- + Otro bug delicado de topic y "/list". + +* 2002/10/21 jc...@ar... (u2.10.H.06.12) FIX + ----------------------------------------------------------------------- + Bug fix de los dos parches anteriores. Este bug es chungo, pero se ha + detectado y solucionado en minutos :-). El servidor cascaba si se hacia + un "/list", ya que ahora puede no existir ni siquiera la informacion + de TOPIC. Antes, aunque no hubiese topic, su espacio SI existia, que + es precisamente lo que queremos eliminar con estos parches. + +* 2002/10/21 jc...@ar... (u2.10.H.06.11) FIX + ----------------------------------------------------------------------- + Bug fix de los dos parches anteriores. + +* 2002/10/21 jc...@ar... (u2.10.H.06.10) FEATURE + ----------------------------------------------------------------------- + Como optimizacion del parche anterior, cuando se pone un "topic" nuevo, + reutilizamos la memoria dinamica del topic anterior si su longitud es + lo bastante grande como para acomodar el nuevo. + +* 2002/10/21 jc...@ar... (u2.10.H.06.09) FEATURE + ----------------------------------------------------------------------- + En vez de reservar 'X' bytes para el topic y el nick del usuario que lo + pone, se usa memoria dinamica para ello. + +* 2002/10/21 ni...@ir... (u2.10.H.06.08) FIX + ----------------------------------------------------------------------- + Solucionado un bug que hacia que no se propagase el modo de canal +M en + los bursts. + +* 2002/10/10 jc...@ar... (u2.10.H.06.07) FIX + ----------------------------------------------------------------------- + Solucionado un posible problema de seguridad en "m_stat()". Ahora no + es problematico, pero no sabemos como puede evolucionar esa funcion + en el futuro, asi que mejor curarse en salud. + +* 2002/10/09 jc...@ar... (u2.10.H.06.06) FEATURE + ----------------------------------------------------------------------- + No se incluye la IP cifrada en los usuarios con IP Virtual personalizada, + porque ello incrementa su "sex appeal" cara a los usuarios. + + El perder esa informacion queda compensado con el + hecho de que las entradas de los usuarios +r quedan + registradas en los bots, incluyendo sus IPs. + + No me acaba de gustar, pero es una peticion de Sisco. + +* 2002/10/09 ni...@ir... (u2.10.H.06.05) FIX + ----------------------------------------------------------------------- + Refinamos el parche u2.10.H.06.02 pues nodos con esa version, esta vez + tenian un numero negativo de helpers. El error se producia porque al + eliminar el conteo de register_user() con la intencion de procesar esa + entrada y sumarla en m_nick(), para entradas remotas de opers con + nick:clave o entradas remotas de bots con +h, no se hacia el conteo de + ese helper, y cuando despues un +h salia de la red, se restaba uno sin + haberse sumado uno anteriormente. + +* 2002/10/07 am...@on... (u2.10.H.06.04) FIX + ----------------------------------------------------------------------- + Comprobaciones extras en los parametros del mensaje DBQ. En concreto, + el nombre de la tabla sólo puede contener un caracter. + +* 2002/10/07 am...@on... (u2.10.H.06.03) FIX + ----------------------------------------------------------------------- + Los JOIN, PART y WHO en los que el origen (es decir, sptr) es un servidor + son ignorados, ya que en el caso del JOIN y WHO, mata el proceso. + +* 2002/10/06 ni...@ir... (u2.10.H.06.02) FIX + ----------------------------------------------------------------------- + Solucionamos un pequeño bug que hacia que en el LUSERS se mostrase + un numero equivocado (mayor) de helpers. + +* 2002/10/01 jc...@ar... (u2.10.H.06.01) CLEANUP + ----------------------------------------------------------------------- + "make indent". Index: ipv6/include/channel.h diff -u ipv6/include/channel.h:1.3 ipv6/include/channel.h:1.4 --- ipv6/include/channel.h:1.3 Mon Sep 30 08:02:00 2002 +++ ipv6/include/channel.h Sat Nov 9 06:52:54 2002 @@ -31,7 +31,7 @@ #define MODEBUFLEN 200 #define KEYLEN 23 -#define TOPICLEN 160 +#define TOPICLEN 240 #define CHANNELLEN 64 #define MAXBANS 75 @@ -154,8 +154,13 @@ struct Channel *nextch, *prevch, *hnextch; Mode mode; time_t creationtime; - char topic[TOPICLEN + 1]; - char topic_nick[NICKLEN + 1]; +/* +** 'topic_nick' se almacena JUSTO A CONTINUACION +** del 'topic' propiamente dicho. Asi nos basta +** con un "malloc"/"free", en vez de dos. +*/ + char *topic; + char *topic_nick; time_t topic_time; unsigned int users; struct SLink *members; Index: ipv6/include/patchlevel.h diff -u ipv6/include/patchlevel.h:1.12 ipv6/include/patchlevel.h:1.13 --- ipv6/include/patchlevel.h:1.12 Mon Sep 30 08:02:00 2002 +++ ipv6/include/patchlevel.h Sat Nov 9 06:52:54 2002 @@ -49,7 +49,7 @@ \ \ \ - "+INET6.11" + "+INET6.12" /* * Deliberate empty lines Index: ipv6/include/querycmds.h diff -u ipv6/include/querycmds.h:1.2 ipv6/include/querycmds.h:1.3 --- ipv6/include/querycmds.h:1.2 Mon Sep 30 08:02:00 2002 +++ ipv6/include/querycmds.h Sat Nov 9 06:52:54 2002 @@ -22,7 +22,6 @@ unsigned int helpers; /* IsHelpOp() */ unsigned int bots_oficiales; /* IsServicesBot() */ #endif - }; /*============================================================================= Index: ipv6/ircd/channel.c diff -u ipv6/ircd/channel.c:1.6 ipv6/ircd/channel.c:1.7 --- ipv6/ircd/channel.c:1.6 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/channel.c Sat Nov 9 06:52:54 2002 @@ -20,6 +20,7 @@ #include "sys.h" #include <stdlib.h> +#include <assert.h> #include "h.h" #include "struct.h" #include "channel.h" @@ -47,7 +48,7 @@ #include "sprintf_irc.h" #include "querycmds.h" -RCSTAG_CC("$Id: channel.c,v 1.6 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: channel.c,v 1.7 2002/11/09 14:52:54 zolty Exp $"); aChannel *channel = NullChn; @@ -2544,13 +2545,14 @@ if (chptr->users > args->min_users && chptr->users < args->max_users && chptr->creationtime > args->min_time && chptr->creationtime < args->max_time && - (!args->topic_limits || (*chptr->topic && + (!args->topic_limits || (chptr->topic && chptr->topic_time > args->min_topic_time && chptr->topic_time < args->max_topic_time))) { sendto_one(cptr, rpl_str(RPL_LIST), me.name, cptr->name, ShowChannel(cptr, chptr) ? chptr->chname : "*", - chptr->users, ShowChannel(cptr, chptr) ? chptr->topic : ""); + chptr->users, ShowChannel(cptr, + chptr) ? (chptr->topic ? (char *)(chptr->topic) : "") : ""); chptr = chptr->nextch; break; } @@ -2623,6 +2625,11 @@ chptr->nextch->prevch = chptr->prevch; hRemChannel(chptr); --nrof.channels; + + if (chptr->topic) + { + RunFree(chptr->topic); + } RunFree((char *)chptr); } @@ -2645,6 +2652,9 @@ size_t *buflen; char *p = NULL, *bufptr; + if (IsServer(sptr)) /* Un servidor entrando en un canal? */ + return 0; + if (parc < 2 || *parv[1] == '\0') { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "JOIN"); @@ -2888,7 +2898,7 @@ if (MyUser(sptr)) { del_invite(sptr, chptr); - if (chptr->topic[0] != '\0') + if (chptr->topic) { sendto_one(sptr, rpl_str(RPL_TOPIC), me.name, parv[0], name, chptr->topic); @@ -3554,6 +3564,20 @@ modebuf[mblen2++] = 'S'; break; } + case 'M': + { + register int tmp; + prev_mode &= ~MODE_MSGNONREG; + if (!(tmp = netride || + (current_mode->mode & MODE_MSGNONREG)) || wipeout) + { + bmodebuf[mblen++] = 'M'; + current_mode->mode |= MODE_MSGNONREG; + } + if (!tmp) + modebuf[mblen2++] = 'M'; + break; + } #endif /* BDD */ case 'n': { @@ -4058,6 +4082,9 @@ sptr->flags &= ~FLAGS_TS8; + if (IsServer(sptr)) /* Sin esto no pasa nada, pero por si las moscas.. */ + return 0; + if (parc < 2 || parv[1][0] == '\0') { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "PART"); @@ -4415,7 +4442,7 @@ if (!topic) /* only asking for topic */ { - if (chptr->topic[0] == '\0') + if (chptr->topic) sendto_one(sptr, rpl_str(RPL_NOTOPIC), me.name, parv[0], chptr->chname); else { @@ -4435,8 +4462,37 @@ #endif { /* setting a topic */ - strncpy(chptr->topic, topic, TOPICLEN); - strncpy(chptr->topic_nick, sptr->name, NICKLEN); + { + int len, len2; + + len = strlen(topic); + if (len > TOPICLEN) + { + len = TOPICLEN; + topic[len] = '\0'; + } + + len2 = len + strlen(sptr->name) + 2; /* El +2 es por los dos '\0' */ + if (chptr->topic) + { + if (chptr->topic_nick + strlen(chptr->topic_nick) + 1 - chptr->topic < + len2) + { + RunFree(chptr->topic); + chptr->topic = RunMalloc(len2); + assert(chptr->topic); + } + } + else + { + chptr->topic = RunMalloc(len2); + assert(chptr->topic); + } + + strcpy(chptr->topic, topic); + chptr->topic_nick = chptr->topic + len + 1; /* Ponemos el nick justo a continuacion */ + strcpy(chptr->topic_nick, sptr->name); + } chptr->topic_time = now; if (!IsLocalChannel(name)) { @@ -4815,7 +4871,8 @@ if (chptr && ShowChannel(sptr, chptr) && sptr->user) sendto_one(sptr, rpl_str(RPL_LIST), me.name, parv[0], ShowChannel(sptr, chptr) ? chptr->chname : "*", - chptr->users - number_of_zombies(chptr), chptr->topic); + chptr->users - number_of_zombies(chptr), + chptr->topic ? chptr->topic : ""); } sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, parv[0]); Index: ipv6/ircd/m_watch.c diff -u ipv6/ircd/m_watch.c:1.4 ipv6/ircd/m_watch.c:1.5 --- ipv6/ircd/m_watch.c:1.4 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/m_watch.c Sat Nov 9 06:52:54 2002 @@ -110,20 +110,24 @@ if (!wptr) return; /* No esta en ningun notify */ -#ifdef BDD_VIP if (!ip_override) { +#if defined(BDD_VIP) if (sptr->user->virtualhost[0] == '\0') { make_virtualhost(sptr, 0, 0); } +#endif +#if defined(BDD) if (!IsHidden(sptr)) { /* Optimizacion para simplificar codigo mas abajo */ ip_override = ip_override_SeeHidden = sptr->user->host; } - } +#else + ip_override = ip_override_SeeHidden = sptr->user->host; #endif + } wptr->lasttime = TStime(); @@ -148,11 +152,11 @@ } else { -#if defined(BDD_VIP) +#if defined(BDD) && defined(BDD_VIP) ip = sptr->user->virtualhost; if (IsHiddenViewer(acptr) || (sptr == acptr)) { - ip = cptr->user->host; + ip = sptr->user->host; } #else ip = sptr->user->host; Index: ipv6/ircd/opercmds.c diff -u ipv6/ircd/opercmds.c:1.3 ipv6/ircd/opercmds.c:1.4 --- ipv6/ircd/opercmds.c:1.3 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/opercmds.c Sat Nov 9 06:52:54 2002 @@ -61,7 +61,7 @@ #include "s_serv.h" #include "hash.h" -RCSTAG_CC("$Id: opercmds.c,v 1.3 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: opercmds.c,v 1.4 2002/11/09 14:52:54 zolty Exp $"); /* * m_squit @@ -305,7 +305,7 @@ aClient *acptr; aGline *agline, *a2gline; aConfItem *aconf; - char stat = parc > 1 ? parv[1][0] : '\0'; + unsigned char stat = parc > 1 ? parv[1][0] : '\0'; Reg1 int i; /* m_stats is so obnoxiously full of special cases that the different @@ -1366,7 +1366,10 @@ parv[3] = NULL; if ((i = hunt_server(IsServer(acptr), cptr, sptr, ":%s TRACE %s :%s", 2, parc, parv)) == HUNTED_NOSUCH) + { + sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[2]); return 0; + } } else i = HUNTED_ISME; @@ -1381,10 +1384,7 @@ acptr = FindNServer(parv[2]); if ((i = hunt_server(0, cptr, sptr, ":%s TRACE %s :%s", 2, parc, parv)) == HUNTED_NOSUCH) - { - sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[2]); return 0; - } tname = parv[1]; } Index: ipv6/ircd/s_bdd.c diff -u ipv6/ircd/s_bdd.c:1.2 ipv6/ircd/s_bdd.c:1.3 --- ipv6/ircd/s_bdd.c:1.2 Thu Sep 12 12:19:00 2002 +++ ipv6/ircd/s_bdd.c Sat Nov 9 06:52:54 2002 @@ -1578,7 +1578,9 @@ return 0; /* No autorizado */ } /* <Origen> DBQ [<server>] <Tabla> <Clave> */ - if (parc != 3 && parc != 4) + if ((parc != 3 && parc != 4) || + (parc == 3 && (parv[1][0] == '\0' || parv[1][1] != '\0')) || + (parc == 4 && (parv[2][0] == '\0' || parv[2][1] != '\0'))) { if (!IsServer(sptr)) Index: ipv6/ircd/s_err.c diff -u ipv6/ircd/s_err.c:1.2 ipv6/ircd/s_err.c:1.3 --- ipv6/ircd/s_err.c:1.2 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/s_err.c Sat Nov 9 06:52:54 2002 @@ -24,7 +24,7 @@ #include "sprintf_irc.h" #include "m_watch.h" -RCSTAG_CC("$Id: s_err.c,v 1.2 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: s_err.c,v 1.3 2002/11/09 14:52:54 zolty Exp $"); typedef struct { int num_val; @@ -42,6 +42,7 @@ {RPL_YOURHOST, ":Your host is %s, running version %s"}, /* 003 */ {RPL_CREATED, ":This server was created %s"}, + /* 004 */ #if defined(BDD) #if defined(BDD_VIP) @@ -52,6 +53,7 @@ #else {RPL_MYINFO, "%s %s dioswkg biklmnopstv"}, #endif /* BDD */ + /* 005 */ {RPL_ISUPPORT, "%s :are supported by this server"}, /* 006 */ @@ -675,7 +677,7 @@ #ifdef BDD {RPL_LUSEROP, "%d :IRCop(s), %d helper(s) and %d official bot(s) online"}, #else - {RPL_LUSEROP, "%d :operator(s) online"}, + {RPL_LUSEROP, "%d :IRCop(s) online"}, #endif /* 253 */ {RPL_LUSERUNKNOWN, "%d :unknown connection(s)"}, Index: ipv6/ircd/s_user.c diff -u ipv6/ircd/s_user.c:1.7 ipv6/ircd/s_user.c:1.8 --- ipv6/ircd/s_user.c:1.7 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/s_user.c Sat Nov 9 06:52:54 2002 @@ -69,7 +69,7 @@ #include "IPcheck.h" #include "class.h" -RCSTAG_CC("$Id: s_user.c,v 1.7 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: s_user.c,v 1.8 2002/11/09 14:52:54 zolty Exp $"); /* *INDENT-OFF* */ @@ -619,8 +619,8 @@ if (IsOper(sptr)) ++nrof.opers; #if defined(BDD) - if (IsHelpOp(sptr)) - ++nrof.helpers; + if (!MyUser(sptr) && IsHelpOp(sptr)) /* Sumamos para entradas REMOTAS de +h */ + ++nrof.helpers; /* Las locales se procesan en m_nick */ if (IsServicesBot(sptr)) ++nrof.bots_oficiales; #endif @@ -1954,6 +1954,7 @@ * ha entrado (ha puesto el nick). * (Cambio de nick local y remoto). */ + if (IsUser(sptr) && !nick_equivalentes) { #ifdef BDD @@ -1974,9 +1975,11 @@ } else { -#endif /* BDD */ chequea_estado_watch(sptr, RPL_LOGON, NULL, NULL); } +#else /* BDD */ + chequea_estado_watch(sptr, RPL_LOGON, NULL, NULL); +#endif /* BDD */ } #endif /* WATCH */ @@ -2185,9 +2188,19 @@ else if (MyUser(sptr) || Protocol(cptr) < 10) sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], nick); else + { +/* +** jc...@ar... - u2.10.H.05.94 +** No podemos devolver el NICK porque +** aqui solo tenemos el "numeric", y si +** el usuario ya se ha desconectado, como +** es el caso, pues no podemos hacer +** la conversion "numeric" -> "nick". +*/ sendto_one(sptr, - ":%s %d %s %s :Target left IRC. Failed to deliver: [%.50s]", - me.name, ERR_NOSUCHNICK, sptr->name, nick, parv[parc - 1]); + ":%s %d %s * :Target left IRC. Failed to deliver: [%.50s]", + me.name, ERR_NOSUCHNICK, sptr->name, parv[parc - 1]); + } continue; } /* @@ -4340,9 +4353,25 @@ && (reg = db_buscar_registro(BDD_IPVIRTUAL2DB, acptr->name))) { assert(strlen(reg->valor) < (HOSTLEN - 24)); + +/* +** A partir de u2.10.H.06.06 no se incluye la IP cifrada +** en los usuarios con IP Virtual personalizada porque +** ello incrementa su "sex appeal" cara a los usuarios. +** El perder esa informacion queda compensado con el +** hecho de que las entradas de los usuarios +r quedan +** registradas en los bots, incluyendo sus IPs. +** No me acaba de gustar, pero es una peticion de Sisco. +** 09/Oct/02 - jc...@ar... +*/ +#if 0 *(acptr->user->virtualhost + 13) = '.'; strcpy(acptr->user->virtualhost + 14, reg->valor); strcat(acptr->user->virtualhost + 14, ".virtual"); +#else + strcpy(acptr->user->virtualhost, reg->valor); + strcat(acptr->user->virtualhost, ".virtual"); +#endif } else { Index: ipv6/ircd/whocmds.c diff -u ipv6/ircd/whocmds.c:1.5 ipv6/ircd/whocmds.c:1.6 --- ipv6/ircd/whocmds.c:1.5 Mon Sep 30 08:02:00 2002 +++ ipv6/ircd/whocmds.c Sat Nov 9 06:52:54 2002 @@ -64,7 +64,7 @@ #include "querycmds.h" #include "IPcheck.h" -RCSTAG_CC("$Id: whocmds.c,v 1.5 2002/09/30 15:02:00 zolty Exp $"); +RCSTAG_CC("$Id: whocmds.c,v 1.6 2002/11/09 14:52:54 zolty Exp $"); /* * m_who() @@ -391,6 +391,9 @@ char *p; /* Scratch char pointer */ char *qrt; /* Pointer to the query type */ static char mymask[512]; /* To save the mask before corrupting it */ + + if (IsServer(sptr)) + return 0; /* Let's find where is our mask, and if actually contains something */ mask = ((parc > 1) ? parv[1] : NULL); Index: ipv6/todo.jcea diff -u ipv6/todo.jcea:1.2 ipv6/todo.jcea:1.3 --- ipv6/todo.jcea:1.2 Mon Sep 30 08:01:59 2002 +++ ipv6/todo.jcea Sat Nov 9 06:52:54 2002 @@ -1,4 +1,32 @@ -$Id: todo.jcea,v 1.2 2002/09/30 15:01:59 zolty Exp $ +$Id: todo.jcea,v 1.3 2002/11/09 14:52:54 zolty Exp $ + +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. + +10/Oct/02 +En el IRCD hay varias secciones marcadas como FIXME o con "#if 0" +y similares. Hacer limpieza de lo que sobre. + +01/Oct/02 +Hay datos en las estructuras que tienen un taman~o fijo elevado, +pero que no se suelen usar a tope. Ejemplos de ello son el +"topic" en los canales, o el "hostname" en los usuarios. + +Deberian usarse estructuras dinamicas. Evaluar conveniencia. 25/Sep/02 Ahora que se muestran los IRCops, Opers y Bots online, ver ----------------------- 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: 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...> - 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...> - 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-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-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-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-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 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-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 ----------------------- |