Page MenuHomeFreeBSD

D40305.diff
No OneTemporary

D40305.diff

diff --git a/usr.bin/factor/factor.c b/usr.bin/factor/factor.c
--- a/usr.bin/factor/factor.c
+++ b/usr.bin/factor/factor.c
@@ -82,7 +82,15 @@
#include <openssl/bn.h>
-#define PRIME_CHECKS 5
+#if OPENSSL_VERSION_NUMBER < 0x30000000L
+static inline int
+BN_check_prime(BN *p, BN_CTX *ctx, BN_GENCB *cb)
+{
+ const int nchecks = 5;
+
+ return BN_is_prime_ex(val, nchecks, ctx, cb);
+}
+#endif
static void pollard_pminus1(BIGNUM *); /* print factors for big numbers */
@@ -209,11 +217,7 @@
if (!BN_sqr(bnfact, bnfact, ctx))
errx(1, "error in BN_sqr()");
if (BN_cmp(bnfact, val) > 0 ||
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
BN_check_prime(val, NULL, NULL) == 1)
-#else
- BN_is_prime_ex(val, PRIME_CHECKS, NULL, NULL) == 1)
-#endif
pr_print(val);
else
pollard_pminus1(val);
@@ -286,11 +290,7 @@
errx(1, "error in BN_gcd()");
if (!BN_is_one(x)) {
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
if (BN_check_prime(x, NULL, NULL) == 1)
-#else
- if (BN_is_prime_ex(x, PRIME_CHECKS, NULL, NULL) == 1)
-#endif
pr_print(x);
else
pollard_pminus1(x);
@@ -299,13 +299,7 @@
BN_div(num, NULL, val, x, ctx);
if (BN_is_one(num))
return;
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
- if (BN_check_prime(num, NULL, NULL) == 1)
-#else
- if (BN_is_prime_ex(num, PRIME_CHECKS, NULL, NULL)
- == 1)
-#endif
- {
+ if (BN_check_prime(num, NULL, NULL) == 1) {
pr_print(num);
fflush(stdout);
return;

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 18, 7:41 AM (2 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27706505
Default Alt Text
D40305.diff (1 KB)

Event Timeline