]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Extended version reporting of CVS builds.
authorAlexander Barton <alex@barton.de>
Thu, 4 Dec 2003 14:05:16 +0000 (14:05 +0000)
committerAlexander Barton <alex@barton.de>
Thu, 4 Dec 2003 14:05:16 +0000 (14:05 +0000)
src/ngircd/Makefile.am
src/ngircd/irc-info.c
src/ngircd/irc-login.c

index 8ac74fb69f90650c6bc456b02cd72db4c0fad5ec..9b275e61481291be830d4cd42fc781fbf2700345 100644 (file)
@@ -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.41 2003/09/09 13:24:41 alex Exp $
+# $Id: Makefile.am,v 1.42 2003/12/04 14:05:16 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:
index e4d1c7fcc3fbcd93dd4dacff65aac44242b737dc..28ac7e9854311541d6cbfe7cfc4cae4091b54608 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-info.c,v 1.18 2003/11/05 23:24:48 alex Exp $";
+static char UNUSED id[] = "$Id: irc-info.c,v 1.19 2003/12/04 14:05:16 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -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
index b4b489f5a8dc0f67e189cc2c21371d977e956eaf..a077f16aa73403ddc2b0e221bb74df61434f6c7d 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-login.c,v 1.35 2003/11/05 23:24:48 alex Exp $";
+static char UNUSED id[] = "$Id: irc-login.c,v 1.36 2003/12/04 14:05:16 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -34,6 +34,7 @@ static char UNUSED id[] = "$Id: irc-login.c,v 1.35 2003/11/05 23:24:48 alex Exp
 #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;