diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-11-22 15:20:53 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-11-22 15:20:53 +0000 |
commit | 20b431e3a94e57b916d7e1325217c3a2a6a186a0 (patch) | |
tree | a123d8a3ec30025a4b97edabdb86eb065fbcc59e /ssl | |
parent | e83aefb3a0c645c77849f889bc166935b2cc935c (diff) |
Add support for printing out and retrieving EC point formats extension.
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/s3_lib.c | 13 | ||||
-rw-r--r-- | ssl/ssl.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 6a4ba395c1..c6ecd8ff00 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3530,6 +3530,19 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) return 0; } + case SSL_CTRL_GET_EC_POINT_FORMATS: + if (!s->server) + return 0; + else + { + SSL_SESSION *sess = s->session; + const unsigned char **pformat = parg; + if (!sess || !sess->tlsext_ecpointformatlist) + return 0; + *pformat = sess->tlsext_ecpointformatlist; + return (int)sess->tlsext_ecpointformatlist_length; + } + default: break; } @@ -1720,6 +1720,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) #define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 #define SSL_CTRL_GET_SERVER_TMP_KEY 109 #define SSL_CTRL_GET_RAW_CIPHERLIST 110 +#define SSL_CTRL_GET_EC_POINT_FORMATS 111 #define DTLSv1_get_timeout(ssl, arg) \ SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) @@ -1853,6 +1854,9 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) #define SSL_get0_raw_cipherlist(s, plst) \ SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) +#define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst) + #ifndef OPENSSL_NO_BIO BIO_METHOD *BIO_f_ssl(void); BIO *BIO_new_ssl(SSL_CTX *ctx,int client); |