* 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:
Corinna Vinschen
2010-09-24 12:41:33 +00:00
parent b375557956
commit 3498f76deb
7 changed files with 43 additions and 3 deletions

View File

@ -1054,9 +1054,15 @@ cant_access_acl:
set_errno(EFAULT);
else
res = getacl (get_stat_handle (), pc, nentries, aclbufp);
/* For this ENOSYS case, see security.cc:get_file_attribute(). */
if (res == -1 && get_errno () == ENOSYS)
goto cant_access_acl;
break;
case GETACLCNT:
res = getacl (get_stat_handle (), pc, 0, NULL);
/* Ditto. */
if (res == -1 && get_errno () == ENOSYS)
goto cant_access_acl;
break;
default:
set_errno (EINVAL);