proto = s->auth_handler->start_session(entity_name, indata, response_bl, caps_info);
ret = 0;
- if (caps_info.allow_all)
+ if (caps_info.allow_all) {
s->caps.set_allow_all();
+ s->authenticated = true;
+ }
} else {
// request
ret = s->auth_handler->handle_request(indata, response_bl, s->global_id, caps_info, &auid);
}
s->caps.parse(str, NULL);
s->auid = auid;
+ s->authenticated = true;
finished = true;
}
} catch (const buffer::error &err) {
c->set_peer_type(m->client.name.type());
c->set_features(m->con_features);
+ s->authenticated = true;
s->caps = m->client_caps;
dout(10) << " caps are " << s->caps << dendl;
s->entity_name = m->entity_name;
dout(5) << __func__ << " setting monitor caps on this connection" << dendl;
if (!s->caps.is_allow_all()) // but no need to repeatedly copy
s->caps = *mon_caps;
+ s->authenticated = true;
}
s->put();
} else {
uint64_t auid;
uint64_t global_id;
+ bool authenticated = false; ///< true if auth handshake is complete
+
map<string, Subscription*> sub_map;
epoch_t osd_epoch; // the osdmap epoch sent to the mon client