srvsvc 0x27 patch

Jim McDonough jmcd at us.ibm.com
Mon Jun 18 17:37:06 GMT 2001


Ok, here's the directory code.  Hmm, must have clicked on the wrong icon if
I ever got this to work before...

--- rpc_server/srv_srvsvc_nt.c     Mon Jun 18 09:23:03 2001
+++ /samba/mine/2.2/source/rpc_server/srv_srvsvc_nt.c   Mon Jun 18 11:27:48
2001
@@ -1611,9 +1611,14 @@
                    (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, 0,
&access_mode, &action);

     if (!fsp) {
-         DEBUG(3,("_srv_net_file_query_secdesc: Unable to open file %s\n",
filename));
-         r_u->status = ERROR_ACCESS_DENIED;
-         goto error_exit;
+         /* Perhaps it is a directory */
+         fsp = open_directory(conn, filename, &st,
+              (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, &action);
+         if (!fsp) {
+              DEBUG(3,("_srv_net_file_query_secdesc: Unable to open file
%s\n", filename));
+              r_u->status = ERROR_ACCESS_DENIED;
+              goto error_exit;
+         }
     }

     sd_size = conn->vfs_ops.get_nt_acl(fsp, fsp->fsp_name, &psd);
@@ -1699,9 +1704,14 @@
               (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, 0,
&access_mode, &action);

     if (!fsp) {
-         DEBUG(3,("_srv_net_file_set_secdesc: Unable to open file %s\n",
filename));
-         r_u->status = ERROR_ACCESS_DENIED;
-         goto error_exit;
+                /* Perhaps it is a directory */
+                fsp = open_directory(conn, filename, &st,
+                        (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, &action);
+                if (!fsp) {
+              DEBUG(3,("_srv_net_file_set_secdesc: Unable to open file %s\n", filename));
+              r_u->status = ERROR_ACCESS_DENIED;
+              goto error_exit;
+         }
     }

     ret = conn->vfs_ops.set_nt_acl(fsp, fsp->fsp_name, q_u->sec_info, q_u->sec_desc);

----------------------------
Jim McDonough
Linux Technology Center
IBM Boulder

Notes: Jim McDonough/Boulder/IBM @ IBMUS
VNET: JMCD at IBMUSM54
Internet: jmcd at us.ibm.com

Phone: (303) 924-5822
T/L: 263-5822





More information about the samba-technical mailing list