From: Jashan Kamboj Date: Tue, 21 Jul 2015 19:35:37 +0000 (+0530) Subject: add rename check_access X-Git-Tag: v10.0.0~123^2~59 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8a29c4e93916847f3fdc640ca38b24d4b111a86d;p=ceph.git add rename check_access Signed-off-by: Jashan Kamboj --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 3141005efaee..eb1ae6442ac9 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -6139,6 +6139,15 @@ void Server::handle_client_rename(MDRequestRef& mdr) &remote_wrlocks, auth_pin_freeze)) return; + if (!check_access(mdr, srcdn->get_dir()->get_inode(), MAY_WRITE)) + return; + + if (!check_access(mdr, destdn->get_dir()->get_inode(), MAY_WRITE)) + return; + + if (!check_access(mdr, srci, MAY_WRITE)) + return; + if (oldin && oldin->is_dir() && _dir_is_nonempty(mdr, oldin)) {