summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2014-01-22 11:24:14 -0500
committerEric Milkie <milkie@10gen.com>2014-01-23 08:47:51 -0500
commit6f7364be380fd69a9725339123e5476518ddbaee (patch)
tree121970905ae7d88eec9fadb07dee3a8366205a4c
parenteff37e9c0e5f4a3cd1178cb42fa4c1f518b8b597 (diff)
downloadmongo-6f7364be380fd69a9725339123e5476518ddbaee.tar.gz
SERVER-11572 permit no-password auth for Windows Kerberos mongo shell from command line
-rw-r--r--src/mongo/shell/dbshell.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mongo/shell/dbshell.cpp b/src/mongo/shell/dbshell.cpp
index 59f2c876fa0..38e2a2017a7 100644
--- a/src/mongo/shell/dbshell.cpp
+++ b/src/mongo/shell/dbshell.cpp
@@ -706,7 +706,9 @@ int _main( int argc, char* argv[], char **envp ) {
if (!shellGlobalParams.nodb && shellGlobalParams.username.size()) {
authStringStream << "var username = \"" << shellGlobalParams.username << "\";" << endl;
- authStringStream << "var password = \"" << shellGlobalParams.password << "\";" << endl;
+ if (shellGlobalParams.usingPassword) {
+ authStringStream << "var password = \"" << shellGlobalParams.password << "\";" << endl;
+ }
if (shellGlobalParams.authenticationDatabase.empty()) {
authStringStream << "var authDb = db;" << endl;
}
@@ -715,8 +717,11 @@ int _main( int argc, char* argv[], char **envp ) {
<< shellGlobalParams.authenticationDatabase << "\");" << endl;
}
authStringStream << "authDb._authOrThrow({ " <<
- saslCommandUserFieldName << ": username, " <<
- saslCommandPasswordFieldName << ": password });" << endl;
+ saslCommandUserFieldName << ": username ";
+ if (shellGlobalParams.usingPassword) {
+ authStringStream << ", " << saslCommandPasswordFieldName << ": password ";
+ }
+ authStringStream << "});" << endl;
}
authStringStream << "}())";
mongo::shell_utils::_dbAuth = authStringStream.str();