Change the prototype of the vfs function get_nt_acl().
[samba.git] / source / rpc_server / srv_srvsvc_nt.c
index 125ccb4752add9440c68443644748a4c5d690c6a..43f57a01097322f8089a7518261de98d6c6e1d3d 100644 (file)
@@ -2089,7 +2089,6 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
        char *filename_in = NULL;
        char *filename = NULL;
        char *qualname = NULL;
-       files_struct *fsp = NULL;
        SMB_STRUCT_STAT st;
        NTSTATUS nt_status;
        struct current_user user;
@@ -2149,25 +2148,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
                goto error_exit;
        }
 
-       nt_status = open_file_stat(conn, NULL, filename, &st, &fsp);
-       /* Perhaps it is a directory */
-       if (NT_STATUS_EQUAL(nt_status, NT_STATUS_FILE_IS_A_DIRECTORY)) {
-               nt_status = open_directory(conn, NULL, filename, &st,
-                                          READ_CONTROL_ACCESS,
-                                          FILE_SHARE_READ|FILE_SHARE_WRITE,
-                                          FILE_OPEN,
-                                          0,
-                                          FILE_ATTRIBUTE_DIRECTORY,
-                                          NULL, &fsp);
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               DEBUG(3,("_srv_net_file_query_secdesc: Unable to open file %s\n", filename));
-               r_u->status = ntstatus_to_werror(nt_status);
-               goto error_exit;
-       }
-
-       nt_status = SMB_VFS_GET_NT_ACL(fsp, fsp->fsp_name,
+       nt_status = SMB_VFS_GET_NT_ACL(conn, filename,
                                       (OWNER_SECURITY_INFORMATION
                                        |GROUP_SECURITY_INFORMATION
                                        |DACL_SECURITY_INFORMATION), &psd);
@@ -2188,17 +2169,12 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
 
        psd->dacl->revision = (uint16) NT4_ACL_REVISION;
 
-       close_file(fsp, NORMAL_CLOSE);
        unbecome_user();
        close_cnum(conn, user.vuid);
        return r_u->status;
 
 error_exit:
 
-       if(fsp) {
-               close_file(fsp, NORMAL_CLOSE);
-       }
-
        if (became_user)
                unbecome_user();