commit - 15f380592dcc3b1a4fa283200a65fa9385373a7b
commit + d772acf9d6851307a31795870078352ccb6574d2
blob - d3df6ce687e1eb0f146b0fb4a76b84905502e2c8
blob + 29ebc0015de344933818994efd07af4813d796f5
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
* 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")
*/
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
* 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
*/
#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 */
#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
* 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
*/
* 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 :-) */
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
* 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)
*/
#endif
-/* -eof- */
\ No newline at end of file
+/* -eof- */
blob - 965015943d068c02046cb4795899f930d4a47f2f
blob + 4a58d026e8a1bf85f9a0a53a6710d711ac92b387
--- src/ngircd/irc-oper.c
+++ src/ngircd/irc-oper.c
* 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
*/
#include "imp.h"
#include <assert.h>
+#include <string.h>
#include "ngircd.h"
#include "conf.h"
blob - 743824c092272dad3f4070631fb6de88118e313e
blob + 827bc39bc49280f0a8f4ef9c1a6978e4fce35ae6
--- src/ngircd/irc-server.c
+++ src/ngircd/irc-server.c
* 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
*/
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 );
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
* 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 ;-)
*/
#include <assert.h>
#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
#include <signal.h>
#include <string.h>
#include <unistd.h>