diff options
author | Spencer Jackson <spencer.jackson@mongodb.com> | 2017-04-10 17:09:28 -0400 |
---|---|---|
committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2017-04-24 17:59:13 -0400 |
commit | d6b244fce44e6729485b1521346db6e372f6b901 (patch) | |
tree | f569336258f32e95ad44bec34c5edc456e0cd247 /src/mongo/db/server_options_helpers.cpp | |
parent | caec188e15b6e6015c2360b8e5bafc160d0d1f48 (diff) | |
download | mongo-d6b244fce44e6729485b1521346db6e372f6b901.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 37412636992..05ee1033bfa 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)"); @@ -826,10 +832,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(); } @@ -883,11 +885,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 |