[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Tue Jul 24 16:11:02 MDT 2012
The branch, master has been updated
via 79ccb96 s3:torture/test_smb2: make a copy of smbXcli_tcon
via 20d43a1 libcli/smb: pass smbXcli_tcon to smb2cli_ioctl*()
via 51af8b9 libcli/smb: pass smbXcli_tcon to smb2cli_query_directory*()
via 370e714 libcli/smb: pass smbXcli_tcon to smb2cli_query_info*()
via 6dc701c libcli/smb: pass smbXcli_tcon to smb2cli_set_info*()
via 6612c83 libcli/smb: pass smbXcli_tcon to smb2cli_flush*()
via 86a5ab7 libcli/smb: pass smbXcli_tcon to smb2cli_write*()
via 697b82a libcli/smb: pass smbXcli_tcon to smb2cli_read*()
via 74f9b52 libcli/smb: pass smbXcli_tcon to smb2cli_close*()
via 32b3399 libcli/smb: pass smbXcli_tcon to smb2cli_create*()
via 92efe1a s3:libsmb: setup a smbXcli_tcon for SMB2
via 41538b1 s4:libcli/smb2: setup a smbXcli_tcon for each smb2_tree
from b9100a7 libcli/smb: pass down smbXcli_tcon to smb1cli_req_create/send() and smb1cli_trans*
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 79ccb96cd35baffc848cd96b20553aa958dd69b0
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Jul 24 20:11:25 2012 +0200
s3:torture/test_smb2: make a copy of smbXcli_tcon
metze
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Wed Jul 25 00:10:47 CEST 2012 on sn-devel-104
commit 20d43a1d302ea4d890adaca9cee80ca0549eddc8
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_ioctl*()
metze
commit 51af8b9600630e2310f0dc2780a06f24b88f3cb5
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_query_directory*()
metze
commit 370e7140bb67f84b87e17e2e83076a94b430916e
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_query_info*()
metze
commit 6dc701c958557df6df3cbb7481025b56a4e7eef2
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_set_info*()
metze
commit 6612c831a3eb62da7766152e597168b9cec9b8fc
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_flush*()
metze
commit 86a5ab731be6eb0fec7eb85a3ae4660bf8576c6d
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_write*()
metze
commit 697b82a61979b48de86d74d2bf5c498032ff49b1
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_read*()
metze
commit 74f9b52e659265c7a6283550d226f0cec5e8fb18
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_close*()
metze
commit 32b33999dbc5c73f5efd04e3ae0ab5a0b13c7cc2
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:32:49 2012 +0200
libcli/smb: pass smbXcli_tcon to smb2cli_create*()
metze
commit 92efe1a35ff007919e9c23a066a702be8cfd0a9f
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:22:02 2012 +0200
s3:libsmb: setup a smbXcli_tcon for SMB2
metze
commit 41538b17c5420b1e8e45d3e2987c77bc79c14de5
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jul 23 22:11:19 2012 +0200
s4:libcli/smb2: setup a smbXcli_tcon for each smb2_tree
metze
-----------------------------------------------------------------------
Summary of changes:
libcli/smb/smb2cli_close.c | 11 ++-
libcli/smb/smb2cli_create.c | 14 ++-
libcli/smb/smb2cli_flush.c | 14 ++-
libcli/smb/smb2cli_ioctl.c | 11 ++-
libcli/smb/smb2cli_query_directory.c | 12 ++-
libcli/smb/smb2cli_query_info.c | 11 ++-
libcli/smb/smb2cli_read.c | 11 ++-
libcli/smb/smb2cli_set_info.c | 11 ++-
libcli/smb/smb2cli_write.c | 14 ++-
libcli/smb/smbXcli_base.h | 52 +++++-----
source3/include/client.h | 1 +
source3/libsmb/cli_np_tstream.c | 17 ++--
source3/libsmb/smb2cli_tcon.c | 14 +++
source3/torture/test_smb2.c | 178 +++++++++++++++++++++-------------
source4/libcli/smb2/connect.c | 7 ++
source4/libcli/smb2/smb2.h | 1 +
source4/libcli/smb2/tcon.c | 8 ++
source4/torture/smb2/notify.c | 10 ++
source4/torture/smb2/util.c | 8 ++
19 files changed, 273 insertions(+), 132 deletions(-)
Changeset truncated at 500 lines:
diff --git a/libcli/smb/smb2cli_close.c b/libcli/smb/smb2cli_close.c
index d4cba41..42ed65a 100644
--- a/libcli/smb/smb2cli_close.c
+++ b/libcli/smb/smb2cli_close.c
@@ -34,7 +34,7 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile)
@@ -42,6 +42,7 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
struct tevent_req *req, *subreq;
struct smb2cli_close_state *state;
uint8_t *fixed;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_close_state);
@@ -54,6 +55,10 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
SBVAL(fixed, 8, fid_persistent);
SBVAL(fixed, 16, fid_volatile);
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CLOSE,
0, 0, /* flags */
timeout_msec,
@@ -98,7 +103,7 @@ NTSTATUS smb2cli_close_recv(struct tevent_req *req)
NTSTATUS smb2cli_close(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile)
@@ -120,7 +125,7 @@ NTSTATUS smb2cli_close(struct smbXcli_conn *conn,
goto fail;
}
req = smb2cli_close_send(frame, ev, conn, timeout_msec,
- session, tcon_id, flags,
+ session, tcon, flags,
fid_persistent, fid_volatile);
if (req == NULL) {
goto fail;
diff --git a/libcli/smb/smb2cli_create.c b/libcli/smb/smb2cli_create.c
index 29b0396..33af378 100644
--- a/libcli/smb/smb2cli_create.c
+++ b/libcli/smb/smb2cli_create.c
@@ -49,7 +49,7 @@ struct tevent_req *smb2cli_create_send(
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -70,6 +70,7 @@ struct tevent_req *smb2cli_create_send(
size_t blobs_offset;
uint8_t *dyn;
size_t dyn_len;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_create_state);
@@ -137,6 +138,10 @@ struct tevent_req *smb2cli_create_send(
data_blob_free(&blob);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CREATE,
0, 0, /* flags */
timeout_msec,
@@ -231,7 +236,7 @@ NTSTATUS smb2cli_create_recv(struct tevent_req *req,
NTSTATUS smb2cli_create(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -260,8 +265,9 @@ NTSTATUS smb2cli_create(struct smbXcli_conn *conn,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_create_send(frame, ev, conn, timeout_msec, session,
- tcon_id, filename, oplock_level,
+ req = smb2cli_create_send(frame, ev, conn, timeout_msec,
+ session, tcon,
+ filename, oplock_level,
impersonation_level, desired_access,
file_attributes, share_access,
create_disposition, create_options,
diff --git a/libcli/smb/smb2cli_flush.c b/libcli/smb/smb2cli_flush.c
index 64d47c2..ca7a0fe 100644
--- a/libcli/smb/smb2cli_flush.c
+++ b/libcli/smb/smb2cli_flush.c
@@ -34,13 +34,14 @@ struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint64_t fid_persistent,
uint64_t fid_volatile)
{
struct tevent_req *req, *subreq;
struct smb2cli_flush_state *state;
uint8_t *fixed;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_flush_state);
@@ -52,6 +53,10 @@ struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx,
SBVAL(fixed, 8, fid_persistent);
SBVAL(fixed, 16, fid_volatile);
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_FLUSH,
0, 0, /* flags */
timeout_msec,
@@ -96,7 +101,7 @@ NTSTATUS smb2cli_flush_recv(struct tevent_req *req)
NTSTATUS smb2cli_flush(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint64_t fid_persistent,
uint64_t fid_volatile)
{
@@ -116,8 +121,9 @@ NTSTATUS smb2cli_flush(struct smbXcli_conn *conn,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_flush_send(frame, ev, conn, timeout_msec, session,
- tcon_id, fid_persistent, fid_volatile);
+ req = smb2cli_flush_send(frame, ev, conn, timeout_msec,
+ session, tcon,
+ fid_persistent, fid_volatile);
if (req == NULL) {
goto fail;
}
diff --git a/libcli/smb/smb2cli_ioctl.c b/libcli/smb/smb2cli_ioctl.c
index 9836469..03296c6 100644
--- a/libcli/smb/smb2cli_ioctl.c
+++ b/libcli/smb/smb2cli_ioctl.c
@@ -41,7 +41,7 @@ struct tevent_req *smb2cli_ioctl_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint64_t in_fid_persistent,
uint64_t in_fid_volatile,
uint32_t in_ctl_code,
@@ -61,6 +61,7 @@ struct tevent_req *smb2cli_ioctl_send(TALLOC_CTX *mem_ctx,
uint32_t output_buffer_offset = 0;
uint32_t output_buffer_length = 0;
uint32_t pad_length = 0;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_ioctl_state);
@@ -133,6 +134,10 @@ struct tevent_req *smb2cli_ioctl_send(TALLOC_CTX *mem_ctx,
dyn_len = sizeof(state->dyn_pad);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_IOCTL,
0, 0, /* flags */
timeout_msec,
@@ -281,7 +286,7 @@ NTSTATUS smb2cli_ioctl_recv(struct tevent_req *req,
NTSTATUS smb2cli_ioctl(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint64_t in_fid_persistent,
uint64_t in_fid_volatile,
uint32_t in_ctl_code,
@@ -311,7 +316,7 @@ NTSTATUS smb2cli_ioctl(struct smbXcli_conn *conn,
goto fail;
}
req = smb2cli_ioctl_send(frame, ev, conn, timeout_msec,
- session, tcon_id,
+ session, tcon,
in_fid_persistent,
in_fid_volatile,
in_ctl_code,
diff --git a/libcli/smb/smb2cli_query_directory.c b/libcli/smb/smb2cli_query_directory.c
index efc52d1..4ff93de 100644
--- a/libcli/smb/smb2cli_query_directory.c
+++ b/libcli/smb/smb2cli_query_directory.c
@@ -38,7 +38,7 @@ struct tevent_req *smb2cli_query_directory_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t level,
uint8_t flags,
uint32_t file_index,
@@ -52,6 +52,7 @@ struct tevent_req *smb2cli_query_directory_send(TALLOC_CTX *mem_ctx,
uint8_t *fixed;
uint8_t *dyn;
size_t dyn_len;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_query_directory_state);
@@ -87,6 +88,10 @@ struct tevent_req *smb2cli_query_directory_send(TALLOC_CTX *mem_ctx,
dyn_len = sizeof(state->dyn_pad);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_FIND,
0, 0, /* flags */
timeout_msec,
@@ -162,7 +167,7 @@ NTSTATUS smb2cli_query_directory_recv(struct tevent_req *req,
NTSTATUS smb2cli_query_directory(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t level,
uint8_t flags,
uint32_t file_index,
@@ -191,7 +196,8 @@ NTSTATUS smb2cli_query_directory(struct smbXcli_conn *conn,
goto fail;
}
req = smb2cli_query_directory_send(frame, ev, conn, timeout_msec,
- session, tcon_id, level, flags,
+ session, tcon,
+ level, flags,
file_index, fid_persistent,
fid_volatile, mask, outbuf_len);
if (req == NULL) {
diff --git a/libcli/smb/smb2cli_query_info.c b/libcli/smb/smb2cli_query_info.c
index 30766e4..b5d9e79 100644
--- a/libcli/smb/smb2cli_query_info.c
+++ b/libcli/smb/smb2cli_query_info.c
@@ -38,7 +38,7 @@ struct tevent_req *smb2cli_query_info_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t in_info_type,
uint8_t in_file_info_class,
uint32_t in_max_output_length,
@@ -55,6 +55,7 @@ struct tevent_req *smb2cli_query_info_send(TALLOC_CTX *mem_ctx,
size_t dyn_len;
uint16_t input_buffer_offset = 0;
uint32_t input_buffer_length = 0;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_query_info_state);
@@ -90,6 +91,10 @@ struct tevent_req *smb2cli_query_info_send(TALLOC_CTX *mem_ctx,
dyn_len = sizeof(state->dyn_pad);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_GETINFO,
0, 0, /* flags */
timeout_msec,
@@ -198,7 +203,7 @@ NTSTATUS smb2cli_query_info_recv(struct tevent_req *req,
NTSTATUS smb2cli_query_info(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t in_info_type,
uint8_t in_file_info_class,
uint32_t in_max_output_length,
@@ -228,7 +233,7 @@ NTSTATUS smb2cli_query_info(struct smbXcli_conn *conn,
}
req = smb2cli_query_info_send(frame, ev,
conn, timeout_msec,
- session, tcon_id,
+ session, tcon,
in_info_type,
in_file_info_class,
in_max_output_length,
diff --git a/libcli/smb/smb2cli_read.c b/libcli/smb/smb2cli_read.c
index 29b9f37..5ff4b64 100644
--- a/libcli/smb/smb2cli_read.c
+++ b/libcli/smb/smb2cli_read.c
@@ -38,7 +38,7 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -49,6 +49,7 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
struct tevent_req *req, *subreq;
struct smb2cli_read_state *state;
uint8_t *fixed;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_read_state);
@@ -66,6 +67,10 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
SBVAL(fixed, 32, minimum_count);
SBVAL(fixed, 40, remaining_bytes);
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_READ,
0, 0, /* flags */
timeout_msec,
@@ -142,7 +147,7 @@ NTSTATUS smb2cli_read_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
NTSTATUS smb2cli_read(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -170,7 +175,7 @@ NTSTATUS smb2cli_read(struct smbXcli_conn *conn,
goto fail;
}
req = smb2cli_read_send(frame, ev,
- conn, timeout_msec, session, tcon_id,
+ conn, timeout_msec, session, tcon,
length, offset,
fid_persistent, fid_volatile,
minimum_count, remaining_bytes);
diff --git a/libcli/smb/smb2cli_set_info.c b/libcli/smb/smb2cli_set_info.c
index 10da7b1..e33ba83 100644
--- a/libcli/smb/smb2cli_set_info.c
+++ b/libcli/smb/smb2cli_set_info.c
@@ -35,7 +35,7 @@ struct tevent_req *smb2cli_set_info_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t in_info_type,
uint8_t in_file_info_class,
const DATA_BLOB *in_input_buffer,
@@ -50,6 +50,7 @@ struct tevent_req *smb2cli_set_info_send(TALLOC_CTX *mem_ctx,
size_t dyn_len;
uint16_t input_buffer_offset = 0;
uint32_t input_buffer_length = 0;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_set_info_state);
@@ -82,6 +83,10 @@ struct tevent_req *smb2cli_set_info_send(TALLOC_CTX *mem_ctx,
dyn_len = sizeof(state->dyn_pad);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_SETINFO,
0, 0, /* flags */
timeout_msec,
@@ -135,7 +140,7 @@ NTSTATUS smb2cli_set_info_recv(struct tevent_req *req)
NTSTATUS smb2cli_set_info(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint8_t in_info_type,
uint8_t in_file_info_class,
const DATA_BLOB *in_input_buffer,
@@ -161,7 +166,7 @@ NTSTATUS smb2cli_set_info(struct smbXcli_conn *conn,
}
req = smb2cli_set_info_send(frame, ev,
conn, timeout_msec,
- session, tcon_id,
+ session, tcon,
in_info_type,
in_file_info_class,
in_input_buffer,
diff --git a/libcli/smb/smb2cli_write.c b/libcli/smb/smb2cli_write.c
index 2850cea..cd98e5e 100644
--- a/libcli/smb/smb2cli_write.c
+++ b/libcli/smb/smb2cli_write.c
@@ -35,7 +35,7 @@ struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -49,6 +49,7 @@ struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx,
uint8_t *fixed;
const uint8_t *dyn;
size_t dyn_len;
+ uint32_t tcon_id = 0;
req = tevent_req_create(mem_ctx, &state,
struct smb2cli_write_state);
@@ -75,6 +76,10 @@ struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx,
dyn_len = sizeof(state->dyn_pad);
}
+ if (tcon) {
+ tcon_id = smb2cli_tcon_current_id(tcon);
+ }
+
subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_WRITE,
0, 0, /* flags */
timeout_msec,
@@ -119,7 +124,7 @@ NTSTATUS smb2cli_write_recv(struct tevent_req *req)
NTSTATUS smb2cli_write(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -144,8 +149,9 @@ NTSTATUS smb2cli_write(struct smbXcli_conn *conn,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_write_send(frame, ev, conn, timeout_msec, session,
- tcon_id, length, offset,
+ req = smb2cli_write_send(frame, ev, conn, timeout_msec,
+ session, tcon,
+ length, offset,
fid_persistent, fid_volatile,
remaining_bytes, flags, data);
if (req == NULL) {
diff --git a/libcli/smb/smbXcli_base.h b/libcli/smb/smbXcli_base.h
index a105c82..60ef272 100644
--- a/libcli/smb/smbXcli_base.h
+++ b/libcli/smb/smbXcli_base.h
@@ -322,7 +322,7 @@ struct tevent_req *smb2cli_create_send(
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -338,7 +338,7 @@ NTSTATUS smb2cli_create_recv(struct tevent_req *req,
NTSTATUS smb2cli_create(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -356,7 +356,7 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile);
@@ -364,7 +364,7 @@ NTSTATUS smb2cli_close_recv(struct tevent_req *req);
NTSTATUS smb2cli_close(struct smbXcli_conn *conn,
uint32_t timeout_msec,
struct smbXcli_session *session,
- uint32_t tcon_id,
+ struct smbXcli_tcon *tcon,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile);
@@ -374,7 +374,7 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
--
Samba Shared Repository
More information about the samba-cvs
mailing list