diff options
| author | jsing <> | 2017-08-09 15:25:27 +0000 |
|---|---|---|
| committer | jsing <> | 2017-08-09 15:25:27 +0000 |
| commit | 2575a0cf7be4ff083bad379bac0c89383332c8d5 (patch) | |
| tree | 9d967077d10cbf78cdc5b35af350ae1457c01e6d /src/lib/libssl/s3_lib.c | |
| parent | a6835b7d8b2873b39d744b3fb1a33b913014a897 (diff) | |
| download | openbsd-2575a0cf7be4ff083bad379bac0c89383332c8d5.tar.gz openbsd-2575a0cf7be4ff083bad379bac0c89383332c8d5.tar.bz2 openbsd-2575a0cf7be4ff083bad379bac0c89383332c8d5.zip | |
Start splitting out controls into individual functions, so that they can
eventually be exposed as direct functions/symbols.
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
| -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 | { |
