[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Fri May 11 18:51:04 MDT 2012
The branch, master has been updated
via 212e805 s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO
via 8963930 s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO_224
via b3235d4 s3:smbd: introduce struct smbXsrv_connection
via c8a3c0e s3:smb2_negprot: setup the protocol at the end of the negprot with a real dialect
via c140c5e s3/libsmb: Generalise cli_state in smb2 logoff calls
via c7a1292 s3/libsmb: Generalise cli_state in smb2 write calls
via 50d88c9 s3/libsmb: Generalise cli_state in smb2 query_directory calls
via 5f4a009 s3/libsmb: Generalise cli_state in smb2 ioctl calls
via 473363a s3/libsmb: Generalise cli_state in smb2 flush calls
via 87d890f s3/libsmb: Generalise cli_state in smb2 create calls
via f6db3d7 s3/libsmb: Generalise cli_state in smb2 close calls
via 14473f3 s3-libsmb: Generalise cli_state in smb2 read calls
from 0048dd9 smbconf: remove python shebang from wscript_build
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 212e805507c8364c13c34804bd52c6f3cc38be27
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri May 11 17:45:16 2012 +0200
s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO
metze
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Sat May 12 02:50:42 CEST 2012 on sn-devel-104
commit 8963930974174598710d2cc4a8609a856199dfea
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri May 11 17:45:16 2012 +0200
s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO_224
metze
commit b3235d483da924a41ca9cecf72e1c62bab7fedd5
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 15 14:45:56 2011 +0100
s3:smbd: introduce struct smbXsrv_connection
This will represent a transport connection for SMB 1 or 2
in the server. smbd_server_connection will slowly be moved
to the SMB_VFS layer to satisfy the existing modules,
but it will hopefully be protocol independend in future.
metze
commit c8a3c0e0f793c622e071953b25a70a3fd8a0da65
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri May 11 15:19:20 2012 +0200
s3:smb2_negprot: setup the protocol at the end of the negprot with a real dialect
metze
commit c140c5e4590ab49c0bd8ccce791450b0dbcc74aa
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:39:11 2012 +0200
s3/libsmb: Generalise cli_state in smb2 logoff calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit c7a129262857ede4d4985a1c368b7066811ed2c3
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:40:56 2012 +0200
s3/libsmb: Generalise cli_state in smb2 write calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 50d88c96bc03206b59a882669ab13f763945d41f
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:37:43 2012 +0200
s3/libsmb: Generalise cli_state in smb2 query_directory calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5f4a009f4fe366ed13c1c681595ae95554643768
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:36:47 2012 +0200
s3/libsmb: Generalise cli_state in smb2 ioctl calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 473363a8078fca8ba7dbbdf310d984167cf92bf4
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:35:50 2012 +0200
s3/libsmb: Generalise cli_state in smb2 flush calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 87d890fdd92195acca3e099c3f7b60aea91ac04e
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:34:40 2012 +0200
s3/libsmb: Generalise cli_state in smb2 create calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit f6db3d7bef750d48079ff56535f48c9923e5f4c8
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:32:49 2012 +0200
s3/libsmb: Generalise cli_state in smb2 close calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 14473f37f5a3cd4749f5c4f937fef37cc5ea8c47
Author: Luk Claes <luk at debian.org>
Date: Thu May 10 18:30:25 2012 +0200
s3-libsmb: Generalise cli_state in smb2 read calls
Signed-off-by: Luk Claes <luk at debian.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/libsmb/cli_np_tstream.c | 57 ++++++--
source3/libsmb/smb2cli.h | 82 +++++++++---
source3/libsmb/smb2cli_close.c | 29 +++--
source3/libsmb/smb2cli_create.c | 25 +++--
source3/libsmb/smb2cli_flush.c | 26 +++--
source3/libsmb/smb2cli_ioctl.c | 25 +++--
source3/libsmb/smb2cli_query_directory.c | 25 +++--
source3/libsmb/smb2cli_read.c | 26 +++--
source3/libsmb/smb2cli_session.c | 23 ++--
source3/libsmb/smb2cli_write.c | 25 +++--
source3/smbd/globals.h | 37 +++++
source3/smbd/negprot.c | 11 +-
source3/smbd/process.c | 25 ++++
source3/smbd/smb2_ioctl.c | 159 ++++++++++++++++++++++
source3/smbd/smb2_negprot.c | 69 +++++++++-
source3/torture/test_smb2.c | 213 +++++++++++++++++++-----------
16 files changed, 659 insertions(+), 198 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/libsmb/cli_np_tstream.c b/source3/libsmb/cli_np_tstream.c
index 658f308..53e0c41 100644
--- a/source3/libsmb/cli_np_tstream.c
+++ b/source3/libsmb/cli_np_tstream.c
@@ -95,7 +95,10 @@ static int tstream_cli_np_destructor(struct tstream_cli_np *cli_nps)
if (cli_nps->is_smb1) {
status = cli_close(cli_nps->cli, cli_nps->fnum);
} else {
- status = smb2cli_close(cli_nps->cli, 0,
+ status = smb2cli_close(cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid, 0,
cli_nps->fid_persistent,
cli_nps->fid_volatile);
}
@@ -157,7 +160,9 @@ struct tevent_req *tstream_cli_np_open_send(TALLOC_CTX *mem_ctx,
0,
0);
} else {
- subreq = smb2cli_create_send(state, ev, cli,
+ subreq = smb2cli_create_send(state, ev, cli->conn,
+ cli->timeout, cli->smb2.session,
+ cli->smb2.tid,
npipe,
SMB2_OPLOCK_LEVEL_NONE,
SMB2_IMPERSONATION_IMPERSONATION,
@@ -468,14 +473,18 @@ static void tstream_cli_np_writev_write_next(struct tevent_req *req)
0, /* offset */
cli_nps->write.ofs); /* size */
} else {
- subreq = smb2cli_write_send(state, state->ev, cli_nps->cli,
- cli_nps->write.ofs, /* length */
- 0, /* offset */
- cli_nps->fid_persistent,
- cli_nps->fid_volatile,
- 0, /* remaining_bytes */
- 0, /* flags */
- cli_nps->write.buf);
+ subreq = smb2cli_write_send(state, state->ev,
+ cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
+ cli_nps->write.ofs, /* length */
+ 0, /* offset */
+ cli_nps->fid_persistent,
+ cli_nps->fid_volatile,
+ 0, /* remaining_bytes */
+ 0, /* flags */
+ cli_nps->write.buf);
}
if (tevent_req_nomem(subreq, req)) {
return;
@@ -548,7 +557,11 @@ static void tstream_cli_np_writev_disconnect_now(struct tevent_req *req,
subreq = cli_close_send(state, state->ev, cli_nps->cli,
cli_nps->fnum);
} else {
- subreq = smb2cli_close_send(state, state->ev, cli_nps->cli,
+ subreq = smb2cli_close_send(state, state->ev,
+ cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
0, /* flags */
cli_nps->fid_persistent,
cli_nps->fid_volatile);
@@ -742,7 +755,11 @@ static void tstream_cli_np_readv_read_next(struct tevent_req *req)
0, /* offset */
TSTREAM_CLI_NP_MAX_BUF_SIZE);
} else {
- subreq = smb2cli_read_send(state, state->ev, cli_nps->cli,
+ subreq = smb2cli_read_send(state, state->ev,
+ cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
TSTREAM_CLI_NP_MAX_BUF_SIZE, /* length */
0, /* offset */
cli_nps->fid_persistent,
@@ -795,7 +812,10 @@ static void tstream_cli_np_readv_trans_start(struct tevent_req *req)
cli_nps->write.ofs);
subreq = smb2cli_ioctl_send(state, state->ev,
- cli_nps->cli,
+ cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
cli_nps->fid_persistent,
cli_nps->fid_volatile,
FSCTL_NAMED_PIPE_READ_WRITE,
@@ -999,7 +1019,11 @@ static void tstream_cli_np_readv_disconnect_now(struct tevent_req *req,
subreq = cli_close_send(state, state->ev, cli_nps->cli,
cli_nps->fnum);
} else {
- subreq = smb2cli_close_send(state, state->ev, cli_nps->cli,
+ subreq = smb2cli_close_send(state, state->ev,
+ cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
0, /* flags */
cli_nps->fid_persistent,
cli_nps->fid_volatile);
@@ -1132,7 +1156,10 @@ static struct tevent_req *tstream_cli_np_disconnect_send(TALLOC_CTX *mem_ctx,
subreq = cli_close_send(state, ev, cli_nps->cli,
cli_nps->fnum);
} else {
- subreq = smb2cli_close_send(state, ev, cli_nps->cli,
+ subreq = smb2cli_close_send(state, ev, cli_nps->cli->conn,
+ cli_nps->cli->timeout,
+ cli_nps->cli->smb2.session,
+ cli_nps->cli->smb2.tid,
0, /* flags */
cli_nps->fid_persistent,
cli_nps->fid_volatile);
diff --git a/source3/libsmb/smb2cli.h b/source3/libsmb/smb2cli.h
index 727481a..bd6b131 100644
--- a/source3/libsmb/smb2cli.h
+++ b/source3/libsmb/smb2cli.h
@@ -26,9 +26,13 @@ struct cli_state;
struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli);
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session);
NTSTATUS smb2cli_logoff_recv(struct tevent_req *req);
-NTSTATUS smb2cli_logoff(struct cli_state *cli);
+NTSTATUS smb2cli_logoff(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session);
struct tevent_req *smb2cli_tcon_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
@@ -46,7 +50,10 @@ NTSTATUS smb2cli_tdis(struct cli_state *cli);
struct tevent_req *smb2cli_create_send(
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -59,7 +66,10 @@ struct tevent_req *smb2cli_create_send(
NTSTATUS smb2cli_create_recv(struct tevent_req *req,
uint64_t *fid_persistent,
uint64_t *fid_volatile);
-NTSTATUS smb2cli_create(struct cli_state *cli,
+NTSTATUS smb2cli_create(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -74,27 +84,44 @@ NTSTATUS smb2cli_create(struct cli_state *cli,
struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile);
NTSTATUS smb2cli_close_recv(struct tevent_req *req);
-NTSTATUS smb2cli_close(struct cli_state *cli, uint16_t flags,
- uint64_t fid_persistent, uint64_t fid_volatile);
+NTSTATUS smb2cli_close(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
+ uint16_t flags,
+ uint64_t fid_persistent,
+ uint64_t fid_volatile);
struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t fid_persistent,
uint64_t fid_volatile);
NTSTATUS smb2cli_flush_recv(struct tevent_req *req);
-NTSTATUS smb2cli_flush(struct cli_state *cli,
+NTSTATUS smb2cli_flush(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t fid_persistent,
uint64_t fid_volatile);
struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -103,7 +130,10 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx,
uint64_t remaining_bytes);
NTSTATUS smb2cli_read_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
uint8_t **data, uint32_t *data_length);
-NTSTATUS smb2cli_read(struct cli_state *cli,
+NTSTATUS smb2cli_read(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -116,7 +146,10 @@ NTSTATUS smb2cli_read(struct cli_state *cli,
struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -125,7 +158,10 @@ struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx,
uint32_t flags,
const uint8_t *data);
NTSTATUS smb2cli_write_recv(struct tevent_req *req);
-NTSTATUS smb2cli_write(struct cli_state *cli,
+NTSTATUS smb2cli_write(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint32_t length,
uint64_t offset,
uint64_t fid_persistent,
@@ -136,7 +172,10 @@ NTSTATUS smb2cli_write(struct cli_state *cli,
struct tevent_req *smb2cli_query_directory_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint8_t level,
uint8_t flags,
uint32_t file_index,
@@ -148,7 +187,10 @@ NTSTATUS smb2cli_query_directory_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
uint8_t **data,
uint32_t *data_length);
-NTSTATUS smb2cli_query_directory(struct cli_state *cli,
+NTSTATUS smb2cli_query_directory(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint8_t level,
uint8_t flags,
uint32_t file_index,
@@ -162,7 +204,10 @@ NTSTATUS smb2cli_query_directory(struct cli_state *cli,
struct tevent_req *smb2cli_ioctl_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t in_fid_persistent,
uint64_t in_fid_volatile,
uint32_t in_ctl_code,
@@ -175,7 +220,10 @@ NTSTATUS smb2cli_ioctl_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
DATA_BLOB *out_input_buffer,
DATA_BLOB *out_output_buffer);
-NTSTATUS smb2cli_ioctl(struct cli_state *cli,
+NTSTATUS smb2cli_ioctl(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t in_fid_persistent,
uint64_t in_fid_volatile,
uint32_t in_ctl_code,
diff --git a/source3/libsmb/smb2cli_close.c b/source3/libsmb/smb2cli_close.c
index 246d904..5c69fee 100644
--- a/source3/libsmb/smb2cli_close.c
+++ b/source3/libsmb/smb2cli_close.c
@@ -33,7 +33,10 @@ static void smb2cli_close_done(struct tevent_req *subreq);
struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint16_t flags,
uint64_t fid_persistent,
uint64_t fid_volatile)
@@ -53,12 +56,12 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx,
SBVAL(fixed, 8, fid_persistent);
SBVAL(fixed, 16, fid_volatile);
- subreq = smb2cli_req_send(state, ev, cli->conn, SMB2_OP_CLOSE,
+ subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CLOSE,
0, 0, /* flags */
- cli->timeout,
- cli->smb2.pid,
- cli->smb2.tid,
- cli->smb2.session,
+ timeout_msec,
+ 0xFEFF, /* pid */
+ tcon_id,
+ session,
state->fixed, sizeof(state->fixed),
NULL, 0);
if (tevent_req_nomem(subreq, req)) {
@@ -94,15 +97,20 @@ NTSTATUS smb2cli_close_recv(struct tevent_req *req)
return tevent_req_simple_recv_ntstatus(req);
}
-NTSTATUS smb2cli_close(struct cli_state *cli, uint16_t flags,
- uint64_t fid_persistent, uint64_t fid_volatile)
+NTSTATUS smb2cli_close(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
+ uint16_t flags,
+ uint64_t fid_persistent,
+ uint64_t fid_volatile)
{
TALLOC_CTX *frame = talloc_stackframe();
struct event_context *ev;
struct tevent_req *req;
NTSTATUS status = NT_STATUS_NO_MEMORY;
- if (cli_has_async_calls(cli)) {
+ if (smbXcli_conn_has_async_calls(conn)) {
/*
* Can't use sync call while an async call is in flight
*/
@@ -113,7 +121,8 @@ NTSTATUS smb2cli_close(struct cli_state *cli, uint16_t flags,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_close_send(frame, ev, cli, flags,
+ req = smb2cli_close_send(frame, ev, conn, timeout_msec,
+ session, tcon_id, flags,
fid_persistent, fid_volatile);
if (req == NULL) {
goto fail;
diff --git a/source3/libsmb/smb2cli_create.c b/source3/libsmb/smb2cli_create.c
index 4fa782f..f4fa45a 100644
--- a/source3/libsmb/smb2cli_create.c
+++ b/source3/libsmb/smb2cli_create.c
@@ -48,7 +48,10 @@ static void smb2cli_create_done(struct tevent_req *subreq);
struct tevent_req *smb2cli_create_send(
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -136,12 +139,12 @@ struct tevent_req *smb2cli_create_send(
data_blob_free(&blob);
}
- subreq = smb2cli_req_send(state, ev, cli->conn, SMB2_OP_CREATE,
+ subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CREATE,
0, 0, /* flags */
- cli->timeout,
- cli->smb2.pid,
- cli->smb2.tid,
- cli->smb2.session,
+ timeout_msec,
+ 0xFEFF, /* pid */
+ tcon_id,
+ session,
state->fixed, sizeof(state->fixed),
dyn, dyn_len);
if (tevent_req_nomem(subreq, req)) {
@@ -227,7 +230,10 @@ NTSTATUS smb2cli_create_recv(struct tevent_req *req,
return NT_STATUS_OK;
}
-NTSTATUS smb2cli_create(struct cli_state *cli,
+NTSTATUS smb2cli_create(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
const char *filename,
uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
@@ -245,7 +251,7 @@ NTSTATUS smb2cli_create(struct cli_state *cli,
struct tevent_req *req;
NTSTATUS status = NT_STATUS_NO_MEMORY;
- if (cli_has_async_calls(cli)) {
+ if (smbXcli_conn_has_async_calls(conn)) {
/*
* Can't use sync call while an async call is in flight
*/
@@ -256,7 +262,8 @@ NTSTATUS smb2cli_create(struct cli_state *cli,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_create_send(frame, ev, cli, filename, oplock_level,
+ req = smb2cli_create_send(frame, ev, conn, timeout_msec, session,
+ tcon_id, filename, oplock_level,
impersonation_level, desired_access,
file_attributes, share_access,
create_disposition, create_options,
diff --git a/source3/libsmb/smb2cli_flush.c b/source3/libsmb/smb2cli_flush.c
index 738af24..3b20c44 100644
--- a/source3/libsmb/smb2cli_flush.c
+++ b/source3/libsmb/smb2cli_flush.c
@@ -33,7 +33,10 @@ static void smb2cli_flush_done(struct tevent_req *subreq);
struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
- struct cli_state *cli,
+ struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t fid_persistent,
uint64_t fid_volatile)
{
@@ -51,12 +54,12 @@ struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx,
SBVAL(fixed, 8, fid_persistent);
SBVAL(fixed, 16, fid_volatile);
- subreq = smb2cli_req_send(state, ev, cli->conn, SMB2_OP_FLUSH,
+ subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_FLUSH,
0, 0, /* flags */
- cli->timeout,
- cli->smb2.pid,
- cli->smb2.tid,
- cli->smb2.session,
+ timeout_msec,
+ 0xFEFF, /* pid */
+ tcon_id,
+ session,
state->fixed, sizeof(state->fixed),
NULL, 0);
if (tevent_req_nomem(subreq, req)) {
@@ -92,7 +95,10 @@ NTSTATUS smb2cli_flush_recv(struct tevent_req *req)
return tevent_req_simple_recv_ntstatus(req);
}
-NTSTATUS smb2cli_flush(struct cli_state *cli,
+NTSTATUS smb2cli_flush(struct smbXcli_conn *conn,
+ uint32_t timeout_msec,
+ struct smbXcli_session *session,
+ uint32_t tcon_id,
uint64_t fid_persistent,
uint64_t fid_volatile)
{
@@ -101,7 +107,7 @@ NTSTATUS smb2cli_flush(struct cli_state *cli,
struct tevent_req *req;
NTSTATUS status = NT_STATUS_NO_MEMORY;
- if (cli_has_async_calls(cli)) {
+ if (smbXcli_conn_has_async_calls(conn)) {
/*
* Can't use sync call while an async call is in flight
*/
@@ -112,8 +118,8 @@ NTSTATUS smb2cli_flush(struct cli_state *cli,
if (ev == NULL) {
goto fail;
}
- req = smb2cli_flush_send(frame, ev, cli,
- fid_persistent, fid_volatile);
+ req = smb2cli_flush_send(frame, ev, conn, timeout_msec, session,
+ tcon_id, fid_persistent, fid_volatile);
if (req == NULL) {
goto fail;
}
diff --git a/source3/libsmb/smb2cli_ioctl.c b/source3/libsmb/smb2cli_ioctl.c
index 58c348d..4b83355 100644
--- a/source3/libsmb/smb2cli_ioctl.c
+++ b/source3/libsmb/smb2cli_ioctl.c
@@ -40,7 +40,10 @@ static void smb2cli_ioctl_done(struct tevent_req *subreq);
--
Samba Shared Repository
More information about the samba-cvs
mailing list