]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
keyring: implement get_caps()
authorSage Weil <sage@inktank.com>
Wed, 6 Jun 2012 22:26:53 +0000 (15:26 -0700)
committerSage Weil <sage@inktank.com>
Wed, 6 Jun 2012 22:26:53 +0000 (15:26 -0700)
Simple accessor, mirrors KeyServerData.

Signed-off-by: Sage Weil <sage@inktank.com>
src/auth/KeyRing.h

index 72680562e4781ac48eaec98e2f97e14202fcde0c..26f41ab3e55268577f5e64750ca97e5a0caf9701 100644 (file)
@@ -58,6 +58,17 @@ public:
                          CryptoKey& secret) const {
     return false;
   }
+  bool get_caps(const EntityName& name,
+               const std::string& type, AuthCapsInfo& caps) const {
+    map<EntityName, EntityAuth>::const_iterator k = keys.find(name);
+    if (k == keys.end())
+      return false;
+    map<string,bufferlist>::const_iterator i = k->second.caps.find(type);
+    if (i != k->second.caps.end()) {
+      caps.caps = i->second;
+    }
+    return true;
+  }
 
   // modifiers
   void add(const EntityName& name, EntityAuth &a) {