mirror of
https://github.com/php/php-src.git
synced 2026-04-29 11:13:36 +02:00
Deprecate "session_meta_capture" SSL context option
Meta data about encrypted streams is now available as part of the "crypto" key in the array returned by stream_get_meta_data(). This update deprecates the use of the "session_meta_capture" ssl context option in encrypted streams.
This commit is contained in:
@@ -36,22 +36,22 @@ $clientCode = <<<'CODE'
|
||||
phpt_wait();
|
||||
|
||||
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_SSLv3_CLIENT);
|
||||
stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
|
||||
var_dump($meta['protocol']);
|
||||
|
||||
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT);
|
||||
stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
|
||||
var_dump($meta['protocol']);
|
||||
|
||||
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT);
|
||||
stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
@stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx);
|
||||
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
|
||||
var_dump($meta['protocol']);
|
||||
|
||||
stream_context_set_option($clientCtx, 'ssl', 'crypto_method', STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT);
|
||||
stream_socket_client($serverUri, $errno, $errstr, 2, $clientFlags, $clientCtx);
|
||||
@stream_socket_client($serverUri, $errno, $errstr, 2, $clientFlags, $clientCtx);
|
||||
$meta = stream_context_get_options($clientCtx)['ssl']['session_meta'];
|
||||
var_dump($meta['protocol']);
|
||||
CODE;
|
||||
|
||||
@@ -1869,8 +1869,14 @@ static int php_openssl_enable_crypto(php_stream *stream,
|
||||
if (PHP_STREAM_CONTEXT(stream)) {
|
||||
zval *val;
|
||||
if (NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
|
||||
"ssl", "capture_session_meta")) && zend_is_true(val)
|
||||
"ssl", "capture_session_meta"))
|
||||
) {
|
||||
php_error(E_DEPRECATED,
|
||||
"capture_session_meta is deprecated; its information is now available via stream_get_meta_data()"
|
||||
);
|
||||
}
|
||||
|
||||
if (val && zend_is_true(val)) {
|
||||
zval meta_arr;
|
||||
ZVAL_ARR(&meta_arr, capture_session_meta(sslsock->ssl_handle));
|
||||
php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "session_meta", &meta_arr);
|
||||
|
||||
Reference in New Issue
Block a user