[SSSD] [PATCH] Last USN patches

Jakub Hrozek jhrozek at redhat.com
Wed Apr 27 15:45:25 UTC 2011


On 04/27/2011 03:30 PM, Stephen Gallagher wrote:
> On Tue, 2011-04-19 at 14:57 -0400, Stephen Gallagher wrote:
>> On Tue, 2011-04-12 at 12:33 +0200, Jan Zelený wrote:
>>> Can someone please take a look at the patch and ack that all issues discovered 
>>> by Simo have been corrected?
>>>
>>> Also note that in the original email there is another patch, which hasn't been 
>>> reviewed yet.
>>
>> Ack to both patches and pushed to master.
> 
> 
> Unfortunately, I've now discovered several issues with this patch (too
> late).
> 
> First, it causes a crash if SSSD started up in offline mode (e.g.
> disconnected laptop) and then goes online (e.g. VPN).
> 
> #0  0x00007fec7adddd28 in sdap_check_online_done (req=0x0)
> at ../src/providers/ldap/ldap_id.c:729
> #1  0x00007fec7ae0f3e1 in sdap_cli_auth_done (subreq=0x0)
> at ../src/providers/ldap/sdap_async_connection.c:1430
> #2  0x00007fec7ae0e207 in sdap_auth_done (subreq=0x1ea9570)
> at ../src/providers/ldap/sdap_async_connection.c:1007
> #3  0x00007fec7ae0c8a9 in simple_bind_done (op=0x1ea9880,
> reply=0x1ea97f0, error=0, pvt=0x1ea9570)
> at ../src/providers/ldap/sdap_async_connection.c:540
> #4  0x00007fec7adf4aa9 in sdap_process_message (ev=0x1e74470,
> sh=0x1eb2c70, msg=0x1eb33e0) at ../src/providers/ldap/sdap_async.c:364
> #5  0x00007fec7adf4363 in sdap_process_result (ev=0x1e74470,
> pvt=0x1eb2c70) at ../src/providers/ldap/sdap_async.c:207
> #6  0x00007fec7adf3db6 in sdap_ldap_result (ev=0x1e74470, fde=0x1eb3140,
> flags=1, pvt=0x1eb2c70) at ../src/providers/ldap/sdap_async.c:152
> #7  0x000000389ee05d57 in ?? () from /usr/lib64/libtevent.so.0
> #8  0x000000389ee035b0 in _tevent_loop_once ()
> from /usr/lib64/libtevent.so.0
> #9  0x000000389ee0373b in tevent_common_loop_wait ()
> from /usr/lib64/libtevent.so.0
> #10 0x000000000043d41f in server_loop (main_ctx=0x1e755e0)
> at ../src/util/server.c:526
> #11 0x000000000040f8d2 in main (argc=6, argv=0x7fffbb9c67a8)
> at ../src/providers/data_provider_be.c:1284
> 
> 
> The problem is that ctx->srv_opts is NULL here (since we've never made a
> connection to the server before this).
> 
> While I was investigating this, I noticed something else as well. This
> entire IF block is completely useless as written. In the IF block, you
> set ctx->srv_opts attributes, but then immediately after this block, you
> replace the contents of ctx->srv_opts with the returned srv_opts from
> sdap_cli_connect_recv()
> 
> My guess here is that the assignments in the IF block were supposed to
> be setting srv_opts instead of ctx->srv_opts. The only part that
> confuses me is where you're setting ctx->srv_opts->last_usn to
> srv_opts->last_usn. I thought we had covered before that if the value
> of srv_opts->last_usn was ever lower than the stored value, we MUST set
> it to zero. This is because we know that the USN values are not in line
> with the ones we have stored, so we have to do a full update to be
> safe.
> 
> I'm attaching a patch that I think will resolve the issue (though I
> can't test it as I don't have access to a server with USN values). At
> the very least, it resolves the crash above for me.
> 

Ack

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20110427/b2523fe0/attachment.sig>


More information about the sssd-devel mailing list