#include "portab.h"
-static char UNUSED id[] = "$Id: ngircd.c,v 1.116 2007/11/15 01:03:01 fw Exp $";
+static char UNUSED id[] = "$Id: ngircd.c,v 1.119 2008/03/18 20:12:47 fw Exp $";
/**
* @file
strlcat( NGIRCd_VersionAddition, "IRCPLUS", sizeof NGIRCd_VersionAddition );
#endif
+#ifdef WANT_IPV6
+ if (NGIRCd_VersionAddition[0])
+ strlcat(NGIRCd_VersionAddition, "+", sizeof(NGIRCd_VersionAddition));
+ strlcat(NGIRCd_VersionAddition, "IPv6", sizeof(NGIRCd_VersionAddition));
+#endif
if( NGIRCd_VersionAddition[0] )
strlcat( NGIRCd_VersionAddition, "-", sizeof( NGIRCd_VersionAddition ));
NGIRCd_Rehash( void )
{
char old_name[CLIENT_ID_LEN];
+ unsigned old_nicklen;
Log( LOG_NOTICE|LOG_snotice, "Re-reading configuration NOW!" );
NGIRCd_SignalRehash = false;
- /* Close down all listening sockets */
- Conn_ExitListeners( );
-
- /* Remember old server name */
+ /* Remember old server name and nick name length */
strlcpy( old_name, Conf_ServerName, sizeof old_name );
+ old_nicklen = Conf_MaxNickLength;
/* Re-read configuration ... */
- Conf_Rehash( );
+ if (!Conf_Rehash( ))
+ return;
- /* Recover old server name: it can't be changed during run-time */
- if( strcmp( old_name, Conf_ServerName ) != 0 )
- {
- strlcpy( Conf_ServerName, old_name, sizeof Conf_ServerName );
- Log( LOG_ERR, "Can't change \"ServerName\" on runtime! Ignored new name." );
+ /* Close down all listening sockets */
+ Conn_ExitListeners( );
+
+ /* Recover old server name and nick name length: these values can't
+ * be changed during run-time */
+ if (strcmp(old_name, Conf_ServerName) != 0 ) {
+ strlcpy(Conf_ServerName, old_name, sizeof Conf_ServerName);
+ Log(LOG_ERR, "Can't change \"ServerName\" on runtime! Ignored new name.");
+ }
+ if (old_nicklen != Conf_MaxNickLength) {
+ Conf_MaxNickLength = old_nicklen;
+ Log(LOG_ERR, "Can't change \"MaxNickLength\" on runtime! Ignored new value.");
}
/* Create new pre-defined channels */