diff options
author | Jeremy Allison <jra@samba.org> | 2009-11-23 10:09:47 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-11-23 10:09:47 -0800 |
commit | 7ebe5b16416a3a09ff8840ab84079fde022a957c (patch) | |
tree | 139fffbd6956b440afeba6ae5272733ee8a503c5 /source3/smbd/nttrans.c | |
parent | a6142987ac164318f5023eaa91e4e65efada4423 (diff) | |
download | samba-7ebe5b16416a3a09ff8840ab84079fde022a957c.tar.gz samba-7ebe5b16416a3a09ff8840ab84079fde022a957c.tar.xz samba-7ebe5b16416a3a09ff8840ab84079fde022a957c.zip |
Fix bug #6898 - Samba duplicates file content on appending
Clients using a Windows open call should not be able to set
FILE_FLAG_POSIX_SEMANTICS in an open.
Jeremy.
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r-- | source3/smbd/nttrans.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index bacb9cb0b2f..5c6d78089d7 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -418,6 +418,11 @@ void reply_ntcreate_and_X(struct smb_request *req) flags = IVAL(req->vwv+3, 1); access_mask = IVAL(req->vwv+7, 1); file_attributes = IVAL(req->vwv+13, 1); + /* + * Bug #6898 - clients using Windows opens should + * never be able to set this attribute. + */ + file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS; share_access = IVAL(req->vwv+15, 1); create_disposition = IVAL(req->vwv+17, 1); create_options = IVAL(req->vwv+19, 1); @@ -913,6 +918,11 @@ static void call_nt_transact_create(connection_struct *conn, flags = IVAL(params,0); access_mask = IVAL(params,8); file_attributes = IVAL(params,20); + /* + * Bug #6898 - clients using Windows opens should + * never be able to set this attribute. + */ + file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS; share_access = IVAL(params,24); create_disposition = IVAL(params,28); create_options = IVAL(params,32); |