]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msg/async/ProtocolV1: resurrect "implement cephx_*require_version options"
authorIlya Dryomov <idryomov@gmail.com>
Fri, 16 Oct 2020 09:35:27 +0000 (11:35 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Sat, 17 Oct 2020 18:54:18 +0000 (20:54 +0200)
commit6f5c4152ca2c6423e665cde2196c6301f76043a2
treea3da747ac126d56375cc97ced85337e68727a976
parent949e2e595eda553aa68f697cee1dcfff3c09cf3f
msg/async/ProtocolV1: resurrect "implement cephx_*require_version options"

This was added in commit 9bcbc2a3621f ("mon,msg: implement
cephx_*_require_version options") and inadvertently dropped in
commit e6f043f7d2dc ("msgr/async: huge refactoring of protocol V1").
As a result, service daemons don't enforce cephx_require_version
and cephx_cluster_require_version options and connections without
CEPH_FEATURE_CEPHX_V2 are allowed through.

(cephx_service_require_version enforcement was brought back a
year later in commit 321548010578 ("mon/MonClient: skip CEPHX_V2
challenge if client doesn't support it"), although the peer gets
TAG_BADAUTHORIZER instead of TAG_FEATURES.)

Resurrect the original behaviour: all cephx_*require_version
options are enforced and the peer gets TAG_FEATURES, signifying
that it is missing a required feature.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/msg/async/ProtocolV1.cc