mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-30 21:42:59 +00:00 
			
		
		
		
	- "Code Cleanups".
This commit is contained in:
		| @@ -9,7 +9,7 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: client.c,v 1.6 2001/12/26 03:19:16 alex Exp $ |  * $Id: client.c,v 1.7 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * client.c: Management aller Clients |  * client.c: Management aller Clients | ||||||
|  * |  * | ||||||
| @@ -21,6 +21,9 @@ | |||||||
|  * Server gewesen, so existiert eine entsprechende CONNECTION-Struktur. |  * Server gewesen, so existiert eine entsprechende CONNECTION-Struktur. | ||||||
|  * |  * | ||||||
|  * $Log: client.c,v $ |  * $Log: client.c,v $ | ||||||
|  |  * Revision 1.7  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.6  2001/12/26 03:19:16  alex |  * Revision 1.6  2001/12/26 03:19:16  alex | ||||||
|  * - neue Funktion Client_Name(). |  * - neue Funktion Client_Name(). | ||||||
|  * |  * | ||||||
| @@ -39,7 +42,6 @@ | |||||||
|  * |  * | ||||||
|  * Revision 1.1  2001/12/14 08:13:43  alex |  * Revision 1.1  2001/12/14 08:13:43  alex | ||||||
|  * - neues Modul begonnen :-) |  * - neues Modul begonnen :-) | ||||||
|  * |  | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -51,13 +53,21 @@ | |||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| #include "channel.h" |  | ||||||
| #include "conn.h" |  | ||||||
| #include "log.h" |  | ||||||
|  |  | ||||||
| #include <exp.h> | #include <exp.h> | ||||||
| #include "client.h" | #include "client.h" | ||||||
|  |  | ||||||
|  | #include <imp.h> | ||||||
|  | #include "channel.h" | ||||||
|  | #include "conn.h" | ||||||
|  | #include "irc.h" | ||||||
|  | #include "log.h" | ||||||
|  | #include "messages.h" | ||||||
|  |  | ||||||
|  | #include <exp.h> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | GLOBAL CLIENT *My_Clients; | ||||||
|  |  | ||||||
|  |  | ||||||
| LOCAL CLIENT *New_Client_Struct( VOID ); | LOCAL CLIENT *New_Client_Struct( VOID ); | ||||||
|  |  | ||||||
| @@ -103,7 +113,7 @@ GLOBAL VOID Client_Exit( VOID ) | |||||||
| } /* Client Exit */ | } /* Client Exit */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL CLIENT *Client_New_Local( CONN_ID Idx, CHAR *Hostname ) | GLOBAL CLIENT *Client_NewLocal( CONN_ID Idx, CHAR *Hostname ) | ||||||
| { | { | ||||||
| 	/* Neuen lokalen Client erzeugen. */ | 	/* Neuen lokalen Client erzeugen. */ | ||||||
| 	 | 	 | ||||||
| @@ -126,7 +136,7 @@ GLOBAL CLIENT *Client_New_Local( CONN_ID Idx, CHAR *Hostname ) | |||||||
| 	My_Clients = client; | 	My_Clients = client; | ||||||
| 	 | 	 | ||||||
| 	return client; | 	return client; | ||||||
| } /* Client_New_Local */ | } /* Client_NewLocal */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL VOID Client_Destroy( CLIENT *Client ) | GLOBAL VOID Client_Destroy( CLIENT *Client ) | ||||||
| @@ -182,6 +192,35 @@ GLOBAL CHAR *Client_Name( CLIENT *Client ) | |||||||
| } /* Client_Name */ | } /* Client_Name */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | GLOBAL BOOLEAN Client_CheckNick( CLIENT *Client, CHAR *Nick ) | ||||||
|  | { | ||||||
|  | 	/* Nick ueberpruefen */ | ||||||
|  |  | ||||||
|  | 	CLIENT *c; | ||||||
|  | 	 | ||||||
|  | 	assert( Client != NULL ); | ||||||
|  | 	assert( Nick != NULL ); | ||||||
|  | 	 | ||||||
|  | 	/* Nick zu lang? */ | ||||||
|  | 	if( strlen( Nick ) > CLIENT_NICK_LEN ) return IRC_WriteStrClient( Client, This_Server, ERR_ERRONEUSNICKNAME_MSG, Client_Name( Client ), Nick ); | ||||||
|  |  | ||||||
|  | 	/* Nick bereits vergeben? */ | ||||||
|  | 	c = My_Clients; | ||||||
|  | 	while( c ) | ||||||
|  | 	{ | ||||||
|  | 		if( strcasecmp( c->nick, Nick ) == 0 ) | ||||||
|  | 		{ | ||||||
|  | 			/* den Nick gibt es bereits */ | ||||||
|  | 			IRC_WriteStrClient( Client, This_Server, ERR_NICKNAMEINUSE_MSG, Client_Name( Client ), Nick ); | ||||||
|  | 			return FALSE; | ||||||
|  | 		} | ||||||
|  | 		c = c->next; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return TRUE; | ||||||
|  | } /* Client_CheckNick */ | ||||||
|  |  | ||||||
|  |  | ||||||
| LOCAL CLIENT *New_Client_Struct( VOID ) | LOCAL CLIENT *New_Client_Struct( VOID ) | ||||||
| { | { | ||||||
| 	/* Neue CLIENT-Struktur pre-initialisieren */ | 	/* Neue CLIENT-Struktur pre-initialisieren */ | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: client.h,v 1.4 2001/12/26 03:19:16 alex Exp $ |  * $Id: client.h,v 1.5 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * client.h: Konfiguration des ngircd (Header) |  * client.h: Konfiguration des ngircd (Header) | ||||||
|  * |  * | ||||||
|  * $Log: client.h,v $ |  * $Log: client.h,v $ | ||||||
|  |  * Revision 1.5  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.4  2001/12/26 03:19:16  alex |  * Revision 1.4  2001/12/26 03:19:16  alex | ||||||
|  * - neue Funktion Client_Name(). |  * - neue Funktion Client_Name(). | ||||||
|  * |  * | ||||||
| @@ -58,10 +61,6 @@ typedef enum | |||||||
| } CLIENT_TYPE; | } CLIENT_TYPE; | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Das Verfahren, mit dem neue Client-Verbindungen beim Server registriert |  | ||||||
|  * werden, ist in RFC 2812, Abschnitt 3.1 ff. definiert. */ |  | ||||||
|  |  | ||||||
|  |  | ||||||
| typedef struct _CLIENT | typedef struct _CLIENT | ||||||
| { | { | ||||||
| 	POINTER *next;			/* Zeiger auf naechste Client-Struktur */ | 	POINTER *next;			/* Zeiger auf naechste Client-Struktur */ | ||||||
| @@ -78,16 +77,16 @@ typedef struct _CLIENT | |||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL CLIENT *This_Server; | GLOBAL CLIENT *This_Server; | ||||||
| GLOBAL CLIENT *My_Clients; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL VOID Client_Init( VOID ); | GLOBAL VOID Client_Init( VOID ); | ||||||
| GLOBAL VOID Client_Exit( VOID ); | GLOBAL VOID Client_Exit( VOID ); | ||||||
|  |  | ||||||
| GLOBAL CLIENT *Client_New_Local( CONN_ID Idx, CHAR *Hostname ); | GLOBAL CLIENT *Client_NewLocal( CONN_ID Idx, CHAR *Hostname ); | ||||||
| GLOBAL VOID Client_Destroy( CLIENT *Client ); | GLOBAL VOID Client_Destroy( CLIENT *Client ); | ||||||
| GLOBAL CLIENT *Client_GetFromConn( CONN_ID Idx ); | GLOBAL CLIENT *Client_GetFromConn( CONN_ID Idx ); | ||||||
| GLOBAL CHAR *Client_Name( CLIENT *Client ); | GLOBAL CHAR *Client_Name( CLIENT *Client ); | ||||||
|  | GLOBAL BOOLEAN Client_CheckNick( CLIENT *Client, CHAR *Nick ); | ||||||
|  |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -9,17 +9,19 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: conf.c,v 1.2 2001/12/26 03:19:57 alex Exp $ |  * $Id: conf.c,v 1.3 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * conf.h: Konfiguration des ngircd |  * conf.h: Konfiguration des ngircd | ||||||
|  * |  * | ||||||
|  * $Log: conf.c,v $ |  * $Log: conf.c,v $ | ||||||
|  |  * Revision 1.3  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.2  2001/12/26 03:19:57  alex |  * Revision 1.2  2001/12/26 03:19:57  alex | ||||||
|  * - erste Konfigurations-Variablen definiert: PING/PONG-Timeout. |  * - erste Konfigurations-Variablen definiert: PING/PONG-Timeout. | ||||||
|  * |  * | ||||||
|  * Revision 1.1  2001/12/12 17:18:20  alex |  * Revision 1.1  2001/12/12 17:18:20  alex | ||||||
|  * - Modul fuer Server-Konfiguration begonnen. |  * - Modul fuer Server-Konfiguration begonnen. | ||||||
|  * |  | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -35,8 +37,8 @@ | |||||||
|  |  | ||||||
| GLOBAL VOID Conf_Init( VOID ) | GLOBAL VOID Conf_Init( VOID ) | ||||||
| { | { | ||||||
| 	Conf_PING_Timeout = 120; | 	Conf_PingTimeout = 120; | ||||||
| 	Conf_PONG_Timeout = 10; | 	Conf_PongTimeout = 10; | ||||||
| } /* Config_Init */ | } /* Config_Init */ | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,17 +9,19 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: conf.h,v 1.2 2001/12/26 03:19:57 alex Exp $ |  * $Id: conf.h,v 1.3 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * conf.h: Konfiguration des ngircd (Header) |  * conf.h: Konfiguration des ngircd (Header) | ||||||
|  * |  * | ||||||
|  * $Log: conf.h,v $ |  * $Log: conf.h,v $ | ||||||
|  |  * Revision 1.3  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.2  2001/12/26 03:19:57  alex |  * Revision 1.2  2001/12/26 03:19:57  alex | ||||||
|  * - erste Konfigurations-Variablen definiert: PING/PONG-Timeout. |  * - erste Konfigurations-Variablen definiert: PING/PONG-Timeout. | ||||||
|  * |  * | ||||||
|  * Revision 1.1  2001/12/12 17:18:20  alex |  * Revision 1.1  2001/12/12 17:18:20  alex | ||||||
|  * - Modul fuer Server-Konfiguration begonnen. |  * - Modul fuer Server-Konfiguration begonnen. | ||||||
|  * |  | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -27,8 +29,8 @@ | |||||||
| #define __conf_h__ | #define __conf_h__ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL INT Conf_PING_Timeout; | GLOBAL INT Conf_PingTimeout; | ||||||
| GLOBAL INT Conf_PONG_Timeout; | GLOBAL INT Conf_PongTimeout; | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL VOID Conf_Init( VOID ); | GLOBAL VOID Conf_Init( VOID ); | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: conn.c,v 1.13 2001/12/26 03:36:57 alex Exp $ |  * $Id: conn.c,v 1.14 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * connect.h: Verwaltung aller Netz-Verbindungen ("connections") |  * connect.h: Verwaltung aller Netz-Verbindungen ("connections") | ||||||
|  * |  * | ||||||
|  * $Log: conn.c,v $ |  * $Log: conn.c,v $ | ||||||
|  |  * Revision 1.14  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.13  2001/12/26 03:36:57  alex |  * Revision 1.13  2001/12/26 03:36:57  alex | ||||||
|  * - Verbindungen mit Lesefehlern werden nun korrekt terminiert. |  * - Verbindungen mit Lesefehlern werden nun korrekt terminiert. | ||||||
|  * |  * | ||||||
| @@ -181,7 +184,7 @@ GLOBAL VOID Conn_Exit( VOID ) | |||||||
| } /* Conn_Exit */ | } /* Conn_Exit */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN Conn_New_Listener( CONST INT Port ) | GLOBAL BOOLEAN Conn_NewListener( CONST INT Port ) | ||||||
| { | { | ||||||
| 	/* Neuen Listen-Socket erzeugen: der Server wartet dann | 	/* Neuen Listen-Socket erzeugen: der Server wartet dann | ||||||
| 	 * auf dem angegebenen Port auf Verbindungen. */ | 	 * auf dem angegebenen Port auf Verbindungen. */ | ||||||
| @@ -241,7 +244,7 @@ GLOBAL BOOLEAN Conn_New_Listener( CONST INT Port ) | |||||||
| 	Log( LOG_INFO, "Now listening on port %d, socket %d.", Port, sock ); | 	Log( LOG_INFO, "Now listening on port %d, socket %d.", Port, sock ); | ||||||
|  |  | ||||||
| 	return TRUE; | 	return TRUE; | ||||||
| } /* Conn_New_Listener */ | } /* Conn_NewListener */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL VOID Conn_Handler( INT Timeout ) | GLOBAL VOID Conn_Handler( INT Timeout ) | ||||||
| @@ -510,7 +513,7 @@ LOCAL VOID New_Connection( INT Sock ) | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/* Client-Struktur initialisieren */ | 	/* Client-Struktur initialisieren */ | ||||||
| 	if( ! Client_New_Local( idx, inet_ntoa( new_addr.sin_addr ))) | 	if( ! Client_NewLocal( idx, inet_ntoa( new_addr.sin_addr ))) | ||||||
| 	{ | 	{ | ||||||
| 		Log( LOG_ALERT, "Can't accept connection: can't create client structure!" ); | 		Log( LOG_ALERT, "Can't accept connection: can't create client structure!" ); | ||||||
| 		close( new_sock ); | 		close( new_sock ); | ||||||
| @@ -654,14 +657,14 @@ LOCAL VOID Check_Connections( VOID ) | |||||||
| 			if( My_Connections[i].lastping > My_Connections[i].lastdata ) | 			if( My_Connections[i].lastping > My_Connections[i].lastdata ) | ||||||
| 			{ | 			{ | ||||||
| 				/* es wurde bereits ein PING gesendet */ | 				/* es wurde bereits ein PING gesendet */ | ||||||
| 				if( My_Connections[i].lastping < time( NULL ) - Conf_PONG_Timeout ) | 				if( My_Connections[i].lastping < time( NULL ) - Conf_PongTimeout ) | ||||||
| 				{ | 				{ | ||||||
| 					/* Timeout */ | 					/* Timeout */ | ||||||
| 					Log( LOG_NOTICE, "Connection %d: Ping timeout." ); | 					Log( LOG_NOTICE, "Connection %d: Ping timeout." ); | ||||||
| 					Conn_Close( i, "Ping timeout" ); | 					Conn_Close( i, "Ping timeout" ); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			else if( My_Connections[i].lastdata < time( NULL ) - Conf_PING_Timeout ) | 			else if( My_Connections[i].lastdata < time( NULL ) - Conf_PingTimeout ) | ||||||
| 			{ | 			{ | ||||||
| 				/* es muss ein PING gesendet werden */ | 				/* es muss ein PING gesendet werden */ | ||||||
| 				Log( LOG_DEBUG, "Connection %d: sending PING ...", i ); | 				Log( LOG_DEBUG, "Connection %d: sending PING ...", i ); | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: conn.h,v 1.6 2001/12/25 22:03:47 alex Exp $ |  * $Id: conn.h,v 1.7 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * conn.h: Verwaltung aller Netz-Verbindungen ("connections") (Header) |  * conn.h: Verwaltung aller Netz-Verbindungen ("connections") (Header) | ||||||
|  * |  * | ||||||
|  * $Log: conn.h,v $ |  * $Log: conn.h,v $ | ||||||
|  |  * Revision 1.7  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.6  2001/12/25 22:03:47  alex |  * Revision 1.6  2001/12/25 22:03:47  alex | ||||||
|  * - Conn_Close() eingefuehrt: war die lokale Funktion Close_Connection(). |  * - Conn_Close() eingefuehrt: war die lokale Funktion Close_Connection(). | ||||||
|  * |  * | ||||||
| @@ -44,7 +47,7 @@ typedef INT CONN_ID; | |||||||
| GLOBAL VOID Conn_Init( VOID ); | GLOBAL VOID Conn_Init( VOID ); | ||||||
| GLOBAL VOID Conn_Exit( VOID ); | GLOBAL VOID Conn_Exit( VOID ); | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN Conn_New_Listener( CONST INT Port ); | GLOBAL BOOLEAN Conn_NewListener( CONST INT Port ); | ||||||
|  |  | ||||||
| GLOBAL VOID Conn_Handler( INT Timeout ); | GLOBAL VOID Conn_Handler( INT Timeout ); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: irc.c,v 1.8 2001/12/26 03:21:46 alex Exp $ |  * $Id: irc.c,v 1.9 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * irc.c: IRC-Befehle |  * irc.c: IRC-Befehle | ||||||
|  * |  * | ||||||
|  * $Log: irc.c,v $ |  * $Log: irc.c,v $ | ||||||
|  |  * Revision 1.9  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.8  2001/12/26 03:21:46  alex |  * Revision 1.8  2001/12/26 03:21:46  alex | ||||||
|  * - PING/PONG-Befehle implementiert, |  * - PING/PONG-Befehle implementiert, | ||||||
|  * - Meldungen ueberarbeitet: enthalten nun (fast) immer den Nick. |  * - Meldungen ueberarbeitet: enthalten nun (fast) immer den Nick. | ||||||
| @@ -82,7 +85,7 @@ GLOBAL VOID IRC_Exit( VOID ) | |||||||
| } /* IRC_Exit */ | } /* IRC_Exit */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN IRC_WriteStr_Client( CLIENT *Client, CLIENT *Prefix, CHAR *Format, ... ) | GLOBAL BOOLEAN IRC_WriteStrClient( CLIENT *Client, CLIENT *Prefix, CHAR *Format, ... ) | ||||||
| { | { | ||||||
| 	/* Text an Clients, lokal bzw. remote, senden. */ | 	/* Text an Clients, lokal bzw. remote, senden. */ | ||||||
|  |  | ||||||
| @@ -105,12 +108,12 @@ GLOBAL BOOLEAN IRC_WriteStr_Client( CLIENT *Client, CLIENT *Prefix, CHAR *Format | |||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| 		/* Remote-Client */ | 		/* Remote-Client */ | ||||||
| 		Log( LOG_EMERG, "not implemented: IRC_WriteStr_Client()" ); | 		Log( LOG_EMERG, "not implemented: IRC_WriteStrClient()" ); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	va_end( ap ); | 	va_end( ap ); | ||||||
| 	return ok; | 	return ok; | ||||||
| } /* IRC_WriteStr_Client */ | } /* IRC_WriteStrClient */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req ) | GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req ) | ||||||
| @@ -121,38 +124,24 @@ GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req ) | |||||||
| 	if( Client->type == CLIENT_UNKNOWN ) | 	if( Client->type == CLIENT_UNKNOWN ) | ||||||
| 	{ | 	{ | ||||||
| 		Log( LOG_DEBUG, "Connection %d: got PASS command ...", Client->conn_id ); | 		Log( LOG_DEBUG, "Connection %d: got PASS command ...", Client->conn_id ); | ||||||
| 		return IRC_WriteStr_Client( Client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( Client ), Req->command ); | 		return IRC_WriteStrClient( Client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( Client ), Req->command ); | ||||||
| 	} | 	} | ||||||
| 	else return IRC_WriteStr_Client( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | 	else return IRC_WriteStrClient( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | ||||||
| } /* IRC_PASS */ | } /* IRC_PASS */ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req ) | GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req ) | ||||||
| { | { | ||||||
| 	CLIENT *c; |  | ||||||
|  |  | ||||||
| 	assert( Client != NULL ); | 	assert( Client != NULL ); | ||||||
| 	assert( Req != NULL ); | 	assert( Req != NULL ); | ||||||
|  |  | ||||||
| 	if( Client->type != CLIENT_SERVER && Client->type != CLIENT_SERVICE ) | 	if( Client->type != CLIENT_SERVER && Client->type != CLIENT_SERVICE ) | ||||||
| 	{ | 	{ | ||||||
| 		/* Falsche Anzahl Parameter? */ | 		/* Falsche Anzahl Parameter? */ | ||||||
| 		if( Req->argc != 1 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | 		if( Req->argc != 1 ) return IRC_WriteStrClient( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | ||||||
|  |  | ||||||
| 		/* Nick zu lang? */ |  | ||||||
| 		if( strlen( Req->argv[0] ) > CLIENT_NICK_LEN ) return IRC_WriteStr_Client( Client, This_Server, ERR_ERRONEUSNICKNAME_MSG, Client_Name( Client ), Req->argv[0] ); |  | ||||||
|  |  | ||||||
| 		/* pruefen, ob Nick bereits vergeben */ | 		/* pruefen, ob Nick bereits vergeben */ | ||||||
| 		c = My_Clients; | 		if( ! Client_CheckNick( Client, Req->argv[0] )) return CONNECTED; | ||||||
| 		while( c ) |  | ||||||
| 		{ |  | ||||||
| 			if( strcasecmp( c->nick, Req->argv[0] ) == 0 ) |  | ||||||
| 			{ |  | ||||||
| 				/* den Nick gibt es bereits */ |  | ||||||
| 				return IRC_WriteStr_Client( Client, This_Server, ERR_NICKNAMEINUSE_MSG, Client_Name( Client ), Req->argv[0] ); |  | ||||||
| 			} |  | ||||||
| 			c = c->next; |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		/* Client-Nick registrieren */ | 		/* Client-Nick registrieren */ | ||||||
| 		strcpy( Client->nick, Req->argv[0] ); | 		strcpy( Client->nick, Req->argv[0] ); | ||||||
| @@ -166,7 +155,7 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req ) | |||||||
| 		} | 		} | ||||||
| 		return CONNECTED; | 		return CONNECTED; | ||||||
| 	} | 	} | ||||||
| 	else return IRC_WriteStr_Client( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | 	else return IRC_WriteStrClient( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | ||||||
| } /* IRC_NICK */ | } /* IRC_NICK */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -178,7 +167,7 @@ GLOBAL BOOLEAN IRC_USER( CLIENT *Client, REQUEST *Req ) | |||||||
| 	if( Client->type == CLIENT_UNKNOWN || Client->type == CLIENT_GOTNICK || Client->type == CLIENT_GOTPASS ) | 	if( Client->type == CLIENT_UNKNOWN || Client->type == CLIENT_GOTNICK || Client->type == CLIENT_GOTPASS ) | ||||||
| 	{ | 	{ | ||||||
| 		/* Falsche Anzahl Parameter? */ | 		/* Falsche Anzahl Parameter? */ | ||||||
| 		if( Req->argc != 4 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | 		if( Req->argc != 4 ) return IRC_WriteStrClient( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | ||||||
|  |  | ||||||
| 		strncpy( Client->user, Req->argv[0], CLIENT_USER_LEN ); | 		strncpy( Client->user, Req->argv[0], CLIENT_USER_LEN ); | ||||||
| 		Client->user[CLIENT_USER_LEN] = '\0'; | 		Client->user[CLIENT_USER_LEN] = '\0'; | ||||||
| @@ -192,9 +181,9 @@ GLOBAL BOOLEAN IRC_USER( CLIENT *Client, REQUEST *Req ) | |||||||
| 	} | 	} | ||||||
| 	else if( Client->type == CLIENT_USER || Client->type == CLIENT_SERVER || Client->type == CLIENT_SERVICE ) | 	else if( Client->type == CLIENT_USER || Client->type == CLIENT_SERVER || Client->type == CLIENT_SERVICE ) | ||||||
| 	{ | 	{ | ||||||
| 		return IRC_WriteStr_Client( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | 		return IRC_WriteStrClient( Client, This_Server, ERR_ALREADYREGISTRED_MSG, Client_Name( Client )); | ||||||
| 	} | 	} | ||||||
| 	else return IRC_WriteStr_Client( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | 	else return IRC_WriteStrClient( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | ||||||
| } /* IRC_USER */ | } /* IRC_USER */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -206,12 +195,12 @@ GLOBAL BOOLEAN IRC_QUIT( CLIENT *Client, REQUEST *Req ) | |||||||
| 	if( Client->type != CLIENT_SERVER && Client->type != CLIENT_SERVICE ) | 	if( Client->type != CLIENT_SERVER && Client->type != CLIENT_SERVICE ) | ||||||
| 	{ | 	{ | ||||||
| 		/* Falsche Anzahl Parameter? */ | 		/* Falsche Anzahl Parameter? */ | ||||||
| 		if( Req->argc > 1 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | 		if( Req->argc > 1 ) return IRC_WriteStrClient( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | ||||||
|  |  | ||||||
| 		Conn_Close( Client->conn_id, "Client wants to quit." ); | 		Conn_Close( Client->conn_id, "Client wants to quit." ); | ||||||
| 		return DISCONNECTED; | 		return DISCONNECTED; | ||||||
| 	} | 	} | ||||||
| 	else return IRC_WriteStr_Client( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | 	else return IRC_WriteStrClient( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | ||||||
| } /* IRC_QUIT */ | } /* IRC_QUIT */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -220,7 +209,7 @@ GLOBAL BOOLEAN IRC_PING( CLIENT *Client, REQUEST *Req ) | |||||||
| 	assert( Client != NULL ); | 	assert( Client != NULL ); | ||||||
| 	assert( Req != NULL ); | 	assert( Req != NULL ); | ||||||
|  |  | ||||||
| 	return IRC_WriteStr_Client( Client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( Client ), Req->command ); | 	return IRC_WriteStrClient( Client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( Client ), Req->command ); | ||||||
| } /* IRC_PING */ | } /* IRC_PING */ | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -232,8 +221,8 @@ GLOBAL BOOLEAN IRC_PONG( CLIENT *Client, REQUEST *Req ) | |||||||
| 	if( ! Check_Valid_User( Client )) return CONNECTED; | 	if( ! Check_Valid_User( Client )) return CONNECTED; | ||||||
|  |  | ||||||
| 	/* Falsche Anzahl Parameter? */ | 	/* Falsche Anzahl Parameter? */ | ||||||
| 	if( Req->argc < 1 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NOORIGIN_MSG, Client_Name( Client )); | 	if( Req->argc < 1 ) return IRC_WriteStrClient( Client, This_Server, ERR_NOORIGIN_MSG, Client_Name( Client )); | ||||||
| 	if( Req->argc > 1 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | 	if( Req->argc > 1 ) return IRC_WriteStrClient( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | ||||||
|  |  | ||||||
| 	/* Der Connection-Timestamp wurde schon beim Lesen aus dem Socket | 	/* Der Connection-Timestamp wurde schon beim Lesen aus dem Socket | ||||||
| 	 * aktualisiert, daher muss das hier nicht mehr gemacht werden. */ | 	 * aktualisiert, daher muss das hier nicht mehr gemacht werden. */ | ||||||
| @@ -251,7 +240,7 @@ GLOBAL BOOLEAN IRC_MOTD( CLIENT *Client, REQUEST *Req ) | |||||||
| 	if( ! Check_Valid_User( Client )) return CONNECTED; | 	if( ! Check_Valid_User( Client )) return CONNECTED; | ||||||
|  |  | ||||||
| 	/* Falsche Anzahl Parameter? */ | 	/* Falsche Anzahl Parameter? */ | ||||||
| 	if( Req->argc != 0 ) return IRC_WriteStr_Client( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | 	if( Req->argc != 0 ) return IRC_WriteStrClient( Client, This_Server, ERR_NEEDMOREPARAMS_MSG, Client_Name( Client ), Req->command ); | ||||||
|  |  | ||||||
| 	return Show_MOTD( Client ); | 	return Show_MOTD( Client ); | ||||||
| } /* IRC_MOTD */ | } /* IRC_MOTD */ | ||||||
| @@ -263,7 +252,7 @@ LOCAL BOOLEAN Check_Valid_User( CLIENT *Client ) | |||||||
|  |  | ||||||
| 	if( Client->type != CLIENT_USER ) | 	if( Client->type != CLIENT_USER ) | ||||||
| 	{ | 	{ | ||||||
| 		IRC_WriteStr_Client( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | 		IRC_WriteStrClient( Client, This_Server, ERR_NOTREGISTERED_MSG, Client_Name( Client )); | ||||||
| 		return FALSE; | 		return FALSE; | ||||||
| 	} | 	} | ||||||
| 	else return TRUE; | 	else return TRUE; | ||||||
| @@ -277,10 +266,10 @@ LOCAL BOOLEAN Hello_User( CLIENT *Client ) | |||||||
| 	 | 	 | ||||||
| 	Log( LOG_NOTICE, "User \"%s!%s@%s\" (%s) registered.", Client->nick, Client->user, Client->host, Client->name ); | 	Log( LOG_NOTICE, "User \"%s!%s@%s\" (%s) registered.", Client->nick, Client->user, Client->host, Client->name ); | ||||||
|  |  | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_WELCOME_MSG, Client->nick, Client->nick, Client->user, Client->host ); | 	IRC_WriteStrClient( Client, This_Server, RPL_WELCOME_MSG, Client->nick, Client->nick, Client->user, Client->host ); | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_YOURHOST_MSG, Client->nick, This_Server->host ); | 	IRC_WriteStrClient( Client, This_Server, RPL_YOURHOST_MSG, Client->nick, This_Server->host ); | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_CREATED_MSG, Client->nick ); | 	IRC_WriteStrClient( Client, This_Server, RPL_CREATED_MSG, Client->nick ); | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_MYINFO_MSG, Client->nick, This_Server->host ); | 	IRC_WriteStrClient( Client, This_Server, RPL_MYINFO_MSG, Client->nick, This_Server->host ); | ||||||
|  |  | ||||||
| 	Client->type = CLIENT_USER; | 	Client->type = CLIENT_USER; | ||||||
|  |  | ||||||
| @@ -293,9 +282,9 @@ LOCAL BOOLEAN Show_MOTD( CLIENT *Client ) | |||||||
| 	assert( Client != NULL ); | 	assert( Client != NULL ); | ||||||
| 	assert( Client->nick[0] ); | 	assert( Client->nick[0] ); | ||||||
| 	 | 	 | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_MOTDSTART_MSG, Client->nick, This_Server->host ); | 	IRC_WriteStrClient( Client, This_Server, RPL_MOTDSTART_MSG, Client->nick, This_Server->host ); | ||||||
| 	IRC_WriteStr_Client( Client, This_Server, RPL_MOTD_MSG, Client->nick, "Some cool IRC server welcome message ;-)" ); | 	IRC_WriteStrClient( Client, This_Server, RPL_MOTD_MSG, Client->nick, "Some cool IRC server welcome message ;-)" ); | ||||||
| 	return IRC_WriteStr_Client( Client, This_Server, RPL_ENDOFMOTD_MSG, Client->nick ); | 	return IRC_WriteStrClient( Client, This_Server, RPL_ENDOFMOTD_MSG, Client->nick ); | ||||||
| } /* Show_MOTD */ | } /* Show_MOTD */ | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: irc.h,v 1.5 2001/12/26 03:21:46 alex Exp $ |  * $Id: irc.h,v 1.6 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * irc.h: IRC-Befehle (Header) |  * irc.h: IRC-Befehle (Header) | ||||||
|  * |  * | ||||||
|  * $Log: irc.h,v $ |  * $Log: irc.h,v $ | ||||||
|  |  * Revision 1.6  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.5  2001/12/26 03:21:46  alex |  * Revision 1.5  2001/12/26 03:21:46  alex | ||||||
|  * - PING/PONG-Befehle implementiert, |  * - PING/PONG-Befehle implementiert, | ||||||
|  * - Meldungen ueberarbeitet: enthalten nun (fast) immer den Nick. |  * - Meldungen ueberarbeitet: enthalten nun (fast) immer den Nick. | ||||||
| @@ -43,7 +46,7 @@ | |||||||
| GLOBAL VOID IRC_Init( VOID ); | GLOBAL VOID IRC_Init( VOID ); | ||||||
| GLOBAL VOID IRC_Exit( VOID ); | GLOBAL VOID IRC_Exit( VOID ); | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN IRC_WriteStr_Client( CLIENT *Client, CLIENT *Prefix, CHAR *Format, ... ); | GLOBAL BOOLEAN IRC_WriteStrClient( CLIENT *Client, CLIENT *Prefix, CHAR *Format, ... ); | ||||||
|  |  | ||||||
| GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req ); | GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req ); | ||||||
| GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req ); | GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req ); | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: ngircd.c,v 1.10 2001/12/24 01:34:38 alex Exp $ |  * $Id: ngircd.c,v 1.11 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * ngircd.c: Hier beginnt alles ;-) |  * ngircd.c: Hier beginnt alles ;-) | ||||||
|  * |  * | ||||||
|  * $Log: ngircd.c,v $ |  * $Log: ngircd.c,v $ | ||||||
|  |  * Revision 1.11  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.10  2001/12/24 01:34:38  alex |  * Revision 1.10  2001/12/24 01:34:38  alex | ||||||
|  * - Signal-Handler aufgeraeumt; u.a. SIGPIPE wird nun korrekt ignoriert. |  * - Signal-Handler aufgeraeumt; u.a. SIGPIPE wird nun korrekt ignoriert. | ||||||
|  * |  * | ||||||
| @@ -96,10 +99,11 @@ GLOBAL INT main( INT argc, CONST CHAR *argv[] ) | |||||||
| 	Client_Init( ); | 	Client_Init( ); | ||||||
| 	Conn_Init( ); | 	Conn_Init( ); | ||||||
|  |  | ||||||
|  | 	/* Signal-Handler initialisieren */ | ||||||
| 	Initialize_Signal_Handler( ); | 	Initialize_Signal_Handler( ); | ||||||
| 	 | 	 | ||||||
| 	if( ! Conn_New_Listener( 6668 )) exit( 1 ); | 	if( ! Conn_NewListener( 6668 )) exit( 1 ); | ||||||
| 	if( ! Conn_New_Listener( 6669 )) Log( LOG_WARNING, "Can't create second listening socket!" ); | 	if( ! Conn_NewListener( 6669 )) Log( LOG_WARNING, "Can't create second listening socket!" ); | ||||||
| 	 | 	 | ||||||
| 	/* Hauptschleife */ | 	/* Hauptschleife */ | ||||||
| 	while( ! NGIRCd_Quit ) | 	while( ! NGIRCd_Quit ) | ||||||
| @@ -122,7 +126,8 @@ GLOBAL INT main( INT argc, CONST CHAR *argv[] ) | |||||||
|  |  | ||||||
| LOCAL VOID Initialize_Signal_Handler( VOID ) | LOCAL VOID Initialize_Signal_Handler( VOID ) | ||||||
| { | { | ||||||
| 	/* Signal-Handler initialisieren: Strukturen anlegen und einhaengen :-) */ | 	/* Signal-Handler initialisieren: einige Signale | ||||||
|  | 	 * werden ignoriert, andere speziell behandelt. */ | ||||||
|  |  | ||||||
| 	struct sigaction saction; | 	struct sigaction saction; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: parse.c,v 1.5 2001/12/26 03:23:03 alex Exp $ |  * $Id: parse.c,v 1.6 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * parse.c: Parsen der Client-Anfragen |  * parse.c: Parsen der Client-Anfragen | ||||||
|  * |  * | ||||||
|  * $Log: parse.c,v $ |  * $Log: parse.c,v $ | ||||||
|  |  * Revision 1.6  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.5  2001/12/26 03:23:03  alex |  * Revision 1.5  2001/12/26 03:23:03  alex | ||||||
|  * - PING/PONG-Befehle implementiert. |  * - PING/PONG-Befehle implementiert. | ||||||
|  * |  * | ||||||
| @@ -227,7 +230,7 @@ LOCAL BOOLEAN Handle_Request( CONN_ID Idx, REQUEST *Req ) | |||||||
| 	else if( strcasecmp( Req->command, "MOTD" ) == 0 ) return IRC_MOTD( client, Req ); | 	else if( strcasecmp( Req->command, "MOTD" ) == 0 ) return IRC_MOTD( client, Req ); | ||||||
|  |  | ||||||
| 	/* Unbekannter Befehl */ | 	/* Unbekannter Befehl */ | ||||||
| 	IRC_WriteStr_Client( client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( client ), Req->command ); | 	IRC_WriteStrClient( client, This_Server, ERR_UNKNOWNCOMMAND_MSG, Client_Name( client ), Req->command ); | ||||||
|  |  | ||||||
| 	Log( LOG_DEBUG, "Connection %d: Unknown command '%s', %d %s,%s prefix.", Idx, Req->command, Req->argc, Req->argc == 1 ? "parameter" : "parameters", Req->prefix ? "" : " no" ); | 	Log( LOG_DEBUG, "Connection %d: Unknown command '%s', %d %s,%s prefix.", Idx, Req->command, Req->argc, Req->argc == 1 ? "parameter" : "parameters", Req->prefix ? "" : " no" ); | ||||||
| 	 | 	 | ||||||
|   | |||||||
| @@ -9,14 +9,16 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: parse.h,v 1.1 2001/12/21 23:53:16 alex Exp $ |  * $Id: parse.h,v 1.2 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * parse.h: Parsen der Client-Anfragen (Header) |  * parse.h: Parsen der Client-Anfragen (Header) | ||||||
|  * |  * | ||||||
|  * $Log: parse.h,v $ |  * $Log: parse.h,v $ | ||||||
|  |  * Revision 1.2  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.1  2001/12/21 23:53:16  alex |  * Revision 1.1  2001/12/21 23:53:16  alex | ||||||
|  * - Modul zum Parsen von Client-Requests begonnen. |  * - Modul zum Parsen von Client-Requests begonnen. | ||||||
|  * |  | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,11 +9,14 @@ | |||||||
|  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste |  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste | ||||||
|  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. |  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS. | ||||||
|  * |  * | ||||||
|  * $Id: tool.h,v 1.2 2001/12/12 17:20:33 alex Exp $ |  * $Id: tool.h,v 1.3 2001/12/26 14:45:37 alex Exp $ | ||||||
|  * |  * | ||||||
|  * log.h: Hilfsfunktionen (Header) |  * log.h: Hilfsfunktionen (Header) | ||||||
|  * |  * | ||||||
|  * $Log: tool.h,v $ |  * $Log: tool.h,v $ | ||||||
|  |  * Revision 1.3  2001/12/26 14:45:37  alex | ||||||
|  |  * - "Code Cleanups". | ||||||
|  |  * | ||||||
|  * Revision 1.2  2001/12/12 17:20:33  alex |  * Revision 1.2  2001/12/12 17:20:33  alex | ||||||
|  * - Tool-Funktionen haben nun das Praefix "ngt_". |  * - Tool-Funktionen haben nun das Praefix "ngt_". | ||||||
|  * |  * | ||||||
| @@ -26,7 +29,7 @@ | |||||||
| #define __tool_h__ | #define __tool_h__ | ||||||
|  |  | ||||||
|  |  | ||||||
| GLOBAL VOID ngt_Trim_Str( CHAR *String ); | GLOBAL VOID ngt_TrimStr( CHAR *String ); | ||||||
|  |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton