diff options
author | Joao Eduardo Luis <joao.luis@inktank.com> | 2013-07-28 19:32:49 +0100 |
---|---|---|
committer | Joao Eduardo Luis <joao.luis@inktank.com> | 2013-08-02 22:49:32 +0100 |
commit | 1305ab44514685700c08ee759bc0ca49e70e95f2 (patch) | |
tree | e4ec13d649503da19423a06432e9b856a000c062 | |
parent | 7269a0c7738ca6d4cd3a22b29c116c2b1e75b59c (diff) | |
download | ceph-1305ab44514685700c08ee759bc0ca49e70e95f2.tar.gz |
mon: services: no longer needed to enforce caps on a per-service basis
We now perform all perm checks for commands on Monitor::handle_command().
Services no longer need to check them.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r-- | src/mon/AuthMonitor.cc | 6 | ||||
-rw-r--r-- | src/mon/LogMonitor.cc | 4 | ||||
-rw-r--r-- | src/mon/MDSMonitor.cc | 8 | ||||
-rw-r--r-- | src/mon/Monitor.cc | 1 | ||||
-rw-r--r-- | src/mon/MonmapMonitor.cc | 8 | ||||
-rw-r--r-- | src/mon/OSDMonitor.cc | 8 | ||||
-rw-r--r-- | src/mon/PGMonitor.cc | 8 |
7 files changed, 12 insertions, 31 deletions
diff --git a/src/mon/AuthMonitor.cc b/src/mon/AuthMonitor.cc index 629451b5eac..63bcbb1ef03 100644 --- a/src/mon/AuthMonitor.cc +++ b/src/mon/AuthMonitor.cc @@ -546,8 +546,7 @@ bool AuthMonitor::preprocess_command(MMonCommand *m) } MonSession *session = m->get_session(); - if (!session || - (!mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } @@ -696,8 +695,7 @@ bool AuthMonitor::prepare_command(MMonCommand *m) boost::scoped_ptr<Formatter> f(new_formatter(format)); MonSession *session = m->get_session(); - if (!session || - (!mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc index cab49060082..47f56bebee4 100644 --- a/src/mon/LogMonitor.cc +++ b/src/mon/LogMonitor.cc @@ -362,9 +362,7 @@ bool LogMonitor::prepare_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("log", MON_CAP_W) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", get_last_committed()); return true; } diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index f0fb4ae8332..5129cf1c76f 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -554,9 +554,7 @@ bool MDSMonitor::preprocess_command(MMonCommand *m) boost::scoped_ptr<Formatter> f(new_formatter(format)); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("mds", MON_CAP_R) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } @@ -768,9 +766,7 @@ bool MDSMonitor::prepare_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("mds", MON_CAP_W) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index ecd5173b6d2..4d8d87317d4 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1993,6 +1993,7 @@ void Monitor::handle_command(MMonCommand *m) if (!_allowed_command(session, module, prefix, cmdmap)) { dout(1) << __func__ << " access denied" << dendl; reply_command(m, -EACCES, "access denied", 0); + return; } if (module == "mds") { diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index 5ec1583b82f..799f19df154 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -164,9 +164,7 @@ bool MonmapMonitor::preprocess_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("mon", MON_CAP_R) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", get_last_committed()); return true; } @@ -276,9 +274,7 @@ bool MonmapMonitor::prepare_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("mon", MON_CAP_R) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", get_last_committed()); return true; } diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c6db052a591..e58b3c2082e 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -1949,9 +1949,7 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) } MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("osd", MON_CAP_R) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } @@ -2595,9 +2593,7 @@ bool OSDMonitor::prepare_command(MMonCommand *m) boost::scoped_ptr<Formatter> f(new_formatter(format)); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("osd", MON_CAP_W) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", get_last_committed()); return true; } diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 648a8fe2384..eca9eef82cd 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -1317,9 +1317,7 @@ bool PGMonitor::preprocess_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("pg", MON_CAP_R) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", rdata, get_last_committed()); return true; } @@ -1561,9 +1559,7 @@ bool PGMonitor::prepare_command(MMonCommand *m) cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); MonSession *session = m->get_session(); - if (!session || - (!session->is_capable("pg", MON_CAP_W) && - !mon->_allowed_command(session, cmdmap))) { + if (!session) { mon->reply_command(m, -EACCES, "access denied", get_last_committed()); return true; } |