commit - 948797662024426dc9af3855fbe16dbd47949a9c
commit + 49d9585242a271bd7ee7d18341e6e3528de345e8
blob - 50cce094c1f7b448fc17645a65b66ffab2f7600f
blob + fd0c291f49bc1ad00dee3adc3e0d419946735474
--- src/ngircd/channel.c
+++ src/ngircd/channel.c
* 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
*/
} /* Channel_Quit */
-GLOBAL INT
+GLOBAL LONG
Channel_Count( VOID )
{
CHANNEL *c;
- INT count;
+ LONG count;
count = 0;
c = My_Channels;
} /* Channel_Count */
-GLOBAL INT
+GLOBAL LONG
Channel_MemberCount( CHANNEL *Chan )
{
CL2CHAN *cl2chan;
- INT count;
+ LONG count;
assert( Chan != NULL );
blob - aad7b1878d9f9af8d0bc542eb5d93d2a64adef10
blob + 29262a437f46913c84148c4a81054ae7ee7a204f
--- src/ngircd/channel.h
+++ src/ngircd/channel.h
* 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)
*/
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 ));
blob - 4d7011e423fa6d955067ec3e939079f7b13cf06e
blob + 861644f47fff513ff61e88b93f8fa7a24f8cb7ac
--- src/ngircd/client.c
+++ src/ngircd/client.c
* 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
*
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 ));
} /* 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;
} /* Client_MyServerCount */
-GLOBAL INT
+GLOBAL LONG
Client_OperCount( VOID )
{
CLIENT *c;
- INT cnt;
+ LONG cnt;
cnt = 0;
c = My_Clients;
} /* Client_OperCount */
-GLOBAL INT
+GLOBAL LONG
Client_UnknownCount( VOID )
{
CLIENT *c;
- INT cnt;
+ LONG cnt;
cnt = 0;
c = My_Clients;
} /* Client_IsValidNick */
-LOCAL INT
+LOCAL LONG
Count( CLIENT_TYPE Type )
{
CLIENT *c;
- INT cnt;
+ LONG cnt;
cnt = 0;
c = My_Clients;
} /* Count */
-LOCAL INT
+LOCAL LONG
MyCount( CLIENT_TYPE Type )
{
CLIENT *c;
- INT cnt;
+ LONG cnt;
cnt = 0;
c = My_Clients;
blob - a832a1ffe65e3b555154fd356becc22ac4824fda
blob + fa7054277e80642ac8b556588bd79be777f36346
--- src/ngircd/client.h
+++ src/ngircd/client.h
* 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)
*/
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 ));
blob - 4bf9e150d2dae23e0cc3c6b64988344201cc3369
blob + f88414a6a63fcdf9fbbdf497cca619f5f094bc3d
--- src/ngircd/conf.c
+++ src/ngircd/conf.c
* 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
*/
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 );
Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
{
CHAR *ptr;
- INT32 port;
+ LONG port;
assert( Line > 0 );
assert( Var != NULL );
LOCAL VOID
Handle_SERVER( INT Line, CHAR *Var, CHAR *Arg )
{
- INT32 port;
+ LONG port;
assert( Line > 0 );
assert( Var != NULL );
}
#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 );
blob - 6334952f9b27169895128d5e9ff7debfdfd3d46b
blob + a300af4de1f3f8caa9e5ce9d3774ad8dc860fa5e
--- 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.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")
*/
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 ))
/* 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 );
}
/* 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? */
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 );
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 */
/* 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;
}
/* Ein Client Socket: entweder ein User oder Server */
idx = Socket2Index( Sock );
- Read_Request( idx );
+ if( idx > NONE ) Read_Request( idx );
}
} /* Handle_Read */
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 ))
/* 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 );
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;
}
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 )
{
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 */
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;
}
{
/* 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.
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 */
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;
blob - 2babb81e8a8aee8f8cd23ac9040b90da4d5088b9
blob + f2a7b46ded147105e1316501a386d41ed322c1d3
--- src/ngircd/irc.c
+++ src/ngircd/irc.c
* 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
*/
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;
GLOBAL BOOLEAN
IRC_Send_LUSERS( CLIENT *Client )
{
- INT cnt;
+ LONG cnt;
assert( Client != NULL );
blob - b59090d8fff343d55da3ca31d182b3b5d126e240
blob + 71efc2c590b6cb2a828401a81259a822a063352a
--- src/ngircd/log.c
+++ src/ngircd/log.c
* 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
*/
* 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 );
blob - b106c5870139cd055c115c3ee36552d59ef9b821
blob + 171f36378aa8c40d5ee973b740b22a0c9e7503f5
--- src/ngircd/messages.h
+++ src/ngircd/messages.h
* 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"
#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"
blob - 24c90b112c9785332cee045ebe7ca46a2f70d446
blob + d8b6934393eee28cfd0cfb914966d649386eddb6
--- 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.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 ;-)
*/
main( int argc, const char *argv[] )
{
BOOLEAN ok, configtest = FALSE;
- INT32 pid, n;
+ LONG pid, n;
INT i;
umask( 0077 );
{
/* Kurze Option */
- for( n = 1; n < (INT32)strlen( argv[i] ); n++ )
+ for( n = 1; n < (LONG)strlen( argv[i] ); n++ )
{
ok = FALSE;
#ifdef DEBUG
NGIRCd_ConfFile[FNAME_LEN - 1] = '\0';
/* zum uebernaechsten Parameter */
- i++; n = (INT32)strlen( argv[i] );
+ i++; n = (LONG)strlen( argv[i] );
ok = TRUE;
}
}
if( ! NGIRCd_NoDaemon )
{
/* Daemon im Hintergrund erzeugen */
- pid = (INT32)fork( );
+ pid = (LONG)fork( );
if( pid > 0 )
{
/* "alter" Prozess */
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( );
blob - 63f0cacc67bef45a1fa5f36ed06cafff41bee1bc
blob + 626fe1f3248efb7629993e94f7a58255d1242341
--- src/portab/portab.h
+++ src/portab/portab.h
* 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"
*/
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;
typedef signed long INT32;
typedef unsigned long UINT32;
+typedef double DOUBLE;
typedef float FLOAT;
typedef char CHAR;
blob - c12cc8d8ac2c8d8fda13f6cd19ee44b78b377d28
blob + d51486f0a4f2f5744daaf2519fb51a36289385cb
--- src/testsuite/ngircd-test.conf
+++ src/testsuite/ngircd-test.conf
-# $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