diff options
Diffstat (limited to 'src/mongo/db/commands/authentication_commands.cpp')
-rw-r--r-- | src/mongo/db/commands/authentication_commands.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/commands/authentication_commands.cpp b/src/mongo/db/commands/authentication_commands.cpp index 03759d1302e..eb6fa782ac5 100644 --- a/src/mongo/db/commands/authentication_commands.cpp +++ b/src/mongo/db/commands/authentication_commands.cpp @@ -162,6 +162,8 @@ bool CmdAuthenticate::run(OperationContext* txn, } UserName user(cmdObj.getStringField("user"), dbname); + uassert(ErrorCodes::AuthenticationFailed, "No user name provided", !user.getUser().empty()); + if (Command::testCommandsEnabled && user.getDB() == "admin" && user.getUser() == internalSecurity.user->getName().getUser()) { // Allows authenticating as the internal user against the admin database. This is to @@ -315,6 +317,9 @@ Status CmdAuthenticate::_authenticateX509(OperationContext* txn, ClientBasic* client = ClientBasic::getCurrent(); AuthorizationSession* authorizationSession = AuthorizationSession::get(client); std::string clientSubjectName = client->port()->getX509SubjectName(); + uassert(ErrorCodes::AuthenticationFailed, + "No verified subject name available from client", + !clientSubjectName.empty()); if (!getSSLManager()->getSSLConfiguration().hasCA) { return Status(ErrorCodes::AuthenticationFailed, |