1
0
mirror of https://github.com/php/php-src.git synced 2026-04-04 14:42:49 +02:00

Implemented FR #53447 (Cannot disable SessionTicket extension for servers that

do not support it).

I haven't written a test due to the need for such a test to have a HTTPS server
available which mishandles SessionTicket requests; it's likely that server
administrators will gradually fix this either intentionally or through OpenSSL
upgrades. That said, if there's a great clamoring for a test, I'll work one up.
This commit is contained in:
Adam Harvey
2010-12-03 09:34:35 +00:00
parent d687186b58
commit 18ec6dae2c
2 changed files with 14 additions and 0 deletions

2
NEWS
View File

@@ -152,6 +152,8 @@ PHP NEWS
- Improved OpenSSL extension:
. Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre)
. Added a "no_ticket" SSL context option to disable the SessionTicket TLS
extension. FR #53447. (Adam)
- Improved PDO DB-LIB: (Stanley)
. Added nextRowset support.

View File

@@ -369,6 +369,18 @@ static inline int php_openssl_setup_crypto(php_stream *stream,
SSL_CTX_set_options(sslsock->ctx, SSL_OP_ALL);
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL
{
zval **val;
if (SUCCESS == php_stream_context_get_option(
stream->context, "ssl", "no_ticket", &val) &&
zval_is_true(*val)) {
SSL_CTX_set_options(sslsock->ctx, SSL_OP_NO_TICKET);
}
}
#endif
sslsock->ssl_handle = php_SSL_new_from_context(sslsock->ctx, stream TSRMLS_CC);
if (sslsock->ssl_handle == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to create an SSL handle");