diff options
-rw-r--r-- | libcli/smb/smb2cli_query_directory.c | 12 | ||||
-rw-r--r-- | libcli/smb/smbXcli_base.h | 4 | ||||
-rw-r--r-- | source3/torture/test_smb2.c | 8 |
3 files changed, 15 insertions, 9 deletions
diff --git a/libcli/smb/smb2cli_query_directory.c b/libcli/smb/smb2cli_query_directory.c index efc52d1ea7..4ff93de68d 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/smbXcli_base.h b/libcli/smb/smbXcli_base.h index 75948be6fb..9230c7ee4e 100644 --- a/libcli/smb/smbXcli_base.h +++ b/libcli/smb/smbXcli_base.h @@ -500,7 +500,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, @@ -515,7 +515,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, diff --git a/source3/torture/test_smb2.c b/source3/torture/test_smb2.c index a03e1cf985..6892ad0a23 100644 --- a/source3/torture/test_smb2.c +++ b/source3/torture/test_smb2.c @@ -152,7 +152,7 @@ bool run_smb2_basic(int dummy) } status = smb2cli_query_directory( - cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tid, + cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tcon, 1, 0, 0, fid_persistent, fid_volatile, "*", 0xffff, talloc_tos(), &dir_data, &dir_data_length); @@ -1517,7 +1517,7 @@ bool run_smb2_session_reauth(int dummy) } status = smb2cli_query_directory( - cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tid, + cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tcon, 1, 0x3, 0, dir_persistent, dir_volatile, "session-reauth.txt", 0xffff, talloc_tos(), &dir_data, &dir_data_length); @@ -1612,7 +1612,7 @@ bool run_smb2_session_reauth(int dummy) } status = smb2cli_query_directory( - cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tid, + cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tcon, 1, 0x3, 0, dir_persistent, dir_volatile, "session-reauth.txt", 0xffff, talloc_tos(), &dir_data, &dir_data_length); @@ -1864,7 +1864,7 @@ bool run_smb2_session_reauth(int dummy) } status = smb2cli_query_directory( - cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tid, + cli->conn, cli->timeout, cli->smb2.session, cli->smb2.tcon, 1, 0x3, 0, dir_persistent, dir_volatile, "session-reauth.txt", 0xffff, talloc_tos(), &dir_data, &dir_data_length); |