From: Stefan Metzmacher Date: Sat, 17 Sep 2011 17:56:50 +0000 (+0200) Subject: s3:smb2cli: pass timeout to smb2cli_req_create/send() X-Git-Tag: ldb-1.1.3~283 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f237763f89ce13240a6e47dddc4dff60e26fa7f;p=thirdparty%2Fsamba.git s3:smb2cli: pass timeout to smb2cli_req_create/send() metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Sun Sep 18 07:04:05 CEST 2011 on sn-devel-104 --- diff --git a/source3/libsmb/smb2cli_base.c b/source3/libsmb/smb2cli_base.c index def7f57d451..f8b2f6e5df5 100644 --- a/source3/libsmb/smb2cli_base.c +++ b/source3/libsmb/smb2cli_base.c @@ -178,6 +178,7 @@ struct tevent_req *smb2cli_req_create(TALLOC_CTX *mem_ctx, uint16_t cmd, uint32_t additional_flags, uint32_t clear_flags, + unsigned int timeout, uint32_t pid, uint32_t tid, uint64_t uid, @@ -223,6 +224,15 @@ struct tevent_req *smb2cli_req_create(TALLOC_CTX *mem_ctx, SIVAL(state->hdr, SMB2_HDR_TID, tid); SBVAL(state->hdr, SMB2_HDR_SESSION_ID, uid); + if (timeout > 0) { + struct timeval endtime; + + endtime = timeval_current_ofs_msec(timeout); + if (!tevent_req_set_endtime(req, ev, endtime)) { + return req; + } + } + return req; } @@ -333,6 +343,7 @@ struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx, uint16_t cmd, uint32_t additional_flags, uint32_t clear_flags, + unsigned int timeout, uint32_t pid, uint32_t tid, uint64_t uid, @@ -346,6 +357,7 @@ struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx, req = smb2cli_req_create(mem_ctx, ev, cli, cmd, additional_flags, clear_flags, + timeout, pid, tid, uid, fixed, fixed_len, dyn, dyn_len); if (req == NULL) { diff --git a/source3/libsmb/smb2cli_base.h b/source3/libsmb/smb2cli_base.h index 595665d7182..105f8ebe1cc 100644 --- a/source3/libsmb/smb2cli_base.h +++ b/source3/libsmb/smb2cli_base.h @@ -26,6 +26,7 @@ struct tevent_req *smb2cli_req_create(TALLOC_CTX *mem_ctx, uint16_t cmd, uint32_t additional_flags, uint32_t clear_flags, + unsigned int timeout, uint32_t pid, uint32_t tid, uint64_t uid, @@ -47,6 +48,7 @@ struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx, uint16_t cmd, uint32_t additional_flags, uint32_t clear_flags, + unsigned int timeout, uint32_t pid, uint32_t tid, uint64_t uid, diff --git a/source3/libsmb/smb2cli_close.c b/source3/libsmb/smb2cli_close.c index 3567449ee97..ccd96eacc2a 100644 --- a/source3/libsmb/smb2cli_close.c +++ b/source3/libsmb/smb2cli_close.c @@ -55,6 +55,7 @@ struct tevent_req *smb2cli_close_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_CLOSE, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_create.c b/source3/libsmb/smb2cli_create.c index eaabf684316..a0df7dafdef 100644 --- a/source3/libsmb/smb2cli_create.c +++ b/source3/libsmb/smb2cli_create.c @@ -138,6 +138,7 @@ struct tevent_req *smb2cli_create_send( subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_CREATE, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_flush.c b/source3/libsmb/smb2cli_flush.c index 6f3de14787b..ea15f25e208 100644 --- a/source3/libsmb/smb2cli_flush.c +++ b/source3/libsmb/smb2cli_flush.c @@ -53,6 +53,7 @@ struct tevent_req *smb2cli_flush_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_FLUSH, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_negprot.c b/source3/libsmb/smb2cli_negprot.c index ea983a9ff9a..dec6c4c9980 100644 --- a/source3/libsmb/smb2cli_negprot.c +++ b/source3/libsmb/smb2cli_negprot.c @@ -68,6 +68,7 @@ struct tevent_req *smb2cli_negprot_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_NEGPROT, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, 0, 0, /* tid, uid */ state->fixed, sizeof(state->fixed), diff --git a/source3/libsmb/smb2cli_query_directory.c b/source3/libsmb/smb2cli_query_directory.c index f2101abd377..2d2c4658a1f 100644 --- a/source3/libsmb/smb2cli_query_directory.c +++ b/source3/libsmb/smb2cli_query_directory.c @@ -88,6 +88,7 @@ struct tevent_req *smb2cli_query_directory_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_FIND, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_read.c b/source3/libsmb/smb2cli_read.c index 7e2b53471b1..75754fe6b1d 100644 --- a/source3/libsmb/smb2cli_read.c +++ b/source3/libsmb/smb2cli_read.c @@ -67,6 +67,7 @@ struct tevent_req *smb2cli_read_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_READ, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_session.c b/source3/libsmb/smb2cli_session.c index 2a00593ed0e..28b8f91b1b4 100644 --- a/source3/libsmb/smb2cli_session.c +++ b/source3/libsmb/smb2cli_session.c @@ -75,6 +75,7 @@ static struct tevent_req *smb2cli_sesssetup_blob_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_SESSSETUP, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, 0, /* tid */ cli->smb2.uid, @@ -355,6 +356,7 @@ struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_LOGOFF, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, 0, /* tid */ cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_tcon.c b/source3/libsmb/smb2cli_tcon.c index dee9140ce61..d501838bf64 100644 --- a/source3/libsmb/smb2cli_tcon.c +++ b/source3/libsmb/smb2cli_tcon.c @@ -83,6 +83,7 @@ struct tevent_req *smb2cli_tcon_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_TCON, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, 0, /* tid */ cli->smb2.uid, @@ -190,6 +191,7 @@ struct tevent_req *smb2cli_tdis_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_TDIS, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid, diff --git a/source3/libsmb/smb2cli_write.c b/source3/libsmb/smb2cli_write.c index 149a0655d2d..a6373899a73 100644 --- a/source3/libsmb/smb2cli_write.c +++ b/source3/libsmb/smb2cli_write.c @@ -76,6 +76,7 @@ struct tevent_req *smb2cli_write_send(TALLOC_CTX *mem_ctx, subreq = smb2cli_req_send(state, ev, cli, SMB2_OP_WRITE, 0, 0, /* flags */ + cli->timeout, cli->smb2.pid, cli->smb2.tid, cli->smb2.uid,