return have_key_flag;
}
-bool CephXTicketHandler::need_key()
+bool CephXTicketHandler::need_key() const
{
if (have_key_flag) {
return (!expires.is_zero()) && (ceph_clock_now(cct) >= renew_after);
return iter->second.have_key();
}
-bool CephXTicketManager::need_key(uint32_t service_id)
+bool CephXTicketManager::need_key(uint32_t service_id) const
{
- map<uint32_t, CephXTicketHandler>::iterator iter = tickets_map.find(service_id);
+ map<uint32_t, CephXTicketHandler>::const_iterator iter = tickets_map.find(service_id);
if (iter == tickets_map.end())
return true;
return iter->second.need_key();
*
* ticket, {timestamp}^session_key
*/
-CephXAuthorizer *CephXTicketHandler::build_authorizer(uint64_t global_id)
+CephXAuthorizer *CephXTicketHandler::build_authorizer(uint64_t global_id) const
{
CephXAuthorizer *a = new CephXAuthorizer(cct);
a->session_key = session_key;
*
* ticket, {timestamp}^session_key
*/
-CephXAuthorizer *CephXTicketManager::build_authorizer(uint32_t service_id)
+CephXAuthorizer *CephXTicketManager::build_authorizer(uint32_t service_id) const
{
- map<uint32_t, CephXTicketHandler>::iterator iter = tickets_map.find(service_id);
+ map<uint32_t, CephXTicketHandler>::const_iterator iter = tickets_map.find(service_id);
if (iter == tickets_map.end()) {
ldout(cct, 0) << "no TicketHandler for service "
<< ceph_entity_type_name(service_id) << dendl;
return NULL;
}
- CephXTicketHandler& handler = iter->second;
+ const CephXTicketHandler& handler = iter->second;
return handler.build_authorizer(global_id);
}
bool verify_service_ticket_reply(CryptoKey& principal_secret,
bufferlist::iterator& indata);
// to access the service
- CephXAuthorizer *build_authorizer(uint64_t global_id);
+ CephXAuthorizer *build_authorizer(uint64_t global_id) const;
bool have_key();
- bool need_key();
+ bool need_key() const;
void invalidate_ticket() {
have_key_flag = 0;
assert(res.second);
return res.first->second;
}
- CephXAuthorizer *build_authorizer(uint32_t service_id);
+ CephXAuthorizer *build_authorizer(uint32_t service_id) const;
bool have_key(uint32_t service_id);
- bool need_key(uint32_t service_id);
+ bool need_key(uint32_t service_id) const;
void set_have_need_key(uint32_t service_id, uint32_t& have, uint32_t& need);
void validate_tickets(uint32_t mask, uint32_t& have, uint32_t& need);
void invalidate_ticket(uint32_t service_id);