]> arthur.barton.de Git - ngircd.git/commitdiff
- "back-ports" aus CVS-HEAD fuer Version 0.5.3
authorAlexander Barton <alex@barton.de>
Mon, 4 Nov 2002 19:18:39 +0000 (19:18 +0000)
committerAlexander Barton <alex@barton.de>
Mon, 4 Nov 2002 19:18:39 +0000 (19:18 +0000)
12 files changed:
src/ngircd/channel.c
src/ngircd/channel.h
src/ngircd/client.c
src/ngircd/client.h
src/ngircd/conf.c
src/ngircd/conn.c
src/ngircd/irc.c
src/ngircd/log.c
src/ngircd/messages.h
src/ngircd/ngircd.c
src/portab/portab.h
src/testsuite/ngircd-test.conf

index 50cce094c1f7b448fc17645a65b66ffab2f7600f..fd0c291f49bc1ad00dee3adc3e0d419946735474 100644 (file)
@@ -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: channel.c,v 1.32 2002/09/03 23:57:57 alex Exp $
+ * $Id: channel.c,v 1.32.2.1 2002/11/04 19:18:39 alex Exp $
  *
  * channel.c: Management der Channels
  */
@@ -249,11 +249,11 @@ Channel_Quit( CLIENT *Client, CHAR *Reason )
 } /* Channel_Quit */
 
 
-GLOBAL INT
+GLOBAL LONG
 Channel_Count( VOID )
 {
        CHANNEL *c;
-       INT count;
+       LONG count;
        
        count = 0;
        c = My_Channels;
@@ -266,11 +266,11 @@ Channel_Count( VOID )
 } /* Channel_Count */
 
 
-GLOBAL INT
+GLOBAL LONG
 Channel_MemberCount( CHANNEL *Chan )
 {
        CL2CHAN *cl2chan;
-       INT count;
+       LONG count;
 
        assert( Chan != NULL );
 
index aad7b1878d9f9af8d0bc542eb5d93d2a64adef10..29262a437f46913c84148c4a81054ae7ee7a204f 100644 (file)
@@ -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: channel.h,v 1.21 2002/09/03 23:57:57 alex Exp $
+ * $Id: channel.h,v 1.21.2.1 2002/11/04 19:18:39 alex Exp $
  *
  * channel.h: Management der Channels (Header)
  */
@@ -59,8 +59,8 @@ GLOBAL VOID Channel_Quit PARAMS((CLIENT *Client, CHAR *Reason ));
 
 GLOBAL VOID Channel_Kick PARAMS(( CLIENT *Client, CLIENT *Origin, CHAR *Name, CHAR *Reason ));
 
-GLOBAL INT Channel_Count PARAMS((VOID ));
-GLOBAL INT Channel_MemberCount PARAMS((CHANNEL *Chan ));
+GLOBAL LONG Channel_Count PARAMS((VOID ));
+GLOBAL LONG Channel_MemberCount PARAMS((CHANNEL *Chan ));
 
 GLOBAL CHAR *Channel_Name PARAMS((CHANNEL *Chan ));
 GLOBAL CHAR *Channel_Modes PARAMS((CHANNEL *Chan ));
index 4d7011e423fa6d955067ec3e939079f7b13cf06e..861644f47fff513ff61e88b93f8fa7a24f8cb7ac 100644 (file)
@@ -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: client.c,v 1.60.2.1 2002/10/04 12:40:58 alex Exp $
+ * $Id: client.c,v 1.60.2.2 2002/11/04 19:18:39 alex Exp $
  *
  * client.c: Management aller Clients
  *
@@ -60,8 +60,8 @@ LOCAL CLIENT *This_Server, *My_Clients;
 LOCAL CHAR GetID_Buffer[GETID_LEN];
 
 
-LOCAL INT Count PARAMS(( CLIENT_TYPE Type ));
-LOCAL INT MyCount PARAMS(( CLIENT_TYPE Type ));
+LOCAL LONG Count PARAMS(( CLIENT_TYPE Type ));
+LOCAL LONG MyCount PARAMS(( CLIENT_TYPE Type ));
 
 LOCAL CLIENT *New_Client_Struct PARAMS(( VOID ));
 LOCAL VOID Generate_MyToken PARAMS(( CLIENT *Client ));
@@ -840,46 +840,46 @@ Client_Next( CLIENT *c )
 } /* Client_Next */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_UserCount( VOID )
 {
        return Count( CLIENT_USER );
 } /* Client_UserCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_ServiceCount( VOID )
 {
        return Count( CLIENT_SERVICE );;
 } /* Client_ServiceCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_ServerCount( VOID )
 {
        return Count( CLIENT_SERVER );
 } /* Client_ServerCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_MyUserCount( VOID )
 {
        return MyCount( CLIENT_USER );
 } /* Client_MyUserCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_MyServiceCount( VOID )
 {
        return MyCount( CLIENT_SERVICE );
 } /* Client_MyServiceCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_MyServerCount( VOID )
 {
        CLIENT *c;
-       INT cnt;
+       LONG cnt;
 
        cnt = 0;
        c = My_Clients;
@@ -892,11 +892,11 @@ Client_MyServerCount( VOID )
 } /* Client_MyServerCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_OperCount( VOID )
 {
        CLIENT *c;
-       INT cnt;
+       LONG cnt;
 
        cnt = 0;
        c = My_Clients;
@@ -909,11 +909,11 @@ Client_OperCount( VOID )
 } /* Client_OperCount */
 
 
-GLOBAL INT
+GLOBAL LONG
 Client_UnknownCount( VOID )
 {
        CLIENT *c;
-       INT cnt;
+       LONG cnt;
 
        cnt = 0;
        c = My_Clients;
@@ -953,11 +953,11 @@ Client_IsValidNick( CHAR *Nick )
 } /* Client_IsValidNick */
 
 
-LOCAL INT
+LOCAL LONG
 Count( CLIENT_TYPE Type )
 {
        CLIENT *c;
-       INT cnt;
+       LONG cnt;
 
        cnt = 0;
        c = My_Clients;
@@ -970,11 +970,11 @@ Count( CLIENT_TYPE Type )
 } /* Count */
 
 
-LOCAL INT
+LOCAL LONG
 MyCount( CLIENT_TYPE Type )
 {
        CLIENT *c;
-       INT cnt;
+       LONG cnt;
 
        cnt = 0;
        c = My_Clients;
index a832a1ffe65e3b555154fd356becc22ac4824fda..fa7054277e80642ac8b556588bd79be777f36346 100644 (file)
@@ -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: client.h,v 1.29 2002/09/03 18:54:31 alex Exp $
+ * $Id: client.h,v 1.29.2.1 2002/11/04 19:18:39 alex Exp $
  *
  * client.h: Konfiguration des ngircd (Header)
  */
@@ -124,14 +124,14 @@ GLOBAL BOOLEAN Client_ModeDel PARAMS((CLIENT *Client, CHAR Mode ));
 GLOBAL BOOLEAN Client_CheckNick PARAMS((CLIENT *Client, CHAR *Nick ));
 GLOBAL BOOLEAN Client_CheckID PARAMS((CLIENT *Client, CHAR *ID ));
 
-GLOBAL INT Client_UserCount PARAMS((VOID ));
-GLOBAL INT Client_ServiceCount PARAMS((VOID ));
-GLOBAL INT Client_ServerCount PARAMS((VOID ));
-GLOBAL INT Client_OperCount PARAMS((VOID ));
-GLOBAL INT Client_UnknownCount PARAMS((VOID ));
-GLOBAL INT Client_MyUserCount PARAMS((VOID ));
-GLOBAL INT Client_MyServiceCount PARAMS((VOID ));
-GLOBAL INT Client_MyServerCount PARAMS((VOID ));
+GLOBAL LONG Client_UserCount PARAMS((VOID ));
+GLOBAL LONG Client_ServiceCount PARAMS((VOID ));
+GLOBAL LONG Client_ServerCount PARAMS((VOID ));
+GLOBAL LONG Client_OperCount PARAMS((VOID ));
+GLOBAL LONG Client_UnknownCount PARAMS((VOID ));
+GLOBAL LONG Client_MyUserCount PARAMS((VOID ));
+GLOBAL LONG Client_MyServiceCount PARAMS((VOID ));
+GLOBAL LONG Client_MyServerCount PARAMS((VOID ));
 
 GLOBAL BOOLEAN Client_IsValidNick PARAMS((CHAR *Nick ));
 
index 4bf9e150d2dae23e0cc3c6b64988344201cc3369..f88414a6a63fcdf9fbbdf497cca619f5f094bc3d 100644 (file)
@@ -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: conf.c,v 1.29.2.3 2002/10/04 13:12:46 alex Exp $
+ * $Id: conf.c,v 1.29.2.4 2002/11/04 19:18:39 alex Exp $
  *
  * conf.h: Konfiguration des ngircd
  */
@@ -98,8 +98,8 @@ Conf_Test( VOID )
                printf( "%u", Conf_ListenPorts[i] );
        }
        puts( "" );
-       printf( "  ServerUID = %ld\n", (INT32)Conf_UID );
-       printf( "  ServerGID = %ld\n", (INT32)Conf_GID );
+       printf( "  ServerUID = %ld\n", (LONG)Conf_UID );
+       printf( "  ServerGID = %ld\n", (LONG)Conf_GID );
        printf( "  PingTimeout = %d\n", Conf_PingTimeout );
        printf( "  PongTimeout = %d\n", Conf_PongTimeout );
        printf( "  ConnectRetry = %d\n", Conf_ConnectRetry );
@@ -295,7 +295,7 @@ LOCAL VOID
 Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
 {
        CHAR *ptr;
-       INT32 port;
+       LONG port;
        
        assert( Line > 0 );
        assert( Var != NULL );
@@ -446,7 +446,7 @@ Handle_OPERATOR( INT Line, CHAR *Var, CHAR *Arg )
 LOCAL VOID
 Handle_SERVER( INT Line, CHAR *Var, CHAR *Arg )
 {
-       INT32 port;
+       LONG port;
        
        assert( Line > 0 );
        assert( Var != NULL );
@@ -539,7 +539,7 @@ Validate_Config( VOID )
        }
 
 #ifdef STRICT_RFC
-       if( ! ConfAdminMail[0] )
+       if( ! Conf_ServerAdminMail[0] )
        {
                /* Keine Server-Information konfiguriert */
                Config_Error( LOG_ALERT, "No administrator email address configured in \"%s\" ('AdminEMail')!", NGIRCd_ConfFile );
index 6334952f9b27169895128d5e9ff7debfdfd3d46b..a300af4de1f3f8caa9e5ce9d3774ad8dc860fa5e 100644 (file)
@@ -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.72.2.3 2002/10/04 13:12:46 alex Exp $
+ * $Id: conn.c,v 1.72.2.4 2002/11/04 19:18:39 alex Exp $
  *
  * connect.h: Verwaltung aller Netz-Verbindungen ("connections")
  */
@@ -235,7 +235,7 @@ Conn_Handler( VOID )
        fd_set read_sockets, write_sockets;
        struct timeval tv;
        time_t start, t;
-       INT i;
+       INT i, idx;
 
        start = time( NULL );
        while(( ! NGIRCd_Quit ) && ( ! NGIRCd_Restart ))
@@ -317,7 +317,7 @@ Conn_Handler( VOID )
                        /* Fehler (z.B. Interrupt) */
                        if( errno != EINTR )
                        {
-                               Log( LOG_EMERG, "select(): %s!", strerror( errno ));
+                               Log( LOG_EMERG, "Conn_Handler(): select(): %s!", strerror( errno ));
                                Log( LOG_ALERT, "%s exiting due to fatal errors!", PACKAGE );
                                exit( 1 );
                        }
@@ -327,7 +327,18 @@ Conn_Handler( VOID )
                /* Koennen Daten geschrieben werden? */
                for( i = 0; i < Conn_MaxFD + 1; i++ )
                {
-                       if( FD_ISSET( i, &write_sockets )) Handle_Write( Socket2Index( i ));
+                       if( ! FD_ISSET( i, &write_sockets )) continue;
+
+                       /* Es kann geschrieben werden ... */
+                       idx = Socket2Index( i );
+                       if( idx == NONE ) continue;
+                       
+                       if( ! Handle_Write( idx ))
+                       {
+                               /* Fehler beim Schreiben! Diesen Socket nun
+                                * auch aus dem Read-Set entfernen: */
+                               FD_CLR( i, &read_sockets );
+                       }
                }
 
                /* Daten zum Lesen vorhanden? */
@@ -456,12 +467,17 @@ Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient )
 
        if( close( My_Connections[Idx].sock ) != 0 )
        {
-               Log( LOG_ERR, "Error closing connection %d with %s:%d - %s!", Idx, inet_ntoa( My_Connections[Idx].addr.sin_addr ), ntohs( My_Connections[Idx].addr.sin_port), strerror( errno ));
+               Log( LOG_ERR, "Error closing connection %d (socket %d) with %s:%d - %s!", Idx, My_Connections[Idx].sock, inet_ntoa( My_Connections[Idx].addr.sin_addr ), ntohs( My_Connections[Idx].addr.sin_port), strerror( errno ));
        }
        else
        {
-               Log( LOG_INFO, "Connection %d with %s:%d closed.", Idx, inet_ntoa( My_Connections[Idx].addr.sin_addr ), ntohs( My_Connections[Idx].addr.sin_port ));
+               Log( LOG_INFO, "Connection %d (socket %d) with %s:%d closed.", Idx, My_Connections[Idx].sock, inet_ntoa( My_Connections[Idx].addr.sin_addr ), ntohs( My_Connections[Idx].addr.sin_port ));
        }
+       
+       /* Socket als "ungueltig" markieren */
+       FD_CLR( My_Connections[Idx].sock, &My_Sockets );
+       FD_CLR( My_Connections[Idx].sock, &My_Connects );
+       My_Connections[Idx].sock = NONE;
 
        c = Client_GetFromConn( Idx );
        if( c ) Client_Destroy( c, LogMsg, FwdMsg, TRUE );
@@ -475,18 +491,18 @@ Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient )
                free( My_Connections[Idx].res_stat );
        }
 
-       /* Bei Server-Verbindungen lasttry-Zeitpunkt so setzen, dass
-        * der naechste Verbindungsversuch in RECONNECT_DELAY Sekunden
-        * gestartet wird. */
-       if(( My_Connections[Idx].our_server >= 0 ) && ( Conf_Server[My_Connections[Idx].our_server].lasttry <  time( NULL )))
+       /* Startzeit des naechsten Connect-Versuchs modifizieren? */
+       if(( My_Connections[Idx].our_server >= 0 ) && ( Conf_Server[My_Connections[Idx].our_server].lasttry <  time( NULL ) - Conf_ConnectRetry ))
        {
-               /* Okay, die Verbindung stand schon "genuegend lange" */
+               /* Okay, die Verbindung stand schon "genuegend lange":
+                * lasttry-Zeitpunkt so setzen, dass der naechste
+                * Verbindungsversuch in RECONNECT_DELAY Sekunden
+                * gestartet wird. */
                Conf_Server[My_Connections[Idx].our_server].lasttry = time( NULL ) - Conf_ConnectRetry + RECONNECT_DELAY;
        }
 
-       FD_CLR( My_Connections[Idx].sock, &My_Sockets );
-       FD_CLR( My_Connections[Idx].sock, &My_Connects );
-       My_Connections[Idx].sock = NONE;
+       /* Connection-Struktur loeschen (=freigeben) */
+       Init_Conn_Struct( Idx );
 } /* Conn_Close */
 
 
@@ -557,7 +573,7 @@ Try_Write( CONN_ID Idx )
                /* Fehler! */
                if( errno != EINTR )
                {
-                       Log( LOG_ALERT, "select() failed: %s!", strerror( errno ));
+                       Log( LOG_ALERT, "Try_Write(): select() failed: %s (con=%d, sock=%d)!", strerror( errno ), Idx, My_Connections[Idx].sock );
                        Conn_Close( Idx, "Server error!", NULL, FALSE );
                        return FALSE;
                }
@@ -598,7 +614,7 @@ Handle_Read( INT Sock )
                /* Ein Client Socket: entweder ein User oder Server */
 
                idx = Socket2Index( Sock );
-               Read_Request( idx );
+               if( idx > NONE ) Read_Request( idx );
        }
 } /* Handle_Read */
 
@@ -610,7 +626,7 @@ Handle_Write( CONN_ID Idx )
 
        INT len, res, err;
 
-       assert( Idx >= 0 );
+       assert( Idx > NONE );
        assert( My_Connections[Idx].sock > NONE );
 
        if( FD_ISSET( My_Connections[Idx].sock, &My_Connects ))
@@ -646,9 +662,7 @@ Handle_Write( CONN_ID Idx )
 
                /* PASS und SERVER verschicken */
                Conn_WriteStr( Idx, "PASS %s %s", Conf_Server[My_Connections[Idx].our_server].pwd, NGIRCd_ProtoID );
-               Conn_WriteStr( Idx, "SERVER %s :%s", Conf_ServerName, Conf_ServerInfo );
-
-               return TRUE;
+               return Conn_WriteStr( Idx, "SERVER %s :%s", Conf_ServerName, Conf_ServerInfo );
        }
 
        assert( My_Connections[Idx].wdatalen > 0 );
@@ -658,8 +672,8 @@ Handle_Write( CONN_ID Idx )
        if( len < 0 )
        {
                /* Oops, ein Fehler! */
-               Log( LOG_ERR, "Write error (buffer) on connection %d: %s!", Idx, strerror( errno ));
-               Conn_Close( Idx, "Write error (buffer)!", NULL, FALSE );
+               Log( LOG_ERR, "Write error on connection %d (socket %d): %s!", Idx, My_Connections[Idx].sock, strerror( errno ));
+               Conn_Close( Idx, "Write error!", NULL, FALSE );
                return FALSE;
        }
 
@@ -693,7 +707,7 @@ New_Connection( INT Sock )
                return;
        }
 
-       /* Freie Connection-Struktur suschen */
+       /* Freie Connection-Struktur suchen */
        for( idx = 0; idx < MAX_CONNECTIONS; idx++ ) if( My_Connections[idx].sock == NONE ) break;
        if( idx >= MAX_CONNECTIONS )
        {
@@ -752,8 +766,14 @@ Socket2Index( INT Sock )
 
        for( idx = 0; idx < MAX_CONNECTIONS; idx++ ) if( My_Connections[idx].sock == Sock ) break;
 
-       assert( idx < MAX_CONNECTIONS );
-       return idx;
+       if( idx >= MAX_CONNECTIONS )
+       {
+               /* die Connection wurde vermutlich (wegen eines
+                * Fehlers) bereits wieder abgebaut ... */
+               Log( LOG_DEBUG, "Socket2Index: can't get connection for socket %d!", Sock );
+               return NONE;
+       }
+       else return idx;
 } /* Socket2Index */
 
 
@@ -789,7 +809,7 @@ Read_Request( CONN_ID Idx )
        if( len < 0 )
        {
                /* Fehler beim Lesen */
-               Log( LOG_ERR, "Read error on connection %d: %s!", Idx, strerror( errno ));
+               Log( LOG_ERR, "Read error on connection %d (socket %d): %s!", Idx, My_Connections[Idx].sock, strerror( errno ));
                Conn_Close( Idx, "Read error!", "Client closed connection", FALSE );
                return;
        }
@@ -811,7 +831,10 @@ Handle_Buffer( CONN_ID Idx )
 {
        /* Daten im Lese-Puffer einer Verbindung verarbeiten. */
 
-       CHAR *ptr, *ptr1, *ptr2;
+#ifndef STRICT_RFC
+       CHAR *ptr1, *ptr2;
+#endif
+       CHAR *ptr;
        INT len, delta;
 
        /* Eine komplette Anfrage muss mit CR+LF enden, vgl.
@@ -1072,6 +1095,8 @@ New_Server( INT Server, CONN_ID Idx )
        FD_SET( new_sock, &My_Sockets );
        FD_SET( new_sock, &My_Connects );
        if( new_sock > Conn_MaxFD ) Conn_MaxFD = new_sock;
+       
+       Log( LOG_DEBUG, "Registered new connection %d on socket %d.", Idx, My_Connections[Idx].sock );
 } /* New_Server */
 
 
@@ -1151,7 +1176,7 @@ Read_Resolver_Result( INT r_fd )
        if( i >= MAX_CONNECTIONS )
        {
                /* Opsa! Keine passende Connection gefunden!? Vermutlich
-               * wurde sie schon wieder geschlossen. */
+                * wurde sie schon wieder geschlossen. */
                close( r_fd );
                Log( LOG_DEBUG, "Resolver: Got result for unknown connection!?" );
                return;
index 2babb81e8a8aee8f8cd23ac9040b90da4d5088b9..f2a7b46ded147105e1316501a386d41ed322c1d3 100644 (file)
@@ -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.c,v 1.95.2.2 2002/10/04 13:12:46 alex Exp $
+ * $Id: irc.c,v 1.95.2.3 2002/11/04 19:18:39 alex Exp $
  *
  * irc.c: IRC-Befehle
  */
@@ -109,7 +109,7 @@ IRC_NOTICE( CLIENT *Client, REQUEST *Req )
        assert( Client != NULL );
        assert( Req != NULL );
 
-       if(( Client_Type( Client ) != CLIENT_USER ) && ( Client_Type( Client ) != CLIENT_SERVER )) return IRC_WriteStrClient( Client, ERR_NOTREGISTERED_MSG, Client_ID( Client ));
+       if(( Client_Type( Client ) != CLIENT_USER ) && ( Client_Type( Client ) != CLIENT_SERVER )) return CONNECTED;
 
        /* Falsche Anzahl Parameter? */
        if( Req->argc != 2 ) return CONNECTED;
@@ -834,7 +834,7 @@ IRC_Send_WHO( CLIENT *Client, CHANNEL *Chan, BOOLEAN OnlyOps )
 GLOBAL BOOLEAN
 IRC_Send_LUSERS( CLIENT *Client )
 {
-       INT cnt;
+       LONG cnt;
 
        assert( Client != NULL );
 
index b59090d8fff343d55da3ca31d182b3b5d126e240..71efc2c590b6cb2a828401a81259a822a063352a 100644 (file)
@@ -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: log.c,v 1.37.2.2 2002/10/04 13:12:46 alex Exp $
+ * $Id: log.c,v 1.37.2.3 2002/11/04 19:18:39 alex Exp $
  *
  * log.c: Logging-Funktionen
  */
@@ -96,7 +96,7 @@ Log_InitErrorfile( VOID )
         * landen z.B. alle Ausgaben von assert()-Aufrufen. */
 
        /* Dateiname zusammen bauen */
-       sprintf( Error_File, "%s/%s-%ld.err", ERROR_DIR, PACKAGE, (INT32)getpid( ));
+       sprintf( Error_File, "%s/%s-%ld.err", ERROR_DIR, PACKAGE, (LONG)getpid( ));
 
        /* stderr umlenken */
        fflush( stderr );
index b106c5870139cd055c115c3ee36552d59ef9b821..171f36378aa8c40d5ee973b740b22a0c9e7503f5 100644 (file)
@@ -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: messages.h,v 1.46.2.1 2002/10/03 16:13:38 alex Exp $
+ * $Id: messages.h,v 1.46.2.2 2002/11/04 19:18:39 alex Exp $
  *
  * irc.h: IRC-Befehle (Header)
  */
 
 
 #define RPL_WELCOME_MSG                        "001 %s :Welcome to the Internet Relay Network %s"
-#define RPL_YOURHOST_MSG               "002 %s :Your host is %s, running ngircd %s-%s/%s/%s"
+#define RPL_YOURHOST_MSG               "002 %s :Your host is %s, running version ngircd-%s (%s/%s/%s)"
 #define RPL_CREATED_MSG                        "003 %s :This server has been started %s"
 #define RPL_MYINFO_MSG                 "004 %s %s ngircd-%s %s %s"
 #define RPL_UMODEIS_MSG                        "211 %s +%s"
-#define RPL_LUSERCLIENT_MSG            "251 %s :There are %d users and %d services on %d servers"
-#define RPL_LUSEROP_MSG                        "252 %s %d :operator(s) online"
-#define        RPL_LUSERUNKNOWN_MSG            "253 %s %d :unknown connection(s)"
-#define RPL_LUSERCHANNELS_MSG          "254 %s %d :channels formed"
-#define        RPL_LUSERME_MSG                 "255 %s :I have %d users, %d services and %d servers"
+#define RPL_LUSERCLIENT_MSG            "251 %s :There are %ld users and %ld services on %ld servers"
+#define RPL_LUSEROP_MSG                        "252 %s %ld :operator(s) online"
+#define        RPL_LUSERUNKNOWN_MSG            "253 %s %ld :unknown connection(s)"
+#define RPL_LUSERCHANNELS_MSG          "254 %s %ld :channels formed"
+#define        RPL_LUSERME_MSG                 "255 %s :I have %ld users, %ld services and %ld servers"
 #define RPL_ADMINME_MSG                        "256 %s %s :Administrative info"
 #define RPL_ADMINLOC1_MSG              "257 %s :%s"
 #define RPL_ADMINLOC2_MSG              "258 %s :%s"
@@ -46,7 +46,7 @@
 #define RPL_WHOISIDLE_MSG              "317 %s %s %ld :seconds idle"
 #define RPL_ENDOFWHOIS_MSG             "318 %s %s :End of WHOIS list"
 #define RPL_WHOISCHANNELS_MSG          "319 %s %s :"
-#define RPL_LIST_MSG                   "322 %s %s %d :%s"
+#define RPL_LIST_MSG                   "322 %s %s %ld :%s"
 #define RPL_LISTEND_MSG                        "323 %s :End of LIST"
 #define RPL_CHANNELMODEIS_MSG          "324 %s %s +%s"
 #define RPL_NOTOPIC_MSG                        "331 %s %s :No topic is set"
index 24c90b112c9785332cee045ebe7ca46a2f70d446..d8b6934393eee28cfd0cfb914966d649386eddb6 100644 (file)
@@ -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.54.2.2 2002/10/04 13:12:46 alex Exp $
+ * $Id: ngircd.c,v 1.54.2.3 2002/11/04 19:18:39 alex Exp $
  *
  * ngircd.c: Hier beginnt alles ;-)
  */
@@ -58,7 +58,7 @@ GLOBAL int
 main( int argc, const char *argv[] )
 {
        BOOLEAN ok, configtest = FALSE;
-       INT32 pid, n;
+       LONG pid, n;
        INT i;
 
        umask( 0077 );
@@ -140,7 +140,7 @@ main( int argc, const char *argv[] )
                {
                        /* Kurze Option */
                        
-                       for( n = 1; n < (INT32)strlen( argv[i] ); n++ )
+                       for( n = 1; n < (LONG)strlen( argv[i] ); n++ )
                        {
                                ok = FALSE;
 #ifdef DEBUG
@@ -159,7 +159,7 @@ main( int argc, const char *argv[] )
                                                NGIRCd_ConfFile[FNAME_LEN - 1] = '\0';
 
                                                /* zum uebernaechsten Parameter */
-                                               i++; n = (INT32)strlen( argv[i] );
+                                               i++; n = (LONG)strlen( argv[i] );
                                                ok = TRUE;
                                        }
                                }
@@ -227,7 +227,7 @@ main( int argc, const char *argv[] )
                if( ! NGIRCd_NoDaemon )
                {
                        /* Daemon im Hintergrund erzeugen */
-                       pid = (INT32)fork( );
+                       pid = (LONG)fork( );
                        if( pid > 0 )
                        {
                                /* "alter" Prozess */
@@ -275,7 +275,7 @@ main( int argc, const char *argv[] )
                                if( setuid( Conf_UID ) != 0 ) Log( LOG_ERR, "Can't change User-ID to %u: %s", Conf_UID, strerror( errno ));
                        }
                }
-               Log( LOG_INFO, "Running as user %ld, group %ld, with PID %ld.", (INT32)getuid( ), (INT32)getgid( ), (INT32)getpid( ));
+               Log( LOG_INFO, "Running as user %ld, group %ld, with PID %ld.", (LONG)getuid( ), (LONG)getgid( ), (LONG)getpid( ));
 
                Log_InitErrorfile( );
 
index 63f0cacc67bef45a1fa5f36ed06cafff41bee1bc..626fe1f3248efb7629993e94f7a58255d1242341 100644 (file)
@@ -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: portab.h,v 1.7 2002/06/26 15:43:38 alex Exp $
+ * $Id: portab.h,v 1.7.2.1 2002/11/04 19:18:39 alex Exp $
  *
  * portab.h: "Portabilitaets-Definitionen"
  */
@@ -56,6 +56,9 @@ typedef void POINTER;
 
 typedef signed int INT;
 typedef unsigned int UINT;
+typedef signed long LONG;
+typedef unsigned long ULONG;
+
 typedef signed char INT8;
 typedef unsigned char UINT8;
 typedef signed short INT16;
@@ -63,6 +66,7 @@ typedef unsigned short UINT16;
 typedef signed long INT32;
 typedef unsigned long UINT32;
 
+typedef double DOUBLE;
 typedef float FLOAT;
 
 typedef char CHAR;
index c12cc8d8ac2c8d8fda13f6cd19ee44b78b377d28..d51486f0a4f2f5744daaf2519fb51a36289385cb 100644 (file)
@@ -1,10 +1,11 @@
-# $Id: ngircd-test.conf,v 1.2 2002/09/09 21:25:50 alex Exp $
+# $Id: ngircd-test.conf,v 1.2.2.1 2002/11/04 19:18:39 alex Exp $
 
 [Global]
        Name = ngircd.test.server
        Info = ngIRCd Test-Server
        Ports = 6789
        MotdFile = ngircd-test.motd
+       AdminEMail = admin@irc.server
 
 [Operator]
        Name = TestOp