| From b2ee29809a54e16567323d8fbac2d652ee58c692 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Fri, 1 Feb 2019 22:45:19 -0800 |
| Subject: [PATCH] Check against the correct OPENSSL_VERSION_NUMBER |
| |
| From: Guido Falsi <mad@madpilot.net> |
| https://sources.debian.org/src/pam-ssh-agent-auth/0.10.3-3/debian/patches/openssl-1.1.1-2.patch/ |
| |
| Upstream-Status: Pending |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| authfd.c | 12 ++++++------ |
| bufbn.c | 2 +- |
| key.c | 36 ++++++++++++++++++------------------ |
| ssh-dss.c | 10 +++++----- |
| ssh-ecdsa.c | 8 ++++---- |
| ssh-rsa.c | 4 ++-- |
| 6 files changed, 36 insertions(+), 36 deletions(-) |
| |
| diff --git a/authfd.c b/authfd.c |
| index f91514d..4c6cec8 100644 |
| --- a/authfd.c |
| +++ b/authfd.c |
| @@ -367,7 +367,7 @@ ssh_get_next_identity(AuthenticationConnection *auth, char **comment, int versio |
| case 1: |
| key = pamsshagentauth_key_new(KEY_RSA1); |
| bits = pamsshagentauth_buffer_get_int(&auth->identities); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->e); |
| pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->n); |
| *comment = pamsshagentauth_buffer_get_string(&auth->identities, NULL); |
| @@ -427,7 +427,7 @@ ssh_decrypt_challenge(AuthenticationConnection *auth, |
| } |
| pamsshagentauth_buffer_init(&buffer); |
| pamsshagentauth_buffer_put_char(&buffer, SSH_AGENTC_RSA_CHALLENGE); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_put_int(&buffer, BN_num_bits(key->rsa->n)); |
| pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->e); |
| pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->n); |
| @@ -512,7 +512,7 @@ ssh_agent_sign(AuthenticationConnection *auth, |
| static void |
| ssh_encode_identity_rsa1(Buffer *b, RSA *key, const char *comment) |
| { |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_put_int(b, BN_num_bits(key->n)); |
| pamsshagentauth_buffer_put_bignum(b, key->n); |
| pamsshagentauth_buffer_put_bignum(b, key->e); |
| @@ -540,7 +540,7 @@ ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment) |
| pamsshagentauth_buffer_put_cstring(b, key_ssh_name(key)); |
| switch (key->type) { |
| case KEY_RSA: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_put_bignum2(b, key->rsa->n); |
| pamsshagentauth_buffer_put_bignum2(b, key->rsa->e); |
| pamsshagentauth_buffer_put_bignum2(b, key->rsa->d); |
| @@ -557,7 +557,7 @@ ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment) |
| #endif |
| break; |
| case KEY_DSA: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_put_bignum2(b, key->dsa->p); |
| pamsshagentauth_buffer_put_bignum2(b, key->dsa->q); |
| pamsshagentauth_buffer_put_bignum2(b, key->dsa->g); |
| @@ -649,7 +649,7 @@ ssh_remove_identity(AuthenticationConnection *auth, Key *key) |
| |
| if (key->type == KEY_RSA1) { |
| pamsshagentauth_buffer_put_char(&msg, SSH_AGENTC_REMOVE_RSA_IDENTITY); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| pamsshagentauth_buffer_put_int(&msg, BN_num_bits(key->rsa->n)); |
| pamsshagentauth_buffer_put_bignum(&msg, key->rsa->e); |
| pamsshagentauth_buffer_put_bignum(&msg, key->rsa->n); |
| diff --git a/bufbn.c b/bufbn.c |
| index 4ecedc1..b4754cc 100644 |
| --- a/bufbn.c |
| +++ b/bufbn.c |
| @@ -151,7 +151,7 @@ pamsshagentauth_buffer_put_bignum2_ret(Buffer *buffer, const BIGNUM *value) |
| pamsshagentauth_buffer_put_int(buffer, 0); |
| return 0; |
| } |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (value->neg) { |
| #else |
| if (BN_is_negative(value)) { |
| diff --git a/key.c b/key.c |
| index aedbbb5..dcc5fc8 100644 |
| --- a/key.c |
| +++ b/key.c |
| @@ -77,7 +77,7 @@ pamsshagentauth_key_new(int type) |
| case KEY_RSA: |
| if ((rsa = RSA_new()) == NULL) |
| pamsshagentauth_fatal("key_new: RSA_new failed"); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((rsa->n = BN_new()) == NULL) |
| pamsshagentauth_fatal("key_new: BN_new failed"); |
| if ((rsa->e = BN_new()) == NULL) |
| @@ -91,7 +91,7 @@ pamsshagentauth_key_new(int type) |
| case KEY_DSA: |
| if ((dsa = DSA_new()) == NULL) |
| pamsshagentauth_fatal("key_new: DSA_new failed"); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((dsa->p = BN_new()) == NULL) |
| pamsshagentauth_fatal("key_new: BN_new failed"); |
| if ((dsa->q = BN_new()) == NULL) |
| @@ -130,7 +130,7 @@ pamsshagentauth_key_new_private(int type) |
| switch (k->type) { |
| case KEY_RSA1: |
| case KEY_RSA: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((k->rsa->d = BN_new()) == NULL) |
| pamsshagentauth_fatal("key_new_private: BN_new failed"); |
| if ((k->rsa->iqmp = BN_new()) == NULL) |
| @@ -153,7 +153,7 @@ pamsshagentauth_key_new_private(int type) |
| #endif |
| break; |
| case KEY_DSA: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((k->dsa->priv_key = BN_new()) == NULL) |
| pamsshagentauth_fatal("key_new_private: BN_new failed"); |
| #else |
| @@ -162,7 +162,7 @@ pamsshagentauth_key_new_private(int type) |
| #endif |
| break; |
| case KEY_ECDSA: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (EC_KEY_set_private_key(k->ecdsa, BN_new()) != 1) |
| pamsshagentauth_fatal("key_new_private: EC_KEY_set_private_key failed"); |
| #else |
| @@ -224,7 +224,7 @@ pamsshagentauth_key_equal(const Key *a, const Key *b) |
| case KEY_RSA1: |
| case KEY_RSA: |
| return a->rsa != NULL && b->rsa != NULL && |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| BN_cmp(a->rsa->e, b->rsa->e) == 0 && |
| BN_cmp(a->rsa->n, b->rsa->n) == 0; |
| #else |
| @@ -233,7 +233,7 @@ pamsshagentauth_key_equal(const Key *a, const Key *b) |
| #endif |
| case KEY_DSA: |
| return a->dsa != NULL && b->dsa != NULL && |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| BN_cmp(a->dsa->p, b->dsa->p) == 0 && |
| BN_cmp(a->dsa->q, b->dsa->q) == 0 && |
| BN_cmp(a->dsa->g, b->dsa->g) == 0 && |
| @@ -293,7 +293,7 @@ pamsshagentauth_key_fingerprint_raw(const Key *k, enum fp_type dgst_type, |
| } |
| switch (k->type) { |
| case KEY_RSA1: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| nlen = BN_num_bytes(k->rsa->n); |
| elen = BN_num_bytes(k->rsa->e); |
| len = nlen + elen; |
| @@ -510,7 +510,7 @@ pamsshagentauth_key_read(Key *ret, char **cpp) |
| return -1; |
| *cpp = cp; |
| /* Get public exponent, public modulus. */ |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (!read_bignum(cpp, ret->rsa->e)) |
| return -1; |
| if (!read_bignum(cpp, ret->rsa->n)) |
| @@ -643,7 +643,7 @@ pamsshagentauth_key_write(const Key *key, FILE *f) |
| |
| if (key->type == KEY_RSA1 && key->rsa != NULL) { |
| /* size of modulus 'n' */ |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| bits = BN_num_bits(key->rsa->n); |
| fprintf(f, "%u", bits); |
| if (write_bignum(f, key->rsa->e) && |
| @@ -742,7 +742,7 @@ pamsshagentauth_key_size(const Key *k) |
| { |
| switch (k->type) { |
| case KEY_RSA1: |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| case KEY_RSA: |
| return BN_num_bits(k->rsa->n); |
| case KEY_DSA: |
| @@ -843,7 +843,7 @@ pamsshagentauth_key_from_private(const Key *k) |
| switch (k->type) { |
| case KEY_DSA: |
| n = pamsshagentauth_key_new(k->type); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) || |
| (BN_copy(n->dsa->q, k->dsa->q) == NULL) || |
| (BN_copy(n->dsa->g, k->dsa->g) == NULL) || |
| @@ -859,7 +859,7 @@ pamsshagentauth_key_from_private(const Key *k) |
| case KEY_RSA: |
| case KEY_RSA1: |
| n = pamsshagentauth_key_new(k->type); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) || |
| (BN_copy(n->rsa->e, k->rsa->e) == NULL)) |
| #else |
| @@ -967,7 +967,7 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen) |
| switch (type) { |
| case KEY_RSA: |
| key = pamsshagentauth_key_new(type); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->e) == -1 || |
| pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->n) == -1) { |
| #else |
| @@ -985,7 +985,7 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen) |
| break; |
| case KEY_DSA: |
| key = pamsshagentauth_key_new(type); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->p) == -1 || |
| pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->q) == -1 || |
| pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->g) == -1 || |
| @@ -1113,7 +1113,7 @@ pamsshagentauth_key_to_blob(const Key *key, u_char **blobp, u_int *lenp) |
| } |
| pamsshagentauth_buffer_init(&b); |
| switch (key->type) { |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| case KEY_DSA: |
| pamsshagentauth_buffer_put_cstring(&b, key_ssh_name(key)); |
| pamsshagentauth_buffer_put_bignum2(&b, key->dsa->p); |
| @@ -1251,7 +1251,7 @@ pamsshagentauth_key_demote(const Key *k) |
| case KEY_RSA: |
| if ((pk->rsa = RSA_new()) == NULL) |
| pamsshagentauth_fatal("key_demote: RSA_new failed"); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((pk->rsa->e = BN_dup(k->rsa->e)) == NULL) |
| pamsshagentauth_fatal("key_demote: BN_dup failed"); |
| if ((pk->rsa->n = BN_dup(k->rsa->n)) == NULL) |
| @@ -1264,7 +1264,7 @@ pamsshagentauth_key_demote(const Key *k) |
| case KEY_DSA: |
| if ((pk->dsa = DSA_new()) == NULL) |
| pamsshagentauth_fatal("key_demote: DSA_new failed"); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((pk->dsa->p = BN_dup(k->dsa->p)) == NULL) |
| pamsshagentauth_fatal("key_demote: BN_dup failed"); |
| if ((pk->dsa->q = BN_dup(k->dsa->q)) == NULL) |
| diff --git a/ssh-dss.c b/ssh-dss.c |
| index 1051ae2..9b96274 100644 |
| --- a/ssh-dss.c |
| +++ b/ssh-dss.c |
| @@ -52,7 +52,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp, |
| u_char digest[EVP_MAX_MD_SIZE], sigblob[SIGBLOB_LEN]; |
| u_int rlen, slen, len, dlen; |
| Buffer b; |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100005L |
| const BIGNUM *r, *s; |
| #endif |
| |
| @@ -74,7 +74,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp, |
| return -1; |
| } |
| |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| rlen = BN_num_bytes(sig->r); |
| slen = BN_num_bytes(sig->s); |
| #else |
| @@ -88,7 +88,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp, |
| return -1; |
| } |
| memset(sigblob, 0, SIGBLOB_LEN); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen); |
| BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen); |
| #else |
| @@ -131,7 +131,7 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen, |
| u_int len, dlen; |
| int rlen, ret; |
| Buffer b; |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100005L |
| BIGNUM *r, *s; |
| #endif |
| |
| @@ -176,7 +176,7 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen, |
| /* parse signature */ |
| if ((sig = DSA_SIG_new()) == NULL) |
| pamsshagentauth_fatal("ssh_dss_verify: DSA_SIG_new failed"); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((sig->r = BN_new()) == NULL) |
| pamsshagentauth_fatal("ssh_dss_verify: BN_new failed"); |
| if ((sig->s = BN_new()) == NULL) |
| diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c |
| index c213959..5b13b30 100644 |
| --- a/ssh-ecdsa.c |
| +++ b/ssh-ecdsa.c |
| @@ -45,7 +45,7 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp, |
| u_char digest[EVP_MAX_MD_SIZE]; |
| u_int len, dlen; |
| Buffer b, bb; |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100005L |
| BIGNUM *r, *s; |
| #endif |
| |
| @@ -69,7 +69,7 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp, |
| } |
| |
| pamsshagentauth_buffer_init(&bb); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->r) == -1 || |
| pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->s) == -1) { |
| #else |
| @@ -110,7 +110,7 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen, |
| u_int len, dlen; |
| int rlen, ret; |
| Buffer b; |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100005L |
| BIGNUM *r, *s; |
| #endif |
| |
| @@ -141,7 +141,7 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen, |
| |
| pamsshagentauth_buffer_init(&b); |
| pamsshagentauth_buffer_append(&b, sigblob, len); |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if ((pamsshagentauth_buffer_get_bignum2_ret(&b, sig->r) == -1) || |
| (pamsshagentauth_buffer_get_bignum2_ret(&b, sig->s) == -1)) |
| #else |
| diff --git a/ssh-rsa.c b/ssh-rsa.c |
| index 9d74eb6..35f2e36 100644 |
| --- a/ssh-rsa.c |
| +++ b/ssh-rsa.c |
| @@ -119,13 +119,13 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen, |
| pamsshagentauth_logerror("ssh_rsa_verify: no RSA key"); |
| return -1; |
| } |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) { |
| #else |
| if (BN_num_bits(RSA_get0_n(key->rsa)) < SSH_RSA_MINIMUM_MODULUS_SIZE) { |
| #endif |
| pamsshagentauth_logerror("ssh_rsa_verify: RSA modulus too small: %d < minimum %d bits", |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100005L |
| BN_num_bits(key->rsa->n), SSH_RSA_MINIMUM_MODULUS_SIZE); |
| #else |
| BN_num_bits(RSA_get0_n(key->rsa)), SSH_RSA_MINIMUM_MODULUS_SIZE); |