* fhandler.cc (check_posix_perms): Remove.
(fhandler_base::fpathconf): Return value of pc.has_acls () instead of calling check_posix_perms.
This commit is contained in:
parent
2bee37bcae
commit
67629eb258
@ -1,3 +1,9 @@
|
|||||||
|
2007-08-01 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* fhandler.cc (check_posix_perms): Remove.
|
||||||
|
(fhandler_base::fpathconf): Return value of pc.has_acls () instead
|
||||||
|
of calling check_posix_perms.
|
||||||
|
|
||||||
2007-08-01 Corinna Vinschen <corinna@vinschen.de>
|
2007-08-01 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* syscalls.cc (rename): Use unchanged path_conv in condition.
|
* syscalls.cc (rename): Use unchanged path_conv in condition.
|
||||||
|
@ -1584,31 +1584,6 @@ fhandler_base::fsync ()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper function for Cygwin specific pathconf flags _PC_POSIX_PERMISSIONS
|
|
||||||
and _PC_POSIX_SECURITY. */
|
|
||||||
static int
|
|
||||||
check_posix_perm (const char *fname, int v)
|
|
||||||
{
|
|
||||||
if (!allow_ntsec)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
char *root = rootdir (fname, (char *)alloca (strlen (fname) + 2));
|
|
||||||
|
|
||||||
if (!allow_smbntsec
|
|
||||||
&& ((root[0] == '\\' && root[1] == '\\')
|
|
||||||
|| GetDriveType (root) == DRIVE_REMOTE))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
DWORD vsn, len, flags;
|
|
||||||
if (!GetVolumeInformation (root, NULL, 0, &vsn, &len, &flags, NULL, 16))
|
|
||||||
{
|
|
||||||
__seterrno ();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (flags & FS_PERSISTENT_ACLS) ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
fhandler_base::fpathconf (int v)
|
fhandler_base::fpathconf (int v)
|
||||||
{
|
{
|
||||||
@ -1663,7 +1638,7 @@ fhandler_base::fpathconf (int v)
|
|||||||
case _PC_POSIX_PERMISSIONS:
|
case _PC_POSIX_PERMISSIONS:
|
||||||
case _PC_POSIX_SECURITY:
|
case _PC_POSIX_SECURITY:
|
||||||
if (get_device () == FH_FS)
|
if (get_device () == FH_FS)
|
||||||
return check_posix_perm (get_win32_name (), v);
|
return pc.has_acls ();
|
||||||
set_errno (EINVAL);
|
set_errno (EINVAL);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user