From d8da229a154a14f01bc1e0aac95c67350f49fa8f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 9 Nov 2009 16:07:59 -0800 Subject: [PATCH] uclient: get keys, build authorizer --- src/auth/cephx/CephxProtocol.cc | 7 +++++-- src/client/Client.cc | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/auth/cephx/CephxProtocol.cc b/src/auth/cephx/CephxProtocol.cc index 5e25825e073b4..7b7ee596db583 100644 --- a/src/auth/cephx/CephxProtocol.cc +++ b/src/auth/cephx/CephxProtocol.cc @@ -221,6 +221,7 @@ CephXAuthorizer *CephXTicketHandler::build_authorizer(uint64_t global_id) CephXAuthorize msg; msg.nonce = a->nonce; if (encode_encrypt(msg, session_key, a->bl) < 0) { + dout(0) << "failed to encrypt authorizer" << dendl; delete a; return 0; } @@ -235,8 +236,10 @@ CephXAuthorizer *CephXTicketHandler::build_authorizer(uint64_t global_id) CephXAuthorizer *CephXTicketManager::build_authorizer(uint32_t service_id) { map::iterator iter = tickets_map.find(service_id); - if (iter == tickets_map.end()) - return false; + if (iter == tickets_map.end()) { + dout(0) << "no TicketHandler for service " << service_id << dendl; + return NULL; + } CephXTicketHandler& handler = iter->second; return handler.build_authorizer(global_id); diff --git a/src/client/Client.cc b/src/client/Client.cc index 273855de2d46f..d1382fd231f8c 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -260,6 +260,7 @@ void Client::init() messenger->add_dispatcher_head(this); monclient->init(); + monclient->set_want_keys(CEPH_ENTITY_TYPE_MDS | CEPH_ENTITY_TYPE_OSD); // do logger crap only once per process. static bool did_init = false; @@ -5963,5 +5964,6 @@ bool Client::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool { if (dest_type == CEPH_ENTITY_TYPE_MON) return true; - return monclient->auth->build_authorizer(dest_type); + *authorizer = monclient->auth->build_authorizer(dest_type); + return true; } -- 2.39.5