summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristina <kristina@10gen.com>2011-04-08 10:31:05 -0400
committerEliot Horowitz <eliot@10gen.com>2011-04-28 01:55:05 -0400
commit19d7fd194d5793441b945ef07f1ae46b0de6ceaa (patch)
tree189098796a83317d61b5a5ac77193e347e74442b
parentbd136c1c16b21ffa5d1afad0172a415d718db9e2 (diff)
downloadmongo-19d7fd194d5793441b945ef07f1ae46b0de6ceaa.tar.gz
authenticate rs manager thread SERVER-2919
-rw-r--r--db/repl/manager.cpp3
-rw-r--r--jstests/replsets/auth1.js12
2 files changed, 15 insertions, 0 deletions
diff --git a/db/repl/manager.cpp b/db/repl/manager.cpp
index ed39c3107d7..d2e0764ad1b 100644
--- a/db/repl/manager.cpp
+++ b/db/repl/manager.cpp
@@ -64,6 +64,9 @@ namespace mongo {
void Manager::starting() {
Client::initThread("rs Manager");
+ if (!noauth) {
+ cc().getAuthenticationInfo()->authorize("local");
+ }
}
void Manager::noteARemoteIsPrimary(const Member *m) {
diff --git a/jstests/replsets/auth1.js b/jstests/replsets/auth1.js
index 4945869d2a1..60e4b951b90 100644
--- a/jstests/replsets/auth1.js
+++ b/jstests/replsets/auth1.js
@@ -182,3 +182,15 @@ wait(function() {
return results.members[3].state == 2;
});
+print("make sure it has the config, too");
+assert.soon(function() {
+ for (var i in rs.nodes) {
+ rs.nodes[i].setSlaveOk();
+ rs.nodes[i].getDB("admin").auth("foo","bar");
+ config = rs.nodes[i].getDB("local").system.replset.findOne();
+ if (config.version != 2) {
+ return false;
+ }
+ }
+ return true;
+ });