com php-src: Merge branch 'PHP-5.6': UPGRADING ext/openssl/xp _ssl.c main/php_ini.c
| From: | Andrey Hristov | Date: | Wed, 29 Jan 2014 13:32:02 +0000 |
| Subject: | com php-src: Merge branch 'PHP-5.6': UPGRADING ext/openssl/xp _ssl.c main/php_ini.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-75850@lists.php.net to get a copy of this message | ||
Commit: 1c7f54d4f7fe58f1d2c7ed00ca80d93dddc265ab
Author: Andrey Hristov <andrey@php.net> Wed, 29 Jan 2014 15:32:02 +0200
Parents: fb5c7cda5d776a84730c5133f27e72cb427f22ae 253a66c8d56e72b166b2d8ebfbc4b368eed4a9fb
Branches: master
Link: http://git.php.net/?p=php-src..git;a=commitdiff;h=1c7f54d4f7fe58f1d2c7ed00ca80d93dddc265ab
Log:
Merge branch 'PHP-5.6'
Conflicts:
NEWS
ext/openssl/xp_ssl..c
Changed paths:
MM UPGRADING
MM ext/openssl/xp_ssl.c
MM main/php_ini.c
Diff:
diff --cc UPGRADING
index f5e36fe,6758615..79f7875
--- a/UPGRADING
+++ b/UPGRADING
@@@ -20,10 -20,25 +20,21 @@@ PHP X.Y UPGRADE NOTE
1. Backward Incompatible Changes
========================================
-- JSON:
- json_decode() no longer accepts non-lowercase variants of lone JSON true,
- false or null values. For example, True or FALSE will now cause json_decode to
- return NULL and set an error value you can fetch with json_last_error().
- This affects JSON texts consisting solely of true, false or null. Text
- containing non-lowercase values inside JSON arrays or objects has never been
- accepted.
+- DBA
+ . dba_delete() now returns false if the key was not found for the inifile
+ handler, too.
+ - openssl:
+ To prevent Man-in-the-Middle attacks against encrypted transfers client
+ streams now verify peer certificates by default. Previous versions
+ required users to manually enable peer verification. As a result of this
+ change, existing code using ssl:// or tls:// stream wrappers (e.g.
+ file_get_contents(), fsockopen(), stream_socket_client()) may no longer
+ connect successfully without manually disabling peer verification via the
+ stream context's "verify_peer" setting. Encrypted transfers delegate to
+ operating system certificate stores by default, so many/most users *should*
+ be unaffected by this transparent security enhancement.
+
========================================
2. New Features
========================================
diff --cc ext/openssl/xp_ssl.c
index 244f04d,cc8ea8a..61ba027
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@@ -920,21 -920,9 +920,21 @@@ static int get_crypto_method(php_stream
return STREAM_CRYPTO_METHOD_SSLv23_CLIENT;
}
- static char * get_sni(php_stream_context *ctx, const char *resourcename, size_t resourcenamelen,
int is_persistent TSRMLS_DC) {
+ static char * get_url_name(const char *resourcename, size_t resourcenamelen, int is_persistent
TSRMLS_DC) {
php_url *url;
+ if (ctx) {
+ zval **val = NULL;
+
+ if (php_stream_context_get_option(ctx, "ssl", "SNI_enabled", &val) ==
SUCCESS && !zend_is_true(*val TSRMLS_CC)) {
+ return NULL;
+ }
+ if (php_stream_context_get_option(ctx, "ssl", "SNI_server_name", &val)
== SUCCESS) {
+ convert_to_string_ex(val);
+ return pestrdup(Z_STRVAL_PP(val), is_persistent);
+ }
+ }
+
if (!resourcename) {
return NULL;
}