This will prompt the client to request new ones from the auth server.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
virtual bool need_tickets() = 0;
+ virtual void invalidate_all_tickets() {} // FIXME = 0
+
virtual void set_global_id(uint64_t id) = 0;
static AuthClientHandler* create(CephContext* cct, int proto, RotatingKeyRing* rkeys);
return _need_tickets();
}
+
+void CephxClientHandler::invalidate_all_tickets()
+{
+ tickets.invalidate_all_tickets();
+}
bool need_tickets() override;
+ void invalidate_all_tickets() override;
+
void set_global_id(uint64_t id) override {
global_id = id;
tickets.global_id = id;
iter->second.invalidate_ticket();
}
+void CephXTicketManager::invalidate_all_tickets()
+{
+ ldout(cct, 10) << __func__ << dendl;
+ for ([[maybe_unused]] auto &[service_id, ticket] : tickets_map) {
+ ticket.invalidate_ticket();
+ }
+}
+
+
/*
* PRINCIPAL: verify our attempt to authenticate succeeded. fill out
* this ServiceTicket with the result.
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);
+ void invalidate_all_tickets();
private:
CephContext *cct;