summaryrefslogtreecommitdiff
path: root/src/mongo/db/server_options_helpers.cpp
diff options
context:
space:
mode:
authorSpencer Jackson <spencer.jackson@mongodb.com>2017-04-25 15:02:13 -0400
committerSpencer Jackson <spencer.jackson@mongodb.com>2017-04-28 19:26:16 -0400
commit60636b4d3ae60a24c080c7250459814eef5e7c87 (patch)
tree046999f85ed571550d88285e484286c5927d26b6 /src/mongo/db/server_options_helpers.cpp
parentb1054a04df0182fa6e4ccef53eefff90616aeea3 (diff)
downloadmongo-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.cpp35
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