Howard Chu wrote, On 2008-08-11 20:07:
> Nelson B Bolyard wrote:
>> Howard Chu wrote, On 2008-08-10 14:13:
> 
>>> It would make it impossible to use in e.g. OpenLDAP/nss_ldap because
>>> applications would be unable to load their own configuration settings
>>> after nss_ldap/libldap/nss initialized.
>> Nothing prevents each application from having its own configuration.
>> Nothing prevents an application from changing its configuration while it
>> is running. Not even with cert8.db files.
> 
> I've been studying this some more; I still don't see a 
> clean/backward-compatible solution for this situation:
> 
> 3rd party library "foo" calls NSS_Init("my path") and expects the DB files 
> from "my path" to be used.
> 
> Mozilla browser calls NSS_Init("profilepath") and expects the DB files from 
> "profilepath" to be used.
> 
> If the browser calls some other library that triggers foo, the DB in effect 
> depends on which NSS_Init call came first. One or the other of these two 
> pieces of software is going to break. There's no way for any software to 
> detect that NSS_Init was called already, 

Except for calling this function:
PRBool NSS_IsInitialized(void);

Rest snipped, since it was based on the assumption that "there's no way".

The next question to ask is: if a library finds out that NSS is already
initialized, what function does it call to register additional modules
that may use additional resources (potentially additional DBs)?
_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to