Only try and open a directory if we get EISDIR.
authorJeremy Allison <jra@samba.org>
Tue, 19 Jun 2001 18:43:17 +0000 (18:43 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 19 Jun 2001 18:43:17 +0000 (18:43 +0000)
Jeremy.
(This used to be commit 5b1245f80357f585ef3b24704e5ef34ef71e232f)

source3/rpc_server/srv_srvsvc_nt.c

index e56e63490d30b71d3718c9155d7340de84f5c92b..465051221837b8290152581f68f16097275093e3 100644 (file)
@@ -1612,8 +1612,10 @@ uint32 _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
 
        if (!fsp) {
                /* Perhaps it is a directory */
-               fsp = open_directory(conn, filename, &st,
-                               (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, &action);
+               if (errno == EISDIR)
+                       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;
@@ -1705,8 +1707,10 @@ uint32 _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
 
        if (!fsp) {
                /* Perhaps it is a directory */
-               fsp = open_directory(conn, filename, &st,
-                                       (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, &action);
+               if (errno == EISDIR)
+                       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;