summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h1
-rw-r--r--source3/libsmb/cliconnect.c35
-rw-r--r--source3/torture/torture.c24
3 files changed, 22 insertions, 38 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index b5b1c860fc3..14ec2d68534 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1546,7 +1546,6 @@ struct tevent_req *cli_tdis_send(TALLOC_CTX *mem_ctx,
struct cli_state *cli);
NTSTATUS cli_tdis_recv(struct tevent_req *req);
NTSTATUS cli_tdis(struct cli_state *cli);
-void cli_negprot_sendsync(struct cli_state *cli);
NTSTATUS cli_negprot(struct cli_state *cli);
struct tevent_req *cli_negprot_send(TALLOC_CTX *mem_ctx,
struct event_context *ev,
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 819d83570da..6334f6b5873 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -1913,41 +1913,6 @@ fail:
Send a negprot command.
****************************************************************************/
-void cli_negprot_sendsync(struct cli_state *cli)
-{
- char *p;
- int numprots;
-
- if (cli->protocol < PROTOCOL_NT1)
- cli->use_spnego = False;
-
- memset(cli->outbuf,'\0',smb_size);
-
- /* setup the protocol strings */
- cli_set_message(cli->outbuf,0,0,True);
-
- p = smb_buf(cli->outbuf);
- for (numprots=0; numprots < ARRAY_SIZE(prots); numprots++) {
- if (prots[numprots].prot > cli->protocol) {
- break;
- }
- *p++ = 2;
- p += clistr_push(cli, p, prots[numprots].name, -1, STR_TERMINATE);
- }
-
- SCVAL(cli->outbuf,smb_com,SMBnegprot);
- cli_setup_bcc(cli, p);
- cli_setup_packet(cli);
-
- SCVAL(smb_buf(cli->outbuf),0,2);
-
- cli_send_smb(cli);
-}
-
-/****************************************************************************
- Send a negprot command.
-****************************************************************************/
-
struct cli_negprot_state {
struct cli_state *cli;
};
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index ebb305fbe1d..fcd0e5726d2 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -2776,21 +2776,41 @@ static void rand_buf(char *buf, int len)
/* send smb negprot commands, not reading the response */
static bool run_negprot_nowait(int dummy)
{
+ struct tevent_context *ev;
int i;
struct cli_state *cli;
bool correct = True;
printf("starting negprot nowait test\n");
+ ev = tevent_context_init(talloc_tos());
+ if (ev == NULL) {
+ return false;
+ }
+
if (!(cli = open_nbt_connection())) {
+ TALLOC_FREE(ev);
return False;
}
for (i=0;i<50000;i++) {
- cli_negprot_sendsync(cli);
+ struct tevent_req *req;
+
+ req = cli_negprot_send(ev, ev, cli);
+ if (req == NULL) {
+ TALLOC_FREE(ev);
+ return false;
+ }
+ if (!tevent_req_poll(req, ev)) {
+ d_fprintf(stderr, "tevent_req_poll failed: %s\n",
+ strerror(errno));
+ TALLOC_FREE(ev);
+ return false;
+ }
+ TALLOC_FREE(req);
}
- if (!torture_close_connection(cli)) {
+ if (torture_close_connection(cli)) {
correct = False;
}