]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.4' into PHP-5.5
authorStanislav Malyshev <stas@php.net>
Sun, 23 Jun 2013 22:21:45 +0000 (15:21 -0700)
committerStanislav Malyshev <stas@php.net>
Sun, 23 Jun 2013 22:26:14 +0000 (15:26 -0700)
* PHP-5.4:
  Implements feature Bug #63472 ability to set SO_BINDTODEVICE on socket.

Conflicts:
ext/sockets/sockets.c

1  2 
NEWS
ext/sockets/sockets.c

diff --cc NEWS
index 1f6075808eba853ab8df5985a69ed3f8d66abb2b,5c6f6b92be85597a95f097e7e17e568a95739be9..41762a9908b2fc026c39cca95850e36d8ceb8093
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -10,66 -10,13 +10,70 @@@ PH
    . Fixed bug #65066 (Cli server not responsive when responding with 422 http
      status code). (Adam)
  
 -  . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option). 
 +- GD
 +  . Fixed #65070 (bgcolor does not use the same format as the input image with
 +    imagerotate). (Pierre)
 +  . Fixed Bug #65060 (imagecreatefrom... crashes with user streams). (Remi)
 +  . Fixed Bug #65084 (imagecreatefromjpeg fails with URL). (Remi)
 +
+ - Sockets:
 -?? ??? 2013, PHP 5.4.17
++  . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option).
+     (Damjan Cvetko)
 +20 Jun 2013, PHP 5.5.0
  
  - Core:
 +  . Added Zend Opcache extension and enable building it by default.
 +    More details here: https://wiki.php.net/rfc/optimizerplus. (Dmitry)
 +  . Added generators and coroutines (https://wiki.php.net/rfc/generators).
 +    (Nikita Popov)
 +  . Added "finally" keyword (https://wiki.php.net/rfc/finally). (Laruence)
 +  . Added simplified password hashing API
 +    (https://wiki.php.net/rfc/password_hash). (Anthony Ferrara)
 +  . Added support for constant array/string dereferencing. (Laruence)
 +  . Added array_column function which returns a column in a multidimensional
 +    array. https://wiki.php.net/rfc/array_column. (Ben Ramsey)
 +  . Added boolval(). (Jille Timmermans)
 +  . Added "Z" option to pack/unpack. (Gustavo)
 +  . Added Generator::throw() method. (Nikita Popov)
 +  . Added Class Name Resolution As Scalar Via "class" Keyword.
 +    (Ralph Schindler, Nikita Popov, Lars)
 +  . Added optional second argument for assert() to specify custom message. Patch
 +    by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
 +  . Added support for using empty() on the result of function calls and
 +    other expressions (https://wiki.php.net/rfc/empty_isset_exprs).
 +    (Nikita Popov)
 +  . Added support for non-scalar Iterator keys in foreach
 +    (https://wiki.php.net/rfc/foreach-non-scalar-keys). (Nikita Popov)
 +  . Added support for list in foreach (https://wiki.php.net/rfc/foreachlist).
 +    (Laruence)
 +  . Added support for changing the process's title in CLI/CLI-Server SAPIs.
 +    The implementation is more robust that the proctitle PECL module. More
 +    details here: https://wiki.php.net/rfc/cli_process_title. (Keyur)
 +  . Added ARMv7/v8 versions of various Zend arithmetic functions that are
 +    implemented using inline assembler (Ard Biesheuvel)
 +  . Added systemtap support by enabling systemtap compatible dtrace probes on
 +    linux. (David Soria Parra)
 +  . Optimized access to temporary and compiled VM variables. 8% less memory
 +    reads. (Dmitry)
 +  . The VM stacks for passing function arguments and syntaticaly nested calls
 +    were merged into a single stack. The stack size needed for op_array
 +    execution is calculated at compile time and preallocated at once. As result
 +    all the stack push operatins don't require checks for stack overflow
 +    any more. (Dmitry)
 +  . Improve set_exception_handler while doing reset. (Laruence)
 +  . Return previous handler when passing NULL to set_error_handler and
 +    set_exception_handler. (Nikita Popov)
 +  . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
 +    zend_logo_guid(). (Adnrew Faulds)
 +  . Drop Windows XP and 2003 support. (Pierre)
 +  . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell)
 +  . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL).
 +    (Laruence, Nikita Popov)
 +  . Implemented FR #60524 (specify temp dir by php.ini). (ALeX Kazik).
 +  . Implemented FR #46487 (Dereferencing process-handles no longer waits on
 +    those processes). (Jille Timmermans)
 +  . Fixed bug #65051 (count() off by one inside unset()). (Nikita)
    . Fixed bug #64988 (Class loading order affects E_STRICT warning). (Laruence)
    . Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence)
    . Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence)
index 9b519b22887a836047df163362b945488bfd7589,0c0380861ace46554a8dde6e23bcc48614b4ba3a..10375ab85040261940c9439f7dea185b0f5e0c4d
@@@ -675,10 -842,10 +675,13 @@@ static PHP_MINIT_FUNCTION(sockets
        REGISTER_LONG_CONSTANT("SO_SNDTIMEO",   SO_SNDTIMEO,    CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SO_RCVTIMEO",   SO_RCVTIMEO,    CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SO_TYPE",               SO_TYPE,                CONST_CS | CONST_PERSISTENT);
 +#ifdef SO_FAMILY
 +      REGISTER_LONG_CONSTANT("SO_FAMILY",             SO_FAMILY,              CONST_CS | CONST_PERSISTENT);
 +#endif
        REGISTER_LONG_CONSTANT("SO_ERROR",              SO_ERROR,               CONST_CS | CONST_PERSISTENT);
+ #ifdef SO_BINDTODEVICE
+       REGISTER_LONG_CONSTANT("SO_BINDTODEVICE",       SO_BINDTODEVICE,        CONST_CS | CONST_PERSISTENT);
+ #endif
        REGISTER_LONG_CONSTANT("SOL_SOCKET",    SOL_SOCKET,             CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SOMAXCONN",             SOMAXCONN,              CONST_CS | CONST_PERSISTENT);
  #ifdef TCP_NODELAY
@@@ -2038,9 -2358,20 +2041,21 @@@ PHP_FUNCTION(socket_set_option
  #endif
                        break;
                }
+ #ifdef SO_BINDTODEVICE
+               case SO_BINDTODEVICE: {
+                       if (Z_TYPE_PP(arg4) == IS_STRING) {
+                               opt_ptr = Z_STRVAL_PP(arg4);
+                               optlen = Z_STRLEN_PP(arg4);
+                       } else {
+                               opt_ptr = "";
+                               optlen = 0;
+                       }
+                       break;
+               }
+ #endif
  
                default:
 +default_case:
                        convert_to_long_ex(arg4);
                        ov = Z_LVAL_PP(arg4);