* security.cc (set_nt_attribute): Remove.
(set_file_attribute): Do it yourself instead of calling set_nt_attribute.
This commit is contained in:
parent
e25b3402ac
commit
f36b37ed6e
|
@ -1,3 +1,9 @@
|
|||
2007-07-19 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* security.cc (set_nt_attribute): Remove.
|
||||
(set_file_attribute): Do it yourself instead of calling
|
||||
set_nt_attribute.
|
||||
|
||||
2007-07-19 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_disk_file.cc (fhandler_base::fstat_by_name): Use
|
||||
|
|
|
@ -1892,32 +1892,21 @@ set_security_attribute (int attribute, PSECURITY_ATTRIBUTES psa,
|
|||
attribute, sd);
|
||||
}
|
||||
|
||||
static int
|
||||
set_nt_attribute (HANDLE handle, const char *file,
|
||||
__uid32_t uid, __gid32_t gid, int attribute)
|
||||
{
|
||||
security_descriptor sd;
|
||||
|
||||
if ((!handle || get_nt_object_security (handle, SE_FILE_OBJECT, sd))
|
||||
&& read_sd (file, sd) <= 0)
|
||||
{
|
||||
debug_printf ("read_sd %E");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!alloc_sd (uid, gid, attribute, sd))
|
||||
return -1;
|
||||
|
||||
return write_sd (handle, file, sd);
|
||||
}
|
||||
|
||||
int
|
||||
set_file_attribute (bool use_ntsec, HANDLE handle, const char *file,
|
||||
__uid32_t uid, __gid32_t gid, int attribute)
|
||||
{
|
||||
int ret;
|
||||
int ret = -1;
|
||||
|
||||
if (use_ntsec && allow_ntsec)
|
||||
ret = set_nt_attribute (handle, file, uid, gid, attribute);
|
||||
{
|
||||
security_descriptor sd;
|
||||
|
||||
if (((handle && !get_nt_object_security (handle, SE_FILE_OBJECT, sd))
|
||||
|| read_sd (file, sd) > 0)
|
||||
&& alloc_sd (uid, gid, attribute, sd))
|
||||
ret = write_sd (handle, file, sd);
|
||||
}
|
||||
else
|
||||
ret = 0;
|
||||
syscall_printf ("%d = set_file_attribute (%s, %d, %d, %p)",
|
||||
|
|
Loading…
Reference in New Issue