* 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.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user