]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
add rename check_access
authorJashan Kamboj <jashank42@gmail.com>
Tue, 21 Jul 2015 19:35:37 +0000 (01:05 +0530)
committerSage Weil <sage@redhat.com>
Thu, 1 Oct 2015 13:39:33 +0000 (09:39 -0400)
Signed-off-by: Jashan Kamboj <jashank42@gmail.com>
src/mds/Server.cc

index 3141005efaee7fb93178e1541e80a5cfbc2b0748..eb1ae6442ac91469b912994436bf58a679d2356e 100644 (file)
@@ -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)) {