[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: kwallet final branch

From: Branko Čibej <brane_at_xbc.nu>
Date: Tue, 20 May 2008 15:19:20 +0200

Ben Collins-Sussman wrote:
> On Fri, May 16, 2008 at 12:01 PM, Branko Čibej <brane_at_xbc.nu> wrote:
>> Ben Collins-Sussman wrote:
>>>> DSO have many advantages. Please see this thread:
>>>> http://svn.haxx.se/dev/archive-2008-05/0054.shtml
>>> Someone explained this to me in IRC. I guess the reason that Windows
>>> and Keychain providers are statically linked is because those APIs are
>>> *guaranteed* to exist when building on Windows or OS X.
>> I don't know about Keychain, but CryptoAPI certainly isn't guaranteed to
>> exist on all the Windows versions we "support". So it's in fact not
>> statically linked but discovered dynamically at runtime, exactly as I
>> proposed for the Kwallet and Gnome Keyring providers.
> That's very nice. I sure wish we could figure out why the Windows
> auth provider doesn't need to be declared in a separate public header,
> but the kwallet provider does. How ugly.

Because it's implemented as an #ifdef-wrapped static function. It uses
the Windows APIs, not APR, to load and discover the CryptoAPI facilities
at runtime. I've never trusted APR DSO to work right because it gets
pool lifetimes wrong by design.

(unless you use the really-really-independent-global-pools that appeared
in APR-1.3 -- and aargh but I wish I had them when I was doing the
BDB-4.4 DB_REGISTER support ...)

-- Brane

To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-05-20 15:19:59 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.