diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-03-28 15:05:04 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-03-28 15:05:04 +0000 |
commit | d0595f170c225b918a980f49c5d16ec53545a6ad (patch) | |
tree | 113824b5df10b6a23f08061dbfaf9e268218bc10 /ssl/s3_lib.c | |
parent | 751e26cb9b5ca46d0db4e7d9b71e215ece496223 (diff) | |
download | openssl-d0595f170c225b918a980f49c5d16ec53545a6ad.tar.gz |
Initial revision of ECC extension handling.
Tidy some code up.
Don't allocate a structure to handle ECC extensions when it is used for
default values.
Make supported curves configurable.
Add ctrls to retrieve shared curves: not fully integrated with rest of
ECC code yet.
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r-- | ssl/s3_lib.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 248bb94df8..f680d35233 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3365,7 +3365,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) else return ssl_cert_add0_chain_cert(s->cert, (X509 *)parg); - case SSL_CTRL_GET_CURVELIST: + case SSL_CTRL_GET_CURVES: { unsigned char *clist; size_t clistlen; @@ -3391,6 +3391,20 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) return (int)clistlen; } + case SSL_CTRL_SET_CURVES: + return tls1_set_curves(&s->tlsext_ellipticcurvelist, + &s->tlsext_ellipticcurvelist_length, + parg, larg); + + case SSL_CTRL_SET_CURVES_LIST: + return tls1_set_curves_list(&s->tlsext_ellipticcurvelist, + &s->tlsext_ellipticcurvelist_length, + parg); + + case SSL_CTRL_GET_SHARED_CURVE: + return tls1_shared_curve(s, larg); + + default: break; } @@ -3659,6 +3673,16 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) ctx->srp_ctx.strength=larg; break; #endif + + case SSL_CTRL_SET_CURVES: + return tls1_set_curves(&ctx->tlsext_ellipticcurvelist, + &ctx->tlsext_ellipticcurvelist_length, + parg, larg); + + case SSL_CTRL_SET_CURVES_LIST: + return tls1_set_curves_list(&ctx->tlsext_ellipticcurvelist, + &ctx->tlsext_ellipticcurvelist_length, + parg); #endif /* !OPENSSL_NO_TLSEXT */ /* A Thawte special :-) */ |