Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 02:40:48 +0900
From:      Alexander Nedotsukov <bland@bbnest.net>
To:        Alexander Nedotsukov <bland@FreeBSD.org>
Cc:        FreeBSD Current <freebsd-current@FreeBSD.org>
Subject:   Re: 8.0 Dynamic Linker Broken? (Was: [PATCH] SASL problems with spnego on 8.0-BETA4)
Message-ID:  <A7BDF645-602D-4FE7-A9B2-C5ABFD548FD1@bbnest.net>
In-Reply-To: <A0FFA199-F2D4-48D9-A01D-47D5E2D83CF3@freebsd.org>
References:  <54ee35ff63fa25ea4c082134892835fb@mail> <0EA2E119-29DF-4DDE-84C3-432E35D61C76@rabson.org> <A0FFA199-F2D4-48D9-A01D-47D5E2D83CF3@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 05.10.2009, at 20:07, Alexander Nedotsukov wrote:

> Doug,
>
> I share your concerns about wrong libgssapi_foo usage.
> Do you see any possible drawbacks of:
> 3) Move libgssapi_foo into gssapi/libfoo_mech and link libgoo_mech  
> against libgssapi
Well after reading about GSSAPI private extensions. I'd say this was  
not a good idea. If it even can be considered an idea at all.

>
> Thanks,
> Alexander
>
> On 05.10.2009, at 16:29, Doug Rabson wrote:
>
>> This is the core of the problem, I think. There are two possible  
>> solutions:
>>
>> 1. Link libgssapi_foo.so against libgssapi.so. I'm not a fan of  
>> this because it will encourage people to link with  
>> libgssapi_krb5.so when they really ought to be linking with  
>> libgssapi.so to give them mechanism independance.
>>
>> 2. Split the various mechanism libs in to two parts, mech_foo.so  
>> which will contain the actual mechanism implementation (this can  
>> link with libgssapi.so to handle the RTLD_LOCAL issue) and  
>> optionally libgssapi_foo.so to contain any mechanism-specific  
>> extensions.
>>
>> Clearly (2) is unsuitable for 8.0 but could happen in current. I  
>> guess we could use (1) as a band-aid fix for 8.0.
>>
>> On 5 Oct 2009, at 05:50, Alexander Nedotsukov wrote:
>>
>>>
>>> Actually this may mean quite otherwise.
>>> What I saying is if some code (eg. libsasl) dlopen() libgssapi as
>>> RTLD_LOCAL then later attempt to load libgssapi_xxx inside  
>>> libgssapi may
>>> fail because of this:
>>>
>>> $ldd /usr/lib/libgssapi_spnego.so
>>> /usr/lib/libgssapi_spnego.so:
>>>      libasn1.so.10 => /usr/lib/libasn1.so.10 (0x28300000)
>>>      libc.so.7 => /lib/libc.so.7 (0x2808f000)
>>>
>>> I would expect to see libgssapi.so.10 dependency here.
>>>
>>> On Mon, 5 Oct 2009 10:07:20 +1100, John Marshall
>>> <john.marshall@riverwillow.com.au> wrote:
>>>> On Fri, 02 Oct 2009, 08:24 -0400, John Baldwin wrote:
>>>>> On Friday 02 October 2009 4:13:19 am John Marshall wrote:
>>>>>> On Tue, 22 Sep 2009, 08:22 +1000, John Marshall wrote:
>>>>>>> On Mon, 21 Sep 2009, 11:26 -0400, Rick Macklem wrote:
>>>>>>>
>>>> [snip]
>>>>>>>>
>>>>>>>> Now, hopefully someone who understands enough about dynamic
>>>>>>>> linking will
>>>>>>>> know if this is the correct fix for 8.0? (I'm going on a couple
>>> of
>>>>>>>> weeks
>>>>>>>> vacation at the end of this week, so I won't be around to  
>>>>>>>> commit
>>>>>>>> anything
>>>>>>>> and don't understand it well enough to know if this is the
>>> correct
>>>>>>>> way
>>>>>>>> to fix it.)
>>>>>>>>
>>>>>>>> So, hopefully someone else can pick this one up?
>>>>>>>>
>>>> [snip]
>>>>>>>
>>>>>>> I have submitted a patch to the FreeBSD Makefile which patches  
>>>>>>> the
>>>>>>> vendor-supplied template for krb5-config.  I should be  
>>>>>>> grateful if
>>>>>>> dfr@
>>>>>>> or another src committer would please review this with a view to
>>>>>>> obtaining re@ approval to commit it before 8.0-RC2.
>>>>>>>
>>>>>>> <http://www.freebsd.org/cgi/query-pr.cgi?pr=139037>;
>>>>>>
>>>>>> Any src committers able to help with this?
>>>>>
>>>>> Hmmm, I thought that libgssapi was supposed to use dlopen to  
>>>>> load the
>>>>> proper
>>>>> back-end libraries using /etc/gss/mech rather than having  
>>>>> applications
>>>>> directly link against them.
>>>>
>>>> OK, so if my proposed solution is, in fact, only masking a  
>>>> symptom of a
>>>> broken dynamic linker, would somebody who understands this stuff  
>>>> please
>>>> weigh in on this with some debugging suggestions or with a patch to
>>>> address this problem?
>>>>
>>>> I'm able to help with testing but I'm not a programmer and know  
>>>> nothing
>>>> about the FreeBSD dynamic linker.
>>>>
>>>> Thanks.
>>
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org 
>> "
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org 
> "




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A7BDF645-602D-4FE7-A9B2-C5ABFD548FD1>