Commit f6221b69 authored by Nick Mathewson's avatar Nick Mathewson 🐘
Browse files

Apply windows patch from Dmitri Bely


svn:r3617
parent 58540dde
Loading
Loading
Loading
Loading
+3 −3
Changes for src/common/crypto.c: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -1399,15 +1399,15 @@ int crypto_seed_rng(void)
  char buf[DIGEST_LEN+1];

  if (!provider_set) {
    if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, 0)) {
    if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, CRYPT_MACHINE_KEYSET)) {
      if (GetLastError() != NTE_BAD_KEYSET) {
        log_fn(LOG_ERR,"Can't get CryptoAPI provider [1]");
        return -1;
      }
      /* Yes, we need to try it twice. */
      if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
                               CRYPT_NEWKEYSET)) {
        log_fn(LOG_ERR,"Can't get CryptoAPI provider [2]");
                               CRYPT_MACHINE_KEYSET | CRYPT_NEWKEYSET)) {
        log_fn(LOG_ERR,"Can't get CryptoAPI provider [2], error code: %x", GetLastError());
        return -1;
      }
    }