diff options
author | Stefan Metzmacher <metze@samba.org> | 2013-09-18 03:50:42 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2013-10-17 16:10:35 +0200 |
commit | 60f16bacdc242a8512df352dcdd625661e4b25ad (patch) | |
tree | 620be22e86c9443f852fe577a01305ab0512e000 | |
parent | b16b469f3fa3766c19ca30f377cc7de6782c05e6 (diff) | |
download | samba-60f16bacdc242a8512df352dcdd625661e4b25ad.tar.gz samba-60f16bacdc242a8512df352dcdd625661e4b25ad.tar.bz2 samba-60f16bacdc242a8512df352dcdd625661e4b25ad.zip |
libcli/smb: add SMB2_HDR_FLAG_DFS for SMB2 Create operations on dfs shares
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10200
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r-- | libcli/smb/smb2cli_create.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libcli/smb/smb2cli_create.c b/libcli/smb/smb2cli_create.c index 3f8d67250c..9cb94b1196 100644 --- a/libcli/smb/smb2cli_create.c +++ b/libcli/smb/smb2cli_create.c @@ -63,6 +63,8 @@ struct tevent_req *smb2cli_create_send( uint8_t *dyn; size_t dyn_len; size_t max_dyn_len; + uint32_t additional_flags = 0; + uint32_t clear_flags = 0; req = tevent_req_create(mem_ctx, &state, struct smb2cli_create_state); @@ -130,6 +132,12 @@ struct tevent_req *smb2cli_create_send( data_blob_free(&blob); } + if (smbXcli_conn_dfs_supported(conn) && + smbXcli_tcon_is_dfs_share(tcon)) + { + additional_flags |= SMB2_HDR_FLAG_DFS; + } + /* * We use max_dyn_len = 0 * as we don't explicitly ask for any output length. @@ -140,7 +148,7 @@ struct tevent_req *smb2cli_create_send( max_dyn_len = 0; subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CREATE, - 0, 0, /* flags */ + additional_flags, clear_flags, timeout_msec, tcon, session, |