diff options
author | Stanislav Malyshev <stas@php.net> | 2016-02-01 19:32:06 -0800 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2016-02-01 19:32:06 -0800 |
commit | 877823e20952a86226bc15f3c364e1b4c12ec117 (patch) | |
tree | 60134494eca222e1ea4a71a819839992dd727a99 | |
parent | 33b1fbbb5c0459a623ab91b492f1a37c5262329c (diff) | |
parent | 6ba7acee5cbeb1edd0bacb0b0799fed8a562466b (diff) | |
download | php-git-877823e20952a86226bc15f3c364e1b4c12ec117.tar.gz |
Merge remote-tracking branch 'origin/PHP-7.0.3' into PHP-7.0.3
* origin/PHP-7.0.3:
fix tests
fix wrong gc sequence
revert the API string as well
update NEWS
Revert "Fix #70720"
sync NEWS
reset ext/session to the state of 7.0.2
improve fix for bug #71201
set versions to 7.0.3RC1
fix test for 7.0, OpenSSL >= 1.0.2 disables SSLv2 by default
fork test
fix test
fork test
fork test for win32
fork test
Use SUCCESS/FAILURE
Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
Update NEWS
Fixed bug 71397 (mb_send_mail segmentation fault)
44 files changed, 327 insertions, 301 deletions
diff --git a/configure.in b/configure.in index f701ece6e9..ce89cf44a3 100644 --- a/configure.in +++ b/configure.in @@ -120,7 +120,7 @@ int zend_sprintf(char *buffer, const char *format, ...); PHP_MAJOR_VERSION=7 PHP_MINOR_VERSION=0 PHP_RELEASE_VERSION=3 -PHP_EXTRA_VERSION="-dev" +PHP_EXTRA_VERSION="RC1" PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION" PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION` diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 77736a051b..75d249fbe8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -278,7 +278,7 @@ retry: w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } else if (s >= cp932ext3_ucs_table_min && s < cp932ext2_ucs_table_max) { + } else if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; } else if (s >= 94 * 94 && s < 114 * 94) { /* user-defined => PUA (Microsoft extended) */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index be4b1e4912..b5812cb402 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -4148,6 +4148,7 @@ PHP_FUNCTION(mb_send_mail) if ((s = zend_hash_str_find(&ht_headers, "CONTENT-TRANSFER-ENCODING", sizeof("CONTENT-TRANSFER-ENCODING") - 1))) { enum mbfl_no_encoding _body_enc; + ZEND_ASSERT(Z_TYPE_P(s) == IS_STRING); _body_enc = mbfl_name2no_encoding(Z_STRVAL_P(s)); switch (_body_enc) { case mbfl_no_encoding_base64: diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index c7c09ff781..e6f162855a 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -85,16 +85,7 @@ PS_OPEN_FUNC(user) ZVAL_STRING(&args[0], (char*)save_path); ZVAL_STRING(&args[1], (char*)session_name); - zend_try { - ps_call_handler(&PSF(open), 2, args, &retval); - } zend_catch { - PS(session_status) = php_session_none; - if (!Z_ISUNDEF(retval)) { - zval_ptr_dtor(&retval); - } - zend_bailout(); - } zend_end_try(); - + ps_call_handler(&PSF(open), 2, args, &retval); PS(mod_user_implemented) = 1; FINISH; diff --git a/ext/session/mod_user_class.c b/ext/session/mod_user_class.c index a774d4bf9c..59b44f5f6f 100644 --- a/ext/session/mod_user_class.c +++ b/ext/session/mod_user_class.c @@ -22,10 +22,6 @@ #include "php_session.h" #define PS_SANITY_CHECK \ - if (PS(session_status) != php_session_active) { \ - php_error_docref(NULL, E_WARNING, "Session is not active"); \ - RETURN_FALSE; \ - } \ if (PS(default_mod) == NULL) { \ php_error_docref(NULL, E_CORE_ERROR, "Cannot call default session handler"); \ RETURN_FALSE; \ @@ -44,7 +40,6 @@ PHP_METHOD(SessionHandler, open) { char *save_path = NULL, *session_name = NULL; size_t save_path_len, session_name_len; - int ret; PS_SANITY_CHECK; @@ -53,15 +48,7 @@ PHP_METHOD(SessionHandler, open) } PS(mod_user_is_open) = 1; - - zend_try { - ret = PS(default_mod)->s_open(&PS(mod_data), save_path, session_name); - } zend_catch { - PS(session_status) = php_session_none; - zend_bailout(); - } zend_end_try(); - - RETVAL_BOOL(SUCCESS == ret); + RETVAL_BOOL(SUCCESS == PS(default_mod)->s_open(&PS(mod_data), save_path, session_name)); } /* }}} */ @@ -69,8 +56,6 @@ PHP_METHOD(SessionHandler, open) Wraps the old close handler */ PHP_METHOD(SessionHandler, close) { - int ret; - PS_SANITY_CHECK_IS_OPEN; // don't return on failure, since not closing the default handler @@ -78,15 +63,7 @@ PHP_METHOD(SessionHandler, close) zend_parse_parameters_none(); PS(mod_user_is_open) = 0; - - zend_try { - ret = PS(default_mod)->s_close(&PS(mod_data)); - } zend_catch { - PS(session_status) = php_session_none; - zend_bailout(); - } zend_end_try(); - - RETVAL_BOOL(SUCCESS == ret); + RETVAL_BOOL(SUCCESS == PS(default_mod)->s_close(&PS(mod_data))); } /* }}} */ diff --git a/ext/session/session.c b/ext/session/session.c index 8427f852bc..d67045ed89 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -97,13 +97,11 @@ zend_class_entry *php_session_update_timestamp_iface_entry; #define APPLY_TRANS_SID (PS(use_trans_sid) && !PS(use_only_cookies)) static void php_session_send_cookie(void); -static void php_session_abort(void); /* Dispatched by RINIT and by php_session_destroy */ static inline void php_rinit_session_globals(void) /* {{{ */ { /* Do NOT init PS(mod_user_names) here! */ - /* TODO: These could be moved to MINIT and removed. These should be initialized by php_rshutdown_session_globals() always when execution is finished. */ PS(id) = NULL; PS(session_status) = php_session_none; PS(mod_data) = NULL; @@ -131,15 +129,10 @@ static inline void php_rshutdown_session_globals(void) /* {{{ */ zend_string_release(PS(id)); PS(id) = NULL; } - if (PS(session_vars)) { zend_string_release(PS(session_vars)); PS(session_vars) = NULL; } - - /* User save handlers may end up directly here by misuse, bugs in user script, etc. */ - /* Set session status to prevent error while restoring save handler INI value. */ - PS(session_status) = php_session_none; } /* }}} */ @@ -510,10 +503,7 @@ static void php_session_initialize(void) /* {{{ */ { zend_string *val = NULL; - PS(session_status) = php_session_active; - if (!PS(mod)) { - PS(session_status) = php_session_disabled; php_error_docref(NULL, E_ERROR, "No storage module chosen - failed to initialize session"); return; } @@ -522,19 +512,14 @@ static void php_session_initialize(void) /* {{{ */ if (PS(mod)->s_open(&PS(mod_data), PS(save_path), PS(session_name)) == FAILURE /* || PS(mod_data) == NULL */ /* FIXME: open must set valid PS(mod_data) with success */ ) { - php_session_abort(); php_error_docref(NULL, E_ERROR, "Failed to initialize storage module: %s (path: %s)", PS(mod)->s_name, PS(save_path)); return; } /* If there is no ID, use session module to create one */ - if (!PS(id) || !ZSTR_VAL(PS(id))[0]) { - if (PS(id)) { - zend_string_release(PS(id)); - } + if (!PS(id)) { PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); if (!PS(id)) { - php_session_abort(); php_error_docref(NULL, E_ERROR, "Failed to create session ID: %s (path: %s)", PS(mod)->s_name, PS(save_path)); return; } @@ -556,19 +541,21 @@ static void php_session_initialize(void) /* {{{ */ } php_session_reset_id(); - - /* GC must be done before read */ - php_session_gc(); + PS(session_status) = php_session_active; /* Read data */ php_session_track_init(); if (PS(mod)->s_read(&PS(mod_data), PS(id), &val, PS(gc_maxlifetime)) == FAILURE) { - php_session_abort(); /* Some broken save handler implementation returns FAILURE for non-existent session ID */ /* It's better to raise error for this, but disabled error for better compatibility */ - php_error_docref(NULL, E_WARNING, "Failed to read session data: %s (path: %s)", PS(mod)->s_name, PS(save_path)); - return; + /* + php_error_docref(NULL, E_NOTICE, "Failed to read session data: %s (path: %s)", PS(mod)->s_name, PS(save_path)); + */ } + + /* GC must be done after read */ + php_session_gc(); + if (PS(session_vars)) { zend_string_release(PS(session_vars)); PS(session_vars) = NULL; @@ -1302,13 +1289,11 @@ static int php_session_cache_limiter(void) /* {{{ */ php_session_cache_limiter_t *lim; if (PS(cache_limiter)[0] == '\0') return 0; - if (PS(session_status) != php_session_active) return -1; if (SG(headers_sent)) { const char *output_start_filename = php_output_get_start_filename(); int output_start_lineno = php_output_get_start_lineno(); - php_session_abort(); if (output_start_filename) { php_error_docref(NULL, E_WARNING, "Cannot send session cache limiter - headers already sent (output started at %s:%d)", output_start_filename, output_start_lineno); } else { @@ -1668,8 +1653,8 @@ PHPAPI void php_session_start(void) /* {{{ */ static void php_session_flush(int write) /* {{{ */ { if (PS(session_status) == php_session_active) { - php_session_save_current_state(write); PS(session_status) = php_session_none; + php_session_save_current_state(write); } } /* }}} */ @@ -1677,10 +1662,10 @@ static void php_session_flush(int write) /* {{{ */ static void php_session_abort(void) /* {{{ */ { if (PS(session_status) == php_session_active) { + PS(session_status) = php_session_none; if (PS(mod_data) || PS(mod_user_implemented)) { PS(mod)->s_close(&PS(mod_data)); } - PS(session_status) = php_session_none; } } /* }}} */ @@ -2055,13 +2040,13 @@ static PHP_FUNCTION(session_regenerate_id) return; } - if (PS(session_status) != php_session_active) { - php_error_docref(NULL, E_WARNING, "Cannot regenerate session id - session is not active"); + if (SG(headers_sent) && PS(use_cookies)) { + php_error_docref(NULL, E_WARNING, "Cannot regenerate session id - headers already sent"); RETURN_FALSE; } - if (SG(headers_sent) && PS(use_cookies)) { - php_error_docref(NULL, E_WARNING, "Cannot regenerate session id - headers already sent"); + if (PS(session_status) != php_session_active) { + php_error_docref(NULL, E_WARNING, "Cannot regenerate session id - session is not active"); RETURN_FALSE; } @@ -2113,7 +2098,6 @@ static PHP_FUNCTION(session_regenerate_id) zend_string_release(PS(id)); PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); if (!PS(id)) { - PS(mod)->s_close(&PS(mod_data)); PS(session_status) = php_session_none; php_error_docref(NULL, E_RECOVERABLE_ERROR, "Failed to create session ID by collision: %s (path: %s)", PS(mod)->s_name, PS(save_path)); RETURN_FALSE; @@ -2121,7 +2105,6 @@ static PHP_FUNCTION(session_regenerate_id) } /* Read is required to make new session data at this point. */ if (PS(mod)->s_read(&PS(mod_data), PS(id), &data, PS(gc_maxlifetime)) == FAILURE) { - PS(mod)->s_close(&PS(mod_data)); PS(session_status) = php_session_none; php_error_docref(NULL, E_RECOVERABLE_ERROR, "Failed to create(read) session ID: %s (path: %s)", PS(mod)->s_name, PS(save_path)); RETURN_FALSE; @@ -2293,6 +2276,11 @@ static PHP_FUNCTION(session_start) RETURN_FALSE; } + if (PS(id) && !(ZSTR_LEN(PS(id)))) { + php_error_docref(NULL, E_WARNING, "Cannot start session with empty session ID"); + RETURN_FALSE; + } + /* set options */ if (options) { ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(options), num_idx, str_idx, value) { diff --git a/ext/session/tests/016.phpt b/ext/session/tests/016.phpt index f23605eb47..82a85d2705 100644 --- a/ext/session/tests/016.phpt +++ b/ext/session/tests/016.phpt @@ -22,5 +22,5 @@ session_write_close(); print "I live\n"; ?> --EXPECTF-- -Warning: session_start(): Failed to read session data: files (path: 123;:/really%scompletely:::/invalid;;,23123;213) in %s on line %d +Warning: session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (123;:/really%scompletely:::/invalid;;,23123;213) in %s on line %d I live diff --git a/ext/session/tests/bug32330.phpt b/ext/session/tests/bug32330.phpt index fe83cc9504..98d442ae5c 100644 --- a/ext/session/tests/bug32330.phpt +++ b/ext/session/tests/bug32330.phpt @@ -69,17 +69,17 @@ $_SESSION['E'] = 'F'; ?> --EXPECTF-- open: path = /tmp, name = sid -gc: maxlifetime = %d read: id = %s +gc: maxlifetime = %d write: id = %s, data = A|s:1:"B"; close open: path = /tmp, name = sid -gc: maxlifetime = %d read: id = %s +gc: maxlifetime = %d destroy: id = %s close open: path = /tmp, name = sid -gc: maxlifetime = %d read: id = %s +gc: maxlifetime = %d write: id = %s, data = E|s:1:"F"; close diff --git a/ext/session/tests/bug55688.phpt b/ext/session/tests/bug55688.phpt index b073dc3c5c..8db48384af 100644 --- a/ext/session/tests/bug55688.phpt +++ b/ext/session/tests/bug55688.phpt @@ -12,4 +12,4 @@ $x = new SessionHandler; $x->gc(1); ?> --EXPECTF-- -Warning: SessionHandler::gc(): Session is not active in %s on line %d +Warning: SessionHandler::gc(): Parent session handler is not open in %s on line %d diff --git a/ext/session/tests/bug60634.phpt b/ext/session/tests/bug60634.phpt index b2f5076287..86dcb11526 100644 --- a/ext/session/tests/bug60634.phpt +++ b/ext/session/tests/bug60634.phpt @@ -39,17 +39,8 @@ session_start(); session_write_close(); echo "um, hi\n"; -/* -FIXME: Since session module try to write/close session data in -RSHUTDOWN, write() is executed twices. This is caused by undefined -function error and zend_bailout(). Current session module codes -depends on this behavior. These codes should be modified to remove -multiple write(). -*/ - ?> --EXPECTF-- write: goodbye cruel world -write: goodbye cruel world close: goodbye cruel world diff --git a/ext/session/tests/bug60634_error_1.phpt b/ext/session/tests/bug60634_error_1.phpt index fa76ff522a..d0733f5a5a 100644 --- a/ext/session/tests/bug60634_error_1.phpt +++ b/ext/session/tests/bug60634_error_1.phpt @@ -41,11 +41,6 @@ session_start(); session_write_close(); echo "um, hi\n"; -/* -FIXME: Something wrong. It should try to close after error, otherwise session -may keep "open" state. -*/ - ?> --EXPECTF-- write: goodbye cruel world @@ -56,4 +51,3 @@ Stack trace: #1 %s(%d): session_write_close() #2 {main} thrown in %s on line %d - diff --git a/ext/session/tests/bug61728.phpt b/ext/session/tests/bug61728.phpt index 2780d7b7e2..3f8dbeb58a 100644 --- a/ext/session/tests/bug61728.phpt +++ b/ext/session/tests/bug61728.phpt @@ -8,34 +8,32 @@ function output_html($ext) { return strlen($ext); } -function open ($save_path, $session_name) { +function open ($save_path, $session_name) { return true; -} +} -function close() { +function close() { return true; -} +} -function read ($id) { - return ''; -} +function read ($id) { +} -function write ($id, $sess_data) { +function write ($id, $sess_data) { ob_start("output_html"); echo "laruence"; ob_end_flush(); return true; -} +} -function destroy ($id) { - return true; -} +function destroy ($id) { +} -function gc ($maxlifetime) { - return true; -} +function gc ($maxlifetime) { + return true; +} -session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); +session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); session_start(); --EXPECTF-- 8 diff --git a/ext/session/tests/bug67972.phpt b/ext/session/tests/bug67972.phpt index 92c3044ac5..63ed3a95b8 100644 --- a/ext/session/tests/bug67972.phpt +++ b/ext/session/tests/bug67972.phpt @@ -7,5 +7,4 @@ Bug #67972: SessionHandler Invalid memory read create_sid() (new SessionHandler)->create_sid(); --EXPECTF-- -Warning: SessionHandler::create_sid(): Session is not active in %s on line %d - +Fatal error: SessionHandler::create_sid(): Cannot call default session handler in %s on line %d diff --git a/ext/session/tests/bug68063.phpt b/ext/session/tests/bug68063.phpt index ec3a70d156..d3da470d06 100644 --- a/ext/session/tests/bug68063.phpt +++ b/ext/session/tests/bug68063.phpt @@ -3,22 +3,18 @@ Bug #68063 (Empty session IDs do still start sessions) --SKIPIF-- <?php include('skipif.inc'); ?> --INI-- -session.use_strict_mode=0 -session.hash_function=1 -session.hash_bits_per_character=4 --FILE-- <?php -// Empty session ID may happen by browser bugs - // Could also be set with a cookie like "PHPSESSID=; path=/" session_id(''); -// Start the session with empty string should result in new session ID +// Will still start the session and return true var_dump(session_start()); -// Returns newly created session ID +// Returns an empty string var_dump(session_id()); ?> --EXPECTF-- -bool(true) -string(40) "%s" +Warning: session_start(): Cannot start session with empty session ID in %s on line %d +bool(false) +string(0) "" diff --git a/ext/session/tests/bug69111.phpt b/ext/session/tests/bug69111.phpt deleted file mode 100644 index f5def0ed35..0000000000 --- a/ext/session/tests/bug69111.phpt +++ /dev/null @@ -1,36 +0,0 @@ ---TEST-- -Bug #69111 (Crash in SessionHandler::read()) ---INI-- -session.save_path= -session.save_handler=files -session.name=PHPSESSID ---SKIPIF-- -<?php include('skipif.inc'); ?> ---FILE-- -<?php -$sh = new SessionHandler; -session_set_save_handler($sh); - -$savePath = ini_get('session.save_path'); -$sessionName = ini_get('session.name'); - -// session_start(); // Uncommenting this makes it not crash when reading the session (see below), but it will not return any data. - -$sh->open($savePath, $sessionName); -$sh->write("foo", "bar"); -$sh->read($id); -$sh->gc(1245); -$sh->close(); -?> ---EXPECTF-- -Warning: SessionHandler::open(): Session is not active in %s on line 10 - -Warning: SessionHandler::write(): Session is not active in %s on line 11 - -Notice: Undefined variable: id in %s on line 12 - -Warning: SessionHandler::read(): Session is not active in %s on line 12 - -Warning: SessionHandler::gc(): Session is not active in %s on line 13 - -Warning: SessionHandler::close(): Session is not active in %s on line 14
\ No newline at end of file diff --git a/ext/session/tests/bug70133.phpt b/ext/session/tests/bug70133.phpt deleted file mode 100644 index 3e019e483b..0000000000 --- a/ext/session/tests/bug70133.phpt +++ /dev/null @@ -1,41 +0,0 @@ ---TEST-- -Bug #70133 (Extended SessionHandler::read is ignoring $session_id when calling parent) ---SKIPIF-- -<?php include('skipif.inc'); ?> ---INI-- -session.save_handler=files -session.save_path= -session.use_strict_mode=0 ---FILE-- -<?php - -class CustomReadHandler extends \SessionHandler { - - public function read($session_id) { - return parent::read('mycustomsession'); - } -} - -ob_start(); - -session_set_save_handler(new CustomReadHandler(), true); - -session_id('mycustomsession'); -session_start(); -$_SESSION['foo'] = 'hoge'; -var_dump(session_id()); -session_commit(); - -session_id('otherid'); -session_start(); -var_dump($_SESSION); -var_dump(session_id()); - -?> ---EXPECT-- -string(15) "mycustomsession" -array(1) { - ["foo"]=> - string(4) "hoge" -} -string(7) "otherid" diff --git a/ext/session/tests/bug71186.phpt b/ext/session/tests/bug71186.phpt deleted file mode 100644 index 5eeba6035f..0000000000 --- a/ext/session/tests/bug71186.phpt +++ /dev/null @@ -1,32 +0,0 @@ ---TEST-- -Bug #71186 session.hash_function - algorithm changes ---SKIPIF-- -<?php include('skipif.inc'); ?> ---INI-- -session.hash_function=sha512 -session.save_handler=files ---FILE-- -<?php -ob_start(); -ini_set('session.use_strict_mode', 1); - -session_start(); -$orig = session_id(); -session_regenerate_id(); -$new = session_id(); -var_dump(strlen($orig),strlen($new)); -session_commit(); - -ini_set('session.hash_function','sha1'); -session_id('invalid'); -session_start(); -$orig = session_id(); -session_regenerate_id(); -$new = session_id(); -var_dump(strlen($orig),strlen($new)); -?> ---EXPECT-- -int(128) -int(128) -int(40) -int(40) diff --git a/ext/session/tests/rfc1867_sid_invalid.phpt b/ext/session/tests/rfc1867_sid_invalid.phpt index a9114e3e1d..4dd8f1f979 100644 --- a/ext/session/tests/rfc1867_sid_invalid.phpt +++ b/ext/session/tests/rfc1867_sid_invalid.phpt @@ -47,13 +47,13 @@ session_destroy(); --EXPECTF-- Warning: Unknown: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0 -Warning: Unknown: Failed to read session data: files (path: ) in Unknown on line 0 +Warning: Unknown: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0 Warning: Unknown: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0 -Warning: Unknown: Failed to read session data: files (path: ) in Unknown on line 0 +Warning: Unknown: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0 string(%d) "%s" diff --git a/ext/session/tests/session_save_path_variation2.phpt b/ext/session/tests/session_save_path_variation2.phpt index 60675aec3c..4cf44b75a4 100644 --- a/ext/session/tests/session_save_path_variation2.phpt +++ b/ext/session/tests/session_save_path_variation2.phpt @@ -33,12 +33,8 @@ ob_end_flush(); string(5) "/blah" Warning: session_start(): open(%sblah%e%s, O_RDWR) failed: No such file or directory (2) in %s on line %d - -Warning: session_start(): Failed to read session data: files (path: %sblah) in %s on line %d -bool(false) +bool(true) string(5) "/blah" - -Warning: session_destroy(): Trying to destroy uninitialized session in %s on line %d -bool(false) +bool(true) string(5) "/blah" Done diff --git a/ext/session/tests/session_save_path_variation3.phpt b/ext/session/tests/session_save_path_variation3.phpt index 1d290d95b3..b064f30183 100644 --- a/ext/session/tests/session_save_path_variation3.phpt +++ b/ext/session/tests/session_save_path_variation3.phpt @@ -33,12 +33,8 @@ ob_end_flush(); string(5) "/blah" Warning: session_start(): open(%s, O_RDWR) failed: No such file or directory (2) in %s on line %d - -Warning: session_start(): Failed to read session data: files (path: %sblah) in %s on line %d -bool(false) +bool(true) string(5) "/blah" - -Warning: session_destroy(): Trying to destroy uninitialized session in %s on line %d -bool(false) +bool(true) string(5) "/blah" Done diff --git a/ext/session/tests/session_set_save_handler_class_002.phpt b/ext/session/tests/session_set_save_handler_class_002.phpt index 880bc33425..b75a7e6390 100644 --- a/ext/session/tests/session_set_save_handler_class_002.phpt +++ b/ext/session/tests/session_set_save_handler_class_002.phpt @@ -34,7 +34,7 @@ class MySession2 extends SessionHandler { } public function read($id) { - return (string)@file_get_contents($this->path . $id); + return @file_get_contents($this->path . $id); } public function write($id, $data) { diff --git a/ext/session/tests/session_set_save_handler_class_005.phpt b/ext/session/tests/session_set_save_handler_class_005.phpt index 1b8c1ce645..5be735306a 100644 --- a/ext/session/tests/session_set_save_handler_class_005.phpt +++ b/ext/session/tests/session_set_save_handler_class_005.phpt @@ -33,7 +33,7 @@ class MySession6 extends SessionHandler { $handler = new MySession6; session_set_save_handler($handler); -var_dump(session_start()); +session_start(); var_dump(session_id(), ini_get('session.save_handler'), $_SESSION); @@ -45,12 +45,13 @@ session_unset(); *** Testing session_set_save_handler() : incomplete implementation *** Warning: SessionHandler::read(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d - -Warning: SessionHandler::close(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d - -Warning: session_start(): Failed to read session data: user (%s) in %ssession_set_save_handler_class_005.php on line %d -bool(false) string(%d) "%s" string(4) "user" array(0) { } + +Warning: SessionHandler::write(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d + +Warning: session_write_close(): Failed to write session data %s in %ssession_set_save_handler_class_005.php on line %d + +Warning: SessionHandler::close(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d diff --git a/ext/session/tests/session_set_save_handler_class_012.phpt b/ext/session/tests/session_set_save_handler_class_012.phpt index 0ce03f865e..91e751bdfc 100644 --- a/ext/session/tests/session_set_save_handler_class_012.phpt +++ b/ext/session/tests/session_set_save_handler_class_012.phpt @@ -38,7 +38,7 @@ class MySession extends SessionHandler { $oldHandler = ini_get('session.save_handler'); $handler = new MySession; session_set_save_handler($handler); -var_dump(session_start()); +session_start(); var_dump(session_id(), $oldHandler, ini_get('session.save_handler'), $handler->i, $_SESSION); @@ -50,14 +50,15 @@ Warning: SessionHandler::open() expects exactly 2 parameters, 0 given in %s on l Read %s Warning: SessionHandler::read(): Parent session handler is not open in %s on line %d - -Warning: SessionHandler::close(): Parent session handler is not open in %s on line %d - -Warning: session_start(): Failed to read session data: user (%s) in %s on line %d -bool(false) string(%d) "%s" string(5) "files" string(4) "user" int(2) array(0) { } + +Warning: SessionHandler::write(): Parent session handler is not open in Unknown on line 0 + +Warning: session_write_close(): Failed to write session data %s in %s on line %d + +Warning: SessionHandler::close(): Parent session handler is not open in Unknown on line 0 diff --git a/ext/session/tests/session_set_save_handler_class_016.phpt b/ext/session/tests/session_set_save_handler_class_016.phpt index 4095813c9d..521bd86f31 100644 --- a/ext/session/tests/session_set_save_handler_class_016.phpt +++ b/ext/session/tests/session_set_save_handler_class_016.phpt @@ -10,10 +10,10 @@ session.name=PHPSESSID ob_start(); -/* +/* * Prototype : bool session_set_save_handler(SessionHandlerInterface $handler [, bool $register_shutdown_function = true]) * Description : Sets user-level session storage functions - * Source code : ext/session/session.c + * Source code : ext/session/session.c */ echo "*** Testing session_set_save_handler() function: class with create_sid ***\n"; @@ -34,7 +34,7 @@ class MySession2 extends SessionHandler { } public function read($id) { - return (string)@file_get_contents($this->path . $id); + return @file_get_contents($this->path . $id); } public function write($id, $data) { diff --git a/ext/session/tests/session_set_save_handler_class_017.phpt b/ext/session/tests/session_set_save_handler_class_017.phpt index b8e7d7a7ad..6f42d7809a 100644 --- a/ext/session/tests/session_set_save_handler_class_017.phpt +++ b/ext/session/tests/session_set_save_handler_class_017.phpt @@ -34,7 +34,7 @@ class MySession2 extends SessionHandler { } public function read($id) { - return (string)@file_get_contents($this->path . $id); + return @file_get_contents($this->path . $id); } public function write($id, $data) { diff --git a/ext/session/tests/session_set_save_handler_error4.phpt b/ext/session/tests/session_set_save_handler_error4.phpt index 4267195ee1..be3429b084 100644 --- a/ext/session/tests/session_set_save_handler_error4.phpt +++ b/ext/session/tests/session_set_save_handler_error4.phpt @@ -24,7 +24,7 @@ session_set_save_handler("callback", "callback", "callback", "echo", "callback", session_set_save_handler("callback", "callback", "callback", "callback", "echo", "callback"); session_set_save_handler("callback", "callback", "callback", "callback", "callback", "echo"); session_set_save_handler("callback", "callback", "callback", "callback", "callback", "callback"); -var_dump(session_start()); +session_start(); ob_end_flush(); ?> --EXPECTF-- @@ -39,6 +39,3 @@ Warning: session_set_save_handler(): Argument 4 is not a valid callback in %s on Warning: session_set_save_handler(): Argument 5 is not a valid callback in %s on line %d Warning: session_set_save_handler(): Argument 6 is not a valid callback in %s on line %d - -Warning: session_start(): Failed to read session data: user (%s) in %s on line %d -bool(false) diff --git a/ext/session/tests/session_set_save_handler_iface_001.phpt b/ext/session/tests/session_set_save_handler_iface_001.phpt index 6943d59cbe..03ee42865c 100644 --- a/ext/session/tests/session_set_save_handler_iface_001.phpt +++ b/ext/session/tests/session_set_save_handler_iface_001.phpt @@ -34,7 +34,7 @@ class MySession2 implements SessionHandlerInterface { } public function read($id) { - return (string)@file_get_contents($this->path . $id); + return @file_get_contents($this->path . $id); } public function write($id, $data) { diff --git a/ext/session/tests/session_set_save_handler_iface_002.phpt b/ext/session/tests/session_set_save_handler_iface_002.phpt index 204d88c785..40c9ac6825 100644 --- a/ext/session/tests/session_set_save_handler_iface_002.phpt +++ b/ext/session/tests/session_set_save_handler_iface_002.phpt @@ -43,7 +43,7 @@ class MySession2 implements MySessionHandlerInterface { } public function read($id) { - return (string)@file_get_contents($this->path . $id); + return @file_get_contents($this->path . $id); } public function write($id, $data) { diff --git a/ext/session/tests/session_set_save_handler_variation4.phpt b/ext/session/tests/session_set_save_handler_variation4.phpt index 67aa70c4af..a711fdea59 100644 --- a/ext/session/tests/session_set_save_handler_variation4.phpt +++ b/ext/session/tests/session_set_save_handler_variation4.phpt @@ -52,9 +52,9 @@ ob_end_flush(); *** Testing session_set_save_handler() : variation *** Open [%s,PHPSESSID] +Read [%s,%s] GC [0] 1 deleted -Read [%s,%s] array(3) { ["Blah"]=> string(12) "Hello World!" @@ -67,12 +67,20 @@ Write [%s,%s,Blah|s:12:"Hello World!";Foo|b:0;Guff|i:1234567890;] Close [%s,PHPSESSID] NULL Open [%s,PHPSESSID] +Read [%s,%s] GC [0] 1 deleted -Read [%s,%s] -array(0) { +array(3) { + ["Blah"]=> + string(12) "Hello World!" + ["Foo"]=> + bool(false) + ["Guff"]=> + int(1234567890) } Destroy [%s,%s] + +Warning: unlink(%s): No such file or directory in %s on line %s Close [%s,PHPSESSID] bool(true) diff --git a/ext/session/tests/session_set_save_handler_variation5.phpt b/ext/session/tests/session_set_save_handler_variation5.phpt index 4c1687cac6..6ad600e4d1 100644 --- a/ext/session/tests/session_set_save_handler_variation5.phpt +++ b/ext/session/tests/session_set_save_handler_variation5.phpt @@ -62,9 +62,9 @@ string(0) "" bool(true) Open [%s,PHPSESSID] CreateID [PHPT-%d] +Read [%s,PHPT-%d] GC [0] 1 deleted -Read [%s,PHPT-%d] bool(true) string(%d) "PHPT-%d" Write [%s,PHPT-%d,] @@ -76,9 +76,9 @@ string(%d) "PHPT-%d" bool(true) Open [%s,PHPSESSID] ValidateID [%s,PHPT-%d] +Read [%s,PHPT-%d] GC [0] 1 deleted -Read [%s,PHPT-%d] bool(true) Write [%s,PHPT-%d,] Close [%s,PHPSESSID] @@ -88,10 +88,12 @@ string(%d) "PHPT-%d" string(%d) "PHPT-%d" Open [%s,PHPSESSID] ValidateID [%s,PHPT-%d] +Read [%s,PHPT-%d] GC [0] 1 deleted -Read [%s,PHPT-%d] bool(true) Destroy [%s,PHPT-%d] + +Warning: unlink(%s): No such file or directory in %s on line %d Close [%s,PHPSESSID] bool(true) diff --git a/ext/session/tests/sessionhandler_open_001.phpt b/ext/session/tests/sessionhandler_open_001.phpt index e6e913a6a5..6ade9e00a5 100644 --- a/ext/session/tests/sessionhandler_open_001.phpt +++ b/ext/session/tests/sessionhandler_open_001.phpt @@ -16,11 +16,4 @@ print "Done!\n"; ?> --EXPECTF-- -Warning: SessionHandler::open(): Session is not active in %s on line 5 - -Warning: SessionHandler::open(): Session is not active in %s on line 6 - -Warning: SessionHandler::open(): Session is not active in %s on line 7 - -Warning: SessionHandler::open(): Session is not active in %s on line 8 Done! diff --git a/ext/sockets/tests/socket_clear_error-win32.phpt b/ext/sockets/tests/socket_clear_error-win32.phpt new file mode 100644 index 0000000000..3a0b1ea162 --- /dev/null +++ b/ext/sockets/tests/socket_clear_error-win32.phpt @@ -0,0 +1,32 @@ +--TEST-- +void socket_clear_error ([ resource $socket ] ) ; +--CREDITS-- +marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao paulo - br +--SKIPIF-- +<?php +if (!extension_loaded('sockets')) { + die('SKIP sockets extension not available.'); +} +if(substr(PHP_OS, 0, 3) != 'WIN' ) { + die('skip windows only test'); +} +?> +--FILE-- +<?php +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +$socketConn = socket_connect($socket, "127.0.0.1", 21248); +var_dump(socket_last_error($socket)); +socket_clear_error($socket); +var_dump(socket_last_error($socket)); +?> +--CLEAN-- +<?php +socket_close($socket); +unset($socket); +unset($socketConn); +?> +--EXPECTF-- +Warning: socket_connect(): unable to connect [%d]: No connection could be made because the target machine actively refused it. + in %s on line %d +int(%d) +int(%d) diff --git a/ext/sockets/tests/socket_clear_error.phpt b/ext/sockets/tests/socket_clear_error.phpt index af9acaa9bf..273f7a0ca8 100644 --- a/ext/sockets/tests/socket_clear_error.phpt +++ b/ext/sockets/tests/socket_clear_error.phpt @@ -7,6 +7,9 @@ marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao p if (!extension_loaded('sockets')) { die('SKIP sockets extension not available.'); } +if(substr(PHP_OS, 0, 3) == 'WIN' ) { + die('skip windows only test'); +} ?> --FILE-- <?php diff --git a/ext/sockets/tests/socket_send.phpt b/ext/sockets/tests/socket_send.phpt index 1411868c4b..ceeb397979 100644 --- a/ext/sockets/tests/socket_send.phpt +++ b/ext/sockets/tests/socket_send.phpt @@ -7,6 +7,9 @@ marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao p if (!extension_loaded('sockets')) { die('SKIP sockets extension not available.'); } +if(substr(PHP_OS, 0, 3) == 'WIN' ) { + die('skip not for windows'); +} ?> --FILE-- <?php diff --git a/ext/sockets/tests/socket_send_win32.phpt b/ext/sockets/tests/socket_send_win32.phpt new file mode 100644 index 0000000000..04a985c781 --- /dev/null +++ b/ext/sockets/tests/socket_send_win32.phpt @@ -0,0 +1,43 @@ +--TEST-- +int socket_send ( resource $socket , string $buf , int $len , int $flags ); +--CREDITS-- +marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao paulo - br +--SKIPIF-- +<?php +if (!extension_loaded('sockets')) { + die('SKIP sockets extension not available.'); +} +if(substr(PHP_OS, 0, 3) != 'WIN' ) { + die('skip windows only test'); +} +?> +--FILE-- +<?php +$port = 80; +$host = "yahoo.com"; +$stringSocket = "send_socket_to_connected_socket"; +$stringSocketLenght = strlen($stringSocket); + +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +$socketConn = socket_connect($socket, $host, $port); + +if(socket_send($socket, $stringSocket, $stringSocketLenght, MSG_OOB)===$stringSocketLenght){ + print("okey\n"); +} + +if(socket_send($socket, $stringSocket, $stringSocketLenght, MSG_DONTROUTE)===$stringSocketLenght){ + print("okey\n"); +} +?> +<?php +socket_close($socket); +unset($port); +unset($host); +unset($stringSocket); +unset($stringSocketLenght); +unset($socket); +unset($socketConn); +?> +--EXPECTF-- +okey +okey diff --git a/ext/sockets/tests/socket_shutdown-win32.phpt b/ext/sockets/tests/socket_shutdown-win32.phpt new file mode 100644 index 0000000000..6280e61044 --- /dev/null +++ b/ext/sockets/tests/socket_shutdown-win32.phpt @@ -0,0 +1,59 @@ +--TEST-- +bool socket_shutdown ( resource $socket [, int $how = 2 ] ) ; +--CREDITS-- +marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao paulo - br +--SKIPIF-- +<?php +if (!extension_loaded('sockets')) { + die('SKIP sockets extension not available.'); +} +if(substr(PHP_OS, 0, 3) != 'WIN' ) { + die('skip windows only test'); +} +?> +--FILE-- +<?php +$host = "yahoo.com"; +$port = 80; + +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +$socketConn = socket_connect($socket, $host, $port); +var_dump(socket_shutdown($socket,0)); +socket_close($socket); + +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +$socketConn = socket_connect($socket, $host, $port); +var_dump(socket_shutdown($socket,1)); +socket_close($socket); + +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +$socketConn = socket_connect($socket, $host, $port); +var_dump(socket_shutdown($socket,2)); +socket_close($socket); + +$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +var_dump(socket_shutdown($socket,0)); + +$socketConn = socket_connect($socket, $host, $port); +var_dump(socket_shutdown($socket,-1)); +socket_close($socket); +?> +--CLEAN-- +<?php +unset($host); +unset($port); +unset($socket); +unset($socketConn); +?> +--EXPECTF-- +bool(true) +bool(true) +bool(true) + +Warning: socket_shutdown(): unable to shutdown socket [%d]: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. + in %s on line %d +bool(false) + +Warning: socket_shutdown(): unable to shutdown socket [%d]: An invalid argument was supplied. + in %s on line %d +bool(false) diff --git a/ext/sockets/tests/socket_shutdown.phpt b/ext/sockets/tests/socket_shutdown.phpt index 09f5ac73fc..77cbc8f32c 100644 --- a/ext/sockets/tests/socket_shutdown.phpt +++ b/ext/sockets/tests/socket_shutdown.phpt @@ -7,6 +7,9 @@ marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao p if (!extension_loaded('sockets')) { die('SKIP sockets extension not available.'); } +if(substr(PHP_OS, 0, 3) == 'WIN' ) { + die('skip not for windows'); +} ?> --FILE-- <?php diff --git a/ext/standard/math.c b/ext/standard/math.c index 7ea8dc1199..ebfee8ead8 100644 --- a/ext/standard/math.c +++ b/ext/standard/math.c @@ -146,6 +146,7 @@ PHPAPI double _php_math_round(double value, int places, int mode) { return value; } + places = places < INT_MIN+1 ? INT_MIN+1 : places; precision_places = 14 - php_intlog10abs(value); f1 = php_intpow10(abs(places)); @@ -154,8 +155,10 @@ PHPAPI double _php_math_round(double value, int places, int mode) { the requested places BUT is small enough to make sure a non-zero value is returned, pre-round the result to the precision */ if (precision_places > places && precision_places - places < 15) { - f2 = php_intpow10(abs(precision_places)); - if (precision_places >= 0) { + int64_t use_precision = precision_places < INT_MIN+1 ? INT_MIN+1 : precision_places; + + f2 = php_intpow10(abs((int)use_precision)); + if (use_precision >= 0) { tmp_value = value * f2; } else { tmp_value = value / f2; @@ -163,8 +166,11 @@ PHPAPI double _php_math_round(double value, int places, int mode) { /* preround the result (tmp_value will always be something * 1e14, thus never larger than 1e15 here) */ tmp_value = php_round_helper(tmp_value, mode); + + use_precision = places - precision_places; + use_precision = use_precision < INT_MIN+1 ? INT_MIN+1 : use_precision; /* now correctly move the decimal point */ - f2 = php_intpow10(abs(places - precision_places)); + f2 = php_intpow10(abs((int)use_precision)); /* because places < precision_places */ tmp_value = tmp_value / f2; } else { diff --git a/ext/standard/string.c b/ext/standard/string.c index 3ac8dc1022..23003dba72 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -4798,9 +4798,6 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, int *stateptr, const cha switch (state) { case 1: /* HTML/XML */ lc = '>'; - if (*(p -1) == '-') { - break; - } in_q = state = 0; if (allow) { if (tp - tbuf >= PHP_TAG_BUF_SIZE) { @@ -4930,7 +4927,7 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, int *stateptr, const cha * state == 2 (PHP). Switch back to HTML. */ - if (state == 2 && p > buf+2 && strncasecmp(p-4, "<?xm", 4) == 0) { + if (state == 2 && p > buf+2 && strncasecmp(p-2, "xm", 2) == 0) { state = 1; break; } diff --git a/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt b/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt new file mode 100644 index 0000000000..2f78f4a4b5 --- /dev/null +++ b/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt @@ -0,0 +1,69 @@ +--TEST-- +mixed stream_socket_enable_crypto(resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] ) ; +--CREDITS-- +marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao paulo - br +--SKIPIF-- +<?php +if (phpversion() < "5.3.0") { die('SKIP php version so lower.'); } +if (!extension_loaded('openssl')) { die('ext/openssl required'); } +if(substr(PHP_OS, 0, 3) != 'WIN' ) { + die('skip windows only test'); +} +?> +--FILE-- +<?php +$serverUri = "tcp://127.0.0.1:31854"; +$sock = stream_socket_server($serverUri, $errno, $errstr); + +if (is_resource($sock)) { + var_dump(stream_socket_enable_crypto($sock, false)); + var_dump(stream_socket_enable_crypto($sock, true)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv2_CLIENT)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv2_SERVER)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv3_SERVER)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_TLS_SERVER)); +} else { + die("Test stream_socket_enable_crypto has failed; Unable to connect: {$errstr} ({$errno})"); +} +?> +--CLEAN-- +<?php +unset($serverUri); +unset($sock); +unset($errno); +unset($errstr); +?> +--EXPECTF-- +bool(false) + +Warning: stream_socket_enable_crypto(): When enabling encryption you must specify the crypto type in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSLv2 unavailable in the OpenSSL library against which PHP is linked in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. + in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): SSL/TLS already set-up for this stream in %s on line %d +bool(false) diff --git a/ext/standard/tests/streams/stream_socket_enable_crypto.phpt b/ext/standard/tests/streams/stream_socket_enable_crypto.phpt index 47d6c62893..e316096525 100644 --- a/ext/standard/tests/streams/stream_socket_enable_crypto.phpt +++ b/ext/standard/tests/streams/stream_socket_enable_crypto.phpt @@ -6,6 +6,9 @@ marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao p <?php if (phpversion() < "5.3.0") { die('SKIP php version so lower.'); } if (!extension_loaded('openssl')) { die('ext/openssl required'); } +if(substr(PHP_OS, 0, 3) == 'WIN' ) { + die('skip not for windows'); +} ?> --FILE-- <?php diff --git a/ext/standard/tests/strings/bug70720.phpt b/ext/standard/tests/strings/bug70720.phpt deleted file mode 100644 index edf60080ac..0000000000 --- a/ext/standard/tests/strings/bug70720.phpt +++ /dev/null @@ -1,12 +0,0 @@ ---TEST-- -Bug #70720 (strip_tags() doesnt handle "xml" correctly) ---FILE-- -<?php -var_dump(strip_tags('<?php $dom->test(); ?> this is a test')); -var_dump(strip_tags('<?php $xml->test(); ?> this is a test')); -var_dump(strip_tags('<?xml $xml->test(); ?> this is a test')); -?> ---EXPECTF-- -string(15) " this is a test" -string(15) " this is a test" -string(15) " this is a test"
\ No newline at end of file diff --git a/main/php_version.h b/main/php_version.h index a6ef573983..8059d77b4c 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -3,6 +3,6 @@ #define PHP_MAJOR_VERSION 7 #define PHP_MINOR_VERSION 0 #define PHP_RELEASE_VERSION 3 -#define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "7.0.3-dev" +#define PHP_EXTRA_VERSION "RC1" +#define PHP_VERSION "7.0.3RC1" #define PHP_VERSION_ID 70003 diff --git a/sapi/cli/tests/cli_process_title_windows.phpt b/sapi/cli/tests/cli_process_title_windows.phpt index 12eb80756d..4e81b4c634 100644 --- a/sapi/cli/tests/cli_process_title_windows.phpt +++ b/sapi/cli/tests/cli_process_title_windows.phpt @@ -21,7 +21,7 @@ if (shell_exec('PowerShell -Help') === NULL) // cli_set_process_title(). We're only making the API calls to ensure there are // no warnings/errors. -$is_windows8 = false; +$is_windows8_or_above = false; $ps_output = shell_exec("PowerShell -NoProfile \"(Get-Host).UI.RawUI.WindowTitle\""); if ($ps_output === null) { @@ -31,8 +31,8 @@ if ($ps_output === null) $ps_output = trim($ps_output); $end_title_windows8 = ": Windows PowerShell"; -if (($ps_output == "Windows PowerShell") || (strlen($ps_output) > strlen($end_title_windows8) && substr($ps_output,-strlen($end_title_windows8)) === $end_title_windows8)) - $is_windows8 = true; +if (($ps_output == "Windows PowerShell") || (strlen($ps_output) > strlen($end_title_windows8) && substr($ps_output,-strlen($end_title_windows8)) === $end_title_windows8) || PHP_WINDOWS_VERSION_MAJOR >= 10) + $is_windows8_or_above = true; echo "*** Testing setting the process title ***\n"; @@ -42,7 +42,7 @@ $pid = getmypid(); if (cli_set_process_title($original_title) === true) echo "Successfully set title\n"; -if ($is_windows8) +if ($is_windows8_or_above) { $loaded_title = $original_title; } @@ -82,4 +82,4 @@ else *** Testing setting the process title *** Successfully set title Successfully verified title using get-process -Successfully verified title using get
\ No newline at end of file +Successfully verified title using get |