mirror of
https://github.com/osmarks/ngircd.git
synced 2025-05-21 08:34:10 +00:00
- Backports aus HEAD: Format-String- und Buffer-Overflow-Bugs behoben,
die zum Abbruch des Servers fuehren konnten.
This commit is contained in:
parent
a119700c62
commit
bdd23ece63
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
#
|
#
|
||||||
# $Id: configure.in,v 1.58.2.4 2002/10/03 16:10:25 alex Exp $
|
# $Id: configure.in,v 1.58.2.5 2002/10/04 11:31:28 alex Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
# -- Initialisierung --
|
# -- Initialisierung --
|
||||||
@ -18,7 +18,7 @@ AC_INIT
|
|||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.50)
|
||||||
AC_CANONICAL_TARGET
|
AC_CANONICAL_TARGET
|
||||||
AC_CONFIG_SRCDIR(src/config.h.in)
|
AC_CONFIG_SRCDIR(src/config.h.in)
|
||||||
AM_INIT_AUTOMAKE(ngircd,0.5.1)
|
AM_INIT_AUTOMAKE(ngircd,0.5.CVS)
|
||||||
AM_CONFIG_HEADER(src/config.h)
|
AM_CONFIG_HEADER(src/config.h)
|
||||||
|
|
||||||
# -- Templates fuer config.h --
|
# -- Templates fuer config.h --
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: conf.c,v 1.29.2.1 2002/09/19 10:17:50 alex Exp $
|
* conf.c,v 1.29.2.1 2002/09/19 10:17:50 alex Exp
|
||||||
*
|
*
|
||||||
* conf.h: Konfiguration des ngircd
|
* conf.h: Konfiguration des ngircd
|
||||||
*/
|
*/
|
||||||
@ -67,7 +67,7 @@ Conf_Test( VOID )
|
|||||||
{
|
{
|
||||||
/* Konfiguration einlesen, ueberpruefen und ausgeben. */
|
/* Konfiguration einlesen, ueberpruefen und ausgeben. */
|
||||||
|
|
||||||
UINT i;
|
INT i;
|
||||||
|
|
||||||
Use_Log = FALSE;
|
Use_Log = FALSE;
|
||||||
Set_Defaults( );
|
Set_Defaults( );
|
||||||
@ -584,7 +584,7 @@ va_dcl
|
|||||||
/* Im "normalen Betrieb" soll der Log-Mechanismus des ngIRCd verwendet
|
/* Im "normalen Betrieb" soll der Log-Mechanismus des ngIRCd verwendet
|
||||||
* werden, beim Testen der Konfiguration jedoch nicht, hier sollen alle
|
* werden, beim Testen der Konfiguration jedoch nicht, hier sollen alle
|
||||||
* Meldungen direkt auf die Konsole ausgegeben werden: */
|
* Meldungen direkt auf die Konsole ausgegeben werden: */
|
||||||
if( Use_Log ) Log( Level, msg );
|
if( Use_Log ) Log( Level, "%s", msg );
|
||||||
else puts( msg );
|
else puts( msg );
|
||||||
} /* Config_Error */
|
} /* Config_Error */
|
||||||
|
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: conn.c,v 1.72.2.1 2002/10/03 16:13:38 alex Exp $
|
* conn.c,v 1.72.2.1 2002/10/03 16:13:38 alex Exp
|
||||||
*
|
*
|
||||||
* connect.h: Verwaltung aller Netz-Verbindungen ("connections")
|
* connect.h: Verwaltung aller Netz-Verbindungen ("connections")
|
||||||
*/
|
*/
|
||||||
@ -1133,7 +1133,7 @@ Read_Resolver_Result( INT r_fd )
|
|||||||
FD_CLR( r_fd, &Resolver_FDs );
|
FD_CLR( r_fd, &Resolver_FDs );
|
||||||
|
|
||||||
/* Anfrage vom Parent lesen */
|
/* Anfrage vom Parent lesen */
|
||||||
len = read( r_fd, result, HOST_LEN);
|
len = read( r_fd, result, HOST_LEN - 1 );
|
||||||
if( len < 0 )
|
if( len < 0 )
|
||||||
{
|
{
|
||||||
/* Fehler beim Lesen aus der Pipe */
|
/* Fehler beim Lesen aus der Pipe */
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: irc-server.c,v 1.17 2002/09/07 17:57:31 alex Exp $
|
* irc-server.c,v 1.18 2002/10/04 11:21:46 alex Exp
|
||||||
*
|
*
|
||||||
* irc-server.c: IRC-Befehle fuer Server-Links
|
* irc-server.c: IRC-Befehle fuer Server-Links
|
||||||
*/
|
*/
|
||||||
@ -188,7 +188,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
|
|||||||
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
|
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
|
||||||
{
|
{
|
||||||
/* Zeile senden */
|
/* Zeile senden */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
sprintf( str, "NJOIN %s :", Channel_Name( chan ));
|
sprintf( str, "NJOIN %s :", Channel_Name( chan ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,7 +199,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
|
|||||||
if( str[strlen( str ) - 1] != ':')
|
if( str[strlen( str ) - 1] != ':')
|
||||||
{
|
{
|
||||||
/* Ja; Also senden ... */
|
/* Ja; Also senden ... */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* naechsten Channel suchen */
|
/* naechsten Channel suchen */
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: irc-write.c,v 1.7.2.1 2002/09/17 17:29:20 alex Exp $
|
* irc-write.c,v 1.7.2.1 2002/09/17 17:29:20 alex Exp
|
||||||
*
|
*
|
||||||
* irc-write.c: IRC-Texte und Befehle ueber Netzwerk versenden
|
* irc-write.c: IRC-Texte und Befehle ueber Netzwerk versenden
|
||||||
*/
|
*/
|
||||||
@ -62,7 +62,7 @@ va_dcl
|
|||||||
va_end( ap );
|
va_end( ap );
|
||||||
|
|
||||||
/* an den Client selber */
|
/* an den Client selber */
|
||||||
ok = IRC_WriteStrClientPrefix( Client, Client_ThisServer( ), buffer );
|
ok = IRC_WriteStrClientPrefix( Client, Client_ThisServer( ), "%s", buffer );
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
} /* IRC_WriteStrClient */
|
} /* IRC_WriteStrClient */
|
||||||
@ -128,7 +128,7 @@ va_dcl
|
|||||||
vsnprintf( buffer, 1000, Format, ap );
|
vsnprintf( buffer, 1000, Format, ap );
|
||||||
va_end( ap );
|
va_end( ap );
|
||||||
|
|
||||||
return IRC_WriteStrChannelPrefix( Client, Chan, Client_ThisServer( ), Remote, buffer );
|
return IRC_WriteStrChannelPrefix( Client, Chan, Client_ThisServer( ), Remote, "%s", buffer );
|
||||||
} /* IRC_WriteStrChannel */
|
} /* IRC_WriteStrChannel */
|
||||||
|
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ va_dcl
|
|||||||
va_end( ap );
|
va_end( ap );
|
||||||
|
|
||||||
/* an den Client selber */
|
/* an den Client selber */
|
||||||
IRC_WriteStrServersPrefix( ExceptOf, Client_ThisServer( ), buffer );
|
IRC_WriteStrServersPrefix( ExceptOf, Client_ThisServer( ), "%s", buffer );
|
||||||
} /* IRC_WriteStrServers */
|
} /* IRC_WriteStrServers */
|
||||||
|
|
||||||
|
|
||||||
@ -263,7 +263,7 @@ va_dcl
|
|||||||
vsnprintf( buffer, 1000, Format, ap );
|
vsnprintf( buffer, 1000, Format, ap );
|
||||||
va_end( ap );
|
va_end( ap );
|
||||||
|
|
||||||
IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, '\0', buffer );
|
IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, '\0', "%s", buffer );
|
||||||
} /* IRC_WriteStrServersPrefix */
|
} /* IRC_WriteStrServersPrefix */
|
||||||
|
|
||||||
|
|
||||||
@ -301,7 +301,7 @@ va_dcl
|
|||||||
if(( Client_Type( c ) == CLIENT_SERVER ) && ( Client_Conn( c ) > NONE ) && ( c != Client_ThisServer( )) && ( c != ExceptOf ))
|
if(( Client_Type( c ) == CLIENT_SERVER ) && ( Client_Conn( c ) > NONE ) && ( c != Client_ThisServer( )) && ( c != ExceptOf ))
|
||||||
{
|
{
|
||||||
/* Ziel-Server gefunden. Nun noch pruefen, ob Flags stimmen */
|
/* Ziel-Server gefunden. Nun noch pruefen, ob Flags stimmen */
|
||||||
if(( Flag == '\0' ) || ( strchr( Client_Flags( c ), Flag ) != NULL )) IRC_WriteStrClientPrefix( c, Prefix, buffer );
|
if(( Flag == '\0' ) || ( strchr( Client_Flags( c ), Flag ) != NULL )) IRC_WriteStrClientPrefix( c, Prefix, "%s", buffer );
|
||||||
}
|
}
|
||||||
c = Client_Next( c );
|
c = Client_Next( c );
|
||||||
}
|
}
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: irc.c,v 1.95 2002/09/16 09:14:45 alex Exp $
|
* irc.c,v 1.96 2002/10/04 11:21:46 alex Exp
|
||||||
*
|
*
|
||||||
* irc.c: IRC-Befehle
|
* irc.c: IRC-Befehle
|
||||||
*/
|
*/
|
||||||
@ -206,7 +206,7 @@ IRC_NAMES( CLIENT *Client, REQUEST *Req )
|
|||||||
if( strlen( rpl ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
|
if( strlen( rpl ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
|
||||||
{
|
{
|
||||||
/* Zeile wird zu lang: senden! */
|
/* Zeile wird zu lang: senden! */
|
||||||
if( ! IRC_WriteStrClient( from, rpl )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( from, "%s", rpl )) return DISCONNECTED;
|
||||||
sprintf( rpl, RPL_NAMREPLY_MSG, Client_ID( from ), "*", "*" );
|
sprintf( rpl, RPL_NAMREPLY_MSG, Client_ID( from ), "*", "*" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ IRC_NAMES( CLIENT *Client, REQUEST *Req )
|
|||||||
if( rpl[strlen( rpl ) - 1] != ':')
|
if( rpl[strlen( rpl ) - 1] != ':')
|
||||||
{
|
{
|
||||||
/* es wurden User gefunden */
|
/* es wurden User gefunden */
|
||||||
if( ! IRC_WriteStrClient( from, rpl )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( from, "%s", rpl )) return DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return IRC_WriteStrClient( from, RPL_ENDOFNAMES_MSG, Client_ID( from ), "*" );
|
return IRC_WriteStrClient( from, RPL_ENDOFNAMES_MSG, Client_ID( from ), "*" );
|
||||||
@ -259,7 +259,7 @@ IRC_ISON( CLIENT *Client, REQUEST *Req )
|
|||||||
}
|
}
|
||||||
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
|
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
|
||||||
|
|
||||||
return IRC_WriteStrClient( Client, rpl, Client_ID( Client ) );
|
return IRC_WriteStrClient( Client, "%s", rpl, Client_ID( Client ) );
|
||||||
} /* IRC_ISON */
|
} /* IRC_ISON */
|
||||||
|
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
|
|||||||
if( strlen( str ) > ( LINE_LEN - CHANNEL_NAME_LEN - 4 ))
|
if( strlen( str ) > ( LINE_LEN - CHANNEL_NAME_LEN - 4 ))
|
||||||
{
|
{
|
||||||
/* Zeile wird zu lang: senden! */
|
/* Zeile wird zu lang: senden! */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
sprintf( str, RPL_WHOISCHANNELS_MSG, Client_ID( from ), Client_ID( c ));
|
sprintf( str, RPL_WHOISCHANNELS_MSG, Client_ID( from ), Client_ID( c ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +335,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
|
|||||||
if( str[strlen( str ) - 1] != ':')
|
if( str[strlen( str ) - 1] != ':')
|
||||||
{
|
{
|
||||||
/* Es sind noch Daten da, die gesendet werden muessen */
|
/* Es sind noch Daten da, die gesendet werden muessen */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* IRC-Operator? */
|
/* IRC-Operator? */
|
||||||
@ -477,7 +477,7 @@ IRC_USERHOST( CLIENT *Client, REQUEST *Req )
|
|||||||
}
|
}
|
||||||
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
|
if( rpl[strlen( rpl ) - 1] == ' ' ) rpl[strlen( rpl ) - 1] = '\0';
|
||||||
|
|
||||||
return IRC_WriteStrClient( Client, rpl, Client_ID( Client ) );
|
return IRC_WriteStrClient( Client, "%s", rpl, Client_ID( Client ) );
|
||||||
} /* IRC_USERHOST */
|
} /* IRC_USERHOST */
|
||||||
|
|
||||||
|
|
||||||
@ -768,7 +768,7 @@ IRC_Send_NAMES( CLIENT *Client, CHANNEL *Chan )
|
|||||||
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
|
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
|
||||||
{
|
{
|
||||||
/* Zeile wird zu lang: senden! */
|
/* Zeile wird zu lang: senden! */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
sprintf( str, RPL_NAMREPLY_MSG, Client_ID( Client ), "=", Channel_Name( Chan ));
|
sprintf( str, RPL_NAMREPLY_MSG, Client_ID( Client ), "=", Channel_Name( Chan ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -779,7 +779,7 @@ IRC_Send_NAMES( CLIENT *Client, CHANNEL *Chan )
|
|||||||
if( str[strlen( str ) - 1] != ':')
|
if( str[strlen( str ) - 1] != ':')
|
||||||
{
|
{
|
||||||
/* Es sind noch Daten da, die gesendet werden muessen */
|
/* Es sind noch Daten da, die gesendet werden muessen */
|
||||||
if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
|
if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return CONNECTED;
|
return CONNECTED;
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: lists.c,v 1.8 2002/09/08 17:06:07 alex Exp $
|
* lists.c,v 1.9 2002/10/03 21:49:59 alex Exp
|
||||||
*
|
*
|
||||||
* lists.c: Verwaltung der "IRC-Listen": Ban, Invite, ...
|
* lists.c: Verwaltung der "IRC-Listen": Ban, Invite, ...
|
||||||
*/
|
*/
|
||||||
@ -323,7 +323,7 @@ Lists_MakeMask( CHAR *Pattern )
|
|||||||
STATIC CHAR TheMask[MASK_LEN];
|
STATIC CHAR TheMask[MASK_LEN];
|
||||||
CHAR *excl, *at;
|
CHAR *excl, *at;
|
||||||
|
|
||||||
assert( Pattern );
|
assert( Pattern != NULL );
|
||||||
|
|
||||||
excl = strchr( Pattern, '!' );
|
excl = strchr( Pattern, '!' );
|
||||||
at = strchr( Pattern, '@' );
|
at = strchr( Pattern, '@' );
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: log.c,v 1.37 2002/09/09 22:55:21 alex Exp $
|
* log.c,v 1.38 2002/10/04 11:21:46 alex Exp
|
||||||
*
|
*
|
||||||
* log.c: Logging-Funktionen
|
* log.c: Logging-Funktionen
|
||||||
*/
|
*/
|
||||||
@ -185,7 +185,7 @@ va_dcl
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Syslog */
|
/* Syslog */
|
||||||
syslog( Level, msg );
|
syslog( Level, "%s", msg );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: ngircd.c,v 1.54 2002/09/07 17:57:17 alex Exp $
|
* ngircd.c,v 1.55 2002/10/03 21:49:59 alex Exp
|
||||||
*
|
*
|
||||||
* ngircd.c: Hier beginnt alles ;-)
|
* ngircd.c: Hier beginnt alles ;-)
|
||||||
*/
|
*/
|
||||||
@ -159,7 +159,7 @@ main( int argc, const char *argv[] )
|
|||||||
NGIRCd_ConfFile[FNAME_LEN - 1] = '\0';
|
NGIRCd_ConfFile[FNAME_LEN - 1] = '\0';
|
||||||
|
|
||||||
/* zum uebernaechsten Parameter */
|
/* zum uebernaechsten Parameter */
|
||||||
i++; n = strlen( argv[i] );
|
i++; n = (INT32)strlen( argv[i] );
|
||||||
ok = TRUE;
|
ok = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -451,7 +451,7 @@ Initialize_Listen_Ports( VOID )
|
|||||||
/* Ports, auf denen der Server Verbindungen entgegennehmen
|
/* Ports, auf denen der Server Verbindungen entgegennehmen
|
||||||
* soll, initialisieren */
|
* soll, initialisieren */
|
||||||
|
|
||||||
UINT created, i;
|
INT created, i;
|
||||||
|
|
||||||
created = 0;
|
created = 0;
|
||||||
for( i = 0; i < Conf_ListenPorts_Count; i++ )
|
for( i = 0; i < Conf_ListenPorts_Count; i++ )
|
||||||
|
@ -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 ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||||
*
|
*
|
||||||
* $Id: parse.c,v 1.41 2002/09/16 09:20:27 alex Exp $
|
* parse.c,v 1.42 2002/10/04 11:21:46 alex Exp
|
||||||
*
|
*
|
||||||
* parse.c: Parsen der Client-Anfragen
|
* parse.c: Parsen der Client-Anfragen
|
||||||
*/
|
*/
|
||||||
@ -311,7 +311,7 @@ Handle_Request( CONN_ID Idx, REQUEST *Req )
|
|||||||
else strcat( str, " :" );
|
else strcat( str, " :" );
|
||||||
strcat( str, Req->argv[i] );
|
strcat( str, Req->argv[i] );
|
||||||
}
|
}
|
||||||
return IRC_WriteStrClientPrefix( target, prefix, str );
|
return IRC_WriteStrClientPrefix( target, prefix, "%s", str );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( strcasecmp( Req->command, "PASS" ) == 0 ) return IRC_PASS( client, Req );
|
if( strcasecmp( Req->command, "PASS" ) == 0 ) return IRC_PASS( client, Req );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user