summaryrefslogtreecommitdiff
path: root/authfile.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2010-09-10 11:39:26 +1000
committerDamien Miller <djm@mindrot.org>2010-09-10 11:39:26 +1000
commit6af914a15c0c33e8b5bab5ca61919b8562ff1db9 (patch)
treeb87546d8a88a05e6fd600cbb2b8c0b132278cb10 /authfile.c
parent041ab7c1e7d6514ed84a539a767f79ffb356e807 (diff)
- (djm) [authfd.c authfile.c bufec.c buffer.h configure.ac kex.h kexecdh.c]
[kexecdhc.c kexecdhs.c key.c key.h myproposal.h packet.c readconf.c] [ssh-agent.c ssh-ecdsa.c ssh-keygen.c ssh.c] Disable ECDH and ECDSA on platforms that don't have the requisite OpenSSL support. ok dtucker@
Diffstat (limited to 'authfile.c')
-rw-r--r--authfile.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/authfile.c b/authfile.c
index 20ac8c76d..b1e3eda5c 100644
--- a/authfile.c
+++ b/authfile.c
@@ -213,10 +213,12 @@ key_save_private_pem(Key *key, const char *filename, const char *_passphrase,
213 success = PEM_write_DSAPrivateKey(fp, key->dsa, 213 success = PEM_write_DSAPrivateKey(fp, key->dsa,
214 cipher, passphrase, len, NULL, NULL); 214 cipher, passphrase, len, NULL, NULL);
215 break; 215 break;
216#ifdef OPENSSL_HAS_ECC
216 case KEY_ECDSA: 217 case KEY_ECDSA:
217 success = PEM_write_ECPrivateKey(fp, key->ecdsa, 218 success = PEM_write_ECPrivateKey(fp, key->ecdsa,
218 cipher, passphrase, len, NULL, NULL); 219 cipher, passphrase, len, NULL, NULL);
219 break; 220 break;
221#endif
220 case KEY_RSA: 222 case KEY_RSA:
221 success = PEM_write_RSAPrivateKey(fp, key->rsa, 223 success = PEM_write_RSAPrivateKey(fp, key->rsa,
222 cipher, passphrase, len, NULL, NULL); 224 cipher, passphrase, len, NULL, NULL);
@@ -515,6 +517,7 @@ key_load_private_pem(int fd, int type, const char *passphrase,
515#ifdef DEBUG_PK 517#ifdef DEBUG_PK
516 DSA_print_fp(stderr, prv->dsa, 8); 518 DSA_print_fp(stderr, prv->dsa, 8);
517#endif 519#endif
520#ifdef OPENSSL_HAS_ECC
518 } else if (pk->type == EVP_PKEY_EC && 521 } else if (pk->type == EVP_PKEY_EC &&
519 (type == KEY_UNSPEC||type==KEY_ECDSA)) { 522 (type == KEY_UNSPEC||type==KEY_ECDSA)) {
520 prv = key_new(KEY_UNSPEC); 523 prv = key_new(KEY_UNSPEC);
@@ -538,6 +541,7 @@ key_load_private_pem(int fd, int type, const char *passphrase,
538 if (prv->ecdsa != NULL) 541 if (prv->ecdsa != NULL)
539 key_dump_ec_key(prv->ecdsa); 542 key_dump_ec_key(prv->ecdsa);
540#endif 543#endif
544#endif /* OPENSSL_HAS_ECC */
541 } else { 545 } else {
542 error("PEM_read_PrivateKey: mismatch or " 546 error("PEM_read_PrivateKey: mismatch or "
543 "unknown EVP_PKEY save_type %d", pk->save_type); 547 "unknown EVP_PKEY save_type %d", pk->save_type);