X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconf.c;h=a00049eef97cc29630a6d22af8e556f7efd61a2c;hp=622cb9f8f3667a0c7b983a7f982e28312b37c162;hb=d61fbfc6e3a0a85ced036d8c1fa161fab0d9ba3d;hpb=52f59149adf4dbbb7c917225a7c66ac4aa053700 diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index 622cb9f8..a00049ee 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -295,7 +295,6 @@ Conf_Test( void ) puts( "[GLOBAL]" ); printf(" Name = %s\n", Conf_ServerName); - printf(" ClientHost = %s\n", Conf_ClientHost); printf(" Info = %s\n", Conf_ServerInfo); #ifndef PAM printf(" Password = %s\n", Conf_ServerPwd); @@ -352,9 +351,15 @@ 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(" NoticeAuth = %s\n", yesno_to_str(Conf_NoticeAuth)); + printf(" CloakHost = %s\n", Conf_CloakHost); + printf(" CloakUserToNick = %s\n", yesno_to_str(Conf_CloakUserToNick)); +#ifndef STRICT_RFC + printf(" RequireAuthPing = %s\n", yesno_to_str(Conf_AuthPing)); +#endif - puts("[FEATURES]"); + printf("\n[FEATURES]\n"); printf(" DNS = %s\n", yesno_to_str(Conf_DNS)); printf(" Ident = %s\n", yesno_to_str(Conf_Ident)); printf(" PAM = %s\n", yesno_to_str(Conf_PAM)); @@ -591,7 +596,6 @@ Set_Defaults(bool InitServers) int i; strcpy(Conf_ServerName, ""); - strcpy(Conf_ClientHost, ""); snprintf(Conf_ServerInfo, sizeof Conf_ServerInfo, "%s %s", PACKAGE_NAME, PACKAGE_VERSION); strcpy(Conf_ServerPwd, ""); @@ -614,6 +618,7 @@ Set_Defaults(bool InitServers) Conf_PongTimeout = 20; Conf_ConnectRetry = 60; Conf_DNS = true; + Conf_NoticeAuth = false; Conf_Oper_Count = 0; Conf_Channel_Count = 0; @@ -631,6 +636,9 @@ Set_Defaults(bool InitServers) Conf_MaxJoins = 10; Conf_MaxNickLength = CLIENT_NICK_LEN_DEFAULT; + strcpy(Conf_CloakHost, ""); + Conf_CloakUserToNick = false; + #ifdef SYSLOG #ifdef LOG_LOCAL5 Conf_SyslogFacility = LOG_LOCAL5; @@ -638,6 +646,11 @@ Set_Defaults(bool InitServers) Conf_SyslogFacility = 0; #endif #endif + +#ifndef STRICT_RFC + Conf_AuthPing = false; +#endif + Set_Defaults_Optional(); /* Initialize server configuration structures */ @@ -972,13 +985,18 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Config_Error_TooLong( Line, Var ); return; } - if( strcasecmp( Var, "ClientHost" ) == 0 ) { + if( strcasecmp( Var, "CloakHost" ) == 0 ) { /* Client hostname */ - len = strlcpy( Conf_ClientHost, Arg, sizeof( Conf_ClientHost )); - if (len >= sizeof( Conf_ClientHost )) + len = strlcpy( Conf_CloakHost, Arg, sizeof( Conf_CloakHost )); + if (len >= sizeof( Conf_CloakHost )) Config_Error_TooLong( Line, Var ); return; } + if( strcasecmp( Var, "CloakUserToNick" ) == 0 ) { + /* Use client nick name as user name */ + Conf_CloakUserToNick = Check_ArgIsTrue( Arg ); + return; + } if( strcasecmp( Var, "Info" ) == 0 ) { /* Info text of server */ len = strlcpy( Conf_ServerInfo, Arg, sizeof( Conf_ServerInfo )); @@ -1120,8 +1138,7 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) } if (CheckLegacyNoOption(Var, Arg)) { - Config_Error(LOG_WARNING, "%s, line %d: \"No\"-Prefix has been removed, use " - "\"%s = %s\" in [FEATURES] section instead", + Config_Error(LOG_WARNING, "%s, line %d: \"No\"-Prefix has been removed, use \"%s = %s\" in [FEATURES] section instead", NGIRCd_ConfFile, Line, NoNo(Var), InvertArg(Arg)); if (strcasecmp(Var, "NoIdent") == 0) WarnIdent(Line); @@ -1185,6 +1202,11 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Conf_MaxNickLength = Handle_MaxNickLength(Line, Arg); return; } + if(strcasecmp(Var, "NoticeAuth") == 0) { + /* send NOTICE AUTH messages to clients on connect */ + Conf_NoticeAuth = Check_ArgIsTrue(Arg); + return; + } if( strcasecmp( Var, "Listen" ) == 0 ) { /* IP-Address to bind sockets */ @@ -1241,6 +1263,13 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Conf_SyslogFacility); return; } +#endif +#ifndef STRICT_RFC + if (strcasecmp(Var, "RequireAuthPing") == 0 ) { + /* Require new clients to do an "autheticatin PING-PONG" */ + Conf_AuthPing = Check_ArgIsTrue(Arg); + return; + } #endif Config_Error(LOG_ERR, "%s, line %d (section \"Global\"): Unknown variable \"%s\"!", NGIRCd_ConfFile, Line, Var); @@ -1271,6 +1300,10 @@ Handle_FEATURES(int Line, char *Var, char *Arg) WarnPAM(Line); return; } + + Config_Error(LOG_ERR, + "%s, line %d (section \"Features\"): Unknown variable \"%s\"!", + NGIRCd_ConfFile, Line, Var); } static void