On Tuesday 26 October 2004 16:56, Juan Lang wrote:
> Michael wrote:
> > > 1. MD4, MD5, and SHA1 are now implemented in wine's
> > > advapi32. Please use these instead of OpenSSL's.
> >
> > Yes, that makes sense. Would it be possible to move
> > the SHA1, MD4 and MD5 related code to some other
> > directory in the wine tree and link to it
> > statically from both advapi32 and rsaenh? Is the
> > misc directory meant for this purpose?
>
> No. Generally, creating static libs is something we
> avoid in wine. More specifically, these functions are
> already exported by advapi32, and you already link
> advapi32 (to get access to the registry) so there's no
> advantage to having a copy in both places.
There is also a DES implementation in dlls/advapi32/crypt_des.c. However, this
one is not exported by advapi32.dll. I could copy the code over to
dlls/rsaenh, but this would mean unnecessary code duplication. How are such
cases handled in wine typically?
Although it is of no concern at the moment, another problem will arise in the
future: advapi32 and cryptographic service provider dll's check each other
against tempering by the use of digital signatures in windows (Probably
because of US export restrictions on cryptographic software). Although I
don't know for sure, I could imagine that this is actually the reason, why
there are MD4, MD5 and SHA implementations in advapi32. Having rsaenh.dll
call advapi32.dll for these algorithms would bypass these checks. I don't
know if this will be an issue for wine though.
Greetings,
Michael