From 473feb44bbc8704c533af12475d8f1b84356bcb7 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Thu, 4 Dec 2003 14:13:42 +0000 Subject: [PATCH] Extended version reporting of CVS builds. (from HEAD) --- src/ngircd/Makefile.am | 6 +++++- src/ngircd/irc-info.c | 7 ++++--- src/ngircd/irc-login.c | 29 +++++++++++++++++++++++++---- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/ngircd/Makefile.am b/src/ngircd/Makefile.am index 84ab5785..a677d651 100644 --- a/src/ngircd/Makefile.am +++ b/src/ngircd/Makefile.am @@ -8,7 +8,7 @@ # (at your option) any later version. # Please read the file COPYING, README and AUTHORS for more information. # -# $Id: Makefile.am,v 1.39.2.2 2003/11/07 20:51:10 alex Exp $ +# $Id: Makefile.am,v 1.39.2.3 2003/12/04 14:13:42 alex Exp $ # AUTOMAKE_OPTIONS = ../portab/ansi2knr @@ -63,6 +63,10 @@ lint: ngircd.c: cvs-version.h +irc-login.c: cvs-version.h + +irc-info.c: cvs-version.h + cvs-version.h: cvs-date cvs-date: diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index 01ec6b68..7a435c32 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-info.c,v 1.16.2.2 2003/11/07 20:51:11 alex Exp $"; +static char UNUSED id[] = "$Id: irc-info.c,v 1.16.2.3 2003/12/04 14:13:42 alex Exp $"; #include "imp.h" #include @@ -494,7 +494,7 @@ IRC_VERSION( CLIENT *Client, REQUEST *Req ) { CLIENT *target, *prefix; #ifdef CVSDATE - CHAR ver[12]; + CHAR ver[12], vertxt[30]; #endif assert( Client != NULL ); @@ -528,7 +528,8 @@ IRC_VERSION( CLIENT *Client, REQUEST *Req ) strlcpy( ver, CVSDATE, sizeof( ver )); strncpy( ver + 4, ver + 5, 2 ); strncpy( ver + 6, ver + 8, 3 ); - return IRC_WriteStrClient( Client, RPL_VERSION_MSG, Client_ID( prefix ), PACKAGE_NAME, ver, NGIRCd_DebugLevel, Conf_ServerName, NGIRCd_VersionAddition( )); + snprintf( vertxt, sizeof( vertxt ), "%s(%s)", PACKAGE_VERSION, ver ); + return IRC_WriteStrClient( Client, RPL_VERSION_MSG, Client_ID( prefix ), PACKAGE_NAME, vertxt, NGIRCd_DebugLevel, Conf_ServerName, NGIRCd_VersionAddition( )); #else return IRC_WriteStrClient( Client, RPL_VERSION_MSG, Client_ID( prefix ), PACKAGE_NAME, PACKAGE_VERSION, NGIRCd_DebugLevel, Conf_ServerName, NGIRCd_VersionAddition( )); #endif diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index 223c49e6..77dae9f8 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-login.c,v 1.34.2.1 2003/11/07 20:51:11 alex Exp $"; +static char UNUSED id[] = "$Id: irc-login.c,v 1.34.2.2 2003/12/04 14:13:42 alex Exp $"; #include "imp.h" #include @@ -34,6 +34,7 @@ static char UNUSED id[] = "$Id: irc-login.c,v 1.34.2.1 2003/11/07 20:51:11 alex #include "irc.h" #include "irc-info.h" #include "irc-write.h" +#include "cvs-version.h" #include "exp.h" #include "irc-login.h" @@ -429,12 +430,16 @@ IRC_PONG( CLIENT *Client, REQUEST *Req ) LOCAL BOOLEAN Hello_User( CLIENT *Client ) { +#ifdef CVSDATE + CHAR ver[12], vertxt[30]; +#endif + assert( Client != NULL ); - /* Passwort ueberpruefen */ + /* Check password ... */ if( strcmp( Client_Password( Client ), Conf_ServerPwd ) != 0 ) { - /* Falsches Passwort */ + /* Bad password! */ Log( LOG_ERR, "User \"%s\" rejected (connection %d): Bad password!", Client_Mask( Client ), Client_Conn( Client )); Conn_Close( Client_Conn( Client ), NULL, "Bad password", TRUE ); return DISCONNECTED; @@ -442,13 +447,29 @@ Hello_User( CLIENT *Client ) Log( LOG_NOTICE, "User \"%s\" registered (connection %d).", Client_Mask( Client ), Client_Conn( Client )); - /* Andere Server informieren */ + /* Inform other servers */ IRC_WriteStrServers( NULL, "NICK %s 1 %s %s 1 +%s :%s", Client_ID( Client ), Client_User( Client ), Client_Hostname( Client ), Client_Modes( Client ), Client_Info( Client )); + /* Welcome :-) */ if( ! IRC_WriteStrClient( Client, RPL_WELCOME_MSG, Client_ID( Client ), Client_Mask( Client ))) return FALSE; + + /* Version and system type */ +#ifdef CVSDATE + strlcpy( ver, CVSDATE, sizeof( ver )); + strncpy( ver + 4, ver + 5, 2 ); + strncpy( ver + 6, ver + 8, 3 ); + snprintf( vertxt, sizeof( vertxt ), "%s(%s)", PACKAGE_VERSION, ver ); + if( ! IRC_WriteStrClient( Client, RPL_YOURHOST_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), vertxt, TARGET_CPU, TARGET_VENDOR, TARGET_OS )) return FALSE; +#else if( ! IRC_WriteStrClient( Client, RPL_YOURHOST_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), PACKAGE_VERSION, TARGET_CPU, TARGET_VENDOR, TARGET_OS )) return FALSE; +#endif + if( ! IRC_WriteStrClient( Client, RPL_CREATED_MSG, Client_ID( Client ), NGIRCd_StartStr )) return FALSE; +#ifdef CVSDATE + if( ! IRC_WriteStrClient( Client, RPL_MYINFO_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), vertxt, USERMODES, CHANMODES )) return FALSE; +#else if( ! IRC_WriteStrClient( Client, RPL_MYINFO_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), PACKAGE_VERSION, USERMODES, CHANMODES )) return FALSE; +#endif /* Features */ if( ! IRC_WriteStrClient( Client, RPL_ISUPPORT_MSG, Client_ID( Client ), CLIENT_NICK_LEN - 1, CHANNEL_TOPIC_LEN - 1, CLIENT_AWAY_LEN - 1, Conf_MaxJoins )) return DISCONNECTED; -- 2.39.2