diff options
author | jsing <> | 2017-08-09 15:25:27 +0000 |
---|---|---|
committer | jsing <> | 2017-08-09 15:25:27 +0000 |
commit | 897828878ba1ebc40c255d2b04fe4df8d6c521e4 (patch) | |
tree | 9d967077d10cbf78cdc5b35af350ae1457c01e6d /src/lib | |
parent | 8c3a7a98a3334624cdc20829fd1d766fd15386f2 (diff) | |
download | openbsd-897828878ba1ebc40c255d2b04fe4df8d6c521e4.tar.gz openbsd-897828878ba1ebc40c255d2b04fe4df8d6c521e4.tar.bz2 openbsd-897828878ba1ebc40c255d2b04fe4df8d6c521e4.zip |
Start splitting out controls into individual functions, so that they can
eventually be exposed as direct functions/symbols.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 92 |
1 files changed, 63 insertions, 29 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 2508c7dd72..274b2daf81 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.147 2017/08/09 15:02:53 jsing Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.148 2017/08/09 15:25:27 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1773,6 +1773,49 @@ ssl_ctrl_get_server_tmp_key(SSL *s, EVP_PKEY **pkey_tmp) | |||
1773 | return (ret); | 1773 | return (ret); |
1774 | } | 1774 | } |
1775 | 1775 | ||
1776 | static int | ||
1777 | _SSL_session_reused(SSL *s) | ||
1778 | { | ||
1779 | return s->internal->hit; | ||
1780 | } | ||
1781 | |||
1782 | static int | ||
1783 | _SSL_num_renegotiations(SSL *s) | ||
1784 | { | ||
1785 | return S3I(s)->num_renegotiations; | ||
1786 | } | ||
1787 | |||
1788 | static int | ||
1789 | _SSL_clear_num_renegotiations(SSL *s) | ||
1790 | { | ||
1791 | int renegs; | ||
1792 | |||
1793 | renegs = S3I(s)->num_renegotiations; | ||
1794 | S3I(s)->num_renegotiations = 0; | ||
1795 | |||
1796 | return renegs; | ||
1797 | } | ||
1798 | |||
1799 | static int | ||
1800 | _SSL_total_renegotiations(SSL *s) | ||
1801 | { | ||
1802 | return S3I(s)->total_renegotiations; | ||
1803 | } | ||
1804 | |||
1805 | int | ||
1806 | SSL_set1_groups(SSL *s, const int *groups, size_t groups_len) | ||
1807 | { | ||
1808 | return tls1_set_groups(&s->internal->tlsext_supportedgroups, | ||
1809 | &s->internal->tlsext_supportedgroups_length, groups, groups_len); | ||
1810 | } | ||
1811 | |||
1812 | int | ||
1813 | SSL_set1_groups_list(SSL *s, const char *groups) | ||
1814 | { | ||
1815 | return tls1_set_groups_list(&s->internal->tlsext_supportedgroups, | ||
1816 | &s->internal->tlsext_supportedgroups_length, groups); | ||
1817 | } | ||
1818 | |||
1776 | long | 1819 | long |
1777 | ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | 1820 | ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) |
1778 | { | 1821 | { |
@@ -1787,26 +1830,21 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
1787 | 1830 | ||
1788 | switch (cmd) { | 1831 | switch (cmd) { |
1789 | case SSL_CTRL_GET_SESSION_REUSED: | 1832 | case SSL_CTRL_GET_SESSION_REUSED: |
1790 | ret = s->internal->hit; | 1833 | return _SSL_session_reused(s); |
1791 | break; | 1834 | |
1792 | case SSL_CTRL_GET_CLIENT_CERT_REQUEST: | ||
1793 | break; | ||
1794 | case SSL_CTRL_GET_NUM_RENEGOTIATIONS: | 1835 | case SSL_CTRL_GET_NUM_RENEGOTIATIONS: |
1795 | ret = S3I(s)->num_renegotiations; | 1836 | return _SSL_num_renegotiations(s); |
1796 | break; | 1837 | |
1797 | case SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS: | 1838 | case SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS: |
1798 | ret = S3I(s)->num_renegotiations; | 1839 | return _SSL_clear_num_renegotiations(s); |
1799 | S3I(s)->num_renegotiations = 0; | 1840 | |
1800 | break; | ||
1801 | case SSL_CTRL_GET_TOTAL_RENEGOTIATIONS: | 1841 | case SSL_CTRL_GET_TOTAL_RENEGOTIATIONS: |
1802 | ret = S3I(s)->total_renegotiations; | 1842 | return _SSL_total_renegotiations(s); |
1803 | break; | 1843 | |
1804 | case SSL_CTRL_GET_FLAGS: | ||
1805 | ret = (int)(s->s3->flags); | ||
1806 | break; | ||
1807 | case SSL_CTRL_NEED_TMP_RSA: | 1844 | case SSL_CTRL_NEED_TMP_RSA: |
1808 | ret = 0; | 1845 | ret = 0; |
1809 | break; | 1846 | break; |
1847 | |||
1810 | case SSL_CTRL_SET_TMP_RSA: | 1848 | case SSL_CTRL_SET_TMP_RSA: |
1811 | case SSL_CTRL_SET_TMP_RSA_CB: | 1849 | case SSL_CTRL_SET_TMP_RSA_CB: |
1812 | SSLerror(s, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 1850 | SSLerror(s, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
@@ -1954,6 +1992,16 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
1954 | return (0); | 1992 | return (0); |
1955 | return SSL_set_max_proto_version(s, larg); | 1993 | return SSL_set_max_proto_version(s, larg); |
1956 | 1994 | ||
1995 | /* | ||
1996 | * Legacy controls that should be removed. | ||
1997 | */ | ||
1998 | case SSL_CTRL_GET_CLIENT_CERT_REQUEST: | ||
1999 | break; | ||
2000 | |||
2001 | case SSL_CTRL_GET_FLAGS: | ||
2002 | ret = (int)(s->s3->flags); | ||
2003 | break; | ||
2004 | |||
1957 | default: | 2005 | default: |
1958 | break; | 2006 | break; |
1959 | } | 2007 | } |
@@ -1961,20 +2009,6 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
1961 | return (ret); | 2009 | return (ret); |
1962 | } | 2010 | } |
1963 | 2011 | ||
1964 | int | ||
1965 | SSL_set1_groups(SSL *s, const int *groups, size_t groups_len) | ||
1966 | { | ||
1967 | return tls1_set_groups(&s->internal->tlsext_supportedgroups, | ||
1968 | &s->internal->tlsext_supportedgroups_length, groups, groups_len); | ||
1969 | } | ||
1970 | |||
1971 | int | ||
1972 | SSL_set1_groups_list(SSL *s, const char *groups) | ||
1973 | { | ||
1974 | return tls1_set_groups_list(&s->internal->tlsext_supportedgroups, | ||
1975 | &s->internal->tlsext_supportedgroups_length, groups); | ||
1976 | } | ||
1977 | |||
1978 | long | 2012 | long |
1979 | ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)) | 2013 | ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)) |
1980 | { | 2014 | { |