commit d772acf9d6851307a31795870078352ccb6574d2 from: Alexander Barton date: Mon Apr 08 18:07:42 2002 UTC - Backports aus CVS HEAD-Tree. commit - 15f380592dcc3b1a4fa283200a65fa9385373a7b commit + d772acf9d6851307a31795870078352ccb6574d2 blob - d3df6ce687e1eb0f146b0fb4a76b84905502e2c8 blob + 29ebc0015de344933818994efd07af4813d796f5 --- src/ngircd/conn.c +++ src/ngircd/conn.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: conn.c,v 1.60 2002/03/30 13:40:56 alex Exp $ + * $Id: conn.c,v 1.60.2.1 2002/04/08 18:07:42 alex Exp $ * * connect.h: Verwaltung aller Netz-Verbindungen ("connections") */ @@ -976,6 +976,7 @@ LOCAL VOID New_Server( INT Server, CONN_ID Idx ) return; } Client_SetIntroducer( c, c ); + Client_SetToken( c, TOKEN_OUTBOUND ); /* Verbindung registrieren */ My_Connections[Idx].sock = new_sock; blob - c10c3dc07a4ddd0128070f4da4bcf4c164605792 blob + acdeea3e07887b50b95a443172f1c124f98dc7d3 --- src/ngircd/defines.h +++ src/ngircd/defines.h @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: defines.h,v 1.21 2002/03/29 22:55:02 alex Exp $ + * $Id: defines.h,v 1.21.2.1 2002/04/08 18:07:42 alex Exp $ * * defines.h: (globale) Konstanten */ @@ -28,9 +28,9 @@ #define MAX_LISTEN_PORTS 16 /* max. Anzahl von Listen-Ports */ -#define MAX_OPERATORS 8 /* max. Anzahl konfigurierbarer Operatoren */ +#define MAX_OPERATORS 16 /* max. Anzahl konfigurierbarer Operatoren */ -#define MAX_SERVERS 8 /* max. Anzahl konfigurierbarer Server ("Peers") */ +#define MAX_SERVERS 16 /* max. Anzahl konfigurierbarer Server ("Peers") */ #define MAX_CONNECTIONS 100 /* max. Anzahl von Verbindungen an diesem Server */ @@ -75,7 +75,9 @@ #define MAX_LOG_MSG_LEN 256 /* max. Laenge einer Log-Meldung */ +#define TOKEN_OUTBOUND -2 /* Kennzeichnung fuer ausgehende Server-Links im Aufbau */ + #endif blob - 1547e038dc253eda9be8b9bea7858cee27b0e676 blob + fc27e73e71e0b422baca96dbe5801badd7c65825 --- src/ngircd/irc-login.c +++ src/ngircd/irc-login.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: irc-login.c,v 1.11 2002/03/26 23:58:34 alex Exp $ + * $Id: irc-login.c,v 1.11.2.1 2002/04/08 18:07:42 alex Exp $ * * irc-login.c: Anmeldung und Abmeldung im IRC */ @@ -116,7 +116,7 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req * wenn wir es nicht so machen. Ob es so okay ist? Hm ... */ if( strcmp( Client_ID( target ), Req->argv[0] ) == 0 ) return CONNECTED; #endif - + /* pruefen, ob Nick bereits vergeben. Speziallfall: der Client * will nur die Gross- und Kleinschreibung aendern. Das darf * er natuerlich machen :-) */ @@ -140,8 +140,16 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req else { /* Nick-Aenderung */ - if( Client_Conn( target ) > NONE ) Log( LOG_INFO, "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0], Client_Conn( target )); - else Log( LOG_DEBUG, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] ); + if( Client_Conn( target ) > NONE ) + { + /* lokaler Client */ + Log( LOG_INFO, "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", Client_Mask( target ), Client_Conn( target ), Client_ID( target ), Req->argv[0] ); + } + else + { + /* Remote-Client */ + Log( LOG_DEBUG, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] ); + } /* alle betroffenen User und Server ueber Nick-Aenderung informieren */ if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] ); blob - c3b30b30fa8029235378762ba8d5111037e8c234 blob + cf863183b5f63c0ec7c9a192cea48b4f1c8a7b90 --- src/ngircd/irc-mode.h +++ src/ngircd/irc-mode.h @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: irc-mode.h,v 1.2 2002/03/12 14:37:52 alex Exp $ + * $Id: irc-mode.h,v 1.2.2.1 2002/04/08 18:07:42 alex Exp $ * * irc-mode.h: IRC-Befehle zur Mode-Aenderung (MODE, AWAY, ...) (Header) */ @@ -29,4 +29,4 @@ GLOBAL BOOLEAN IRC_AWAY( CLIENT *Client, REQUEST *Req #endif -/* -eof- */ \ No newline at end of file +/* -eof- */ blob - 965015943d068c02046cb4795899f930d4a47f2f blob + 4a58d026e8a1bf85f9a0a53a6710d711ac92b387 --- src/ngircd/irc-oper.c +++ src/ngircd/irc-oper.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: irc-oper.c,v 1.3 2002/03/27 20:52:58 alex Exp $ + * $Id: irc-oper.c,v 1.3.2.1 2002/04/08 18:07:42 alex Exp $ * * irc-oper.c: IRC-Operator-Befehle */ @@ -19,6 +19,7 @@ #include "imp.h" #include +#include #include "ngircd.h" #include "conf.h" blob - 743824c092272dad3f4070631fb6de88118e313e blob + 827bc39bc49280f0a8f4ef9c1a6978e4fce35ae6 --- src/ngircd/irc-server.c +++ src/ngircd/irc-server.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: irc-server.c,v 1.8 2002/03/27 20:52:58 alex Exp $ + * $Id: irc-server.c,v 1.8.2.1 2002/04/08 18:07:42 alex Exp $ * * irc-server.c: IRC-Befehle fuer Server-Links */ @@ -80,10 +80,11 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Re Client_SetHops( Client, 1 ); Client_SetInfo( Client, Req->argv[Req->argc - 1] ); - /* Meldet sich der Server bei uns an? */ - if( Req->argc == 2 ) + /* Meldet sich der Server bei uns an (d.h., bauen nicht wir + * selber die Verbindung zu einem anderen Server auf)? */ + if( Client_Token( Client ) != TOKEN_OUTBOUND ) { - /* Unseren SERVER- und PASS-Befehl senden */ + /* Eingehende Verbindung: Unseren SERVER- und PASS-Befehl senden */ ok = TRUE; if( ! IRC_WriteStrClient( Client, "PASS %s "PASSSERVERADD, Conf_Server[i].pwd )) ok = FALSE; else ok = IRC_WriteStrClient( Client, "SERVER %s 1 :%s", Conf_ServerName, Conf_ServerInfo ); @@ -95,7 +96,12 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Re Client_SetIntroducer( Client, Client ); Client_SetToken( Client, 1 ); } - else Client_SetToken( Client, atoi( Req->argv[1] )); + else + { + /* Ausgehende verbindung, SERVER und PASS wurden von uns bereits + * an die Gegenseite uerbermittelt */ + Client_SetToken( Client, atoi( Req->argv[1] )); + } Log( LOG_NOTICE|LOG_snotice, "Server \"%s\" registered (connection %d, 1 hop - direct link).", Client_ID( Client ), Client_Conn( Client )); blob - 3cd528346307a15e800f379e940f65ce28cc6ba6 blob + bff68e50eec23ff2dc973b97b132c417c958120e --- src/ngircd/ngircd.c +++ src/ngircd/ngircd.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: ngircd.c,v 1.41.2.1 2002/04/01 17:05:00 alex Exp $ + * $Id: ngircd.c,v 1.41.2.2 2002/04/08 18:07:42 alex Exp $ * * ngircd.c: Hier beginnt alles ;-) */ @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include