]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
auth: refactor KeyServer::get_used_pending_keys().
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 4 Mar 2022 15:57:30 +0000 (15:57 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 12 Sep 2022 17:03:32 +0000 (17:03 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/auth/cephx/CephxKeyServer.cc
src/auth/cephx/CephxKeyServer.h
src/mon/AuthMonitor.cc

index ece342155b122698a5d3562c03881a4f537ecd4a..236ac451add9ab72ea769c3d22da3f914c5b9245 100644 (file)
@@ -249,10 +249,12 @@ void KeyServer::clear_used_pending_keys()
   used_pending_keys.clear();
 }
 
-void KeyServer::get_used_pending_keys(std::map<EntityName,CryptoKey> *used)
+std::map<EntityName,CryptoKey> KeyServer::get_used_pending_keys()
 {
+  std::map<EntityName,CryptoKey> ret;
   std::scoped_lock l(lock);
-  used->swap(used_pending_keys);
+  ret.swap(used_pending_keys);
+  return ret;
 }
 
 bool KeyServer::generate_secret(CryptoKey& secret)
index 62b98841411ccf679e82d7b152ab615c6fdffe84..64915c8ce4aaca2724b7dad027276db0c85cf651 100644 (file)
@@ -215,8 +215,8 @@ public:
 
   void note_used_pending_key(const EntityName& name, const CryptoKey& key);
   void clear_used_pending_keys();
-  void get_used_pending_keys(std::map<EntityName,CryptoKey> *used);
-  
+  std::map<EntityName,CryptoKey> get_used_pending_keys();
+
   int start_server();
   void rotate_timeout(double timeout);
 
index 0f7ab5ed03d9317df743149209bcc5aead90fcf3..16c3e8991b4a7869104e736d2c827822cb04edc1 100644 (file)
@@ -154,8 +154,7 @@ void AuthMonitor::tick()
   }
 
   if (mon.monmap->min_mon_release >= ceph_release_t::quincy) {
-    std::map<EntityName,CryptoKey> used_pending_keys;
-    mon.key_server.get_used_pending_keys(&used_pending_keys);
+    auto used_pending_keys = mon.key_server.get_used_pending_keys();
     if (!used_pending_keys.empty()) {
       dout(10) << __func__ << " " << used_pending_keys.size() << " used pending_keys"
               << dendl;