Module: wine Branch: master Commit: c20a617aecb5ea58058db93cdfb6c715eaee5e59 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c20a617aecb5ea58058db93cdf...
Author: Juan Lang juan.lang@gmail.com Date: Sat Sep 27 11:32:04 2008 -0700
wintrust: Use helper function for setting confidence in SoftpubCheckCert.
---
dlls/wintrust/softpub.c | 44 +++++++++++++++++--------------------------- 1 files changed, 17 insertions(+), 27 deletions(-)
diff --git a/dlls/wintrust/softpub.c b/dlls/wintrust/softpub.c index 9ee1ba7..918e103 100644 --- a/dlls/wintrust/softpub.c +++ b/dlls/wintrust/softpub.c @@ -501,6 +501,20 @@ HRESULT WINAPI SoftpubLoadSignature(CRYPT_PROVIDER_DATA *data) return ret ? S_OK : S_FALSE; }
+static DWORD WINTRUST_TrustStatusToConfidence(DWORD errorStatus) +{ + DWORD confidence = 0; + + confidence = 0; + if (!(errorStatus & CERT_TRUST_IS_NOT_SIGNATURE_VALID)) + confidence |= CERT_CONFIDENCE_SIG; + if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_VALID)) + confidence |= CERT_CONFIDENCE_TIME; + if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_NESTED)) + confidence |= CERT_CONFIDENCE_TIMENEST; + return confidence; +} + BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner, BOOL fCounterSignerChain, DWORD idxCounterSigner) { @@ -524,19 +538,9 @@ BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner, for (i = 0; i < simpleChain->cElement; i++) { /* Set confidence */ - data->pasSigners[idxSigner].pasCertChain[i].dwConfidence = 0; - if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus & - CERT_TRUST_IS_NOT_TIME_VALID)) - data->pasSigners[idxSigner].pasCertChain[i].dwConfidence - |= CERT_CONFIDENCE_TIME; - if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus & - CERT_TRUST_IS_NOT_TIME_NESTED)) - data->pasSigners[idxSigner].pasCertChain[i].dwConfidence - |= CERT_CONFIDENCE_TIMENEST; - if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus & - CERT_TRUST_IS_NOT_SIGNATURE_VALID)) - data->pasSigners[idxSigner].pasCertChain[i].dwConfidence - |= CERT_CONFIDENCE_SIG; + data->pasSigners[idxSigner].pasCertChain[i].dwConfidence = + WINTRUST_TrustStatusToConfidence( + simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus); /* Set additional flags */ if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus & CERT_TRUST_IS_UNTRUSTED_ROOT)) @@ -552,20 +556,6 @@ BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner, return ret; }
-static DWORD WINTRUST_TrustStatusToConfidence(DWORD errorStatus) -{ - DWORD confidence = 0; - - confidence = 0; - if (!(errorStatus & CERT_TRUST_IS_NOT_SIGNATURE_VALID)) - confidence |= CERT_CONFIDENCE_SIG; - if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_VALID)) - confidence |= CERT_CONFIDENCE_TIME; - if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_NESTED)) - confidence |= CERT_CONFIDENCE_TIMENEST; - return confidence; -} - static DWORD WINTRUST_TrustStatusToError(DWORD errorStatus) { DWORD error;