diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-04-27 18:24:01 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-04-28 20:36:03 +0200 |
commit | 01cb5984ac0effb56b693590c2226d0bf6734010 (patch) | |
tree | bbc9fd3f1d56dc14132ae2b2cd9ac57e335dd25a /source4/libcli/smb2/connect.c | |
parent | 6cb7d764d352ce69a85cfdb97a602dc040464200 (diff) | |
download | samba-01cb5984ac0effb56b693590c2226d0bf6734010.tar.gz samba-01cb5984ac0effb56b693590c2226d0bf6734010.tar.bz2 samba-01cb5984ac0effb56b693590c2226d0bf6734010.zip |
s4:libcli/smb2: let smb2_session_setup_spnego_* use tevent_req
metze
Diffstat (limited to 'source4/libcli/smb2/connect.c')
-rw-r--r-- | source4/libcli/smb2/connect.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/source4/libcli/smb2/connect.c b/source4/libcli/smb2/connect.c index b3d57ebff2..c5cacc3e0b 100644 --- a/source4/libcli/smb2/connect.c +++ b/source4/libcli/smb2/connect.c @@ -189,7 +189,7 @@ static void smb2_connect_socket_done(struct composite_context *creq) smb2req->async.private_data = req; } -static void smb2_connect_session_done(struct composite_context *creq); +static void smb2_connect_session_done(struct tevent_req *subreq); static void smb2_connect_negprot_done(struct smb2_request *smb2req) { @@ -200,7 +200,7 @@ static void smb2_connect_negprot_done(struct smb2_request *smb2req) tevent_req_data(req, struct smb2_connect_state); struct smb2_transport *transport = smb2req->transport; - struct composite_context *creq; + struct tevent_req *subreq; NTSTATUS status; status = smb2_negprot_recv(smb2req, state, &state->negprot); @@ -252,20 +252,21 @@ static void smb2_connect_negprot_done(struct smb2_request *smb2req) return; } - creq = smb2_session_setup_spnego_send(state->session, state->credentials); - if (tevent_req_nomem(creq, req)) { + subreq = smb2_session_setup_spnego_send(state, state->ev, + state->session, + state->credentials); + if (tevent_req_nomem(subreq, req)) { return; } - creq->async.fn = smb2_connect_session_done; - creq->async.private_data = req; + tevent_req_set_callback(subreq, smb2_connect_session_done, req); } static void smb2_connect_tcon_done(struct smb2_request *smb2req); -static void smb2_connect_session_done(struct composite_context *creq) +static void smb2_connect_session_done(struct tevent_req *subreq) { struct tevent_req *req = - talloc_get_type_abort(creq->async.private_data, + tevent_req_callback_data(subreq, struct tevent_req); struct smb2_connect_state *state = tevent_req_data(req, @@ -273,7 +274,8 @@ static void smb2_connect_session_done(struct composite_context *creq) struct smb2_request *smb2req; NTSTATUS status; - status = smb2_session_setup_spnego_recv(creq); + status = smb2_session_setup_spnego_recv(subreq); + TALLOC_FREE(subreq); if (tevent_req_nterror(req, status)) { return; } |