diff options
author | Damien Miller <djm@mindrot.org> | 2018-09-13 12:13:50 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2018-09-13 12:13:50 +1000 |
commit | 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc (patch) | |
tree | 216db3d44f6d07262ce4757e65705fcc9fb6b5fa /cipher.c | |
parent | 86112951d63d48839f035b5795be62635a463f99 (diff) |
adapt -portable to OpenSSL 1.1x API
Polyfill missing API with replacement functions extracted from LibreSSL
Diffstat (limited to 'cipher.c')
-rw-r--r-- | cipher.c | 38 |
1 files changed, 0 insertions, 38 deletions
@@ -525,41 +525,3 @@ cipher_set_keyiv(struct sshcipher_ctx *cc, const u_char *iv, size_t len) | |||
525 | #endif | 525 | #endif |
526 | return 0; | 526 | return 0; |
527 | } | 527 | } |
528 | |||
529 | #ifdef WITH_OPENSSL | ||
530 | #define EVP_X_STATE(evp) (evp)->cipher_data | ||
531 | #define EVP_X_STATE_LEN(evp) (evp)->cipher->ctx_size | ||
532 | #endif | ||
533 | |||
534 | int | ||
535 | cipher_get_keycontext(const struct sshcipher_ctx *cc, u_char *dat) | ||
536 | { | ||
537 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_RC4) | ||
538 | const struct sshcipher *c = cc->cipher; | ||
539 | int plen = 0; | ||
540 | |||
541 | if (c->evptype == EVP_rc4) { | ||
542 | plen = EVP_X_STATE_LEN(cc->evp); | ||
543 | if (dat == NULL) | ||
544 | return (plen); | ||
545 | memcpy(dat, EVP_X_STATE(cc->evp), plen); | ||
546 | } | ||
547 | return (plen); | ||
548 | #else | ||
549 | return 0; | ||
550 | #endif | ||
551 | } | ||
552 | |||
553 | void | ||
554 | cipher_set_keycontext(struct sshcipher_ctx *cc, const u_char *dat) | ||
555 | { | ||
556 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_RC4) | ||
557 | const struct sshcipher *c = cc->cipher; | ||
558 | int plen; | ||
559 | |||
560 | if (c->evptype == EVP_rc4) { | ||
561 | plen = EVP_X_STATE_LEN(cc->evp); | ||
562 | memcpy(EVP_X_STATE(cc->evp), dat, plen); | ||
563 | } | ||
564 | #endif | ||
565 | } | ||