From 237ec2fbac4c69f642eab481813350fb9568ebaf Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 9 Apr 2013 12:15:02 +0200 Subject: [PATCH] libsmbclient: Use async cli_full_connection in python connection setup Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Fri Apr 12 03:07:10 CEST 2013 on sn-devel-104 --- source3/libsmb/pylibsmb.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source3/libsmb/pylibsmb.c b/source3/libsmb/pylibsmb.c index 2b253f9d195..ae0d6943d0f 100644 --- a/source3/libsmb/pylibsmb.c +++ b/source3/libsmb/pylibsmb.c @@ -408,6 +408,7 @@ static int py_cli_state_init(struct py_cli_state *self, PyObject *args, char *host, *share; PyObject *creds = NULL; struct cli_credentials *cli_creds; + struct tevent_req *req; bool ret; static const char *kwlist[] = { @@ -440,12 +441,18 @@ static int py_cli_state_init(struct py_cli_state *self, PyObject *args, cli_creds = PyCredentials_AsCliCredentials(creds); } - status = cli_full_connection( - &self->cli, "myname", host, NULL, 0, share, "?????", + req = cli_full_connection_send( + NULL, self->ev, "myname", host, NULL, 0, share, "?????", cli_credentials_get_username(cli_creds), cli_credentials_get_domain(cli_creds), cli_credentials_get_password(cli_creds), 0, 0); + if (!py_tevent_req_wait_exc(self->ev, req)) { + return NULL; + } + status = cli_full_connection_recv(req, &self->cli); + TALLOC_FREE(req); + if (!NT_STATUS_IS_OK(status)) { PyErr_SetNTSTATUS(status); return -1; -- 2.11.4.GIT