diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-06-05 20:02:21 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-06-05 20:17:43 +0200 |
commit | 76acd7bfad6b1853d73d27f62396aa6ce541f269 (patch) | |
tree | 8d8c5dd5bbde3899f3a4e8cbabba21d4b357e951 | |
parent | ee83d1aead1a166af9554709d5e1c522d9c147cb (diff) | |
download | samba-76acd7bfad6b1853d73d27f62396aa6ce541f269.tar.gz samba-76acd7bfad6b1853d73d27f62396aa6ce541f269.tar.bz2 samba-76acd7bfad6b1853d73d27f62396aa6ce541f269.zip |
s3:smbd: keep the chain_fsp for SMB2 requests
metze
-rw-r--r-- | source3/smbd/globals.h | 2 | ||||
-rw-r--r-- | source3/smbd/smb2_create.c | 2 | ||||
-rw-r--r-- | source3/smbd/smb2_glue.c | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index db19a3a108..581e5b197f 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -227,6 +227,8 @@ struct smbd_smb2_request { int current_idx; bool do_signing; + struct files_struct *compat_chain_fsp; + struct { /* the NBT header is not allocated */ uint8_t nbt_hdr[4]; diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index 5d379ec3a5..d1472d5361 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -275,6 +275,8 @@ static NTSTATUS smbd_smb2_create(struct smbd_smb2_request *req, } } + req->compat_chain_fsp = smbreq->chain_fsp; + *out_oplock_level = 0; if ((in_create_disposition == FILE_SUPERSEDE) && (info == FILE_WAS_OVERWRITTEN)) { diff --git a/source3/smbd/smb2_glue.c b/source3/smbd/smb2_glue.c index c3c38542a0..5fa3bd2249 100644 --- a/source3/smbd/smb2_glue.c +++ b/source3/smbd/smb2_glue.c @@ -46,6 +46,7 @@ struct smb_request *smbd_smb2_fake_smb_request(struct smbd_smb2_request *req) if (IVAL(inhdr, SMB2_HDR_FLAGS) & SMB2_HDR_FLAG_DFS) { smbreq->flags2 |= FLAGS2_DFS_PATHNAMES; } + smbreq->chain_fsp = req->compat_chain_fsp; return smbreq; } |