tevent_abort_nesting crash in idmap_ad

Jeremy Allison jra at samba.org
Fri Jun 24 18:45:01 UTC 2016


On Fri, Jun 24, 2016 at 11:23:53AM -0700, Jeremy Allison wrote:
> 
> OK. Try #2... :-).
> 
> Inside tldap_gensec_bind_got_mechs() we
> currently do:
> 
> gensec_update_send()
> tevent_req_set_callback(..., tldap_gensec_update_done)
> 
> to nicely break the gensec updates up into
> async operations.
> 
> However, we're under a blocking operation
> anyway - tldap_gensec_bind().
> 
> So an easy fix would be to change the
> gensec_update_send()/tevent_req_set_callback()
> pairs for the gensec code inside the
> source3/lib/tldap_gensec_bind.c code
> to be synchronous.
> 
> Essentially we change the code to call
> the synchronous:
> 
> gensec_update()
> 
> followed by a direct call to a slightly modified:
> 
> tldap_gensec_update_done()
> 
> rather than using the current async
> mechanism - the spnego gensec backend
> isn't async anyway.
> 
> As this is removing asynchronicity
> this should be a manageable change.
> 
> I can have a go at doing this if you'd
> like, or I'm happy to review such a
> change if anyone else gets to it.

Was easier than I thought. Compiles but
not (yet) tested.

Ralph, can you see if this fixes the problem
in your test case ?

Jeremy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-s3-tldap-Remove-asynchronous-calls-to-gensec_update_.patch
Type: text/x-diff
Size: 2735 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20160624/72311867/0001-s3-tldap-Remove-asynchronous-calls-to-gensec_update_.diff>


More information about the samba-technical mailing list