]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/conf.c
Hashed hostnames for CloakHost
[ngircd-alex.git] / src / ngircd / conf.c
index 2a259eb43440d1c453190392ef890be49dfa9349..b09113730ef185dff831ca6a0392c4a8d757ddcf 100644 (file)
@@ -358,7 +358,8 @@ Conf_Test( void )
        printf("  AllowRemoteOper = %s\n", yesno_to_str(Conf_AllowRemoteOper));
        printf("  ChrootDir = %s\n", Conf_Chroot);
        printf("  CloakHost = %s\n", Conf_CloakHost);
-       printf("  CloakModeHost = %s\n", Conf_CloakModeHost);
+       printf("  CloakHostModeX = %s\n", Conf_CloakHostModeX);
+       printf("  CloakHostSalt = %s\n", Conf_CloakHostSalt);
        printf("  CloakUserToNick = %s\n", yesno_to_str(Conf_CloakUserToNick));
 #ifdef WANT_IPV6
        printf("  ConnectIPv4 = %s\n", yesno_to_str(Conf_ConnectIPv6));
@@ -652,6 +653,7 @@ static void
 Set_Defaults(bool InitServers)
 {
        int i;
+       char random[RANDOM_SALT_LEN];
 
        /* Global */
        strcpy(Conf_ServerName, "");
@@ -685,7 +687,8 @@ Set_Defaults(bool InitServers)
 #endif
        strlcpy(Conf_Chroot, CHROOT_DIR, sizeof(Conf_Chroot));
        strcpy(Conf_CloakHost, "");
-       strcpy(Conf_CloakModeHost, "");
+       strcpy(Conf_CloakHostModeX, "");
+       strcpy(Conf_CloakHostSalt, ngt_RandomStr(random, RANDOM_SALT_LEN));
        Conf_CloakUserToNick = false;
        Conf_ConnectIPv4 = true;
 #ifdef WANT_IPV6
@@ -1479,9 +1482,15 @@ Handle_OPTIONS(int Line, char *Var, char *Arg)
                        Config_Error_TooLong(Line, Var);
                return;
        }
-       if (strcasecmp(Var, "CloakModeHost") == 0) {
-               len = strlcpy(Conf_CloakModeHost, Arg, sizeof(Conf_CloakModeHost));
-               if (len >= sizeof(Conf_CloakModeHost))
+       if (strcasecmp(Var, "CloakHostModeX") == 0) {
+               len = strlcpy(Conf_CloakHostModeX, Arg, sizeof(Conf_CloakHostModeX));
+               if (len >= sizeof(Conf_CloakHostModeX))
+                       Config_Error_TooLong(Line, Var);
+               return;
+       }
+       if (strcasecmp(Var, "CloakHostSalt") == 0) {
+               len = strlcpy(Conf_CloakHostSalt, Arg, sizeof(Conf_CloakHostSalt));
+               if (len >= sizeof(Conf_CloakHostSalt))
                        Config_Error_TooLong(Line, Var);
                return;
        }