diff --git a/reactos/dll/win32/cryptnet/cryptnet_main.c b/reactos/dll/win32/cryptnet/cryptnet_main.c index 43454e85456..e7d0bd8a85f 100644 --- a/reactos/dll/win32/cryptnet/cryptnet_main.c +++ b/reactos/dll/win32/cryptnet/cryptnet_main.c @@ -466,7 +466,6 @@ static BOOL CRYPT_GetObjectFromFile(HANDLE hFile, PCRYPT_BLOB_ARRAY pObject) blob.pbData = CryptMemAlloc(size.u.LowPart); if (blob.pbData) { - blob.cbData = size.u.LowPart; ret = ReadFile(hFile, blob.pbData, size.u.LowPart, &blob.cbData, NULL); if (ret) @@ -1427,61 +1426,24 @@ static BOOL CRYPT_GetCreateFunction(LPCSTR pszObjectOid, return ret; } -typedef BOOL (*get_object_expiration_func)(const void *pvContext, - FILETIME *expiration); - -static BOOL CRYPT_GetExpirationFromCert(const void *pvObject, FILETIME *expiration) +static BOOL CRYPT_GetExpiration(const void *object, const char *pszObjectOid, FILETIME *expiration) { - PCCERT_CONTEXT cert = pvObject; + if (!IS_INTOID(pszObjectOid)) + return FALSE; - *expiration = cert->pCertInfo->NotAfter; - return TRUE; -} - -static BOOL CRYPT_GetExpirationFromCRL(const void *pvObject, FILETIME *expiration) -{ - PCCRL_CONTEXT cert = pvObject; - - *expiration = cert->pCrlInfo->NextUpdate; - return TRUE; -} - -static BOOL CRYPT_GetExpirationFromCTL(const void *pvObject, FILETIME *expiration) -{ - PCCTL_CONTEXT cert = pvObject; - - *expiration = cert->pCtlInfo->NextUpdate; - return TRUE; -} - -static BOOL CRYPT_GetExpirationFunction(LPCSTR pszObjectOid, - get_object_expiration_func *getExpiration) -{ - BOOL ret; - - if (IS_INTOID(pszObjectOid)) - { - switch (LOWORD(pszObjectOid)) - { - case LOWORD(CONTEXT_OID_CERTIFICATE): - *getExpiration = CRYPT_GetExpirationFromCert; - ret = TRUE; - break; - case LOWORD(CONTEXT_OID_CRL): - *getExpiration = CRYPT_GetExpirationFromCRL; - ret = TRUE; - break; - case LOWORD(CONTEXT_OID_CTL): - *getExpiration = CRYPT_GetExpirationFromCTL; - ret = TRUE; - break; - default: - ret = FALSE; - } + switch (LOWORD(pszObjectOid)) { + case LOWORD(CONTEXT_OID_CERTIFICATE): + *expiration = ((const CERT_CONTEXT*)object)->pCertInfo->NotAfter; + return TRUE; + case LOWORD(CONTEXT_OID_CRL): + *expiration = ((const CRL_CONTEXT*)object)->pCrlInfo->NextUpdate; + return TRUE; + case LOWORD(CONTEXT_OID_CTL): + *expiration = ((const CTL_CONTEXT*)object)->pCtlInfo->NextUpdate; + return TRUE; } - else - ret = FALSE; - return ret; + + return FALSE; } /*********************************************************************** @@ -1514,22 +1476,18 @@ BOOL WINAPI CryptRetrieveObjectByUrlW(LPCWSTR pszURL, LPCSTR pszObjectOid, CRYPT_BLOB_ARRAY object = { 0, NULL }; PFN_FREE_ENCODED_OBJECT_FUNC freeObject; void *freeContext; + FILETIME expires; ret = retrieve(pszURL, pszObjectOid, dwRetrievalFlags, dwTimeout, &object, &freeObject, &freeContext, hAsyncRetrieve, pCredentials, pAuxInfo); if (ret) { - get_object_expiration_func getExpiration; - ret = create(pszObjectOid, dwRetrievalFlags, &object, ppvObject); if (ret && !(dwRetrievalFlags & CRYPT_DONT_CACHE_RESULT) && - CRYPT_GetExpirationFunction(pszObjectOid, &getExpiration)) + CRYPT_GetExpiration(*ppvObject, pszObjectOid, &expires)) { - FILETIME expires; - - if (getExpiration(*ppvObject, &expires)) - CRYPT_CacheURL(pszURL, &object, dwRetrievalFlags, expires); + CRYPT_CacheURL(pszURL, &object, dwRetrievalFlags, expires); } freeObject(pszObjectOid, &object, freeContext); } @@ -1814,14 +1772,14 @@ typedef struct _CERT_REVOCATION_PARA_NO_EXTRA_FIELDS { HCERTSTORE *rgCertStore; HCERTSTORE hCrlStore; LPFILETIME pftTimeToUse; -} CERT_REVOCATION_PARA_NO_EXTRA_FIELDS, *PCERT_REVOCATION_PARA_NO_EXTRA_FIELDS; +} CERT_REVOCATION_PARA_NO_EXTRA_FIELDS; typedef struct _OLD_CERT_REVOCATION_STATUS { DWORD cbSize; DWORD dwIndex; DWORD dwError; DWORD dwReason; -} OLD_CERT_REVOCATION_STATUS, *POLD_CERT_REVOCATION_STATUS; +} OLD_CERT_REVOCATION_STATUS; /*********************************************************************** * CertDllVerifyRevocation (CRYPTNET.@) diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index ad06b52612a..d2d1335b1cc 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -67,7 +67,7 @@ reactos/dll/win32/credui # Synced to Wine-1.7.1 reactos/dll/win32/crypt32 # Synced to Wine-1.7.17 reactos/dll/win32/cryptdlg # Synced to Wine-1.7.1 reactos/dll/win32/cryptdll # Synced to Wine-1.7.1 -reactos/dll/win32/cryptnet # Synced to Wine-1.7.1 +reactos/dll/win32/cryptnet # Synced to Wine-1.7.17 reactos/dll/win32/cryptui # Synced to Wine-1.7.1 reactos/dll/win32/dbghelp # Synced to Wine-1.7.1 reactos/dll/win32/dciman32 # Synced to Wine-1.7.1