Skip to content

Commit 1fdc53b

Browse files
committed
Remove deprecated capture_session_meta OpenSSL stream context
Closes GH-5200
1 parent 81fee9f commit 1fdc53b

File tree

3 files changed

+10
-78
lines changed

3 files changed

+10
-78
lines changed

ext/openssl/tests/session_meta_capture.phpt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,22 @@ $clientCode = <<<'CODE'
3434
$clientCtx = stream_context_create(['ssl' => [
3535
'verify_peer' => true,
3636
'cafile' => '%s',
37-
'peer_name' => '%s',
38-
'capture_session_meta' => true,
37+
'peer_name' => '%s'
3938
]]);
4039
4140
phpt_wait();
4241
4342
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT);
44-
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
45-
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
46-
var_dump($meta['protocol']);
43+
$stream = stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
44+
var_dump(stream_get_meta_data($stream)['crypto']['protocol']);
4745
4846
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT);
49-
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
50-
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
51-
var_dump($meta['protocol']);
47+
$stream = stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
48+
var_dump(stream_get_meta_data($stream)['crypto']['protocol']);
5249
5350
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT);
54-
@stream_socket_client($serverUri, $errno, $errstr, 2, $clientFlags, $clientCtx);
55-
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
56-
var_dump($meta['protocol']);
51+
$stream = stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
52+
var_dump(stream_get_meta_data($stream)['crypto']['protocol']);
5753
CODE;
5854
$clientCode = sprintf($clientCode, $cacertFile, $peerName);
5955

ext/openssl/tests/session_meta_capture_tlsv13.phpt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,14 @@ $clientCode = <<<'CODE'
3333
$clientCtx = stream_context_create(['ssl' => [
3434
'verify_peer' => true,
3535
'cafile' => '%s',
36-
'peer_name' => '%s',
37-
'capture_session_meta' => true,
36+
'peer_name' => '%s'
3837
]]);
3938
4039
phpt_wait();
4140
4241
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT);
43-
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
44-
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
45-
var_dump($meta['protocol']);
42+
$stream = stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
43+
var_dump(stream_get_meta_data($stream)['crypto']['protocol']);
4644
CODE;
4745
$clientCode = sprintf($clientCode, $cacertFile, $peerName);
4846

ext/openssl/xp_ssl.c

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,50 +1820,6 @@ int php_openssl_setup_crypto(php_stream *stream,
18201820
}
18211821
/* }}} */
18221822

1823-
static zend_array *php_openssl_capture_session_meta(SSL *ssl_handle) /* {{{ */
1824-
{
1825-
zval meta_arr;
1826-
char *proto_str;
1827-
long proto = SSL_version(ssl_handle);
1828-
const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle);
1829-
1830-
switch (proto) {
1831-
#ifdef HAVE_TLS13
1832-
case TLS1_3_VERSION:
1833-
proto_str = "TLSv1.3";
1834-
break;
1835-
#endif
1836-
#ifdef HAVE_TLS12
1837-
case TLS1_2_VERSION:
1838-
proto_str = "TLSv1.2";
1839-
break;
1840-
#endif
1841-
#ifdef HAVE_TLS11
1842-
case TLS1_1_VERSION:
1843-
proto_str = "TLSv1.1";
1844-
break;
1845-
#endif
1846-
case TLS1_VERSION:
1847-
proto_str = "TLSv1";
1848-
break;
1849-
#ifdef HAVE_SSL3
1850-
case SSL3_VERSION:
1851-
proto_str = "SSLv3";
1852-
break;
1853-
#endif
1854-
default: proto_str = "UNKNOWN";
1855-
}
1856-
1857-
array_init(&meta_arr);
1858-
add_assoc_string(&meta_arr, "protocol", proto_str);
1859-
add_assoc_string(&meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher));
1860-
add_assoc_long(&meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL));
1861-
add_assoc_string(&meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher));
1862-
1863-
return Z_ARR(meta_arr);
1864-
}
1865-
/* }}} */
1866-
18671823
static int php_openssl_capture_peer_certs(php_stream *stream,
18681824
php_openssl_netstream_data_t *sslsock, X509 *peer_cert) /* {{{ */
18691825
{
@@ -2015,24 +1971,6 @@ static int php_openssl_enable_crypto(php_stream *stream,
20151971
n = -1;
20161972
} else {
20171973
sslsock->ssl_active = 1;
2018-
2019-
if (PHP_STREAM_CONTEXT(stream)) {
2020-
zval *val;
2021-
if (NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
2022-
"ssl", "capture_session_meta"))
2023-
) {
2024-
php_error(E_DEPRECATED,
2025-
"capture_session_meta is deprecated; its information is now available via stream_get_meta_data()"
2026-
);
2027-
}
2028-
2029-
if (val && zend_is_true(val)) {
2030-
zval meta_arr;
2031-
ZVAL_ARR(&meta_arr, php_openssl_capture_session_meta(sslsock->ssl_handle));
2032-
php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "session_meta", &meta_arr);
2033-
zval_ptr_dtor(&meta_arr);
2034-
}
2035-
}
20361974
}
20371975
} else if (errno == EAGAIN) {
20381976
n = 0;

0 commit comments

Comments
 (0)