Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-09-24 16:41:33 +0400
committerCorinna Vinschen <corinna@vinschen.de>2010-09-24 16:41:33 +0400
commit3498f76deb52fcff5c4f8d20050ec844608d108d (patch)
treeb732ab1300742d96e02ccfedcbd8cbd1a1a34585 /winsup/cygwin/security.cc
parentb3755579563c2f95758702c7e8f2fc8dd1c53f76 (diff)
* errno.cc (errmap): Map ERROR_BAD_NET_RESP to ENOSYS.
* fhandler_disk_file.cc (fhandler_disk_file::facl): Handle ENOSYS and point to the explanation. * ntdll.h (STATUS_NOT_IMPLEMENTED): Define. * path.cc (symlink_info::check): Handle the inability of NT4 to use FileNetworkOpenInformation on share root dirs in either direction. * path.h (slash_unc_prefix_p): Remove unused declaration. * security.cc (get_info_from_sd): Handle ENOSYS from get_file_sd. Explain when this happens.
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r--winsup/cygwin/security.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index 1052f98c0..509bd1ab0 100644
--- a/winsup/cygwin/security.cc
+++ b/winsup/cygwin/security.cc
@@ -358,7 +358,12 @@ get_file_attribute (HANDLE handle, path_conv &pc,
get_info_from_sd (sd, attribute, uidret, gidret);
return 0;
}
- else
+ /* ENOSYS is returned by get_file_sd if fetching the DACL from a remote
+ share returns STATUS_INVALID_NETWORK_RESPONSE, which in turn is
+ converted to ERROR_BAD_NET_RESP. This potentially occurs when trying
+ to fetch DACLs from a NT4 machine which is not part of the domain of
+ the requesting machine. */
+ else if (get_errno () != ENOSYS)
{
if (uidret)
*uidret = ILLEGAL_UID;