diff options
Diffstat (limited to 'src/lib/libcrypto/bn/bn_depr.c')
-rw-r--r-- | src/lib/libcrypto/bn/bn_depr.c | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/src/lib/libcrypto/bn/bn_depr.c b/src/lib/libcrypto/bn/bn_depr.c index 27535e4fca..e4d7f33967 100644 --- a/src/lib/libcrypto/bn/bn_depr.c +++ b/src/lib/libcrypto/bn/bn_depr.c | |||
@@ -7,7 +7,7 @@ | |||
7 | * are met: | 7 | * are met: |
8 | * | 8 | * |
9 | * 1. Redistributions of source code must retain the above copyright | 9 | * 1. Redistributions of source code must retain the above copyright |
10 | * notice, this list of conditions and the following disclaimer. | 10 | * notice, this list of conditions and the following disclaimer. |
11 | * | 11 | * |
12 | * 2. Redistributions in binary form must reproduce the above copyright | 12 | * 2. Redistributions in binary form must reproduce the above copyright |
13 | * notice, this list of conditions and the following disclaimer in | 13 | * notice, this list of conditions and the following disclaimer in |
@@ -62,51 +62,55 @@ | |||
62 | #include "bn_lcl.h" | 62 | #include "bn_lcl.h" |
63 | #include <openssl/rand.h> | 63 | #include <openssl/rand.h> |
64 | 64 | ||
65 | static void *dummy=&dummy; | 65 | static void *dummy = &dummy; |
66 | 66 | ||
67 | #ifndef OPENSSL_NO_DEPRECATED | 67 | #ifndef OPENSSL_NO_DEPRECATED |
68 | BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, | 68 | BIGNUM * |
69 | const BIGNUM *add, const BIGNUM *rem, | 69 | BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM *add, |
70 | void (*callback)(int,int,void *), void *cb_arg) | 70 | const BIGNUM *rem, void (*callback)(int, int, void *), void *cb_arg) |
71 | { | 71 | { |
72 | BN_GENCB cb; | 72 | BN_GENCB cb; |
73 | BIGNUM *rnd=NULL; | 73 | BIGNUM *rnd = NULL; |
74 | int found = 0; | 74 | int found = 0; |
75 | 75 | ||
76 | BN_GENCB_set_old(&cb, callback, cb_arg); | 76 | BN_GENCB_set_old(&cb, callback, cb_arg); |
77 | 77 | ||
78 | if (ret == NULL) | 78 | if (ret == NULL) { |
79 | { | 79 | if ((rnd = BN_new()) == NULL) |
80 | if ((rnd=BN_new()) == NULL) goto err; | 80 | goto err; |
81 | } | 81 | } else |
82 | else | 82 | rnd = ret; |
83 | rnd=ret; | 83 | if (!BN_generate_prime_ex(rnd, bits, safe, add, rem, &cb)) |
84 | if(!BN_generate_prime_ex(rnd, bits, safe, add, rem, &cb)) | ||
85 | goto err; | 84 | goto err; |
86 | 85 | ||
87 | /* we have a prime :-) */ | 86 | /* we have a prime :-) */ |
88 | found = 1; | 87 | found = 1; |
88 | |||
89 | err: | 89 | err: |
90 | if (!found && (ret == NULL) && (rnd != NULL)) BN_free(rnd); | 90 | if (!found && (ret == NULL) && (rnd != NULL)) |
91 | return(found ? rnd : NULL); | 91 | BN_free(rnd); |
92 | } | 92 | return (found ? rnd : NULL); |
93 | } | ||
93 | 94 | ||
94 | int BN_is_prime(const BIGNUM *a, int checks, void (*callback)(int,int,void *), | 95 | int |
95 | BN_CTX *ctx_passed, void *cb_arg) | 96 | BN_is_prime(const BIGNUM *a, int checks, void (*callback)(int, int, void *), |
96 | { | 97 | BN_CTX *ctx_passed, void *cb_arg) |
98 | { | ||
97 | BN_GENCB cb; | 99 | BN_GENCB cb; |
100 | |||
98 | BN_GENCB_set_old(&cb, callback, cb_arg); | 101 | BN_GENCB_set_old(&cb, callback, cb_arg); |
99 | return BN_is_prime_ex(a, checks, ctx_passed, &cb); | 102 | return BN_is_prime_ex(a, checks, ctx_passed, &cb); |
100 | } | 103 | } |
101 | 104 | ||
102 | int BN_is_prime_fasttest(const BIGNUM *a, int checks, | 105 | int |
103 | void (*callback)(int,int,void *), | 106 | BN_is_prime_fasttest(const BIGNUM *a, int checks, |
104 | BN_CTX *ctx_passed, void *cb_arg, | 107 | void (*callback)(int, int, void *), BN_CTX *ctx_passed, void *cb_arg, |
105 | int do_trial_division) | 108 | int do_trial_division) |
106 | { | 109 | { |
107 | BN_GENCB cb; | 110 | BN_GENCB cb; |
111 | |||
108 | BN_GENCB_set_old(&cb, callback, cb_arg); | 112 | BN_GENCB_set_old(&cb, callback, cb_arg); |
109 | return BN_is_prime_fasttest_ex(a, checks, ctx_passed, | 113 | return BN_is_prime_fasttest_ex(a, checks, ctx_passed, |
110 | do_trial_division, &cb); | 114 | do_trial_division, &cb); |
111 | } | 115 | } |
112 | #endif | 116 | #endif |