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

Re: SASL for ra_svn on Windows

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2007-05-26 11:14:43 CEST

Vlad Georgescu wrote:
> Stefan Küng wrote:
>> The problems I see with the Cyrus SASL lib are again the same as I had
>> with the apr-iconv lib: dll hell.
>> The plugin dlls are loaded from a fixed path and/or from paths specified
>> in the registry. This will work as long as all plugins are built with
>> the same c-runtime as the app using them. But only one app is needed
>> which installs/overwrites the plugin dlls built with e.g. the crt v8
>> (requires a manifest), and all apps built with older crts can't use them
>> anymore.
>
> AFAIK this is only a problem if you allocate memory (or any other C
> runtime resource) in the main library and then try to free it in the
> plugin, or vice-versa. If that is the case then we should be fine
> because SASL follows a "if you allocate it, you free it" policy.

I'm not talking about possible memory problems or other things that
could eventually lead to a segfault. I'm talking here about *loading*
the dlls:

an app which doesn't have the correct manifest resource can't load a dll
which requires the crt v8, because that will only load if the manifest
is correct.

For example:
app built with VS2005 (has the correct manifest)
* can load dlls linked with crt v6 (no manifest) or crt v8
* can't load dll's linked with crt v7 (built with VS2002/2003)

an app built with VC6 (has no manifest at all)
* can load dlls linked with crt v6
* can *not* load dlls linked with crt v7 or higher versions

of course, this also depends on the OS version the apps are used on:
* Win2k won't be a problem (doesn't know manifests)
* WinXP shouldn't be a problem with most configurations. But a more
tighten up system could prevent the dlls from loading properly
* Win2003/Vista will be a problem

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 26 11:15:11 2007

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