X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconf.c;h=12893ad8f86446abaa1574280abefb14be6889a8;hp=db91a578604dd29d8b7752b0d431fb2cbff4e224;hb=25dd193e9b49b38db39cf549f94df4ba11812fe9;hpb=8927700b221ba3cffbde50005319868efbdb1f3e diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index db91a578..12893ad8 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -7,13 +7,15 @@ * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. - * - * Configuration management (reading, parsing & validation) */ - #include "portab.h" +/** + * @file + * Configuration management (reading, parsing & validation) + */ + #include "imp.h" #include #include @@ -349,7 +351,9 @@ Conf_Test( void ) printf(" MaxConnections = %ld\n", Conf_MaxConnections); printf(" MaxConnectionsIP = %d\n", Conf_MaxConnectionsIP); printf(" MaxJoins = %d\n", Conf_MaxJoins > 0 ? Conf_MaxJoins : -1); - printf(" MaxNickLength = %u\n\n", Conf_MaxNickLength - 1); + printf(" MaxNickLength = %u\n", Conf_MaxNickLength - 1); + printf(" ClientHost = %s\n", Conf_ClientHost); + printf(" ClientUserNick = %s\n\n", yesno_to_str(Conf_ClientUserNick)); puts("[FEATURES]"); printf(" DNS = %s\n", yesno_to_str(Conf_DNS)); @@ -588,6 +592,8 @@ Set_Defaults(bool InitServers) int i; strcpy(Conf_ServerName, ""); + strcpy(Conf_ClientHost, ""); + Conf_ClientUserNick = false; snprintf(Conf_ServerInfo, sizeof Conf_ServerInfo, "%s %s", PACKAGE_NAME, PACKAGE_VERSION); strcpy(Conf_ServerPwd, ""); @@ -668,7 +674,7 @@ Read_Motd(const char *filename) fp = fopen(filename, "r"); if (!fp) { - Log(LOG_WARNING, "Can't read MOTD file \"%s\": %s", + Config_Error(LOG_WARNING, "Can't read MOTD file \"%s\": %s", filename, strerror(errno)); return; } @@ -968,6 +974,18 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Config_Error_TooLong( Line, Var ); return; } + if( strcasecmp( Var, "ClientHost" ) == 0 ) { + /* Client hostname */ + len = strlcpy( Conf_ClientHost, Arg, sizeof( Conf_ClientHost )); + if (len >= sizeof( Conf_ClientHost )) + Config_Error_TooLong( Line, Var ); + return; + } + if( strcasecmp( Var, "ClientUserNick" ) == 0 ) { + /* Use client nick name as user name */ + Conf_ClientUserNick = Check_ArgIsTrue( Arg ); + return; + } if( strcasecmp( Var, "Info" ) == 0 ) { /* Info text of server */ len = strlcpy( Conf_ServerInfo, Arg, sizeof( Conf_ServerInfo ));