summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/authz_manager_external_state_s.cpp
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@10gen.com>2013-11-07 10:32:59 -0500
committerAndy Schwerin <schwerin@10gen.com>2013-11-08 14:22:14 -0500
commitd0fa8b74df7c4a5d1ac897110610d6582f17556b (patch)
tree3fb4275d808543b515f4bfd3e4792a28a3248a65 /src/mongo/db/auth/authz_manager_external_state_s.cpp
parent3bb685079761a085b4ab7e7047251ef06fe62532 (diff)
downloadmongo-d0fa8b74df7c4a5d1ac897110610d6582f17556b.tar.gz
SERVER-9516 Remove unused methods from AuthzManagerExternalState.
Diffstat (limited to 'src/mongo/db/auth/authz_manager_external_state_s.cpp')
-rw-r--r--src/mongo/db/auth/authz_manager_external_state_s.cpp102
1 files changed, 52 insertions, 50 deletions
diff --git a/src/mongo/db/auth/authz_manager_external_state_s.cpp b/src/mongo/db/auth/authz_manager_external_state_s.cpp
index 8588becdff5..450356c7aa8 100644
--- a/src/mongo/db/auth/authz_manager_external_state_s.cpp
+++ b/src/mongo/db/auth/authz_manager_external_state_s.cpp
@@ -45,10 +45,6 @@
namespace mongo {
-namespace {
- static Status userNotFoundStatus(ErrorCodes::UserNotFound, "User not found");
-}
-
AuthzManagerExternalStateMongos::AuthzManagerExternalStateMongos() {}
AuthzManagerExternalStateMongos::~AuthzManagerExternalStateMongos() {}
@@ -176,16 +172,17 @@ namespace {
}
}
- Status AuthzManagerExternalStateMongos::_findUser(const string& usersNamespace,
- const BSONObj& query,
- BSONObj* result) {
+ Status AuthzManagerExternalStateMongos::findOne(
+ const NamespaceString& collectionName,
+ const BSONObj& query,
+ BSONObj* result) {
try {
- scoped_ptr<ScopedDbConnection> conn(getConnectionForAuthzCollection(
- AuthorizationManager::usersCollectionNamespace));
- *result = conn->get()->findOne(usersNamespace, query).getOwned();
+ scoped_ptr<ScopedDbConnection> conn(getConnectionForAuthzCollection(collectionName));
+ *result = conn->get()->findOne(collectionName, query).getOwned();
conn->done();
if (result->isEmpty()) {
- return userNotFoundStatus;
+ return Status(ErrorCodes::NoMatchingDocument, mongoutils::str::stream() <<
+ "No document in " << collectionName.ns() << " matches " << query);
}
return Status::OK();
} catch (const DBException& e) {
@@ -230,30 +227,6 @@ namespace {
}
}
- Status AuthzManagerExternalStateMongos::getAllV1PrivilegeDocsForDB(
- const std::string& dbname, std::vector<BSONObj>* privDocs) {
- try {
- NamespaceString usersNamespace(dbname, "system.users");
- scoped_ptr<ScopedDbConnection> conn(getConnectionForAuthzCollection(usersNamespace));
- auto_ptr<DBClientCursor> c = conn->get()->query(usersNamespace, Query());
-
- while (c->more()) {
- privDocs->push_back(c->nextSafe().getOwned());
- }
- conn->done();
- return Status::OK();
- } catch (const DBException& e) {
- return e.toStatus();
- }
- }
-
- Status AuthzManagerExternalStateMongos::findOne(
- const NamespaceString& collectionName,
- const BSONObj& query,
- BSONObj* result) {
- fassertFailed(17101);
- }
-
Status AuthzManagerExternalStateMongos::insert(
const NamespaceString& collectionName,
const BSONObj& document,
@@ -351,26 +324,55 @@ namespace {
const BSONObj& pattern,
bool unique,
const BSONObj& writeConcern) {
- fassertFailed(17105);
- }
+ try {
+ scoped_ptr<ScopedDbConnection> conn(getConnectionForAuthzCollection(collectionName));
- Status AuthzManagerExternalStateMongos::dropCollection(
- const NamespaceString& collectionName, const BSONObj& writeConcern) {
- fassertFailed(17106);
- }
+ if (conn->get()->ensureIndex(collectionName.ns(), pattern, unique)) {
- Status AuthzManagerExternalStateMongos::renameCollection(
- const NamespaceString& oldName,
- const NamespaceString& newName,
- const BSONObj& writeConcern) {
- fassertFailed(17107);
+ // Handle write concern
+ BSONObjBuilder gleBuilder;
+ gleBuilder.append("getLastError", 1);
+ gleBuilder.appendElements(writeConcern);
+ BSONObj res;
+ conn->get()->runCommand("admin", gleBuilder.done(), res);
+ string err = conn->get()->getLastErrorString(res);
+
+ if (!err.empty()) {
+ conn->done();
+ return Status(ErrorCodes::UnknownError, err);
+ }
+ }
+ conn->done();
+ return Status::OK();
+
+ } catch (const DBException& ex) {
+ return ex.toStatus();
+ }
}
- Status AuthzManagerExternalStateMongos::copyCollection(
- const NamespaceString& fromName,
- const NamespaceString& toName,
+ Status AuthzManagerExternalStateMongos::dropIndexes(
+ const NamespaceString& collectionName,
const BSONObj& writeConcern) {
- fassertFailed(17108);
+
+ scoped_ptr<ScopedDbConnection> conn(getConnectionForAuthzCollection(collectionName));
+ try {
+ conn->get()->dropIndexes(collectionName.ns());
+ BSONObjBuilder gleBuilder;
+ gleBuilder.append("getLastError", 1);
+ gleBuilder.appendElements(writeConcern);
+ BSONObj res;
+ conn->get()->runCommand("admin", gleBuilder.done(), res);
+ string errstr = conn->get()->getLastErrorString(res);
+ if (!errstr.empty()) {
+ conn->done();
+ return Status(ErrorCodes::UnknownError, errstr);
+ }
+ conn->done();
+ return Status::OK();
+ }
+ catch (const DBException& ex) {
+ return ex.toStatus();
+ }
}
bool AuthzManagerExternalStateMongos::tryAcquireAuthzUpdateLock(const StringData& why) {