summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-08-29 13:24:29 -0400
committerNick Mathewson <nickm@torproject.org>2014-08-29 13:24:29 -0400
commit42350968a9d7afb1259dfdfb4d4ec5f9aa806711 (patch)
tree844e563b14d7b218aeb1ddd445ba32473d5e514a
parent37a76d75dd38a1ebd45627bb6e29e40f60917188 (diff)
downloadtor-42350968a9d7afb1259dfdfb4d4ec5f9aa806711.tar.gz
tor-42350968a9d7afb1259dfdfb4d4ec5f9aa806711.zip
Drop check for NTE_BAD_KEYSET error
Any error when acquiring the CryptoAPI context should get treated as bad. Also, this one can't happen for the arguments we're giving. Fixes bug 10816; bugfix on 0.0.2pre26.
-rw-r--r--changes/bug108166
-rw-r--r--src/common/crypto.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/changes/bug10816 b/changes/bug10816
new file mode 100644
index 0000000000..1185f3c2d6
--- /dev/null
+++ b/changes/bug10816
@@ -0,0 +1,6 @@
+ o Minor bugfixes (windows):
+ - Remove code to special-case handling of NTE_BAD_KEYSET when
+ acquiring windows CryptoAPI context. This error can't actually
+ occur for the parameters we're providing. Fixes bug 10816;
+ bugfix on 0.0.2pre26.
+
diff --git a/src/common/crypto.c b/src/common/crypto.c
index a247a87d48..03a74912dd 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -2456,10 +2456,8 @@ crypto_strongest_rand(uint8_t *out, size_t out_len)
if (!provider_set) {
if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
CRYPT_VERIFYCONTEXT)) {
- if ((unsigned long)GetLastError() != (unsigned long)NTE_BAD_KEYSET) {
- log_warn(LD_CRYPTO, "Can't get CryptoAPI provider [1]");
- return -1;
- }
+ log_warn(LD_CRYPTO, "Can't get CryptoAPI provider [1]");
+ return -1;
}
provider_set = 1;
}