From: Tobias Brunner Date: Tue, 23 Jan 2018 08:51:52 +0000 (+0100) Subject: gmp: Fix compatibility with older libgmp releases X-Git-Tag: 5.6.2dr4~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4a84fb07ca51220581ace7b9e30fc60ce7aa8fd7;p=thirdparty%2Fstrongswan.git gmp: Fix compatibility with older libgmp releases Older releases don't have mpz_powm_sec() and mpz_inits() yet. Fixes #2505. --- diff --git a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c index aca232c865..241ef7d3b1 100644 --- a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c +++ b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c @@ -936,7 +936,12 @@ static bool calculate_pq(private_gmp_rsa_private_key_t *this) bool success = FALSE; gmp_randinit_default(rstate); - mpz_inits(k, r, g, y, n1, x, NULL); + mpz_init(k); + mpz_init(r); + mpz_init(g); + mpz_init(y); + mpz_init(n1); + mpz_init(x); /* k = (d * e) - 1 */ mpz_mul(k, *this->d, this->e); mpz_sub_ui(k, k, 1); @@ -956,7 +961,7 @@ static bool calculate_pq(private_gmp_rsa_private_key_t *this) { /* generate random integer g in [0, n-1] */ mpz_urandomm(g, rstate, this->n); /* y = g^r mod n */ - mpz_powm_sec(y, g, r, this->n); + mpz_powm(y, g, r, this->n); /* try again if y == 1 or y == n-1 */ if (mpz_cmp_ui(y, 1) == 0 || mpz_cmp(y, n1) == 0) {