diff options
author | Spencer Jackson <spencer.jackson@mongodb.com> | 2017-04-25 15:02:13 -0400 |
---|---|---|
committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2017-04-28 19:26:16 -0400 |
commit | 60636b4d3ae60a24c080c7250459814eef5e7c87 (patch) | |
tree | 046999f85ed571550d88285e484286c5927d26b6 /src/mongo/db/server_options_helpers.cpp | |
parent | b1054a04df0182fa6e4ccef53eefff90616aeea3 (diff) | |
download | mongo-60636b4d3ae60a24c080c7250459814eef5e7c87.tar.gz |
SERVER-28229: Bind to localhost by default
Diffstat (limited to 'src/mongo/db/server_options_helpers.cpp')
-rw-r--r-- | src/mongo/db/server_options_helpers.cpp | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/src/mongo/db/server_options_helpers.cpp b/src/mongo/db/server_options_helpers.cpp index cd08324cfa2..326345cb87d 100644 --- a/src/mongo/db/server_options_helpers.cpp +++ b/src/mongo/db/server_options_helpers.cpp @@ -184,11 +184,17 @@ Status addGeneralServerOptions(moe::OptionSection* options) { options->addOptionChaining("net.port", "port", moe::Int, portInfoBuilder.str().c_str()); - options->addOptionChaining( - "net.bindIp", - "bind_ip", - moe::String, - "comma separated list of ip addresses to listen on - all local ips by default"); + options + ->addOptionChaining( + "net.bindIp", + "bind_ip", + moe::String, + "comma separated list of ip addresses to listen on - localhost by default") + .incompatibleWith("bind_ip_all"); + + options + ->addOptionChaining("net.bindIpAll", "bind_ip_all", moe::Switch, "bind to all ip addresses") + .incompatibleWith("bind_ip"); options->addOptionChaining( "net.ipv6", "ipv6", moe::Switch, "enable IPv6 support (disabled by default)"); @@ -775,10 +781,6 @@ Status storeServerOptions(const moe::Environment& params) { serverGlobalParams.port = params["net.port"].as<int>(); } - if (params.count("net.bindIp")) { - serverGlobalParams.bind_ip = params["net.bindIp"].as<std::string>(); - } - if (params.count("net.ipv6") && params["net.ipv6"].as<bool>() == true) { enableIPv6(); } @@ -828,11 +830,18 @@ Status storeServerOptions(const moe::Environment& params) { serverGlobalParams.objcheck = params["net.wireObjectCheck"].as<bool>(); } - if (params.count("net.bindIp")) { - // passing in wildcard is the same as default behavior; remove for SERVER-3350 - if (serverGlobalParams.bind_ip == "0.0.0.0") { - serverGlobalParams.bind_ip = ""; + if (params.count("net.bindIpAll") && params["net.bindIpAll"].as<bool>()) { + // Bind to all IP addresses + serverGlobalParams.bind_ip = "0.0.0.0"; + if (params.count("net.ipv6") && params["net.ipv6"].as<bool>()) { + serverGlobalParams.bind_ip += ",::"; } + } else if (params.count("net.bindIp")) { + // Bind to enumerated IP addresses + serverGlobalParams.bind_ip = params["net.bindIp"].as<std::string>(); + } else { + // Bind to localhost + serverGlobalParams.bind_ip = ""; } #ifndef _WIN32 |