* fhandler.cc (fhandler_base::open): Handle query_write_dac flag.
* fhandler.h (enum query_state): Add query_write_dac flag. * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Open file with query_write_dac instead of query_write_control.
This commit is contained in:
parent
3498f76deb
commit
7438a10a01
@ -1,3 +1,10 @@
|
|||||||
|
2010-09-24 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* fhandler.cc (fhandler_base::open): Handle query_write_dac flag.
|
||||||
|
* fhandler.h (enum query_state): Add query_write_dac flag.
|
||||||
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Open file
|
||||||
|
with query_write_dac instead of query_write_control.
|
||||||
|
|
||||||
2010-09-24 Corinna Vinschen <corinna@vinschen.de>
|
2010-09-24 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* errno.cc (errmap): Map ERROR_BAD_NET_RESP to ENOSYS.
|
* errno.cc (errmap): Map ERROR_BAD_NET_RESP to ENOSYS.
|
||||||
|
@ -479,6 +479,9 @@ fhandler_base::open (int flags, mode_t mode)
|
|||||||
case query_write_control:
|
case query_write_control:
|
||||||
access = READ_CONTROL | WRITE_OWNER | WRITE_DAC | FILE_WRITE_ATTRIBUTES;
|
access = READ_CONTROL | WRITE_OWNER | WRITE_DAC | FILE_WRITE_ATTRIBUTES;
|
||||||
break;
|
break;
|
||||||
|
case query_write_dac:
|
||||||
|
access = READ_CONTROL | WRITE_DAC | FILE_WRITE_ATTRIBUTES;
|
||||||
|
break;
|
||||||
case query_write_attributes:
|
case query_write_attributes:
|
||||||
access = READ_CONTROL | FILE_WRITE_ATTRIBUTES;
|
access = READ_CONTROL | FILE_WRITE_ATTRIBUTES;
|
||||||
break;
|
break;
|
||||||
|
@ -92,7 +92,8 @@ enum query_state {
|
|||||||
query_read_control = 1,
|
query_read_control = 1,
|
||||||
query_read_attributes = 2,
|
query_read_attributes = 2,
|
||||||
query_write_control = 3,
|
query_write_control = 3,
|
||||||
query_write_attributes = 4
|
query_write_dac = 4,
|
||||||
|
query_write_attributes = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
enum del_lock_called_from {
|
enum del_lock_called_from {
|
||||||
|
@ -799,7 +799,7 @@ fhandler_disk_file::fchmod (mode_t mode)
|
|||||||
|
|
||||||
if (!get_handle ())
|
if (!get_handle ())
|
||||||
{
|
{
|
||||||
query_open (query_write_control);
|
query_open (query_write_dac);
|
||||||
if (!(oret = open (O_BINARY, 0)))
|
if (!(oret = open (O_BINARY, 0)))
|
||||||
{
|
{
|
||||||
/* Need WRITE_DAC|WRITE_OWNER to write ACLs. */
|
/* Need WRITE_DAC|WRITE_OWNER to write ACLs. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user