]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/configure.cpp
Trunk fix for bug #505 reported by nenolod
[user/henk/code/inspircd.git] / win / configure.cpp
index 1ca92a054e1a3d483a2ed1d0ff1115c875753dd9..e443127244c10bd6b81d2d3fae1a89ce0175dec9 100644 (file)
@@ -184,10 +184,10 @@ void Banner()
 
 void Run()
 {
-       int max_fd = 10200;
        bool use_iocp = false;
-       bool support_ip6links = false;
+       bool support_ip6links = true;
        bool use_openssl = false;
+       bool ipv6 = true;
        char mod_path[MAX_PATH];
        char config_file[MAX_PATH];
        char library_dir[MAX_PATH];
@@ -197,7 +197,6 @@ void Run()
        char openssl_inc_path[MAX_PATH];
        char openssl_lib_path[MAX_PATH];
 
-       int max_clients = 10200;
        int nicklen = 31;
        int chanlen = 64;
        int modechanges = 20;
@@ -236,8 +235,6 @@ void Run()
 #endif
        printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", revision ? revision_text : "(Non-SVN build)");
 
-       max_fd = get_int_option("What is the maximum file descriptor count you would like to allow?", 10200);
-
        // detect windows
        if(iswinxp())
        {
@@ -248,8 +245,12 @@ void Run()
                use_iocp = get_bool_option("Do you want to use the IOCP implementation?", false);
        }
 
-       support_ip6links = get_bool_option("\nYou have chosen to build an \033[1;32mIPV4-only\033[0m server.\nWould you like to enable support for linking to IPV6-enabled InspIRCd servers?\nIf you are using a recent operating system and are unsure, answer yes.\nIf you answer 'no' here, your InspIRCd server will be unable\nto parse IPV6 addresses (e.g. for CIDR bans)", 
-               true);
+       ipv6 = get_bool_option("Do you want to enable IPv6?", false);
+
+       if (!ipv6)
+               support_ip6links = get_bool_option("\nYou have chosen to build an \033[1;32mIPV4-only\033[0m server.\nWould you like to enable support for linking to IPV6-enabled InspIRCd servers?\nIf you are using a recent operating system and are unsure, answer yes.\nIf you answer 'no' here, your InspIRCd server will be unable\nto parse IPV6 addresses (e.g. for CIDR bans)", true);
+       else
+               support_ip6links = true;
        
        printf_c("\033[1mAll paths are relative to the binary directory.\033[0m\n");
        get_string_option("In what directory do you wish to install the InspIRCd base?", "..", base_path);
@@ -266,8 +267,6 @@ void Run()
                "of the 'maximum number of clients' setting which may be different on\n"
                "different servers on the network.\n\n");
 
-    
-       max_clients = get_int_option("Please enter the maximum number of clients at any one time?", 10200);
        nicklen = get_int_option("Please enter the maximum length of nicknames?", 31);
        chanlen = get_int_option("Please enter the maximum length of channel names?", 64);
        modechanges = get_int_option("Please enter the maximum number of mode changes in one line?", 20);
@@ -331,8 +330,6 @@ void Run()
        printf_c("\033[0mModule path:\033[1;32m              %s\n", mod_path);
        printf_c("\033[0mLibrary path:\033[1;32m             %s\n", library_dir);
        printf_c("\033[0mSocket Engine:\033[1;32m            %s\n", use_iocp ? "iocp" : "select");
-       printf_c("\033[0mMax file descriptors:\033[1;32m     %u\n", max_fd);
-       printf_c("\033[0mMax connections:\033[1;32m          %u\n", max_clients);
        printf_c("\033[0mMax nickname length:\033[1;32m      %u\n", nicklen);
        printf_c("\033[0mMax channel length:\033[1;32m       %u\n", chanlen);
        printf_c("\033[0mMax mode length:\033[1;32m          %u\n", modechanges);
@@ -362,12 +359,11 @@ void Run()
        fprintf(f, "#define __CONFIGURATION_AUTO__\n\n");
        if(use_iocp)
                fprintf(f, "#define CONFIG_USE_IOCP 1\n\n");
+       if (ipv6)
+               fprintf(f, "#define IPV6 1\n\n");
 
        fprintf(f, "#define CONFIG_FILE \"%s/inspircd.conf\"\n", config_file);
        fprintf(f, "#define MOD_PATH \"%s\"\n", mod_path);
-       fprintf(f, "#define MAX_DESCRIPTORS %u\n", max_fd);
-       fprintf(f, "#define MAXCLIENTS %u\n", max_clients);
-       fprintf(f, "#define MAXCLIENTS_S \"%u\"\n", max_clients);
        fprintf(f, "#define SOMAXCONN_S \"128\"\n");
        fprintf(f, "#define NICKMAX %u\n", nicklen+1);
        fprintf(f, "#define CHANMAX %u\n", chanlen+1);
@@ -395,6 +391,7 @@ void Run()
        fprintf(f, "#define MAXBUF 514\n");
 
        fprintf(f, "\n#include \"inspircd_win32wrapper.h\"\n\n");
+       fprintf(f, "#include \"threadengines/threadengine_win32.h\"\n\n");
        fprintf(f, "#endif\n\n");
        fclose(f);
 
@@ -406,7 +403,6 @@ void Run()
        fprintf(f, "#ifndef __CONFIGURATION_SOCKETENGINE__\n");
        fprintf(f, "#define __CONFIGURATION_SOCKETENGINE__\n\n");
        fprintf(f, "#include \"socketengines/socketengine_%s.h\"\n\n", use_iocp ? "iocp" : "select");
-       fprintf(f, "#include \"threadengines/threadengine_win32.h\"\n\n");
        fprintf(f, "#endif\n\n");
        fclose(f);