From: Adam C. Emerson Date: Sat, 7 Mar 2020 09:32:04 +0000 (-0500) Subject: auth: Build target 'common' without using namespace in headers X-Git-Tag: v16.0.0~18^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=04eb9ddc48dffa353bb6423958f94f0b841c1ea8;p=ceph.git auth: Build target 'common' without using namespace in headers Part of a changeset to allow building all of 'common' without relying on 'using namespace std' or 'using namespace ceph' at toplevel in headers. Signed-off-by: Adam C. Emerson --- diff --git a/src/auth/AuthClientHandler.cc b/src/auth/AuthClientHandler.cc index 6d86c4e8e92d8..5e6521dfdec7e 100644 --- a/src/auth/AuthClientHandler.cc +++ b/src/auth/AuthClientHandler.cc @@ -40,4 +40,3 @@ AuthClientHandler::create(CephContext* cct, int proto, return NULL; } } - diff --git a/src/auth/AuthMethodList.cc b/src/auth/AuthMethodList.cc index 429833309a008..6efcea4e9c97b 100644 --- a/src/auth/AuthMethodList.cc +++ b/src/auth/AuthMethodList.cc @@ -28,7 +28,7 @@ AuthMethodList::AuthMethodList(CephContext *cct, std::string str) if (sup_list.empty()) { lderr(cct) << "WARNING: empty auth protocol list" << dendl; } - for (list::iterator iter = sup_list.begin(); iter != sup_list.end(); ++iter) { + for (auto iter = sup_list.begin(); iter != sup_list.end(); ++iter) { ldout(cct, 5) << "adding auth protocol: " << *iter << dendl; if (iter->compare("cephx") == 0) { auth_supported.push_back(CEPH_AUTH_CEPHX); @@ -54,7 +54,7 @@ bool AuthMethodList::is_supported_auth(int auth_type) int AuthMethodList::pick(const std::set<__u32>& supported) { - for (set<__u32>::const_reverse_iterator p = supported.rbegin(); p != supported.rend(); ++p) + for (auto p = supported.rbegin(); p != supported.rend(); ++p) if (is_supported_auth(*p)) return *p; return CEPH_AUTH_UNKNOWN; @@ -62,7 +62,7 @@ int AuthMethodList::pick(const std::set<__u32>& supported) void AuthMethodList::remove_supported_auth(int auth_type) { - for (list<__u32>::iterator p = auth_supported.begin(); p != auth_supported.end(); ) { + for (auto p = auth_supported.begin(); p != auth_supported.end(); ) { if (*p == (__u32)auth_type) auth_supported.erase(p++); else diff --git a/src/auth/AuthRegistry.cc b/src/auth/AuthRegistry.cc index 897aa81f089a9..0043567fb8db8 100644 --- a/src/auth/AuthRegistry.cc +++ b/src/auth/AuthRegistry.cc @@ -16,6 +16,8 @@ #undef dout_prefix #define dout_prefix *_dout << "AuthRegistry(" << this << ") " +using std::string; + AuthRegistry::AuthRegistry(CephContext *cct) : cct(cct) { diff --git a/src/auth/Crypto.cc b/src/auth/Crypto.cc index e45946341ac25..1827b5a7de857 100644 --- a/src/auth/Crypto.cc +++ b/src/auth/Crypto.cc @@ -39,6 +39,13 @@ #include +using std::ostringstream; +using std::string; + +using ceph::bufferlist; +using ceph::bufferptr; +using ceph::Formatter; + static bool getentropy_works() { char buf; @@ -476,7 +483,7 @@ void CryptoKey::decode(bufferlist::const_iterator& bl) bufferptr tmp; bl.copy_deep(len, tmp); if (_set_secret(type, tmp) < 0) - throw buffer::malformed_input("malformed secret"); + throw ceph::buffer::malformed_input("malformed secret"); } int CryptoKey::set_secret(int type, const bufferptr& s, utime_t c) diff --git a/src/auth/KeyRing.cc b/src/auth/KeyRing.cc index a2833183633a4..2ddc0b4ab22bc 100644 --- a/src/auth/KeyRing.cc +++ b/src/auth/KeyRing.cc @@ -30,6 +30,14 @@ #undef dout_prefix #define dout_prefix *_dout << "auth: " +using std::map; +using std::ostream; +using std::ostringstream; +using std::string; + +using ceph::bufferlist; +using ceph::Formatter; + int KeyRing::from_ceph_context(CephContext *cct) { const auto& conf = cct->_conf; @@ -53,7 +61,7 @@ int KeyRing::from_ceph_context(CephContext *cct) add(conf->name, ea); return 0; } - catch (buffer::error& e) { + catch (ceph::buffer::error& e) { lderr(cct) << "failed to decode key '" << conf->key << "'" << dendl; return -EINVAL; } @@ -73,7 +81,7 @@ int KeyRing::from_ceph_context(CephContext *cct) ea.key.decode_base64(k); add(conf->name, ea); } - catch (buffer::error& e) { + catch (ceph::buffer::error& e) { lderr(cct) << "failed to decode key '" << k << "'" << dendl; return -EINVAL; } @@ -96,7 +104,7 @@ int KeyRing::set_modifier(const char *type, string l(val); try { key.decode_base64(l); - } catch (const buffer::error& err) { + } catch (const ceph::buffer::error& err) { return -EINVAL; } set_key(name, key); @@ -162,7 +170,7 @@ void KeyRing::decode_plaintext(bufferlist::const_iterator& bli) ConfFile cf; if (cf.parse_bufferlist(&bl, nullptr) != 0) { - throw buffer::malformed_input("cannot parse buffer"); + throw ceph::buffer::malformed_input("cannot parse buffer"); } for (auto& [name, section] : cf) { @@ -174,7 +182,7 @@ void KeyRing::decode_plaintext(bufferlist::const_iterator& bli) if (!ename.from_str(name)) { ostringstream oss; oss << "bad entity name in keyring: " << name; - throw buffer::malformed_input(oss.str().c_str()); + throw ceph::buffer::malformed_input(oss.str().c_str()); } for (auto& [k, val] : section) { @@ -187,7 +195,7 @@ void KeyRing::decode_plaintext(bufferlist::const_iterator& bli) ostringstream oss; oss << "error setting modifier for [" << name << "] type=" << key << " val=" << val; - throw buffer::malformed_input(oss.str().c_str()); + throw ceph::buffer::malformed_input(oss.str().c_str()); } } } @@ -200,7 +208,7 @@ void KeyRing::decode(bufferlist::const_iterator& bl) { using ceph::decode; decode(struct_v, bl); decode(keys, bl); - } catch (buffer::error& err) { + } catch (ceph::buffer::error& err) { keys.clear(); decode_plaintext(start_pos); } @@ -223,7 +231,7 @@ int KeyRing::load(CephContext *cct, const std::string &filename) auto iter = bl.cbegin(); decode(iter); } - catch (const buffer::error& err) { + catch (const ceph::buffer::error& err) { lderr(cct) << "error parsing file " << filename << ": " << err.what() << dendl; return -EIO; } diff --git a/src/auth/RotatingKeyRing.cc b/src/auth/RotatingKeyRing.cc index c2d614a143269..4bc6af6adcad3 100644 --- a/src/auth/RotatingKeyRing.cc +++ b/src/auth/RotatingKeyRing.cc @@ -31,7 +31,7 @@ void RotatingKeyRing::set_secrets(RotatingSecrets&& s) void RotatingKeyRing::dump_rotating() const { ldout(cct, 10) << "dump_rotating:" << dendl; - for (map::const_iterator iter = secrets.secrets.begin(); + for (auto iter = secrets.secrets.begin(); iter != secrets.secrets.end(); ++iter) ldout(cct, 10) << " id " << iter->first << " " << iter->second << dendl; @@ -54,8 +54,7 @@ bool RotatingKeyRing::get_service_secret(uint32_t service_id_, uint64_t secret_i return false; } - map::const_iterator iter = - secrets.secrets.find(secret_id); + auto iter = secrets.secrets.find(secret_id); if (iter == secrets.secrets.end()) { ldout(cct, 0) << "could not find secret_id=" << secret_id << dendl; dump_rotating(); diff --git a/src/auth/cephx/CephxAuthorizeHandler.cc b/src/auth/cephx/CephxAuthorizeHandler.cc index b07de5a1d965b..615b8750081e0 100644 --- a/src/auth/cephx/CephxAuthorizeHandler.cc +++ b/src/auth/cephx/CephxAuthorizeHandler.cc @@ -4,14 +4,12 @@ #define dout_subsys ceph_subsys_auth - - bool CephxAuthorizeHandler::verify_authorizer( CephContext *cct, const KeyStore& keys, - const bufferlist& authorizer_data, + const ceph::bufferlist& authorizer_data, size_t connection_secret_required_len, - bufferlist *authorizer_reply, + ceph::bufferlist *authorizer_reply, EntityName *entity_name, uint64_t *global_id, AuthCapsInfo *caps_info, diff --git a/src/auth/cephx/CephxAuthorizeHandler.h b/src/auth/cephx/CephxAuthorizeHandler.h index b72b7c5e9cc70..626119078378b 100644 --- a/src/auth/cephx/CephxAuthorizeHandler.h +++ b/src/auth/cephx/CephxAuthorizeHandler.h @@ -22,9 +22,9 @@ struct CephxAuthorizeHandler : public AuthAuthorizeHandler { bool verify_authorizer( CephContext *cct, const KeyStore& keys, - const bufferlist& authorizer_data, + const ceph::buffer::list& authorizer_data, size_t connection_secret_required_len, - bufferlist *authorizer_reply, + ceph::buffer::list *authorizer_reply, EntityName *entity_name, uint64_t *global_id, AuthCapsInfo *caps_info, diff --git a/src/auth/cephx/CephxClientHandler.cc b/src/auth/cephx/CephxClientHandler.cc index a5365d344d10d..412142ba53ff4 100644 --- a/src/auth/cephx/CephxClientHandler.cc +++ b/src/auth/cephx/CephxClientHandler.cc @@ -28,6 +28,10 @@ #undef dout_prefix #define dout_prefix *_dout << "cephx client: " +using std::string; + +using ceph::bufferlist; + void CephxClientHandler::reset() { ldout(cct,10) << __func__ << dendl; @@ -130,7 +134,7 @@ int CephxClientHandler::handle_response( CephXServerChallenge ch; try { decode(ch, indata); - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 1) << __func__ << " failed to decode CephXServerChallenge: " << e.what() << dendl; return -EPERM; @@ -147,7 +151,7 @@ int CephxClientHandler::handle_response( struct CephXResponseHeader header; try { decode(header, indata); - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 1) << __func__ << " failed to decode CephXResponseHeader: " << e.what() << dendl; return -EPERM; @@ -171,10 +175,11 @@ int CephxClientHandler::handle_response( ldout(cct, 10) << " want=" << want << " need=" << need << " have=" << have << dendl; if (!indata.end()) { bufferlist cbl, extra_tickets; + using ceph::decode; try { decode(cbl, indata); decode(extra_tickets, indata); - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 1) << __func__ << " failed to decode tickets: " << e.what() << dendl; return -EPERM; diff --git a/src/auth/cephx/CephxClientHandler.h b/src/auth/cephx/CephxClientHandler.h index 6b225e4aca30d..95a7e566428ea 100644 --- a/src/auth/cephx/CephxClientHandler.h +++ b/src/auth/cephx/CephxClientHandler.h @@ -50,11 +50,11 @@ public: void reset() override; void prepare_build_request() override; - int build_request(bufferlist& bl) const override; - int handle_response(int ret, bufferlist::const_iterator& iter, + int build_request(ceph::buffer::list& bl) const override; + int handle_response(int ret, ceph::buffer::list::const_iterator& iter, CryptoKey *session_key, std::string *connection_secret) override; - bool build_rotating_request(bufferlist& bl) const override; + bool build_rotating_request(ceph::buffer::list& bl) const override; int get_protocol() const override { return CEPH_AUTH_CEPHX; } diff --git a/src/auth/cephx/CephxProtocol.cc b/src/auth/cephx/CephxProtocol.cc index ef95b66aa1c2e..7f485b82295b3 100644 --- a/src/auth/cephx/CephxProtocol.cc +++ b/src/auth/cephx/CephxProtocol.cc @@ -23,7 +23,13 @@ #undef dout_prefix #define dout_prefix *_dout << "cephx: " +using std::dec; +using std::hex; +using std::vector; +using ceph::bufferlist; +using ceph::decode; +using ceph::encode; void cephx_calc_client_server_challenge(CephContext *cct, CryptoKey& secret, uint64_t server_challenge, uint64_t client_challenge, uint64_t *key, std::string &error) @@ -92,6 +98,7 @@ bool cephx_build_service_ticket_reply(CephContext *cct, bufferlist& reply) { __u8 service_ticket_reply_v = 1; + using ceph::encode; encode(service_ticket_reply_v, reply); uint32_t num = ticket_info_vec.size(); @@ -99,7 +106,7 @@ bool cephx_build_service_ticket_reply(CephContext *cct, ldout(cct, 10) << "build_service_ticket_reply encoding " << num << " tickets with secret " << principal_secret << dendl; - for (vector::iterator ticket_iter = ticket_info_vec.begin(); + for (auto ticket_iter = ticket_info_vec.begin(); ticket_iter != ticket_info_vec.end(); ++ticket_iter) { CephXSessionAuthInfo& info = *ticket_iter; @@ -149,6 +156,7 @@ bool CephXTicketHandler::verify_service_ticket_reply( CryptoKey& secret, bufferlist::const_iterator& indata) { + using ceph::decode; try { __u8 service_ticket_v; decode(service_ticket_v, indata); @@ -198,7 +206,7 @@ bool CephXTicketHandler::verify_service_ticket_reply( have_key_flag = true; return true; - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 1) << __func__ << " decode error: " << e.what() << dendl; return false; } @@ -224,7 +232,7 @@ bool CephXTicketHandler::need_key() const bool CephXTicketManager::have_key(uint32_t service_id) { - map::iterator iter = tickets_map.find(service_id); + auto iter = tickets_map.find(service_id); if (iter == tickets_map.end()) return false; return iter->second.have_key(); @@ -232,7 +240,7 @@ bool CephXTicketManager::have_key(uint32_t service_id) bool CephXTicketManager::need_key(uint32_t service_id) const { - map::const_iterator iter = tickets_map.find(service_id); + auto iter = tickets_map.find(service_id); if (iter == tickets_map.end()) return true; return iter->second.need_key(); @@ -240,7 +248,7 @@ bool CephXTicketManager::need_key(uint32_t service_id) const void CephXTicketManager::set_have_need_key(uint32_t service_id, uint32_t& have, uint32_t& need) { - map::iterator iter = tickets_map.find(service_id); + auto iter = tickets_map.find(service_id); if (iter == tickets_map.end()) { have &= ~service_id; need |= service_id; @@ -265,7 +273,7 @@ void CephXTicketManager::set_have_need_key(uint32_t service_id, uint32_t& have, void CephXTicketManager::invalidate_ticket(uint32_t service_id) { - map::iterator iter = tickets_map.find(service_id); + auto iter = tickets_map.find(service_id); if (iter != tickets_map.end()) iter->second.invalidate_ticket(); } @@ -282,7 +290,7 @@ bool CephXTicketManager::verify_service_ticket_reply(CryptoKey& secret, try { decode(service_ticket_reply_v, indata); decode(num, indata); - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 10) << __func__ << " failed to decode ticket v or count: " << e.what() << dendl; } @@ -292,7 +300,7 @@ bool CephXTicketManager::verify_service_ticket_reply(CryptoKey& secret, uint32_t type = 0; try { decode(type, indata); - } catch (buffer::error& e) { + } catch (ceph::buffer::error& e) { ldout(cct, 10) << __func__ << " failed to decode ticket type: " << e.what() << dendl; } @@ -345,7 +353,7 @@ CephXAuthorizer *CephXTicketHandler::build_authorizer(uint64_t global_id) const */ CephXAuthorizer *CephXTicketManager::build_authorizer(uint32_t service_id) const { - map::const_iterator iter = tickets_map.find(service_id); + auto 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; @@ -429,7 +437,7 @@ bool cephx_verify_authorizer(CephContext *cct, const KeyStore& keys, decode(global_id, indata); decode(service_id, indata); decode(ticket, indata); - } catch (buffer::end_of_buffer &e) { + } catch (ceph::buffer::end_of_buffer &e) { // Unable to decode! return false; } diff --git a/src/auth/cephx/CephxProtocol.h b/src/auth/cephx/CephxProtocol.h index 6c2d53a0951c5..f5b87c15e66fb 100644 --- a/src/auth/cephx/CephxProtocol.h +++ b/src/auth/cephx/CephxProtocol.h @@ -43,13 +43,13 @@ struct CephXServerChallenge { uint64_t server_challenge; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); encode(server_challenge, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -64,11 +64,11 @@ WRITE_CLASS_ENCODER(CephXServerChallenge) struct CephXRequestHeader { __u16 request_type; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; encode(request_type, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; decode(request_type, bl); } @@ -79,12 +79,12 @@ struct CephXResponseHeader { uint16_t request_type; int32_t status; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; encode(request_type, bl); encode(status, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; decode(request_type, bl); decode(status, bl); @@ -94,11 +94,11 @@ WRITE_CLASS_ENCODER(CephXResponseHeader) struct CephXTicketBlob { uint64_t secret_id; - bufferlist blob; + ceph::buffer::list blob; CephXTicketBlob() : secret_id(0) {} - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); @@ -106,7 +106,7 @@ struct CephXTicketBlob { encode(blob, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -123,7 +123,7 @@ struct CephXAuthenticate { CephXTicketBlob old_ticket; uint32_t other_keys = 0; // replaces CephXServiceTicketRequest - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 2; encode(struct_v, bl); @@ -132,7 +132,7 @@ struct CephXAuthenticate { encode(old_ticket, bl); encode(other_keys, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -149,12 +149,12 @@ WRITE_CLASS_ENCODER(CephXAuthenticate) struct CephXChallengeBlob { uint64_t server_challenge, client_challenge; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; encode(server_challenge, bl); encode(client_challenge, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; decode(server_challenge, bl); decode(client_challenge, bl); @@ -185,25 +185,25 @@ extern bool cephx_build_service_ticket_blob(CephContext *cct, extern void cephx_build_service_ticket_request(CephContext *cct, uint32_t keys, - bufferlist& request); + ceph::buffer::list& request); extern bool cephx_build_service_ticket_reply(CephContext *cct, CryptoKey& principal_secret, - vector ticket_info, + std::vector ticket_info, bool should_encrypt_ticket, CryptoKey& ticket_enc_key, - bufferlist& reply); + ceph::buffer::list& reply); struct CephXServiceTicketRequest { uint32_t keys; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); encode(keys, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -220,7 +220,7 @@ WRITE_CLASS_ENCODER(CephXServiceTicketRequest) struct CephXAuthorizeReply { uint64_t nonce_plus_one; std::string connection_secret; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; if (connection_secret.size()) { @@ -233,7 +233,7 @@ struct CephXAuthorizeReply { encode(connection_secret, bl); } } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -251,15 +251,15 @@ private: CephContext *cct; public: uint64_t nonce; - bufferlist base_bl; + ceph::buffer::list base_bl; explicit CephXAuthorizer(CephContext *cct_) : AuthAuthorizer(CEPH_AUTH_CEPHX), cct(cct_), nonce(0) {} bool build_authorizer(); - bool verify_reply(bufferlist::const_iterator& reply, + bool verify_reply(ceph::buffer::list::const_iterator& reply, std::string *connection_secret) override; - bool add_challenge(CephContext *cct, const bufferlist& challenge) override; + bool add_challenge(CephContext *cct, const ceph::buffer::list& challenge) override; }; @@ -279,7 +279,7 @@ struct CephXTicketHandler { // to build our ServiceTicket bool verify_service_ticket_reply(CryptoKey& principal_secret, - bufferlist::const_iterator& indata); + ceph::buffer::list::const_iterator& indata); // to access the service CephXAuthorizer *build_authorizer(uint64_t global_id) const; @@ -294,14 +294,14 @@ private: }; struct CephXTicketManager { - typedef map tickets_map_t; + typedef std::map tickets_map_t; tickets_map_t tickets_map; uint64_t global_id; explicit CephXTicketManager(CephContext *cct_) : global_id(0), cct(cct_) {} bool verify_service_ticket_reply(CryptoKey& principal_secret, - bufferlist::const_iterator& indata); + ceph::buffer::list::const_iterator& indata); CephXTicketHandler& get_handler(uint32_t type) { tickets_map_t::iterator i = tickets_map.find(type); @@ -330,14 +330,14 @@ struct CephXServiceTicket { CryptoKey session_key; utime_t validity; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); encode(session_key, bl); encode(validity, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -352,14 +352,14 @@ struct CephXServiceTicketInfo { AuthTicket ticket; CryptoKey session_key; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); encode(ticket, bl); encode(session_key, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -371,13 +371,13 @@ WRITE_CLASS_ENCODER(CephXServiceTicketInfo) struct CephXAuthorizeChallenge : public AuthAuthorizerChallenge { uint64_t server_challenge; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 1; encode(struct_v, bl); encode(server_challenge, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -390,7 +390,7 @@ struct CephXAuthorize { uint64_t nonce; bool have_challenge = false; uint64_t server_challenge_plus_one = 0; - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; __u8 struct_v = 2; encode(struct_v, bl); @@ -398,7 +398,7 @@ struct CephXAuthorize { encode(have_challenge, bl); encode(server_challenge_plus_one, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; __u8 struct_v; decode(struct_v, bl); @@ -424,12 +424,12 @@ bool cephx_decode_ticket(CephContext *cct, KeyStore *keys, extern bool cephx_verify_authorizer( CephContext *cct, const KeyStore& keys, - bufferlist::const_iterator& indata, + ceph::buffer::list::const_iterator& indata, size_t connection_secret_required_len, CephXServiceTicketInfo& ticket_info, std::unique_ptr *challenge, std::string *connection_secret, - bufferlist *reply_bl); + ceph::buffer::list *reply_bl); @@ -443,21 +443,22 @@ static constexpr uint64_t AUTH_ENC_MAGIC = 0xff009cad8826aa55ull; template void decode_decrypt_enc_bl(CephContext *cct, T& t, CryptoKey key, - const bufferlist& bl_enc, + const ceph::buffer::list& bl_enc, std::string &error) { uint64_t magic; - bufferlist bl; + ceph::buffer::list bl; if (key.decrypt(cct, bl_enc, bl, &error) < 0) return; auto iter2 = bl.cbegin(); __u8 struct_v; + using ceph::decode; decode(struct_v, iter2); decode(magic, iter2); if (magic != AUTH_ENC_MAGIC) { - ostringstream oss; + std::ostringstream oss; oss << "bad magic in decode_decrypt, " << magic << " != " << AUTH_ENC_MAGIC; error = oss.str(); return; @@ -468,10 +469,11 @@ void decode_decrypt_enc_bl(CephContext *cct, T& t, CryptoKey key, template void encode_encrypt_enc_bl(CephContext *cct, const T& t, const CryptoKey& key, - bufferlist& out, std::string &error) + ceph::buffer::list& out, std::string &error) { - bufferlist bl; + ceph::buffer::list bl; __u8 struct_v = 1; + using ceph::encode; encode(struct_v, bl); uint64_t magic = AUTH_ENC_MAGIC; encode(magic, bl); @@ -482,14 +484,15 @@ void encode_encrypt_enc_bl(CephContext *cct, const T& t, const CryptoKey& key, template int decode_decrypt(CephContext *cct, T& t, const CryptoKey& key, - bufferlist::const_iterator& iter, std::string &error) + ceph::buffer::list::const_iterator& iter, std::string &error) { - bufferlist bl_enc; + ceph::buffer::list bl_enc; + using ceph::decode; try { decode(bl_enc, iter); decode_decrypt_enc_bl(cct, t, key, bl_enc, error); } - catch (buffer::error &e) { + catch (ceph::buffer::error &e) { error = "error decoding block for decryption"; } if (!error.empty()) @@ -499,9 +502,10 @@ int decode_decrypt(CephContext *cct, T& t, const CryptoKey& key, template int encode_encrypt(CephContext *cct, const T& t, const CryptoKey& key, - bufferlist& out, std::string &error) + ceph::buffer::list& out, std::string &error) { - bufferlist bl_enc; + using ceph::encode; + ceph::buffer::list bl_enc; encode_encrypt_enc_bl(cct, t, key, bl_enc, error); if (!error.empty()){ return CEPHX_CRYPT_ERR; diff --git a/src/auth/none/AuthNoneAuthorizeHandler.cc b/src/auth/none/AuthNoneAuthorizeHandler.cc index 2b81212ce74e9..bc553fed6bbeb 100644 --- a/src/auth/none/AuthNoneAuthorizeHandler.cc +++ b/src/auth/none/AuthNoneAuthorizeHandler.cc @@ -20,9 +20,9 @@ bool AuthNoneAuthorizeHandler::verify_authorizer( CephContext *cct, const KeyStore& keys, - const bufferlist& authorizer_data, + const ceph::buffer::list& authorizer_data, size_t connection_secret_required_len, - bufferlist *authorizer_reply, + ceph::buffer::list *authorizer_reply, EntityName *entity_name, uint64_t *global_id, AuthCapsInfo *caps_info, @@ -30,6 +30,7 @@ bool AuthNoneAuthorizeHandler::verify_authorizer( std::string *connection_secret, std::unique_ptr *challenge) { + using ceph::decode; auto iter = authorizer_data.cbegin(); try { @@ -37,7 +38,7 @@ bool AuthNoneAuthorizeHandler::verify_authorizer( decode(struct_v, iter); decode(*entity_name, iter); decode(*global_id, iter); - } catch (const buffer::error &err) { + } catch (const ceph::buffer::error &err) { ldout(cct, 0) << "AuthNoneAuthorizeHandle::verify_authorizer() failed to decode" << dendl; return false; } diff --git a/src/auth/none/AuthNoneAuthorizeHandler.h b/src/auth/none/AuthNoneAuthorizeHandler.h index 46586418980fb..3d5ca58d526d2 100644 --- a/src/auth/none/AuthNoneAuthorizeHandler.h +++ b/src/auth/none/AuthNoneAuthorizeHandler.h @@ -22,9 +22,9 @@ struct AuthNoneAuthorizeHandler : public AuthAuthorizeHandler { bool verify_authorizer( CephContext *cct, const KeyStore& keys, - const bufferlist& authorizer_data, + const ceph::buffer::list& authorizer_data, size_t connection_secret_required_len, - bufferlist *authorizer_reply, + ceph::buffer::list *authorizer_reply, EntityName *entity_name, uint64_t *global_id, AuthCapsInfo *caps_info, diff --git a/src/auth/none/AuthNoneClientHandler.h b/src/auth/none/AuthNoneClientHandler.h index eb3ef8f552171..740ef0fc20d3c 100644 --- a/src/auth/none/AuthNoneClientHandler.h +++ b/src/auth/none/AuthNoneClientHandler.h @@ -29,11 +29,11 @@ public: void reset() override { } void prepare_build_request() override {} - int build_request(bufferlist& bl) const override { return 0; } - int handle_response(int ret, bufferlist::const_iterator& iter, + int build_request(ceph::buffer::list& bl) const override { return 0; } + int handle_response(int ret, ceph::buffer::list::const_iterator& iter, CryptoKey *session_key, std::string *connection_secret) override { return 0; } - bool build_rotating_request(bufferlist& bl) const override { return false; } + bool build_rotating_request(ceph::buffer::list& bl) const override { return false; } int get_protocol() const override { return CEPH_AUTH_NONE; } diff --git a/src/auth/none/AuthNoneProtocol.h b/src/auth/none/AuthNoneProtocol.h index ea0b731f571d0..d23fdcc672378 100644 --- a/src/auth/none/AuthNoneProtocol.h +++ b/src/auth/none/AuthNoneProtocol.h @@ -22,14 +22,15 @@ struct AuthNoneAuthorizer : public AuthAuthorizer { AuthNoneAuthorizer() : AuthAuthorizer(CEPH_AUTH_NONE) { } bool build_authorizer(const EntityName &ename, uint64_t global_id) { __u8 struct_v = 1; // see AUTH_MODE_* in Auth.h + using ceph::encode; encode(struct_v, bl); encode(ename, bl); encode(global_id, bl); return 0; } - bool verify_reply(bufferlist::const_iterator& reply, + bool verify_reply(ceph::buffer::list::const_iterator& reply, std::string *connection_secret) override { return true; } - bool add_challenge(CephContext *cct, const bufferlist& ch) override { + bool add_challenge(CephContext *cct, const ceph::buffer::list& ch) override { return true; } };