crypt32: Remove a test because of a Windows 2003 SP1 bug
Juan Lang
juan.lang at gmail.com
Thu Oct 25 17:08:35 CDT 2007
> I was basing it on what you said in the commit - both the heading and
> the comment in the patch.
That's dangerous here. The details are small, but they matter:
> 1. This patch is applied to remove the test for this feature^Wbug
> in CertGetCertificateChain;
No, the feature/bug is in CertGetIssuerCertificateFromStore. And the
test tested for a single bit being cleared. In Windows 2003 SP1, that
bit is instead set. So leaving the test as-is is misleading: it
fails on at least one Windows platform (Windows 98 is unknown, because
the crypt32 tests aren't running there for some reason that I don't
know.) Changing it to cover both possibilities is my usual tactic,
but in the case of a single bit, there are only two possibilities.
Hence the comment in the patch: the bit being either set or cleared
is acceptable on some system on which the test is run. How, then, is
the test meaningful?
> 2. Someone in the future submits a patch to fix the 'bug' in
> CertGetCertificateChain for Wine;
No - wrong function, and one which is not inconsistent in at least
this detail on different versions of Windows.
> Even if this is a deprecated API, there will still be applications
> that are dependent on it.
Of course, and the tests for the behavior of this API that is
consistent remain. I just remove the test of this single bit, and
document why.
--Juan
More information about the wine-devel
mailing list