]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/conf.c
Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick
[ngircd-alex.git] / src / ngircd / conf.c
index 6c0e35170efd85e87d1c9a1395599afa12c88cf5..fb8db2c4c3842b8f0c1b58f4466c317e634b79a8 100644 (file)
@@ -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 <assert.h>
 #include <errno.h>
@@ -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("  CloakHost = %s\n", Conf_CloakHost);
+       printf("  CloakUserToNick = %s\n\n", yesno_to_str(Conf_CloakUserToNick));
 
        puts("[FEATURES]");
        printf("  DNS = %s\n", yesno_to_str(Conf_DNS));
@@ -627,6 +631,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;
@@ -968,6 +975,18 @@ Handle_GLOBAL( int Line, char *Var, char *Arg )
                        Config_Error_TooLong( Line, Var );
                return;
        }
+       if( strcasecmp( Var, "CloakHost" ) == 0 ) {
+               /* Client hostname */
+               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 ));