Mageia Bugzilla – Attachment 9767 Details for
Bug 21916
PHP 7 for Mageia 7
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
Patch cauldron to use PHP 7.1.11
php.files.patch (text/plain), 174.39 KB, created by
Marc Krämer
on 2017-10-30 00:38:48 CET
(
hide
)
Description:
Patch cauldron to use PHP 7.1.11
Filename:
MIME Type:
Creator:
Marc Krämer
Created:
2017-10-30 00:38:48 CET
Size:
174.39 KB
patch
obsolete
>Index: SOURCES/00-php-fpm.conf >=================================================================== >--- SOURCES/00-php-fpm.conf (nicht existent) >+++ SOURCES/00-php-fpm.conf (Arbeitskopie) >@@ -0,0 +1,14 @@ >+# requires apache-mod_proxy (mod_proxy.so + mod_proxy_fcgi.so) >+ >+<IfModule mod_proxy.c> >+ >+# ProxyErrorOverride on >+ >+ <FilesMatch \.php$> >+# SetHandler "proxy:fcgi://127.0.0.1:9000" >+ SetHandler "proxy:unix:/var/lib/php-fpm/php-fpm.sock|fcgi://localhost/" >+ </FilesMatch> >+ >+ DirectoryIndex index.php index.phtml >+ >+</IfModule> >Index: SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff >=================================================================== >--- SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff (Revision 1174484) >+++ SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff (nicht existent) >@@ -1,91 +0,0 @@ >-diff -Naur php-5.5.6/sapi/fpm/php-fpm.conf.in php-5.5.6.oden/sapi/fpm/php-fpm.conf.in >---- php-5.5.6/sapi/fpm/php-fpm.conf.in 2013-11-12 15:17:27.000000000 +0100 >-+++ php-5.5.6.oden/sapi/fpm/php-fpm.conf.in 2013-11-22 08:42:33.000000000 +0100 >-@@ -12,7 +12,7 @@ >- ; Relative path can also be used. They will be prefixed by: >- ; - the global prefix if it's been set (-p argument) >- ; - @prefix@ otherwise >--;include=etc/fpm.d/*.conf >-+include=/etc/php-fpm.d/*.conf >- >- ;;;;;;;;;;;;;;;;;; >- ; Global Options ; >-@@ -22,14 +22,14 @@ >- ; Pid file >- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ >- ; Default Value: none >--;pid = run/php-fpm.pid >-+pid = /var/run/php-fpm/php-fpm.pid >- >- ; Error log file >- ; If it's set to "syslog", log is sent to syslogd instead of being written >- ; in a local file. >- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ >- ; Default Value: log/php-fpm.log >--;error_log = log/php-fpm.log >-+error_log = /var/log/php-fpm.log >- >- ; syslog_facility is used to specify what type of program is logging the >- ; message. This lets syslogd specify that messages from different facilities >-@@ -156,7 +156,8 @@ >- ; (IPv6 and IPv4-mapped) on a specific port; >- ; '/path/to/unix/socket' - to listen on a unix socket. >- ; Note: This value is mandatory. >--listen = 127.0.0.1:9000 >-+; listen = 127.0.0.1:9000 >-+listen = /var/lib/php-fpm/php-fpm.sock >- >- ; Set listen(2) backlog. >- ; Default Value: 65535 (-1 on FreeBSD and OpenBSD) >-@@ -222,22 +223,22 @@ >- ; forget to tweak pm.* to fit your needs. >- ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' >- ; Note: This value is mandatory. >--pm.max_children = 5 >-+pm.max_children = 35 >- >- ; The number of child processes created on startup. >- ; Note: Used only when pm is set to 'dynamic' >- ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 >--pm.start_servers = 2 >-+pm.start_servers = 20 >- >- ; The desired minimum number of idle server processes. >- ; Note: Used only when pm is set to 'dynamic' >- ; Note: Mandatory when pm is set to 'dynamic' >--pm.min_spare_servers = 1 >-+pm.min_spare_servers = 5 >- >- ; The desired maximum number of idle server processes. >- ; Note: Used only when pm is set to 'dynamic' >- ; Note: Mandatory when pm is set to 'dynamic' >--pm.max_spare_servers = 3 >-+pm.max_spare_servers = 35 >- >- ; The number of seconds after which an idle process will be killed. >- ; Note: Used only when pm is set to 'ondemand' >-@@ -248,7 +249,7 @@ >- ; This can be useful to work around memory leaks in 3rd party libraries. For >- ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. >- ; Default Value: 0 >--;pm.max_requests = 500 >-+pm.max_requests = 10000 >- >- ; The URI to view the FPM status page. If this value is not set, no URI will be >- ; recognized as a status page. It shows the following informations: >-@@ -429,6 +430,7 @@ >- ; Default Value: not set >- ; Note: slowlog is mandatory if request_slowlog_timeout is set >- ;slowlog = log/$pool.log.slow >-+slowlog = /var/log/php-fpm.log.slow >- >- ; The timeout for serving a single request after which a PHP backtrace will be >- ; dumped to the 'slowlog' file. A value of '0s' means 'off'. >-@@ -491,6 +493,7 @@ >- ;env[TMP] = /tmp >- ;env[TMPDIR] = /tmp >- ;env[TEMP] = /tmp >-+env[PATH] = $PATH >- >- ; Additional php.ini defines, specific to this pool of workers. These settings >- ; overwrite the values previously defined in the php.ini. The directives are the >Index: SOURCES/php-5.3.x-fpm-0.6.5-shared.diff >=================================================================== >--- SOURCES/php-5.3.x-fpm-0.6.5-shared.diff (Revision 1174484) >+++ SOURCES/php-5.3.x-fpm-0.6.5-shared.diff (nicht existent) >@@ -1,23 +0,0 @@ >-diff -Naurp php-5.5.9/sapi/fpm/config.m4 php-5.5.9.oden/sapi/fpm/config.m4 >---- php-5.5.9/sapi/fpm/config.m4 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/sapi/fpm/config.m4 2014-02-12 11:24:43.712844489 +0100 >-@@ -661,7 +661,7 @@ if test "$PHP_FPM" != "no"; then >- BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >- ;; >- *) >-- BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >-+ BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >- ;; >- esac >- >-diff -Naurp php-5.5.9/sapi/fpm/Makefile.frag php-5.5.9.oden/sapi/fpm/Makefile.frag >---- php-5.5.9/sapi/fpm/Makefile.frag 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/sapi/fpm/Makefile.frag 2014-02-12 11:24:43.712844489 +0100 >-@@ -1,6 +1,6 @@ >- fpm: $(SAPI_FPM_PATH) >- >--$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FPM_OBJS) >-+$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_FPM_OBJS) >- $(BUILD_FPM) >- >- install-fpm: $(SAPI_FPM_PATH) >Index: SOURCES/php-5.4.6-apache-mod_php.diff >=================================================================== >--- SOURCES/php-5.4.6-apache-mod_php.diff (Revision 1174484) >+++ SOURCES/php-5.4.6-apache-mod_php.diff (nicht existent) >@@ -1,102 +0,0 @@ >-diff -Naurp php-5.4.6/sapi/apache2handler/config.m4 php-5.4.6.oden/sapi/apache2handler/config.m4 >---- php-5.4.6/sapi/apache2handler/config.m4 2012-08-15 06:26:05.000000000 +0200 >-+++ php-5.4.6.oden/sapi/apache2handler/config.m4 2012-09-11 16:30:53.312701887 +0200 >-@@ -70,20 +70,20 @@ if test "$PHP_APXS2" != "no"; then >- if test -z `$APXS -q SYSCONFDIR`; then >- INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ >- $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ >-- -i -n php5" >-+ -i -n php" >- else >- APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` >- INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ >- \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ >- $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ >- -S SYSCONFDIR='$APXS_SYSCONFDIR' \ >-- -i -a -n php5" >-+ -i -a -n php" >- fi >- >- case $host_alias in >- *aix*) >- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" >-- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >-+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >- INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >- ;; >- *darwin*) >-@@ -99,19 +99,19 @@ if test "$PHP_APXS2" != "no"; then >- fi >- MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS" >- PHP_SUBST(MH_BUNDLE_FLAGS) >-- PHP_SELECT_SAPI(apache2handler, bundle, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >-- SAPI_SHARED=libs/libphp5.so >-+ PHP_SELECT_SAPI(apache2handler, bundle, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >-+ SAPI_SHARED=libs/mod_php.so >- INSTALL_IT="$INSTALL_IT $SAPI_SHARED" >- ;; >- *beos*) >- if test -f _APP_; then `rm _APP_`; fi >- `ln -s $APXS_BINDIR/httpd _APP_` >- EXTRA_LIBS="$EXTRA_LIBS _APP_" >-- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >-+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >- INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >- ;; >- *) >-- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >-+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >- INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >- ;; >- esac >-diff -Naurp php-5.4.6/sapi/apache2handler/mod_php5.c php-5.4.6.oden/sapi/apache2handler/mod_php5.c >---- php-5.4.6/sapi/apache2handler/mod_php5.c 2012-08-15 06:26:05.000000000 +0200 >-+++ php-5.4.6.oden/sapi/apache2handler/mod_php5.c 2012-09-11 16:10:58.858635105 +0200 >-@@ -25,7 +25,7 @@ >- #include "php.h" >- #include "php_apache.h" >- >--AP_MODULE_DECLARE_DATA module php5_module = { >-+AP_MODULE_DECLARE_DATA module php_module = { >- STANDARD20_MODULE_STUFF, >- create_php_config, /* create per-directory config structure */ >- merge_php_config, /* merge per-directory config structures */ >-diff -Naurp php-5.4.6/sapi/apache2handler/php_apache.h php-5.4.6.oden/sapi/apache2handler/php_apache.h >---- php-5.4.6/sapi/apache2handler/php_apache.h 2012-08-15 06:26:05.000000000 +0200 >-+++ php-5.4.6.oden/sapi/apache2handler/php_apache.h 2012-09-11 16:10:58.858635105 +0200 >-@@ -26,7 +26,7 @@ >- #include "http_core.h" >- >- /* Declare this so we can get to it from outside the sapi_apache2.c file */ >--extern module AP_MODULE_DECLARE_DATA php5_module; >-+extern module AP_MODULE_DECLARE_DATA php_module; >- >- /* A way to specify the location of the php.ini dir in an apache directive */ >- extern char *apache2_php_ini_path_override; >-diff -Naurp php-5.4.6/sapi/apache2handler/php.sym php-5.4.6.oden/sapi/apache2handler/php.sym >---- php-5.4.6/sapi/apache2handler/php.sym 2012-08-15 06:26:05.000000000 +0200 >-+++ php-5.4.6.oden/sapi/apache2handler/php.sym 2012-09-11 16:10:58.860635093 +0200 >-@@ -1 +1 @@ >--php5_module >-+php_module >-diff -Naurp php-5.4.6/sapi/apache2handler/sapi_apache2.c php-5.4.6.oden/sapi/apache2handler/sapi_apache2.c >---- php-5.4.6/sapi/apache2handler/sapi_apache2.c 2012-08-15 06:26:05.000000000 +0200 >-+++ php-5.4.6.oden/sapi/apache2handler/sapi_apache2.c 2012-09-11 16:10:58.860635093 +0200 >-@@ -517,7 +517,7 @@ typedef struct { >- } php_conf_rec; >- char *str; >- uint str_len; >-- php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php5_module); >-+ php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php_module); >- >- for (zend_hash_internal_pointer_reset(&c->config); >- zend_hash_get_current_key_ex(&c->config, &str, &str_len, NULL, 0, NULL) == HASH_KEY_IS_STRING; >-@@ -545,7 +545,7 @@ static int php_handler(request_rec *r) >- >- #define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req TSRMLS_CC); >- >-- conf = ap_get_module_config(r->per_dir_config, &php5_module); >-+ conf = ap_get_module_config(r->per_dir_config, &php_module); >- >- /* apply_config() needs r in some cases, so allocate server_context early */ >- ctx = SG(server_context); >Index: SOURCES/php-5.5.0-libdb.diff >=================================================================== >--- SOURCES/php-5.5.0-libdb.diff (Revision 1174484) >+++ SOURCES/php-5.5.0-libdb.diff (nicht existent) >@@ -1,88 +0,0 @@ >-diff -Naurp php-5.5.9/ext/dba/config.m4 php-5.5.9.oden/ext/dba/config.m4 >---- php-5.5.9/ext/dba/config.m4 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/dba/config.m4 2014-02-12 11:15:53.208814826 +0100 >-@@ -312,57 +312,13 @@ if test "$PHP_DB4" != "no"; then >- dbdp4="/usr/local/BerkeleyDB.4." >- dbdp5="/usr/local/BerkeleyDB.5." >- for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do >-- if test -f "$i/db5/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/db5/db.h >-- break >-- elif test -f "$i/db4/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/db4/db.h >-- break >-- elif test -f "$i/include/db5.1/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db5.1/db.h >-- break >-- elif test -f "$i/include/db5.0/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db5.0/db.h >-- break >-- elif test -f "$i/include/db4.8/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4.8/db.h >-- break >-- elif test -f "$i/include/db4.7/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4.7/db.h >-- break >-- elif test -f "$i/include/db4.6/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4.6/db.h >-- break >-- elif test -f "$i/include/db4.5/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4.5/db.h >-- break >-- elif test -f "$i/include/db4/db.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4/db.h >-- break >-- elif test -f "$i/include/db/db4.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db/db4.h >-- break >-- elif test -f "$i/include/db4.h"; then >-- THIS_PREFIX=$i >-- THIS_INCLUDE=$i/include/db4.h >-- break >-- elif test -f "$i/include/db.h"; then >-+ if test -f "$i/include/db.h"; then >- THIS_PREFIX=$i >- THIS_INCLUDE=$i/include/db.h >- break >- fi >- done >-- PHP_DBA_DB_CHECK(4, db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) >-+ PHP_DBA_DB_CHECK(4, db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) >- fi >- PHP_DBA_STD_RESULT(db4,Berkeley DB4) >- >-diff -Naurp php-5.5.9/ext/dba/dba.c php-5.5.9.oden/ext/dba/dba.c >---- php-5.5.9/ext/dba/dba.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/dba/dba.c 2014-02-12 11:15:53.208814826 +0100 >-@@ -52,6 +52,10 @@ >- #include "php_qdbm.h" >- #include "php_tcadb.h" >- >-+#ifdef DB4_INCLUDE_FILE >-+#include DB4_INCLUDE_FILE >-+#endif >-+ >- /* {{{ arginfo */ >- ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) >- ZEND_ARG_INFO(0, path) >-@@ -535,6 +539,10 @@ PHP_MINFO_FUNCTION(dba) >- >- php_info_print_table_start(); >- php_info_print_table_row(2, "DBA support", "enabled"); >-+#ifdef DB_VERSION_STRING >-+ php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); >-+ php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); >-+#endif >- if (handlers.c) { >- smart_str_0(&handlers); >- php_info_print_table_row(2, "Supported handlers", handlers.c); >Index: SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch >=================================================================== >--- SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch (Revision 1174484) >+++ SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch (nicht existent) >@@ -1,89 +0,0 @@ >-From 061fa11d7f90905f00893f02f0e4b1e0267b7cd5 Mon Sep 17 00:00:00 2001 >-From: Olivier Blin <dev@blino.org> >-Date: Sun, 23 Jun 2013 23:04:47 +0200 >-Subject: [PATCH] mysqlnd: detect mysql unix socket path with mysql_config >- >-When the mysql extension is disabled, there is no automatic detection >-of the mysql unix socket path. >-The mysqli/mysqlnd/pdo_mysql use a hardcoded /tmp/mysql.sock path. >- >-This adds automatic detection of the mysql unix socket path in mysqlnd >-with mysql_config --socket, and makes pdo_mysql use it as well. >---- >- ext/mysqlnd/config9.m4 | 12 ++++++++++-- >- ext/mysqlnd/mysqlnd.c | 4 ++++ >- ext/pdo_mysql/pdo_mysql.c | 10 +++++++--- >- 3 files changed, 21 insertions(+), 5 deletions(-) >- >-diff -Naurp php-5.5.9/ext/mysqlnd/config9.m4 php-5.5.9.oden/ext/mysqlnd/config9.m4 >---- php-5.5.9/ext/mysqlnd/config9.m4 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/mysqlnd/config9.m4 2014-02-12 11:16:58.513818477 +0100 >-@@ -3,8 +3,9 @@ dnl $Id$ >- dnl config.m4 for mysqlnd driver >- >- PHP_ARG_ENABLE(mysqlnd, whether to enable mysqlnd, >-- [ --enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly >-- when required by other extensions], no, yes) >-+ [ --enable-mysqlnd=FILE Enable mysqlnd explicitly, will be done implicitly >-+ when required by other extensions. FILE is the path >-+ to mysql_config.], no, yes) >- >- PHP_ARG_ENABLE(mysqlnd_compression_support, whether to disable compressed protocol support in mysqlnd, >- [ --disable-mysqlnd-compression-support >-@@ -17,6 +18,8 @@ fi >- >- dnl If some extension uses mysqlnd it will get compiled in PHP core >- if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then >-+ MYSQL_CONFIG=$PHP_MYSQLND >-+ >- mysqlnd_ps_sources="mysqlnd_ps.c mysqlnd_ps_codec.c" >- mysqlnd_base_sources="mysqlnd.c mysqlnd_alloc.c mysqlnd_bt.c mysqlnd_charset.c mysqlnd_wireprotocol.c \ >- mysqlnd_loaddata.c mysqlnd_reverse_api.c mysqlnd_net.c \ >-@@ -44,6 +47,11 @@ if test "$PHP_MYSQLND" != "no" || test " >- PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, $ext_shared) >- PHP_ADD_BUILD_DIR([ext/mysqlnd], 1) >- PHP_INSTALL_HEADERS([ext/mysqlnd/]) >-+ >-+ if test -x "$MYSQL_CONFIG"; then >-+ MYSQLND_SOCKET=`$MYSQL_CONFIG --socket` >-+ AC_DEFINE_UNQUOTED(MYSQLND_UNIX_SOCK_ADDR, "$MYSQLND_SOCKET", [ ]) >-+ fi >- fi >- >- if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes" || test "$PHP_MYSQLI" != "no"; then >-diff -Naurp php-5.5.9/ext/mysqlnd/mysqlnd.c php-5.5.9.oden/ext/mysqlnd/mysqlnd.c >---- php-5.5.9/ext/mysqlnd/mysqlnd.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/mysqlnd/mysqlnd.c 2014-02-12 11:16:58.513818477 +0100 >-@@ -920,7 +920,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, connec >- if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { >- DBG_INF_FMT("socket=%s", socket_or_pipe? socket_or_pipe:"n/a"); >- if (!socket_or_pipe) { >-+#ifdef MYSQLND_UNIX_SOCK_ADDR >-+ socket_or_pipe = MYSQLND_UNIX_SOCK_ADDR; >-+#else >- socket_or_pipe = "/tmp/mysql.sock"; >-+#endif >- } >- transport_len = mnd_sprintf(&transport, 0, "unix://%s", socket_or_pipe); >- unix_socket = TRUE; >-diff -Naurp php-5.5.9/ext/pdo_mysql/pdo_mysql.c php-5.5.9.oden/ext/pdo_mysql/pdo_mysql.c >---- php-5.5.9/ext/pdo_mysql/pdo_mysql.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/pdo_mysql/pdo_mysql.c 2014-02-12 11:16:58.513818477 +0100 >-@@ -49,10 +49,14 @@ ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql) >- # ifdef PHP_MYSQL_UNIX_SOCK_ADDR >- # define PDO_MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR >- # else >--# if !PHP_WIN32 >--# define PDO_MYSQL_UNIX_ADDR "/tmp/mysql.sock" >-+# ifdef MYSQLND_UNIX_SOCK_ADDR >-+# define PDO_MYSQL_UNIX_ADDR MYSQLND_UNIX_SOCK_ADDR >- # else >--# define PDO_MYSQL_UNIX_ADDR NULL >-+# if !PHP_WIN32 >-+# define PDO_MYSQL_UNIX_ADDR "/tmp/mysql.sock" >-+# else >-+# define PDO_MYSQL_UNIX_ADDR NULL >-+# endif >- # endif >- # endif >- #endif >Index: SOURCES/php-5.5.0RC3-mail.diff >=================================================================== >--- SOURCES/php-5.5.0RC3-mail.diff (Revision 1174484) >+++ SOURCES/php-5.5.0RC3-mail.diff (nicht existent) >@@ -1,86 +0,0 @@ >-diff -Naurp php-5.5.0RC3/ext/standard/mail.c php-5.5.0RC3.oden/ext/standard/mail.c >---- php-5.5.0RC3/ext/standard/mail.c 2013-06-05 23:07:40.000000000 +0200 >-+++ php-5.5.0RC3.oden/ext/standard/mail.c 2013-06-09 10:17:18.335035158 +0200 >-@@ -22,6 +22,8 @@ >- #include <ctype.h> >- #include <stdio.h> >- #include <time.h> >-+#include <syslog.h> >-+#include <string.h> >- #include "php.h" >- #include "ext/standard/info.h" >- #include "ext/standard/php_string.h" >-@@ -47,6 +49,9 @@ >- #include "php_string.h" >- #include "exec.h" >- >-+#include "zend_operators.h" >-+#include "zend_globals.h" >-+ >- #ifdef PHP_WIN32 >- #include "win32/sendmail.h" >- #endif >-@@ -124,6 +129,18 @@ PHP_FUNCTION(mail) >- MAIL_ASCIIZ_CHECK(extra_cmd, extra_cmd_len); >- } >- >-+ /* search for To: and Subject: headers which should be specified in proper mail() parameters, not in additional headers */ >-+ if (headers != NULL) { >-+ if (strncasecmp(headers, "to:", sizeof("to:") - 1) == 0 || strcasestr(headers, "\nto:")) { >-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "To: headers aren't allowed in the additional_headers parameter. Use $to parameter for that. Mail not sent."); >-+ RETURN_FALSE; >-+ } >-+ if (strncasecmp(headers, "subject:", sizeof("subject:") - 1) == 0 || strcasestr(headers, "\nsubject:")) { >-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Subject: headers aren't allowed in the additional_headers parameter. Use $subject parameter for that. Mail not sent."); >-+ RETURN_FALSE; >-+ } >-+ } >-+ >- if (to_len > 0) { >- to_r = estrndup(to, to_len); >- for (; to_len; to_len--) { >-@@ -352,8 +369,42 @@ PHPAPI int php_mail(char *to, char *subj >- MAIL_RET(0); >- } >- #endif >-- fprintf(sendmail, "To: %s\n", to); >-- fprintf(sendmail, "Subject: %s\n", subject); >-+ TSRMLS_FETCH(); >-+ >-+ if ((to != NULL) && (strlen(to)!=0)) { >-+ fprintf(sendmail, "To: %s\n", to); >-+ } >-+ if ((subject != NULL) && (strlen(subject)!=0)) { >-+ fprintf(sendmail, "Subject: %s\n", subject); >-+ } >-+ >-+ if (PG(http_globals)[TRACK_VARS_SERVER]) { >-+ zval **remote_addr, **server_name, **server_port, >-+ **script_name, **http_user_agent; >-+ >-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &remote_addr)==SUCCESS) { >-+ convert_to_string_ex(remote_addr); >-+ fprintf(sendmail, "HTTP-Posting-Client: %s\n", Z_STRVAL_PP(remote_addr)); >-+ } >-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_NAME", sizeof("SERVER_NAME"), (void **) &server_name)==SUCCESS) { >-+ convert_to_string_ex(server_name); >-+ fprintf(sendmail, "HTTP-Posting-URI: %s", Z_STRVAL_PP(server_name)); >-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_PORT", sizeof("SERVER_PORT"), (void **) &server_port)==SUCCESS) { >-+ convert_to_string_ex(server_port); >-+ fprintf(sendmail, ":%s", Z_STRVAL_PP(server_port)); >-+ } >-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void **) &script_name)==SUCCESS) { >-+ convert_to_string_ex(script_name); >-+ fprintf(sendmail, "%s", Z_STRVAL_PP(script_name)); >-+ } >-+ fprintf(sendmail, "\n"); >-+ } >-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT"), (void **) &http_user_agent)==SUCCESS) { >-+ convert_to_string_ex(http_user_agent); >-+ fprintf(sendmail, "HTTP-Posting-User-Agent: %s\n", Z_STRVAL_PP(http_user_agent)); >-+ } >-+ } >-+ >- if (hdr != NULL) { >- fprintf(sendmail, "%s\n", hdr); >- } >Index: SOURCES/php-5.5.2-session.use_strict_mode.diff >=================================================================== >--- SOURCES/php-5.5.2-session.use_strict_mode.diff (Revision 1174484) >+++ SOURCES/php-5.5.2-session.use_strict_mode.diff (nicht existent) >@@ -1,30 +0,0 @@ >-diff -Naurp php-5.5.9/php.ini-development php-5.5.9.oden/php.ini-development >---- php-5.5.9/php.ini-development 2014-02-12 11:31:47.296868175 +0100 >-+++ php-5.5.9.oden/php.ini-development 2014-02-12 11:31:59.264868844 +0100 >-@@ -1362,6 +1362,11 @@ session.use_cookies = 1 >- ; http://php.net/session.use-only-cookies >- session.use_only_cookies = 1 >- >-+; This option forces new session ID when browser supplied uninitialized session >-+; ID. By enabling this option, module prevents session fixation based on adoption. >-+; http://php.net/session.use-strict-mode >-+session.use_strict_mode = 0 >-+ >- ; Name of the session (used as cookie name). >- ; http://php.net/session.name >- session.name = PHPSESSID >-diff -Naurp php-5.5.9/php.ini-production php-5.5.9.oden/php.ini-production >---- php-5.5.9/php.ini-production 2014-02-12 11:31:47.296868175 +0100 >-+++ php-5.5.9.oden/php.ini-production 2014-02-12 11:31:59.264868844 +0100 >-@@ -1362,6 +1362,11 @@ session.use_cookies = 1 >- ; http://php.net/session.use-only-cookies >- session.use_only_cookies = 1 >- >-+; This option forces new session ID when browser supplied uninitialized session >-+; ID. By enabling this option, module prevents session fixation based on adoption. >-+; http://php.net/session.use-strict-mode >-+session.use_strict_mode = 0 >-+ >- ; Name of the session (used as cookie name). >- ; http://php.net/session.name >- session.name = PHPSESSID >Index: SOURCES/php-5.6.12-mga_php.ini.diff >=================================================================== >--- SOURCES/php-5.6.12-mga_php.ini.diff (Revision 1174484) >+++ SOURCES/php-5.6.12-mga_php.ini.diff (nicht existent) >@@ -1,420 +0,0 @@ >-diff -Naur php-5.6.12/php.ini-development php-5.6.12.oden/php.ini-development >---- php-5.6.12/php.ini-development 2014-04-10 07:11:48.000000000 +0200 >-+++ php-5.6.12.oden/php.ini-development 2014-04-18 08:14:04.803916265 +0200 >-@@ -175,7 +175,7 @@ >- ;user_ini.filename = ".user.ini" >- >- ; To disable this feature set this option to empty value >--;user_ini.filename = >-+user_ini.filename = >- >- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) >- ;user_ini.cache_ttl = 300 >-@@ -199,7 +199,7 @@ >- ; Development Value: Off >- ; Production Value: Off >- ; http://php.net/short-open-tag >--short_open_tag = Off >-+short_open_tag = On >- >- ; Allow ASP-style <% %> tags. >- ; http://php.net/asp-tags >-@@ -304,6 +304,9 @@ >- ; http://php.net/disable-functions >- disable_functions = >- >-+; this is an example >-+;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo >-+ >- ; This directive allows you to disable certain classes for security reasons. >- ; It receives a comma-delimited list of class names. >- ; http://php.net/disable-classes >-@@ -710,14 +713,9 @@ >- ; Paths and Directories ; >- ;;;;;;;;;;;;;;;;;;;;;;;;; >- >--; UNIX: "/path1:/path2" >--;include_path = ".:/php/includes" >--; >--; Windows: "\path1;\path2" >--;include_path = ".;c:\php\includes" >--; >- ; PHP's default setting for include_path is ".;/path/to/php/pear" >- ; http://php.net/include-path >-+include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" >- >- ; The root of the PHP pages, used only if nonempty. >- ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root >-@@ -734,9 +732,7 @@ >- >- ; Directory in which the loadable extensions (modules) reside. >- ; http://php.net/extension-dir >--; extension_dir = "./" >--; On windows: >--; extension_dir = "ext" >-+extension_dir = "/usr/lib/php/extensions" >- >- ; Directory where the temporary files should be placed. >- ; Defaults to the system default (see sys_get_temp_dir) >-@@ -746,7 +742,7 @@ >- ; properly in multithreaded servers, such as IIS or Zeus, and is automatically >- ; disabled on them. >- ; http://php.net/enable-dl >--enable_dl = Off >-+enable_dl = On >- >- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under >- ; most web servers. Left undefined, PHP turns this on by default. You can >-@@ -806,11 +802,11 @@ >- ; Temporary directory for HTTP uploaded files (will use system default if not >- ; specified). >- ; http://php.net/upload-tmp-dir >--;upload_tmp_dir = >-+upload_tmp_dir = /var/tmp >- >- ; Maximum allowed size for uploaded files. >- ; http://php.net/upload-max-filesize >--upload_max_filesize = 2M >-+upload_max_filesize = 16M >- >- ; Maximum number of files that can be uploaded via a single request >- max_file_uploads = 20 >-@@ -857,63 +853,10 @@ >- ; >- ; extension=modulename.extension >- ; >--; For example, on Windows: >--; >--; extension=msql.dll >--; >--; ... or under UNIX: >--; >--; extension=msql.so >--; >--; ... or with a path: >--; >--; extension=/path/to/extension/msql.so >--; >--; If you only provide the name of the extension, PHP will look for it in its >--; default extension directory. >--; >--; Windows Extensions >--; Note that ODBC support is built in, so no dll is needed for it. >--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) >--; extension folders as well as the separate PECL DLL download (PHP 5). >--; Be sure to appropriately set the extension_dir directive. >--; >--;extension=php_bz2.dll >--;extension=php_curl.dll >--;extension=php_fileinfo.dll >--;extension=php_gd2.dll >--;extension=php_gettext.dll >--;extension=php_gmp.dll >--;extension=php_intl.dll >--;extension=php_imap.dll >--;extension=php_interbase.dll >--;extension=php_ldap.dll >--;extension=php_mbstring.dll >--;extension=php_exif.dll ; Must be after mbstring as it depends on it >--;extension=php_mysql.dll >--;extension=php_mysqli.dll >--;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client >--;extension=php_openssl.dll >--;extension=php_pdo_firebird.dll >--;extension=php_pdo_mysql.dll >--;extension=php_pdo_oci.dll >--;extension=php_pdo_odbc.dll >--;extension=php_pdo_pgsql.dll >--;extension=php_pdo_sqlite.dll >--;extension=php_pgsql.dll >--;extension=php_shmop.dll >-- >--; The MIBS data available in the PHP distribution must be installed. >--; See http://www.php.net/manual/en/snmp.installation.php >--;extension=php_snmp.dll >-- >--;extension=php_soap.dll >--;extension=php_sockets.dll >--;extension=php_sqlite3.dll >--;extension=php_sybase_ct.dll >--;extension=php_tidy.dll >--;extension=php_xmlrpc.dll >--;extension=php_xsl.dll >-+; In Mageia, we don't add the extensions in php.ini anymore, we put >-+; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. >-+; This is so that the RPMS can register themselves without having to >-+; modify the php.ini file. >- >- ;;;;;;;;;;;;;;;;;;; >- ; Module Settings ; >-@@ -1417,7 +1359,7 @@ >- ; where MODE is the octal representation of the mode. Note that this >- ; does not overwrite the process's umask. >- ; http://php.net/session.save-path >--;session.save_path = "/tmp" >-+session.save_path = "/var/lib/php" >- >- ; Whether to use strict session mode. >- ; Strict session mode does not accept uninitialized session ID and regenerate >-@@ -1479,7 +1421,12 @@ >- ; Development Value: 1 >- ; Production Value: 1 >- ; http://php.net/session.gc-probability >--session.gc_probability = 1 >-+ >-+; This is disabled in the Mageia Linux packages, due to the strict permissions >-+; on /var/lib/php. Instead of setting this here, see the cronjob at >-+; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the >-+; /etc/php.d/*_session.ini file. >-+session.gc_probability = 0 >- >- ; Defines the probability that the 'garbage collection' process is started on every >- ; session initialization. The probability is calculated by using the following equation: >-@@ -1493,7 +1440,7 @@ >- ; Development Value: 1000 >- ; Production Value: 1000 >- ; http://php.net/session.gc-divisor >--session.gc_divisor = 1000 >-+session.gc_divisor = 100 >- >- ; After this number of seconds, stored data will be seen as 'garbage' and >- ; cleaned up by the garbage collection process. >-@@ -1525,7 +1472,7 @@ >- ; If neither are found at compile time, the default is no entropy file. >- ; On windows, setting the entropy_length setting will activate the >- ; Windows random source (using the CryptoAPI) >--;session.entropy_file = /dev/urandom >-+session.entropy_file = /dev/urandom >- >- ; Set to {nocache,private,public,} to determine HTTP caching aspects >- ; or leave this empty to avoid sending anti-caching headers. >-@@ -1663,7 +1610,9 @@ >- ; Specify how datetime and datetim4 columns are returned >- ; On => Returns data converted to SQL server settings >- ; Off => Returns values as YYYY-MM-DD hh:mm:ss >--;mssql.datetimeconvert = On >-+ >-+; https://qa.mandriva.com/show_bug.cgi?id=41297 >-+mssql.datetimeconvert = Off >- >- ; Use NT authentication when connecting to the server >- mssql.secure_connection = Off >-@@ -1843,7 +1792,7 @@ >- >- ; Sets the directory name where SOAP extension will put cache files. >- ; http://php.net/soap.wsdl-cache-dir >--soap.wsdl_cache_dir="/tmp" >-+soap.wsdl_cache_dir="/var/tmp" >- >- ; (time to live) Sets the number of second while cached file will be used >- ; instead of original one. >-diff -Naur php-5.6.12/php.ini-production php-5.6.12.oden/php.ini-production >---- php-5.6.12/php.ini-production 2014-04-10 07:11:48.000000000 +0200 >-+++ php-5.6.12.oden/php.ini-production 2014-04-18 08:14:43.580918433 +0200 >-@@ -175,7 +175,7 @@ >- ;user_ini.filename = ".user.ini" >- >- ; To disable this feature set this option to empty value >--;user_ini.filename = >-+user_ini.filename = >- >- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) >- ;user_ini.cache_ttl = 300 >-@@ -199,7 +199,7 @@ >- ; Development Value: Off >- ; Production Value: Off >- ; http://php.net/short-open-tag >--short_open_tag = Off >-+short_open_tag = On >- >- ; Allow ASP-style <% %> tags. >- ; http://php.net/asp-tags >-@@ -304,6 +304,9 @@ >- ; http://php.net/disable-functions >- disable_functions = >- >-+; this is an example >-+;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo >-+ >- ; This directive allows you to disable certain classes for security reasons. >- ; It receives a comma-delimited list of class names. >- ; http://php.net/disable-classes >-@@ -708,14 +711,9 @@ >- ; Paths and Directories ; >- ;;;;;;;;;;;;;;;;;;;;;;;;; >- >--; UNIX: "/path1:/path2" >--;include_path = ".:/php/includes" >--; >--; Windows: "\path1;\path2" >--;include_path = ".;c:\php\includes" >--; >- ; PHP's default setting for include_path is ".;/path/to/php/pear" >- ; http://php.net/include-path >-+include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" >- >- ; The root of the PHP pages, used only if nonempty. >- ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root >-@@ -732,9 +730,7 @@ >- >- ; Directory in which the loadable extensions (modules) reside. >- ; http://php.net/extension-dir >--; extension_dir = "./" >--; On windows: >--; extension_dir = "ext" >-+extension_dir = "/usr/lib/php/extensions" >- >- ; Directory where the temporary files should be placed. >- ; Defaults to the system default (see sys_get_temp_dir) >-@@ -744,7 +740,7 @@ >- ; properly in multithreaded servers, such as IIS or Zeus, and is automatically >- ; disabled on them. >- ; http://php.net/enable-dl >--enable_dl = Off >-+enable_dl = On >- >- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under >- ; most web servers. Left undefined, PHP turns this on by default. You can >-@@ -804,11 +800,11 @@ >- ; Temporary directory for HTTP uploaded files (will use system default if not >- ; specified). >- ; http://php.net/upload-tmp-dir >--;upload_tmp_dir = >-+upload_tmp_dir = /var/tmp >- >- ; Maximum allowed size for uploaded files. >- ; http://php.net/upload-max-filesize >--upload_max_filesize = 2M >-+upload_max_filesize = 16M >- >- ; Maximum number of files that can be uploaded via a single request >- max_file_uploads = 20 >-@@ -855,63 +851,10 @@ >- ; >- ; extension=modulename.extension >- ; >--; For example, on Windows: >--; >--; extension=msql.dll >--; >--; ... or under UNIX: >--; >--; extension=msql.so >--; >--; ... or with a path: >--; >--; extension=/path/to/extension/msql.so >--; >--; If you only provide the name of the extension, PHP will look for it in its >--; default extension directory. >--; >--; Windows Extensions >--; Note that ODBC support is built in, so no dll is needed for it. >--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) >--; extension folders as well as the separate PECL DLL download (PHP 5). >--; Be sure to appropriately set the extension_dir directive. >--; >--;extension=php_bz2.dll >--;extension=php_curl.dll >--;extension=php_fileinfo.dll >--;extension=php_gd2.dll >--;extension=php_gettext.dll >--;extension=php_gmp.dll >--;extension=php_intl.dll >--;extension=php_imap.dll >--;extension=php_interbase.dll >--;extension=php_ldap.dll >--;extension=php_mbstring.dll >--;extension=php_exif.dll ; Must be after mbstring as it depends on it >--;extension=php_mysql.dll >--;extension=php_mysqli.dll >--;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client >--;extension=php_openssl.dll >--;extension=php_pdo_firebird.dll >--;extension=php_pdo_mysql.dll >--;extension=php_pdo_oci.dll >--;extension=php_pdo_odbc.dll >--;extension=php_pdo_pgsql.dll >--;extension=php_pdo_sqlite.dll >--;extension=php_pgsql.dll >--;extension=php_shmop.dll >-- >--; The MIBS data available in the PHP distribution must be installed. >--; See http://www.php.net/manual/en/snmp.installation.php >--;extension=php_snmp.dll >-- >--;extension=php_soap.dll >--;extension=php_sockets.dll >--;extension=php_sqlite3.dll >--;extension=php_sybase_ct.dll >--;extension=php_tidy.dll >--;extension=php_xmlrpc.dll >--;extension=php_xsl.dll >-+; In Mageia, we don't add the extensions in php.ini anymore, we put >-+; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. >-+; This is so that the RPMS can register themselves without having to >-+; modify the php.ini file. >- >- ;;;;;;;;;;;;;;;;;;; >- ; Module Settings ; >-@@ -1415,7 +1357,7 @@ >- ; where MODE is the octal representation of the mode. Note that this >- ; does not overwrite the process's umask. >- ; http://php.net/session.save-path >--;session.save_path = "/tmp" >-+session.save_path = "/var/lib/php" >- >- ; Whether to use strict session mode. >- ; Strict session mode does not accept uninitialized session ID and regenerate >-@@ -1477,7 +1419,12 @@ >- ; Development Value: 1 >- ; Production Value: 1 >- ; http://php.net/session.gc-probability >--session.gc_probability = 1 >-+ >-+; This is disabled in the Mageia Linux packages, due to the strict permissions >-+; on /var/lib/php. Instead of setting this here, see the cronjob at >-+; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the >-+; /etc/php.d/*_session.ini file. >-+session.gc_probability = 0 >- >- ; Defines the probability that the 'garbage collection' process is started on every >- ; session initialization. The probability is calculated by using the following equation: >-@@ -1491,7 +1438,7 @@ >- ; Development Value: 1000 >- ; Production Value: 1000 >- ; http://php.net/session.gc-divisor >--session.gc_divisor = 1000 >-+session.gc_divisor = 100 >- >- ; After this number of seconds, stored data will be seen as 'garbage' and >- ; cleaned up by the garbage collection process. >-@@ -1523,7 +1470,7 @@ >- ; If neither are found at compile time, the default is no entropy file. >- ; On windows, setting the entropy_length setting will activate the >- ; Windows random source (using the CryptoAPI) >--;session.entropy_file = /dev/urandom >-+session.entropy_file = /dev/urandom >- >- ; Set to {nocache,private,public,} to determine HTTP caching aspects >- ; or leave this empty to avoid sending anti-caching headers. >-@@ -1661,7 +1608,9 @@ >- ; Specify how datetime and datetim4 columns are returned >- ; On => Returns data converted to SQL server settings >- ; Off => Returns values as YYYY-MM-DD hh:mm:ss >--;mssql.datetimeconvert = On >-+ >-+; https://qa.mandriva.com/show_bug.cgi?id=41297 >-+mssql.datetimeconvert = Off >- >- ; Use NT authentication when connecting to the server >- mssql.secure_connection = Off >-@@ -1841,7 +1790,7 @@ >- >- ; Sets the directory name where SOAP extension will put cache files. >- ; http://php.net/soap.wsdl-cache-dir >--soap.wsdl_cache_dir="/tmp" >-+soap.wsdl_cache_dir="/var/tmp" >- >- ; (time to live) Sets the number of second while cached file will be used >- ; instead of original one. >Index: SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch >=================================================================== >--- SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch (Revision 1174484) >+++ SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch (nicht existent) >@@ -1,1309 +0,0 @@ >-diff -rupN php-5.6.31.orig/ext/openssl/openssl.c php-5.6.31/ext/openssl/openssl.c >---- php-5.6.31.orig/ext/openssl/openssl.c 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/openssl.c 2017-08-01 10:55:28.108819344 +0200 >-@@ -42,6 +42,12 @@ >- >- /* OpenSSL includes */ >- #include <openssl/evp.h> >-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L >-+#include <openssl/bn.h> >-+#include <openssl/rsa.h> >-+#include <openssl/dsa.h> >-+#include <openssl/dh.h> >-+#endif >- #include <openssl/x509.h> >- #include <openssl/x509v3.h> >- #include <openssl/crypto.h> >-@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = >- ZEND_GET_MODULE(openssl) >- #endif >- >-+/* {{{ OpenSSL compatibility functions and macros */ >-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) >-+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa >-+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh >-+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa >-+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec >-+ >-+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) >-+{ >-+ r->n = n; >-+ r->e = e; >-+ r->d = d; >-+ >-+ return 1; >-+} >-+ >-+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) >-+{ >-+ r->p = p; >-+ r->q = q; >-+ >-+ return 1; >-+} >-+ >-+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) >-+{ >-+ r->dmp1 = dmp1; >-+ r->dmq1 = dmq1; >-+ r->iqmp = iqmp; >-+ >-+ return 1; >-+} >-+ >-+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) >-+{ >-+ *n = r->n; >-+ *e = r->e; >-+ *d = r->d; >-+} >-+ >-+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) >-+{ >-+ *p = r->p; >-+ *q = r->q; >-+} >-+ >-+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp) >-+{ >-+ *dmp1 = r->dmp1; >-+ *dmq1 = r->dmq1; >-+ *iqmp = r->iqmp; >-+} >-+ >-+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) >-+{ >-+ *p = dh->p; >-+ *q = dh->q; >-+ *g = dh->g; >-+} >-+ >-+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) >-+{ >-+ dh->p = p; >-+ dh->q = q; >-+ dh->g = g; >-+ >-+ return 1; >-+} >-+ >-+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) >-+{ >-+ *pub_key = dh->pub_key; >-+ *priv_key = dh->priv_key; >-+} >-+ >-+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) >-+{ >-+ dh->pub_key = pub_key; >-+ dh->priv_key = priv_key; >-+ >-+ return 1; >-+} >-+ >-+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) >-+{ >-+ *p = d->p; >-+ *q = d->q; >-+ *g = d->g; >-+} >-+ >-+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) >-+{ >-+ d->p = p; >-+ d->q = q; >-+ d->g = g; >-+ >-+ return 1; >-+} >-+ >-+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) >-+{ >-+ *pub_key = d->pub_key; >-+ *priv_key = d->priv_key; >-+} >-+ >-+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) >-+{ >-+ d->pub_key = pub_key; >-+ d->priv_key = priv_key; >-+ >-+ return 1; >-+} >-+ >-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER) >-+#define EVP_PKEY_id(_pkey) _pkey->type >-+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type) >-+ >-+static int X509_get_signature_nid(const X509 *x) >-+{ >-+ return OBJ_obj2nid(x->sig_alg->algorithm); >-+} >-+ >-+#endif >-+ >-+#endif >-+/* }}} */ >-+ >- static int le_key; >- static int le_x509; >- static int le_csr; >-@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x5 >- } >- for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) { >- cnf = sk_CONF_VALUE_value(sktmp, i); >-- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { >-+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { >- php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value); >- return FAILURE; >- } >-@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(s >- } >- /* }}} */ >- >--#ifdef PHP_WIN32 >-+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) >- #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) >- #else >- #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() >-@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_f >- mdtype = (EVP_MD *) EVP_md2(); >- break; >- #endif >-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) >- case OPENSSL_ALGO_DSS1: >- mdtype = (EVP_MD *) EVP_dss1(); >- break; >-+#endif >- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL >- case OPENSSL_ALGO_SHA224: >- mdtype = (EVP_MD *) EVP_sha224(); >-@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl) >- OpenSSL_add_all_digests(); >- OpenSSL_add_all_algorithms(); >- >-+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000 >-+ EVP_add_cipher(EVP_aes_128_ccm()); >-+ EVP_add_cipher(EVP_aes_192_ccm()); >-+ EVP_add_cipher(EVP_aes_256_ccm()); >-+#endif >-+ >- SSL_load_error_strings(); >- >- /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in >-@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl) >- #ifdef HAVE_OPENSSL_MD2_H >- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); >- #endif >-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) >- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); >-+#endif >- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL >- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); >- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT); >-@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl) >- } >- >- php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC); >-+#ifndef OPENSSL_NO_SSL3 >- php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC); >-+#endif >- #ifndef OPENSSL_NO_SSL2 >- php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC); >- #endif >-@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl) >- #ifndef OPENSSL_NO_SSL2 >- php_stream_xport_unregister("sslv2" TSRMLS_CC); >- #endif >-+#ifndef OPENSSL_NO_SSL3 >- php_stream_xport_unregister("sslv3" TSRMLS_CC); >-+#endif >- php_stream_xport_unregister("tls" TSRMLS_CC); >- php_stream_xport_unregister("tlsv1.0" TSRMLS_CC); >- #if OPENSSL_VERSION_NUMBER >= 0x10001001L >-@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName >- { >- GENERAL_NAMES *names; >- const X509V3_EXT_METHOD *method = NULL; >-+ ASN1_OCTET_STRING *extension_data; >- long i, length, num; >- const unsigned char *p; >- >-@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName >- return -1; >- } >- >-- p = extension->value->data; >-- length = extension->value->length; >-+ extension_data = X509_EXTENSION_get_data(extension); >-+ p = extension_data->data; >-+ length = extension_data->length; >- if (method->it) { >- names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length, >- ASN1_ITEM_ptr(method->it))); >-@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse) >- char * tmpstr; >- zval * subitem; >- X509_EXTENSION *extension; >-+ X509_NAME *subject_name; >-+ char *cert_name; >- char *extname; >- BIO *bio_out; >- BUF_MEM *bio_buf; >-@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse) >- } >- array_init(return_value); >- >-- if (cert->name) { >-- add_assoc_string(return_value, "name", cert->name, 1); >-- } >--/* add_assoc_bool(return_value, "valid", cert->valid); */ >-+ subject_name = X509_get_subject_name(cert); >-+ cert_name = X509_NAME_oneline(subject_name, NULL, 0); >-+ add_assoc_string(return_value, "name", cert_name, 1); >-+ OPENSSL_free(cert_name); >- >- add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC); >- /* hash as used in CA directories to lookup cert by subject name */ >-@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse) >- add_assoc_string(return_value, "alias", tmpstr, 1); >- } >- >-- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm); >-+ sig_nid = X509_get_signature_nid(cert); >- add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1); >- add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1); >- add_assoc_long(return_value, "signatureTypeNID", sig_nid); >-@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key) >- RETURN_FALSE; >- } >- >-- tpubkey=X509_REQ_get_pubkey(csr); >-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) >-+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, >-+ * the pub key is not changed after assigning. It means if we pass >-+ * a private key, it will be returned including the private part. >-+ * If we duplicate it, then we get just the public part which is >-+ * the same behavior as for OpenSSL 1.0 */ >-+ csr = X509_REQ_dup(csr); >-+#endif >-+ /* Retrieve the public key from the CSR */ >-+ tpubkey = X509_REQ_get_pubkey(csr); >-+ >-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) >-+ /* We need to free the CSR as it was duplicated */ >-+ X509_REQ_free(csr); >-+#endif >- RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC)); >- return; >- } >-@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EV >- { >- assert(pkey != NULL); >- >-- switch (pkey->type) { >-+ switch (EVP_PKEY_id(pkey)) { >- #ifndef NO_RSA >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >-- assert(pkey->pkey.rsa != NULL); >-- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) { >-- return 0; >-+ { >-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); >-+ if (rsa != NULL) { >-+ const BIGNUM *p, *q; >-+ >-+ RSA_get0_factors(rsa, &p, &q); >-+ if (p == NULL || q == NULL) { >-+ return 0; >-+ } >-+ } >- } >- break; >- #endif >-@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EV >- case EVP_PKEY_DSA2: >- case EVP_PKEY_DSA3: >- case EVP_PKEY_DSA4: >-- assert(pkey->pkey.dsa != NULL); >-- >-- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){ >-- return 0; >-+ { >-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); >-+ if (dsa != NULL) { >-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; >-+ >-+ DSA_get0_pqg(dsa, &p, &q, &g); >-+ if (p == NULL || q == NULL) { >-+ return 0; >-+ } >-+ >-+ DSA_get0_key(dsa, &pub_key, &priv_key); >-+ if (priv_key == NULL) { >-+ return 0; >-+ } >-+ } >- } >- break; >- #endif >- #ifndef NO_DH >- case EVP_PKEY_DH: >-- assert(pkey->pkey.dh != NULL); >-- >-- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) { >-- return 0; >-+ { >-+ DH *dh = EVP_PKEY_get0_DH(pkey); >-+ if (dh != NULL) { >-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; >-+ >-+ DH_get0_pqg(dh, &p, &q, &g); >-+ if (p == NULL) { >-+ return 0; >-+ } >-+ >-+ DH_get0_key(dh, &pub_key, &priv_key); >-+ if (priv_key == NULL) { >-+ return 0; >-+ } >-+ } >- } >- break; >- #endif >- #ifdef HAVE_EVP_PKEY_EC >- case EVP_PKEY_EC: >-- assert(pkey->pkey.ec != NULL); >-- >-- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) { >-- return 0; >-+ { >-+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); >-+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) { >-+ return 0; >-+ } >- } >- break; >- #endif >-@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EV >- } >- /* }}} */ >- >--#define OPENSSL_PKEY_GET_BN(_type, _name) do { \ >-- if (pkey->pkey._type->_name != NULL) { \ >-- int len = BN_num_bytes(pkey->pkey._type->_name); \ >-- char *str = emalloc(len + 1); \ >-- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \ >-- str[len] = 0; \ >-- add_assoc_stringl(_type, #_name, str, len, 0); \ >-- } \ >-- } while (0) >-- >--#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \ >-- zval **bn; \ >-- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \ >-- Z_TYPE_PP(bn) == IS_STRING) { \ >-- _type->_name = BN_bin2bn( \ >-- (unsigned char*)Z_STRVAL_PP(bn), \ >-- Z_STRLEN_PP(bn), NULL); \ >-- } \ >-+#define OPENSSL_GET_BN(_array, _bn, _name) do { \ >-+ if (_bn != NULL) { \ >-+ int len = BN_num_bytes(_bn); \ >-+ char *str = emalloc(len + 1); \ >-+ BN_bn2bin(_bn, (unsigned char*)str); \ >-+ str[len] = 0; \ >-+ add_assoc_stringl(_array, #_name, str, len, 0); \ >-+ } \ >- } while (0); >- >-+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name) >-+ >-+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \ >-+ zval **bn; \ >-+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \ >-+ Z_TYPE_PP(bn) == IS_STRING) { \ >-+ _name = BN_bin2bn( \ >-+ (unsigned char*)Z_STRVAL_PP(bn), \ >-+ Z_STRLEN_PP(bn), NULL); \ >-+ } else { \ >-+ _name = NULL; \ >-+ } \ >-+ } while (0); >-+ >-+/* {{{ php_openssl_pkey_init_rsa */ >-+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data) >-+{ >-+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; >-+ >-+ OPENSSL_PKEY_SET_BN(data, n); >-+ OPENSSL_PKEY_SET_BN(data, e); >-+ OPENSSL_PKEY_SET_BN(data, d); >-+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) { >-+ return 0; >-+ } >-+ >-+ OPENSSL_PKEY_SET_BN(data, p); >-+ OPENSSL_PKEY_SET_BN(data, q); >-+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) { >-+ return 0; >-+ } >-+ >-+ OPENSSL_PKEY_SET_BN(data, dmp1); >-+ OPENSSL_PKEY_SET_BN(data, dmq1); >-+ OPENSSL_PKEY_SET_BN(data, iqmp); >-+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) { >-+ return 0; >-+ } >-+ >-+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) { >-+ return 0; >-+ } >-+ >-+ return 1; >-+} >-+/* }}} */ >-+ >- /* {{{ php_openssl_pkey_init_dsa */ >--zend_bool php_openssl_pkey_init_dsa(DSA *dsa) >-+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data) >- { >-- if (!dsa->p || !dsa->q || !dsa->g) { >-+ BIGNUM *p, *q, *g, *priv_key, *pub_key; >-+ const BIGNUM *priv_key_const, *pub_key_const; >-+ >-+ OPENSSL_PKEY_SET_BN(data, p); >-+ OPENSSL_PKEY_SET_BN(data, q); >-+ OPENSSL_PKEY_SET_BN(data, g); >-+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) { >- return 0; >- } >-- if (dsa->priv_key || dsa->pub_key) { >-- return 1; >-+ >-+ OPENSSL_PKEY_SET_BN(data, pub_key); >-+ OPENSSL_PKEY_SET_BN(data, priv_key); >-+ if (pub_key) { >-+ return DSA_set0_key(dsa, pub_key, priv_key); >- } >- PHP_OPENSSL_RAND_ADD_TIME(); >- if (!DSA_generate_key(dsa)) { >-@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA >- } >- /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key >- * so we need to double check that public key is created */ >-- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) { >-+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const); >-+ if (!pub_key_const || BN_is_zero(pub_key_const)) { >- return 0; >- } >- /* all good */ >-@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA >- } >- /* }}} */ >- >-+/* {{{ php_openssl_dh_pub_from_priv */ >-+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p) >-+{ >-+ BIGNUM *pub_key, *priv_key_const_time; >-+ BN_CTX *ctx; >-+ >-+ pub_key = BN_new(); >-+ if (pub_key == NULL) { >-+ return NULL; >-+ } >-+ >-+ priv_key_const_time = BN_new(); >-+ if (priv_key_const_time == NULL) { >-+ BN_free(pub_key); >-+ return NULL; >-+ } >-+ ctx = BN_CTX_new(); >-+ if (ctx == NULL) { >-+ BN_free(pub_key); >-+ BN_free(priv_key_const_time); >-+ return NULL; >-+ } >-+ >-+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME); >-+ >-+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) { >-+ BN_free(pub_key); >-+ pub_key = NULL; >-+ } >-+ >-+ BN_free(priv_key_const_time); >-+ BN_CTX_free(ctx); >-+ >-+ return pub_key; >-+} >-+/* }}} */ >-+ >- /* {{{ php_openssl_pkey_init_dh */ >--zend_bool php_openssl_pkey_init_dh(DH *dh) >-+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data) >- { >-- if (!dh->p || !dh->g) { >-+ BIGNUM *p, *q, *g, *priv_key, *pub_key; >-+ >-+ OPENSSL_PKEY_SET_BN(data, p); >-+ OPENSSL_PKEY_SET_BN(data, q); >-+ OPENSSL_PKEY_SET_BN(data, g); >-+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) { >- return 0; >- } >-- if (dh->pub_key) { >-- return 1; >-+ >-+ OPENSSL_PKEY_SET_BN(data, priv_key); >-+ OPENSSL_PKEY_SET_BN(data, pub_key); >-+ if (pub_key) { >-+ return DH_set0_key(dh, pub_key, priv_key); >-+ } >-+ if (priv_key) { >-+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p); >-+ if (pub_key == NULL) { >-+ return 0; >-+ } >-+ return DH_set0_key(dh, pub_key, priv_key); >- } >- PHP_OPENSSL_RAND_ADD_TIME(); >- if (!DH_generate_key(dh)) { >-@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new) >- if (pkey) { >- RSA *rsa = RSA_new(); >- if (rsa) { >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp); >-- if (rsa->n && rsa->d) { >-- if (EVP_PKEY_assign_RSA(pkey, rsa)) { >-- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); >-- } >-+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) { >-+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); >- } >- RSA_free(rsa); >- } >-@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new) >- if (pkey) { >- DSA *dsa = DSA_new(); >- if (dsa) { >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key); >-- if (php_openssl_pkey_init_dsa(dsa)) { >-+ if (php_openssl_pkey_init_dsa(dsa, *data)) { >- if (EVP_PKEY_assign_DSA(pkey, dsa)) { >- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); >- } >-@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new) >- if (pkey) { >- DH *dh = DH_new(); >- if (dh) { >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key); >-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key); >-- if (php_openssl_pkey_init_dh(dh)) { >-+ if (php_openssl_pkey_init_dh(dh, *data)) { >- if (EVP_PKEY_assign_DH(pkey, dh)) { >- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); >- } >-@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file >- cipher = NULL; >- } >- >-- switch (EVP_PKEY_type(key->type)) { >-+ switch (EVP_PKEY_base_id(key)) { >- #ifdef HAVE_EVP_PKEY_EC >- case EVP_PKEY_EC: >-- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); >-+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); >- break; >- #endif >- default: >-@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export) >- cipher = NULL; >- } >- >-- switch (EVP_PKEY_type(key->type)) { >-+ switch (EVP_PKEY_base_id(key)) { >- #ifdef HAVE_EVP_PKEY_EC >- case EVP_PKEY_EC: >- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); >-@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details) >- /*TODO: Use the real values once the openssl constants are used >- * See the enum at the top of this file >- */ >-- switch (EVP_PKEY_type(pkey->type)) { >-+ switch (EVP_PKEY_base_id(pkey)) { >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >-- ktype = OPENSSL_KEYTYPE_RSA; >-- >-- if (pkey->pkey.rsa != NULL) { >-- zval *rsa; >-- >-- ALLOC_INIT_ZVAL(rsa); >-- array_init(rsa); >-- OPENSSL_PKEY_GET_BN(rsa, n); >-- OPENSSL_PKEY_GET_BN(rsa, e); >-- OPENSSL_PKEY_GET_BN(rsa, d); >-- OPENSSL_PKEY_GET_BN(rsa, p); >-- OPENSSL_PKEY_GET_BN(rsa, q); >-- OPENSSL_PKEY_GET_BN(rsa, dmp1); >-- OPENSSL_PKEY_GET_BN(rsa, dmq1); >-- OPENSSL_PKEY_GET_BN(rsa, iqmp); >-- add_assoc_zval(return_value, "rsa", rsa); >-+ { >-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); >-+ ktype = OPENSSL_KEYTYPE_RSA; >-+ >-+ if (rsa != NULL) { >-+ zval *z_rsa; >-+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; >-+ >-+ RSA_get0_key(rsa, &n, &e, &d); >-+ RSA_get0_factors(rsa, &p, &q); >-+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp); >-+ >-+ ALLOC_INIT_ZVAL(z_rsa); >-+ array_init(z_rsa); >-+ OPENSSL_PKEY_GET_BN(z_rsa, n); >-+ OPENSSL_PKEY_GET_BN(z_rsa, e); >-+ OPENSSL_PKEY_GET_BN(z_rsa, d); >-+ OPENSSL_PKEY_GET_BN(z_rsa, p); >-+ OPENSSL_PKEY_GET_BN(z_rsa, q); >-+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1); >-+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1); >-+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp); >-+ add_assoc_zval(return_value, "rsa", z_rsa); >-+ } >- } >- >- break; >-@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details) >- case EVP_PKEY_DSA2: >- case EVP_PKEY_DSA3: >- case EVP_PKEY_DSA4: >-- ktype = OPENSSL_KEYTYPE_DSA; >-- >-- if (pkey->pkey.dsa != NULL) { >-- zval *dsa; >-- >-- ALLOC_INIT_ZVAL(dsa); >-- array_init(dsa); >-- OPENSSL_PKEY_GET_BN(dsa, p); >-- OPENSSL_PKEY_GET_BN(dsa, q); >-- OPENSSL_PKEY_GET_BN(dsa, g); >-- OPENSSL_PKEY_GET_BN(dsa, priv_key); >-- OPENSSL_PKEY_GET_BN(dsa, pub_key); >-- add_assoc_zval(return_value, "dsa", dsa); >-+ { >-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); >-+ ktype = OPENSSL_KEYTYPE_DSA; >-+ >-+ if (dsa != NULL) { >-+ zval *z_dsa; >-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; >-+ >-+ DSA_get0_pqg(dsa, &p, &q, &g); >-+ DSA_get0_key(dsa, &pub_key, &priv_key); >-+ >-+ ALLOC_INIT_ZVAL(z_dsa); >-+ array_init(z_dsa); >-+ OPENSSL_PKEY_GET_BN(z_dsa, p); >-+ OPENSSL_PKEY_GET_BN(z_dsa, q); >-+ OPENSSL_PKEY_GET_BN(z_dsa, g); >-+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key); >-+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key); >-+ add_assoc_zval(return_value, "dsa", z_dsa); >-+ } >- } >- break; >- case EVP_PKEY_DH: >-- >-- ktype = OPENSSL_KEYTYPE_DH; >-- >-- if (pkey->pkey.dh != NULL) { >-- zval *dh; >-- >-- ALLOC_INIT_ZVAL(dh); >-- array_init(dh); >-- OPENSSL_PKEY_GET_BN(dh, p); >-- OPENSSL_PKEY_GET_BN(dh, g); >-- OPENSSL_PKEY_GET_BN(dh, priv_key); >-- OPENSSL_PKEY_GET_BN(dh, pub_key); >-- add_assoc_zval(return_value, "dh", dh); >-+ { >-+ DH *dh = EVP_PKEY_get0_DH(pkey); >-+ ktype = OPENSSL_KEYTYPE_DH; >-+ >-+ if (dh != NULL) { >-+ zval *z_dh; >-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; >-+ >-+ DH_get0_pqg(dh, &p, &q, &g); >-+ DH_get0_key(dh, &pub_key, &priv_key); >-+ >-+ ALLOC_INIT_ZVAL(z_dh); >-+ array_init(z_dh); >-+ OPENSSL_PKEY_GET_BN(z_dh, p); >-+ OPENSSL_PKEY_GET_BN(z_dh, g); >-+ OPENSSL_PKEY_GET_BN(z_dh, priv_key); >-+ OPENSSL_PKEY_GET_BN(z_dh, pub_key); >-+ add_assoc_zval(return_value, "dh", z_dh); >-+ } >- } >- >- break; >- #ifdef HAVE_EVP_PKEY_EC >- case EVP_PKEY_EC: >- ktype = OPENSSL_KEYTYPE_EC; >-- if (pkey->pkey.ec != NULL) { >-+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) { >- zval *ec; >- const EC_GROUP *ec_group; >- int nid; >-@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt) >- cryptedlen = EVP_PKEY_size(pkey); >- cryptedbuf = emalloc(cryptedlen + 1); >- >-- switch (pkey->type) { >-+ switch (EVP_PKEY_id(pkey)) { >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >- successful = (RSA_private_encrypt(data_len, >- (unsigned char *)data, >- cryptedbuf, >-- pkey->pkey.rsa, >-+ EVP_PKEY_get0_RSA(pkey), >- padding) == cryptedlen); >- break; >- default: >-@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt) >- cryptedlen = EVP_PKEY_size(pkey); >- crypttemp = emalloc(cryptedlen + 1); >- >-- switch (pkey->type) { >-+ switch (EVP_PKEY_id(pkey)) { >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >- cryptedlen = RSA_private_decrypt(data_len, >- (unsigned char *)data, >- crypttemp, >-- pkey->pkey.rsa, >-+ EVP_PKEY_get0_RSA(pkey), >- padding); >- if (cryptedlen != -1) { >- cryptedbuf = emalloc(cryptedlen + 1); >-@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt) >- cryptedlen = EVP_PKEY_size(pkey); >- cryptedbuf = emalloc(cryptedlen + 1); >- >-- switch (pkey->type) { >-+ switch (EVP_PKEY_id(pkey)) { >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >- successful = (RSA_public_encrypt(data_len, >- (unsigned char *)data, >- cryptedbuf, >-- pkey->pkey.rsa, >-+ EVP_PKEY_get0_RSA(pkey), >- padding) == cryptedlen); >- break; >- default: >-@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt) >- cryptedlen = EVP_PKEY_size(pkey); >- crypttemp = emalloc(cryptedlen + 1); >- >-- switch (pkey->type) { >-+ switch (EVP_PKEY_id(pkey)) { >- case EVP_PKEY_RSA: >- case EVP_PKEY_RSA2: >- cryptedlen = RSA_public_decrypt(data_len, >- (unsigned char *)data, >- crypttemp, >-- pkey->pkey.rsa, >-+ EVP_PKEY_get0_RSA(pkey), >- padding); >- if (cryptedlen != -1) { >- cryptedbuf = emalloc(cryptedlen + 1); >-@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign) >- long keyresource = -1; >- char * data; >- int data_len; >-- EVP_MD_CTX md_ctx; >-+ EVP_MD_CTX *md_ctx; >- zval *method = NULL; >- long signature_algo = OPENSSL_ALGO_SHA1; >- const EVP_MD *mdtype; >-@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign) >- siglen = EVP_PKEY_size(pkey); >- sigbuf = emalloc(siglen + 1); >- >-- EVP_SignInit(&md_ctx, mdtype); >-- EVP_SignUpdate(&md_ctx, data, data_len); >-- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { >-+ md_ctx = EVP_MD_CTX_create(); >-+ EVP_SignInit(md_ctx, mdtype); >-+ EVP_SignUpdate(md_ctx, data, data_len); >-+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { >- zval_dtor(signature); >- sigbuf[siglen] = '\0'; >- ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0); >-@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign) >- efree(sigbuf); >- RETVAL_FALSE; >- } >-- EVP_MD_CTX_cleanup(&md_ctx); >-+ EVP_MD_CTX_destroy(md_ctx); >- if (keyresource == -1) { >- EVP_PKEY_free(pkey); >- } >-@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify) >- zval **key; >- EVP_PKEY *pkey; >- int err; >-- EVP_MD_CTX md_ctx; >-+ EVP_MD_CTX *md_ctx; >- const EVP_MD *mdtype; >- long keyresource = -1; >- char * data; int data_len; >-@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify) >- RETURN_FALSE; >- } >- >-- EVP_VerifyInit (&md_ctx, mdtype); >-- EVP_VerifyUpdate (&md_ctx, data, data_len); >-- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey); >-- EVP_MD_CTX_cleanup(&md_ctx); >-+ md_ctx = EVP_MD_CTX_create(); >-+ EVP_VerifyInit (md_ctx, mdtype); >-+ EVP_VerifyUpdate (md_ctx, data, data_len); >-+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey); >-+ EVP_MD_CTX_destroy(md_ctx); >- >- if (keyresource == -1) { >- EVP_PKEY_free(pkey); >-@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal) >- char *method =NULL; >- int method_len = 0; >- const EVP_CIPHER *cipher; >-- EVP_CIPHER_CTX ctx; >-+ EVP_CIPHER_CTX *ctx; >- >- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) { >- return; >-@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal) >- memset(eks, 0, sizeof(*eks) * nkeys); >- key_resources = safe_emalloc(nkeys, sizeof(long), 0); >- memset(key_resources, 0, sizeof(*key_resources) * nkeys); >-+ memset(pkeys, 0, sizeof(*pkeys) * nkeys); >- >- /* get the public keys we are using to seal this data */ >- zend_hash_internal_pointer_reset_ex(pubkeysht, &pos); >-@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal) >- i++; >- } >- >-- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) { >-+ ctx = EVP_CIPHER_CTX_new(); >-+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) { >- RETVAL_FALSE; >-- EVP_CIPHER_CTX_cleanup(&ctx); >-+ EVP_CIPHER_CTX_free(ctx); >- goto clean_exit; >- } >- >- #if 0 >- /* Need this if allow ciphers that require initialization vector */ >-- ivlen = EVP_CIPHER_CTX_iv_length(&ctx); >-+ ivlen = EVP_CIPHER_CTX_iv_length(ctx); >- iv = ivlen ? emalloc(ivlen + 1) : NULL; >- #endif >- /* allocate one byte extra to make room for \0 */ >-- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx)); >-- EVP_CIPHER_CTX_cleanup(&ctx); >-+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx)); >-+ EVP_CIPHER_CTX_cleanup(ctx); >- >-- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || >-- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) || >-- !EVP_SealFinal(&ctx, buf + len1, &len2)) { >-+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || >-+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) || >-+ !EVP_SealFinal(ctx, buf + len1, &len2)) { >- RETVAL_FALSE; >- efree(buf); >-- EVP_CIPHER_CTX_cleanup(&ctx); >-+ EVP_CIPHER_CTX_free(ctx); >- goto clean_exit; >- } >- >-@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal) >- efree(buf); >- } >- RETVAL_LONG(len1 + len2); >-- EVP_CIPHER_CTX_cleanup(&ctx); >-+ EVP_CIPHER_CTX_free(ctx); >- >- clean_exit: >- for (i=0; i<nkeys; i++) { >-@@ -5045,7 +5345,7 @@ PHP_FUNCTION(openssl_open) >- int len1, len2; >- unsigned char *buf; >- long keyresource = -1; >-- EVP_CIPHER_CTX ctx; >-+ EVP_CIPHER_CTX *ctx; >- char * data; int data_len; >- char * ekey; int ekey_len; >- char *method =NULL; >-@@ -5074,8 +5374,9 @@ PHP_FUNCTION(openssl_open) >- >- buf = emalloc(data_len + 1); >- >-- if (EVP_OpenInit(&ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) { >-- if (!EVP_OpenFinal(&ctx, buf + len1, &len2) || (len1 + len2 == 0)) { >-+ ctx = EVP_CIPHER_CTX_new(); >-+ if (EVP_OpenInit(ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) { >-+ if (!EVP_OpenFinal(ctx, buf + len1, &len2) || (len1 + len2 == 0)) { >- efree(buf); >- RETVAL_FALSE; >- } else { >-@@ -5091,7 +5392,7 @@ PHP_FUNCTION(openssl_open) >- if (keyresource == -1) { >- EVP_PKEY_free(pkey); >- } >-- EVP_CIPHER_CTX_cleanup(&ctx); >-+ EVP_CIPHER_CTX_free(ctx); >- } >- /* }}} */ >- >-@@ -5151,7 +5452,7 @@ PHP_FUNCTION(openssl_digest) >- char *data, *method; >- int data_len, method_len; >- const EVP_MD *mdtype; >-- EVP_MD_CTX md_ctx; >-+ EVP_MD_CTX *md_ctx; >- int siglen; >- unsigned char *sigbuf; >- >-@@ -5167,9 +5468,10 @@ PHP_FUNCTION(openssl_digest) >- siglen = EVP_MD_size(mdtype); >- sigbuf = emalloc(siglen + 1); >- >-- EVP_DigestInit(&md_ctx, mdtype); >-- EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len); >-- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { >-+ md_ctx = EVP_MD_CTX_create(); >-+ EVP_DigestInit(md_ctx, mdtype); >-+ EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len); >-+ if (EVP_DigestFinal (md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { >- if (raw_output) { >- sigbuf[siglen] = '\0'; >- RETVAL_STRINGL((char *)sigbuf, siglen, 0); >-@@ -5185,6 +5487,8 @@ PHP_FUNCTION(openssl_digest) >- efree(sigbuf); >- RETVAL_FALSE; >- } >-+ >-+ EVP_MD_CTX_destroy(md_ctx); >- } >- /* }}} */ >- >-@@ -5230,7 +5534,7 @@ PHP_FUNCTION(openssl_encrypt) >- char *data, *method, *password, *iv = ""; >- int data_len, method_len, password_len, iv_len = 0, max_iv_len; >- const EVP_CIPHER *cipher_type; >-- EVP_CIPHER_CTX cipher_ctx; >-+ EVP_CIPHER_CTX *cipher_ctx; >- int i=0, outlen, keylen; >- unsigned char *outbuf, *key; >- zend_bool free_iv; >-@@ -5262,19 +5566,24 @@ PHP_FUNCTION(openssl_encrypt) >- outlen = data_len + EVP_CIPHER_block_size(cipher_type); >- outbuf = safe_emalloc(outlen, 1, 1); >- >-- EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL); >-+ cipher_ctx = EVP_CIPHER_CTX_new(); >-+ if (!cipher_ctx) { >-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); >-+ RETURN_FALSE; >-+ } >-+ EVP_EncryptInit(cipher_ctx, cipher_type, NULL, NULL); >- if (password_len > keylen) { >-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); >-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); >- } >-- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); >-+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); >- if (options & OPENSSL_ZERO_PADDING) { >-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); >-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); >- } >- if (data_len > 0) { >-- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); >-+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); >- } >- outlen = i; >-- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { >-+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { >- outlen += i; >- if (options & OPENSSL_RAW_DATA) { >- outbuf[outlen] = '\0'; >-@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt) >- if (free_iv) { >- efree(iv); >- } >-- EVP_CIPHER_CTX_cleanup(&cipher_ctx); >-+ EVP_CIPHER_CTX_cleanup(cipher_ctx); >-+ EVP_CIPHER_CTX_free(cipher_ctx); >- } >- /* }}} */ >- >-@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt) >- char *data, *method, *password, *iv = ""; >- int data_len, method_len, password_len, iv_len = 0; >- const EVP_CIPHER *cipher_type; >-- EVP_CIPHER_CTX cipher_ctx; >-+ EVP_CIPHER_CTX *cipher_ctx; >- int i, outlen, keylen; >- unsigned char *outbuf, *key; >- int base64_str_len; >-@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt) >- outlen = data_len + EVP_CIPHER_block_size(cipher_type); >- outbuf = emalloc(outlen + 1); >- >-- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL); >-+ cipher_ctx = EVP_CIPHER_CTX_new(); >-+ if (!cipher_ctx) { >-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); >-+ RETURN_FALSE; >-+ } >-+ >-+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL); >- if (password_len > keylen) { >-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); >-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); >- } >-- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); >-+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); >- if (options & OPENSSL_ZERO_PADDING) { >-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); >-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); >- } >-- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); >-+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); >- outlen = i; >-- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { >-+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { >- outlen += i; >- outbuf[outlen] = '\0'; >- RETVAL_STRINGL((char *)outbuf, outlen, 0); >-@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt) >- if (base64_str) { >- efree(base64_str); >- } >-- EVP_CIPHER_CTX_cleanup(&cipher_ctx); >-+ EVP_CIPHER_CTX_cleanup(cipher_ctx); >-+ EVP_CIPHER_CTX_free(cipher_ctx); >- } >- /* }}} */ >- >-@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key) >- zval *key; >- char *pub_str; >- int pub_len; >-+ DH *dh; >- EVP_PKEY *pkey; >- BIGNUM *pub; >- char *data; >-@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key) >- return; >- } >- ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key); >-- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) { >-+ if (pkey == NULL) { >-+ RETURN_FALSE; >-+ } >-+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) { >-+ RETURN_FALSE; >-+ } >-+ dh = EVP_PKEY_get0_DH(pkey); >-+ if (dh == NULL) { >- RETURN_FALSE; >- } >- >- pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL); >- >-- data = emalloc(DH_size(pkey->pkey.dh) + 1); >-- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh); >-+ data = emalloc(DH_size(dh) + 1); >-+ len = DH_compute_key((unsigned char*)data, pub, dh); >- >- if (len >= 0) { >- data[len] = 0; >-diff -rupN php-5.6.31.orig/ext/openssl/tests/bug41033.phpt php-5.6.31/ext/openssl/tests/bug41033.phpt >---- php-5.6.31.orig/ext/openssl/tests/bug41033.phpt 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/tests/bug41033.phpt 2017-08-01 10:49:25.008823468 +0200 >-@@ -13,11 +13,11 @@ $pub = 'file://' . dirname(__FILE__) . ' >- >- $prkeyid = openssl_get_privatekey($prv, "1234"); >- $ct = "Hello I am some text!"; >--openssl_sign($ct, $signature, $prkeyid, OPENSSL_ALGO_DSS1); >-+openssl_sign($ct, $signature, $prkeyid, OPENSSL_VERSION_NUMBER < 0x10100000 ? OPENSSL_ALGO_DSS1 : OPENSSL_ALGO_SHA1); >- echo "Signature: ".base64_encode($signature) . "\n"; >- >- $pukeyid = openssl_get_publickey($pub); >--$valid = openssl_verify($ct, $signature, $pukeyid, OPENSSL_ALGO_DSS1); >-+$valid = openssl_verify($ct, $signature, $pukeyid, OPENSSL_VERSION_NUMBER < 0x10100000 ? OPENSSL_ALGO_DSS1 : OPENSSL_ALGO_SHA1); >- echo "Signature validity: " . $valid . "\n"; >- >- >-diff -rupN php-5.6.31.orig/ext/openssl/tests/bug66501.phpt php-5.6.31/ext/openssl/tests/bug66501.phpt >---- php-5.6.31.orig/ext/openssl/tests/bug66501.phpt 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/tests/bug66501.phpt 2017-08-01 10:49:25.008823468 +0200 >-@@ -16,7 +16,7 @@ AwEHoUQDQgAEPq4hbIWHvB51rdWr8ejrjWo4qVNW >- sqOTOnMoezkbSmVVMuwz9flvnqHGmQvmug== >- -----END EC PRIVATE KEY-----'; >- $key = openssl_pkey_get_private($pkey); >--$res = openssl_sign($data ='alpha', $sign, $key, 'ecdsa-with-SHA1'); >-+$res = openssl_sign($data ='alpha', $sign, $key, OPENSSL_VERSION_NUMBER < 0x10100000 ? 'ecdsa-with-SHA1' : 'SHA1'); >- var_dump($res); >- --EXPECTF-- >- bool(true) >-diff -rupN php-5.6.31.orig/ext/openssl/tests/openssl_error_string_basic.phpt php-5.6.31/ext/openssl/tests/openssl_error_string_basic.phpt >---- php-5.6.31.orig/ext/openssl/tests/openssl_error_string_basic.phpt 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/tests/openssl_error_string_basic.phpt 2017-08-01 10:49:25.008823468 +0200 >-@@ -105,7 +105,7 @@ expect_openssl_errors('openssl_private_d >- // public encrypt and decrypt with failed padding check and padding >- @openssl_public_encrypt("data", $crypted, $public_key_file, 1000); >- @openssl_public_decrypt("data", $crypted, $public_key_file); >--expect_openssl_errors('openssl_private_(en|de)crypt padding', ['0906D06C', '04068076', '0407006A', '04067072']); >-+expect_openssl_errors('openssl_private_(en|de)crypt padding', OPENSSL_VERSION_NUMBER < 0x10100000 ? ['0906D06C', '04068076', '0407006A', '04067072'] : ['0906D06C', '04068076', '04067072']); >- >- // X509 >- echo "X509 errors\n"; >-diff -rupN php-5.6.31.orig/ext/openssl/tests/sni_server.phpt php-5.6.31/ext/openssl/tests/sni_server.phpt >---- php-5.6.31.orig/ext/openssl/tests/sni_server.phpt 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/tests/sni_server.phpt 2017-08-01 10:49:25.012823468 +0200 >-@@ -27,6 +27,9 @@ CODE; >- $clientCode = <<<'CODE' >- $flags = STREAM_CLIENT_CONNECT; >- $ctxArr = [ >-+ 'verify_peer' => false, >-+ 'verify_peer_name' => false, >-+ 'allow_self_signed' => true, >- 'cafile' => __DIR__ . '/sni_server_ca.pem', >- 'capture_peer_cert' => true >- ]; >-diff -rupN php-5.6.31.orig/ext/openssl/xp_ssl.c php-5.6.31/ext/openssl/xp_ssl.c >---- php-5.6.31.orig/ext/openssl/xp_ssl.c 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/openssl/xp_ssl.c 2017-08-01 10:49:25.012823468 +0200 >-@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, >- static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */ >- { >- if (method_value == STREAM_CRYPTO_METHOD_SSLv2) { >--#ifndef OPENSSL_NO_SSL2 >-+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L >- return is_client ? SSLv2_client_method() : SSLv2_server_method(); >- #else >- php_error_docref(NULL TSRMLS_CC, E_WARNING, >-@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream >- } >- /* }}} */ >- >-+#define PHP_SSL_MAX_VERSION_LEN 32 >-+ >-+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */ >-+{ >-+ const char *version = SSL_CIPHER_get_version(c); >-+ strncpy(buffer, version, max_len); >-+ if (max_len <= strlen(version)) { >-+ buffer[max_len - 1] = 0; >-+ } >-+ return buffer; >-+} >-+/* }}} */ >-+ >- static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ >- { >- zval *meta_arr; >- char *proto_str; >- long proto = SSL_version(ssl_handle); >- const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle); >-+ char version_str[PHP_SSL_MAX_VERSION_LEN]; >- >- switch (proto) { >- #if OPENSSL_VERSION_NUMBER >= 0x10001001L >-@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *s >- add_assoc_string(meta_arr, "protocol", proto_str, 1); >- add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1); >- add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL)); >-- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1); >-+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1); >- >- return meta_arr; >- } >-diff -rupN php-5.6.31.orig/ext/phar/util.c php-5.6.31/ext/phar/util.c >---- php-5.6.31.orig/ext/phar/util.c 2017-07-06 00:25:00.000000000 +0200 >-+++ php-5.6.31/ext/phar/util.c 2017-08-01 10:49:25.020823468 +0200 >-@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp >- BIO *in; >- EVP_PKEY *key; >- EVP_MD *mdtype = (EVP_MD *) EVP_sha1(); >-- EVP_MD_CTX md_ctx; >-+ EVP_MD_CTX *md_ctx; >- #else >- int tempsig; >- #endif >-@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp >- return FAILURE; >- } >- >-- EVP_VerifyInit(&md_ctx, mdtype); >-+ md_ctx = EVP_MD_CTX_create(); >-+ EVP_VerifyInit(md_ctx, mdtype); >- read_len = end_of_phar; >- >- if (read_len > sizeof(buf)) { >-@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp >- php_stream_seek(fp, 0, SEEK_SET); >- >- while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) { >-- EVP_VerifyUpdate (&md_ctx, buf, len); >-+ EVP_VerifyUpdate (md_ctx, buf, len); >- read_len -= (off_t)len; >- >- if (read_len < read_size) { >-@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp >- } >- } >- >-- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) { >-+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) { >- /* 1: signature verified, 0: signature does not match, -1: failed signature operation */ >-- EVP_MD_CTX_cleanup(&md_ctx); >-+ EVP_MD_CTX_destroy(md_ctx); >- >- if (error) { >- spprintf(error, 0, "broken openssl signature"); >-@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp >- return FAILURE; >- } >- >-- EVP_MD_CTX_cleanup(&md_ctx); >-+ EVP_MD_CTX_destroy(md_ctx); >- #endif >- >- *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC); >Index: SOURCES/php-7.0.0RC5-apache-mod_php.diff >=================================================================== >--- SOURCES/php-7.0.0RC5-apache-mod_php.diff (nicht existent) >+++ SOURCES/php-7.0.0RC5-apache-mod_php.diff (Arbeitskopie) >@@ -0,0 +1,132 @@ >+diff -Naurp php-7.1.11/sapi/apache2handler/config.m4 BUILD/php-7.1.11/sapi/apache2handler/config.m4 >+--- php-7.1.11/sapi/apache2handler/config.m4 2017-10-25 09:04:42.000000000 +0200 >++++ BUILD/php-7.1.11/sapi/apache2handler/config.m4 2017-10-29 23:17:21.530899970 +0100 >+@@ -70,20 +70,20 @@ if test "$PHP_APXS2" != "no"; then >+ if test -z `$APXS -q SYSCONFDIR`; then >+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ >+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ >+- -i -n php7" >++ -i -n php" >+ else >+ APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` >+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ >+ \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ >+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ >+ -S SYSCONFDIR='$APXS_SYSCONFDIR' \ >+- -i -a -n php7" >++ -i -a -n php" >+ fi >+ >+ case $host_alias in >+ *aix*) >+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" >+- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >+ INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >+ ;; >+ *darwin*) >+@@ -99,19 +99,19 @@ if test "$PHP_APXS2" != "no"; then >+ fi >+ MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS" >+ PHP_SUBST(MH_BUNDLE_FLAGS) >+- PHP_SELECT_SAPI(apache2handler, bundle, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >+- SAPI_SHARED=libs/libphp7.so >++ PHP_SELECT_SAPI(apache2handler, bundle, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >++ SAPI_SHARED=libs/libphp.so >+ INSTALL_IT="$INSTALL_IT $SAPI_SHARED" >+ ;; >+ *beos*) >+ if test -f _APP_; then `rm _APP_`; fi >+ `ln -s $APXS_BINDIR/httpd _APP_` >+ EXTRA_LIBS="$EXTRA_LIBS _APP_" >+- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >+ INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >+ ;; >+ *) >+- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) >+ INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" >+ ;; >+ esac >+diff -Naurp php-7.1.11/sapi/apache2handler/mod_php7.c BUILD/php-7.1.11/sapi/apache2handler/mod_php7.c >+--- php-7.1.11/sapi/apache2handler/mod_php7.c 2017-10-25 09:04:42.000000000 +0200 >++++ BUILD/php-7.1.11/sapi/apache2handler/mod_php7.c 2017-10-29 23:14:04.848912458 +0100 >+@@ -25,7 +25,7 @@ >+ #include "php.h" >+ #include "php_apache.h" >+ >+-AP_MODULE_DECLARE_DATA module php7_module = { >++AP_MODULE_DECLARE_DATA module php_module = { >+ STANDARD20_MODULE_STUFF, >+ create_php_config, /* create per-directory config structure */ >+ merge_php_config, /* merge per-directory config structures */ >+diff -Naurp php-7.1.11/sapi/apache2handler/php_apache.h BUILD/php-7.1.11/sapi/apache2handler/php_apache.h >+--- php-7.1.11/sapi/apache2handler/php_apache.h 2017-10-25 09:04:42.000000000 +0200 >++++ BUILD/php-7.1.11/sapi/apache2handler/php_apache.h 2017-10-29 23:17:46.636898376 +0100 >+@@ -31,11 +31,11 @@ >+ >+ /* Enable per-module logging in Apache 2.4+ */ >+ #ifdef APLOG_USE_MODULE >+-APLOG_USE_MODULE(php7); >++APLOG_USE_MODULE(php); >+ #endif >+ >+ /* Declare this so we can get to it from outside the sapi_apache2.c file */ >+-extern module AP_MODULE_DECLARE_DATA php7_module; >++extern module AP_MODULE_DECLARE_DATA php_module; >+ >+ /* A way to specify the location of the php.ini dir in an apache directive */ >+ extern char *apache2_php_ini_path_override; >+diff -Naurp php-7.1.11/sapi/apache2handler/php_apache.h.rej BUILD/php-7.1.11/sapi/apache2handler/php_apache.h.rej >+--- php-7.1.11/sapi/apache2handler/php_apache.h.rej 1970-01-01 01:00:00.000000000 +0100 >++++ BUILD/php-7.1.11/sapi/apache2handler/php_apache.h.rej 2017-10-29 23:14:04.849912457 +0100 >+@@ -0,0 +1,11 @@ >++--- sapi/apache2handler/php_apache.h 2015-10-14 18:04:53.000000000 +0200 >+++++ sapi/apache2handler/php_apache.h 2015-10-22 17:18:39.523957881 +0200 >++@@ -29,7 +29,7 @@ >++ #include "main/php_streams.h" >++ >++ /* Declare this so we can get to it from outside the sapi_apache2.c file */ >++-extern module AP_MODULE_DECLARE_DATA php7_module; >+++extern module AP_MODULE_DECLARE_DATA php_module; >++ >++ /* A way to specify the location of the php.ini dir in an apache directive */ >++ extern char *apache2_php_ini_path_override; >+diff -Naurp php-7.1.11/sapi/apache2handler/php.sym BUILD/php-7.1.11/sapi/apache2handler/php.sym >+--- php-7.1.11/sapi/apache2handler/php.sym 2017-10-25 09:04:42.000000000 +0200 >++++ BUILD/php-7.1.11/sapi/apache2handler/php.sym 2017-10-29 23:14:04.850912457 +0100 >+@@ -1 +1 @@ >+-php7_module >++php_module >+diff -Naurp php-7.1.11/sapi/apache2handler/sapi_apache2.c BUILD/php-7.1.11/sapi/apache2handler/sapi_apache2.c >+--- php-7.1.11/sapi/apache2handler/sapi_apache2.c 2017-10-25 09:04:42.000000000 +0200 >++++ BUILD/php-7.1.11/sapi/apache2handler/sapi_apache2.c 2017-10-29 23:14:04.852912457 +0100 >+@@ -61,7 +61,7 @@ >+ >+ #define PHP_MAGIC_TYPE "application/x-httpd-php" >+ #define PHP_SOURCE_MAGIC_TYPE "application/x-httpd-php-source" >+-#define PHP_SCRIPT "php7-script" >++#define PHP_SCRIPT "php-script" >+ >+ /* A way to specify the location of the php.ini dir in an apache directive */ >+ char *apache2_php_ini_path_override = NULL; >+@@ -561,7 +561,7 @@ typedef struct { >+ HashTable config; >+ } php_conf_rec; >+ zend_string *str; >+- php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php7_module); >++ php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php_module); >+ >+ ZEND_HASH_FOREACH_STR_KEY(&c->config, str) { >+ zend_restore_ini_entry(str, ZEND_INI_STAGE_SHUTDOWN); >+@@ -590,7 +590,7 @@ static int php_handler(request_rec *r) >+ >+ #define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req); >+ >+- conf = ap_get_module_config(r->per_dir_config, &php7_module); >++ conf = ap_get_module_config(r->per_dir_config, &php_module); >+ >+ /* apply_config() needs r in some cases, so allocate server_context early */ >+ ctx = SG(server_context); >+ >Index: SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff >=================================================================== >--- SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff (nicht existent) >+++ SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff (Arbeitskopie) >@@ -0,0 +1,104 @@ >+diff -Naurp php-7.0.2/sapi/fpm/php-fpm.conf.in php-7.0.2.oden/sapi/fpm/php-fpm.conf.in >+--- php-7.0.2/sapi/fpm/php-fpm.conf.in 2016-01-06 11:05:07.000000000 +0100 >++++ php-7.0.2.oden/sapi/fpm/php-fpm.conf.in 2016-01-14 14:31:46.152709210 +0100 >+@@ -14,14 +14,14 @@ >+ ; Pid file >+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ >+ ; Default Value: none >+-;pid = run/php-fpm.pid >++pid = /var/run/php-fpm/php-fpm.pid >+ >+ ; Error log file >+ ; If it's set to "syslog", log is sent to syslogd instead of being written >+ ; into a local file. >+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ >+ ; Default Value: log/php-fpm.log >+-;error_log = log/php-fpm.log >++error_log = /var/log/php-fpm/php-fpm.log >+ >+ ; syslog_facility is used to specify what type of program is logging the >+ ; message. This lets syslogd specify that messages from different facilities >+@@ -122,4 +122,4 @@ error_log = /var/log/php-fpm/php-fpm.log >+ ; Relative path can also be used. They will be prefixed by: >+ ; - the global prefix if it's been set (-p argument) >+ ; - @prefix@ otherwise >+-include=@php_fpm_sysconfdir@/php-fpm.d/*.conf >++include=/etc/php-fpm.d/*.conf >+diff -Naurp php-7.0.2/sapi/fpm/www.conf.in php-7.0.2.oden/sapi/fpm/www.conf.in >+--- php-7.0.2/sapi/fpm/www.conf.in 2016-01-06 11:05:07.000000000 +0100 >++++ php-7.0.2.oden/sapi/fpm/www.conf.in 2016-01-14 14:40:55.431380216 +0100 >+@@ -33,7 +33,8 @@ group = @php_fpm_group@ >+ ; (IPv6 and IPv4-mapped) on a specific port; >+ ; '/path/to/unix/socket' - to listen on a unix socket. >+ ; Note: This value is mandatory. >+-listen = 127.0.0.1:9000 >++; listen = 127.0.0.1:9000 >++listen = /var/lib/php-fpm/php-fpm.sock >+ >+ ; Set listen(2) backlog. >+ ; Default Value: 511 (-1 on FreeBSD and OpenBSD) >+@@ -44,9 +45,9 @@ listen = 127.0.0.1:9000 >+ ; BSD-derived systems allow connections regardless of permissions. >+ ; Default Values: user and group are set as the running user >+ ; mode is set to 0660 >+-;listen.owner = @php_fpm_user@ >+-;listen.group = @php_fpm_group@ >+-;listen.mode = 0660 >++listen.owner = @php_fpm_user@ >++listen.group = @php_fpm_group@ >++listen.mode = 0660 >+ ; When POSIX Access Control Lists are supported you can set them using >+ ; these options, value is a comma separated list of user/group names. >+ ; When set, listen.owner and listen.group are ignored >+@@ -104,22 +105,22 @@ pm = dynamic >+ ; forget to tweak pm.* to fit your needs. >+ ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' >+ ; Note: This value is mandatory. >+-pm.max_children = 5 >++pm.max_children = 35 >+ >+ ; The number of child processes created on startup. >+ ; Note: Used only when pm is set to 'dynamic' >+ ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 >+-pm.start_servers = 2 >++pm.start_servers = 20 >+ >+ ; The desired minimum number of idle server processes. >+ ; Note: Used only when pm is set to 'dynamic' >+ ; Note: Mandatory when pm is set to 'dynamic' >+-pm.min_spare_servers = 1 >++pm.min_spare_servers = 5 >+ >+ ; The desired maximum number of idle server processes. >+ ; Note: Used only when pm is set to 'dynamic' >+ ; Note: Mandatory when pm is set to 'dynamic' >+-pm.max_spare_servers = 3 >++pm.max_spare_servers = 35 >+ >+ ; The number of seconds after which an idle process will be killed. >+ ; Note: Used only when pm is set to 'ondemand' >+@@ -130,7 +131,7 @@ pm.max_spare_servers = 3 >+ ; This can be useful to work around memory leaks in 3rd party libraries. For >+ ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. >+ ; Default Value: 0 >+-;pm.max_requests = 500 >++pm.max_requests = 10000 >+ >+ ; The URI to view the FPM status page. If this value is not set, no URI will be >+ ; recognized as a status page. It shows the following informations: >+@@ -315,6 +316,7 @@ pm.max_spare_servers = 3 >+ ; Default Value: not set >+ ; Note: slowlog is mandatory if request_slowlog_timeout is set >+ ;slowlog = log/$pool.log.slow >++slowlog = /var/log/php-fpm/php-fpm.log.slow >+ >+ ; The timeout for serving a single request after which a PHP backtrace will be >+ ; dumped to the 'slowlog' file. A value of '0s' means 'off'. >+@@ -386,6 +388,7 @@ pm.max_spare_servers = 3 >+ ;env[TMP] = /tmp >+ ;env[TMPDIR] = /tmp >+ ;env[TEMP] = /tmp >++env[PATH] = $PATH >+ >+ ; Additional php.ini defines, specific to this pool of workers. These settings >+ ; overwrite the values previously defined in the php.ini. The directives are the >Index: SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff >=================================================================== >--- SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff (nicht existent) >+++ SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff (Arbeitskopie) >@@ -0,0 +1,23 @@ >+diff -Naur php-7.0.0RC5/sapi/fpm/config.m4 php-7.0.0RC5.oden/sapi/fpm/config.m4 >+--- php-7.0.0RC5/sapi/fpm/config.m4 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/fpm/config.m4 2015-10-22 16:52:24.944644439 +0200 >+@@ -718,7 +718,7 @@ >+ BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >+ ;; >+ *) >+- BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >++ BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" >+ ;; >+ esac >+ >+diff -Naur php-7.0.0RC5/sapi/fpm/Makefile.frag php-7.0.0RC5.oden/sapi/fpm/Makefile.frag >+--- php-7.0.0RC5/sapi/fpm/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/fpm/Makefile.frag 2015-10-22 16:51:17.946143249 +0200 >+@@ -1,6 +1,6 @@ >+ fpm: $(SAPI_FPM_PATH) >+ >+-$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS) >++$(SAPI_FPM_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS) >+ $(BUILD_FPM) >+ >+ install-fpm: $(SAPI_FPM_PATH) >Index: SOURCES/php-7.0.2RC1-libdb.diff >=================================================================== >--- SOURCES/php-7.0.2RC1-libdb.diff (nicht existent) >+++ SOURCES/php-7.0.2RC1-libdb.diff (Arbeitskopie) >@@ -0,0 +1,92 @@ >+diff -Naurp php-7.0.2RC1/ext/dba/config.m4 php-7.0.2RC1.oden/ext/dba/config.m4 >+--- php-7.0.2RC1/ext/dba/config.m4 2015-12-22 16:19:29.000000000 +0100 >++++ php-7.0.2RC1.oden/ext/dba/config.m4 2015-12-26 07:35:37.007337965 +0100 >+@@ -312,61 +312,13 @@ if test "$PHP_DB4" != "no"; then >+ dbdp4="/usr/local/BerkeleyDB.4." >+ dbdp5="/usr/local/BerkeleyDB.5." >+ for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do >+- if test -f "$i/db5/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/db5/db.h >+- break >+- elif test -f "$i/db4/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/db4/db.h >+- break >+- elif test -f "$i/include/db5.3/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db5.3/db.h >+- break >+- elif test -f "$i/include/db5.1/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db5.1/db.h >+- break >+- elif test -f "$i/include/db5.0/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db5.0/db.h >+- break >+- elif test -f "$i/include/db4.8/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4.8/db.h >+- break >+- elif test -f "$i/include/db4.7/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4.7/db.h >+- break >+- elif test -f "$i/include/db4.6/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4.6/db.h >+- break >+- elif test -f "$i/include/db4.5/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4.5/db.h >+- break >+- elif test -f "$i/include/db4/db.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4/db.h >+- break >+- elif test -f "$i/include/db/db4.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db/db4.h >+- break >+- elif test -f "$i/include/db4.h"; then >+- THIS_PREFIX=$i >+- THIS_INCLUDE=$i/include/db4.h >+- break >+- elif test -f "$i/include/db.h"; then >++ if test -f "$i/include/db.h"; then >+ THIS_PREFIX=$i >+ THIS_INCLUDE=$i/include/db.h >+ break >+ fi >+ done >+- PHP_DBA_DB_CHECK(4, db-5.3 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) >++ PHP_DBA_DB_CHECK(4, db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) >+ fi >+ PHP_DBA_STD_RESULT(db4,Berkeley DB4) >+ >+diff -Naurp php-7.0.2RC1/ext/dba/dba.c php-7.0.2RC1.oden/ext/dba/dba.c >+--- php-7.0.2RC1/ext/dba/dba.c 2015-12-22 16:19:29.000000000 +0100 >++++ php-7.0.2RC1.oden/ext/dba/dba.c 2015-12-26 07:32:05.257021354 +0100 >+@@ -52,6 +52,10 @@ >+ #include "php_qdbm.h" >+ #include "php_tcadb.h" >+ >++#ifdef DB4_INCLUDE_FILE >++#include DB4_INCLUDE_FILE >++#endif >++ >+ /* {{{ arginfo */ >+ ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) >+ ZEND_ARG_INFO(0, path) >+@@ -552,6 +556,10 @@ PHP_MINFO_FUNCTION(dba) >+ >+ php_info_print_table_start(); >+ php_info_print_table_row(2, "DBA support", "enabled"); >++#ifdef DB_VERSION_STRING >++ php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); >++ php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); >++#endif >+ if (handlers.s) { >+ smart_str_0(&handlers); >+ php_info_print_table_row(2, "Supported handlers", ZSTR_VAL(handlers.s)); >Index: SOURCES/php-7.0.2RC1-session.use_strict_mode.diff >=================================================================== >--- SOURCES/php-7.0.2RC1-session.use_strict_mode.diff (nicht existent) >+++ SOURCES/php-7.0.2RC1-session.use_strict_mode.diff (Arbeitskopie) >@@ -0,0 +1,30 @@ >+diff -Naurp php-7.0.2RC1/php.ini-development php-7.0.2RC1.oden/php.ini-development >+--- php-7.0.2RC1/php.ini-development 2015-12-26 07:51:56.869130228 +0100 >++++ php-7.0.2RC1.oden/php.ini-development 2015-12-26 07:52:34.537420491 +0100 >+@@ -1267,6 +1267,11 @@ session.use_cookies = 1 >+ ; http://php.net/session.use-only-cookies >+ session.use_only_cookies = 1 >+ >++; This option forces new session ID when browser supplied uninitialized session >++; ID. By enabling this option, module prevents session fixation based on adoption. >++; http://php.net/session.use-strict-mode >++session.use_strict_mode = 0 >++ >+ ; Name of the session (used as cookie name). >+ ; http://php.net/session.name >+ session.name = PHPSESSID >+diff -Naurp php-7.0.2RC1/php.ini-production php-7.0.2RC1.oden/php.ini-production >+--- php-7.0.2RC1/php.ini-production 2015-12-26 07:51:56.869130228 +0100 >++++ php-7.0.2RC1.oden/php.ini-production 2015-12-26 07:52:34.537420491 +0100 >+@@ -1267,6 +1267,11 @@ session.use_cookies = 1 >+ ; http://php.net/session.use-only-cookies >+ session.use_only_cookies = 1 >+ >++; This option forces new session ID when browser supplied uninitialized session >++; ID. By enabling this option, module prevents session fixation based on adoption. >++; http://php.net/session.use-strict-mode >++session.use_strict_mode = 0 >++ >+ ; Name of the session (used as cookie name). >+ ; http://php.net/session.name >+ session.name = PHPSESSID >Index: SOURCES/php-7.1-mga_php.ini.diff >=================================================================== >--- SOURCES/php-7.1-mga_php.ini.diff (nicht existent) >+++ SOURCES/php-7.1-mga_php.ini.diff (Arbeitskopie) >@@ -0,0 +1,352 @@ >+--- php-7.1.11/php.ini-production 2017-10-25 09:04:42.000000000 +0200 >++++ php-7.1.11-trgt/php.ini-production 2017-10-29 16:48:10.633549461 +0100 >+@@ -170,7 +170,7 @@ >+ ;user_ini.filename = ".user.ini" >+ >+ ; To disable this feature set this option to empty value >+-;user_ini.filename = >++user_ini.filename = >+ >+ ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) >+ ;user_ini.cache_ttl = 300 >+@@ -194,7 +194,7 @@ engine = On >+ ; Development Value: Off >+ ; Production Value: Off >+ ; http://php.net/short-open-tag >+-short_open_tag = Off >++short_open_tag = On >+ >+ ; The number of significant digits displayed in floating point numbers. >+ ; http://php.net/precision >+@@ -313,6 +313,9 @@ serialize_precision = -1 >+ ; http://php.net/disable-functions >+ disable_functions = >+ >++; this is an example >++;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo >++ >+ ; This directive allows you to disable certain classes for security reasons. >+ ; It receives a comma-delimited list of class names. >+ ; http://php.net/disable-classes >+@@ -709,14 +712,9 @@ default_charset = "UTF-8" >+ ; Paths and Directories ; >+ ;;;;;;;;;;;;;;;;;;;;;;;;; >+ >+-; UNIX: "/path1:/path2" >+-;include_path = ".:/php/includes" >+-; >+-; Windows: "\path1;\path2" >+-;include_path = ".;c:\php\includes" >+-; >+ ; PHP's default setting for include_path is ".;/path/to/php/pear" >+ ; http://php.net/include-path >++include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" >+ >+ ; The root of the PHP pages, used only if nonempty. >+ ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root >+@@ -733,9 +731,7 @@ user_dir = >+ >+ ; Directory in which the loadable extensions (modules) reside. >+ ; http://php.net/extension-dir >+-; extension_dir = "./" >+-; On windows: >+-; extension_dir = "ext" >++extension_dir = "/usr/lib/php/extensions" >+ >+ ; Directory where the temporary files should be placed. >+ ; Defaults to the system default (see sys_get_temp_dir) >+@@ -817,11 +813,11 @@ file_uploads = On >+ ; Temporary directory for HTTP uploaded files (will use system default if not >+ ; specified). >+ ; http://php.net/upload-tmp-dir >+-;upload_tmp_dir = >++upload_tmp_dir = /var/tmp >+ >+ ; Maximum allowed size for uploaded files. >+ ; http://php.net/upload-max-filesize >+-upload_max_filesize = 2M >++upload_max_filesize = 16M >+ >+ ; Maximum number of files that can be uploaded via a single request >+ max_file_uploads = 20 >+@@ -862,68 +858,10 @@ default_socket_timeout = 60 >+ ;;;;;;;;;;;;;;;;;;;;;; >+ ; Dynamic Extensions ; >+ ;;;;;;;;;;;;;;;;;;;;;; >+- >+-; If you wish to have an extension loaded automatically, use the following >+-; syntax: >+-; >+-; extension=modulename.extension >+-; >+-; For example, on Windows: >+-; >+-; extension=msql.dll >+-; >+-; ... or under UNIX: >+-; >+-; extension=msql.so >+-; >+-; ... or with a path: >+-; >+-; extension=/path/to/extension/msql.so >+-; >+-; If you only provide the name of the extension, PHP will look for it in its >+-; default extension directory. >+-; >+-; Windows Extensions >+-; Note that ODBC support is built in, so no dll is needed for it. >+-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) >+-; extension folders as well as the separate PECL DLL download (PHP 5+). >+-; Be sure to appropriately set the extension_dir directive. >+-; >+-;extension=php_bz2.dll >+-;extension=php_curl.dll >+-;extension=php_fileinfo.dll >+-;extension=php_ftp.dll >+-;extension=php_gd2.dll >+-;extension=php_gettext.dll >+-;extension=php_gmp.dll >+-;extension=php_intl.dll >+-;extension=php_imap.dll >+-;extension=php_interbase.dll >+-;extension=php_ldap.dll >+-;extension=php_mbstring.dll >+-;extension=php_exif.dll ; Must be after mbstring as it depends on it >+-;extension=php_mysqli.dll >+-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client >+-;extension=php_openssl.dll >+-;extension=php_pdo_firebird.dll >+-;extension=php_pdo_mysql.dll >+-;extension=php_pdo_oci.dll >+-;extension=php_pdo_odbc.dll >+-;extension=php_pdo_pgsql.dll >+-;extension=php_pdo_sqlite.dll >+-;extension=php_pgsql.dll >+-;extension=php_shmop.dll >+- >+-; The MIBS data available in the PHP distribution must be installed. >+-; See http://www.php.net/manual/en/snmp.installation.php >+-;extension=php_snmp.dll >+- >+-;extension=php_soap.dll >+-;extension=php_sockets.dll >+-;extension=php_sqlite3.dll >+-;extension=php_tidy.dll >+-;extension=php_xmlrpc.dll >+-;extension=php_xsl.dll >++; In Mageia, we don't add the extensions in php.ini anymore, we put >++; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. >++; This is so that the RPMS can register themselves without having to >++; modify the php.ini file. >+ >+ ;;;;;;;;;;;;;;;;;;; >+ ; Module Settings ; >+@@ -1352,7 +1290,7 @@ session.save_handler = files >+ ; where MODE is the octal representation of the mode. Note that this >+ ; does not overwrite the process's umask. >+ ; http://php.net/session.save-path >+-;session.save_path = "/tmp" >++session.save_path = "/var/lib/php" >+ >+ ; Whether to use strict session mode. >+ ; Strict session mode does not accept uninitialized session ID and regenerate >+@@ -1414,7 +1352,12 @@ session.serialize_handler = php >+ ; Development Value: 1 >+ ; Production Value: 1 >+ ; http://php.net/session.gc-probability >+-session.gc_probability = 1 >++ >++; This is disabled in the Mageia Linux packages, due to the strict permissions >++; on /var/lib/php. Instead of setting this here, see the cronjob at >++; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the >++; /etc/php.d/*_session.ini file. >++session.gc_probability = 0 >+ >+ ; Defines the probability that the 'garbage collection' process is started on every >+ ; session initialization. The probability is calculated by using the following equation: >+@@ -1745,7 +1688,7 @@ soap.wsdl_cache_enabled=1 >+ >+ ; Sets the directory name where SOAP extension will put cache files. >+ ; http://php.net/soap.wsdl-cache-dir >+-soap.wsdl_cache_dir="/tmp" >++soap.wsdl_cache_dir="/var/tmp" >+ >+ ; (time to live) Sets the number of second while cached file will be used >+ ; instead of original one. >+--- php-7.1.11/php.ini-development 2017-10-25 09:04:42.000000000 +0200 >++++ php-7.1.11-trgt/php.ini-development 2017-10-29 16:48:26.819637434 +0100 >+@@ -170,7 +170,7 @@ >+ ;user_ini.filename = ".user.ini" >+ >+ ; To disable this feature set this option to empty value >+-;user_ini.filename = >++user_ini.filename = >+ >+ ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) >+ ;user_ini.cache_ttl = 300 >+@@ -194,7 +194,7 @@ engine = On >+ ; Development Value: Off >+ ; Production Value: Off >+ ; http://php.net/short-open-tag >+-short_open_tag = Off >++short_open_tag = On >+ >+ ; The number of significant digits displayed in floating point numbers. >+ ; http://php.net/precision >+@@ -313,6 +313,9 @@ serialize_precision = -1 >+ ; http://php.net/disable-functions >+ disable_functions = >+ >++; this is an example >++;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo >++ >+ ; This directive allows you to disable certain classes for security reasons. >+ ; It receives a comma-delimited list of class names. >+ ; http://php.net/disable-classes >+@@ -709,14 +712,9 @@ default_charset = "UTF-8" >+ ; Paths and Directories ; >+ ;;;;;;;;;;;;;;;;;;;;;;;;; >+ >+-; UNIX: "/path1:/path2" >+-;include_path = ".:/php/includes" >+-; >+-; Windows: "\path1;\path2" >+-;include_path = ".;c:\php\includes" >+-; >+ ; PHP's default setting for include_path is ".;/path/to/php/pear" >+ ; http://php.net/include-path >++include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" >+ >+ ; The root of the PHP pages, used only if nonempty. >+ ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root >+@@ -733,9 +731,7 @@ user_dir = >+ >+ ; Directory in which the loadable extensions (modules) reside. >+ ; http://php.net/extension-dir >+-; extension_dir = "./" >+-; On windows: >+-; extension_dir = "ext" >++extension_dir = "/usr/lib/php/extensions" >+ >+ ; Directory where the temporary files should be placed. >+ ; Defaults to the system default (see sys_get_temp_dir) >+@@ -817,11 +813,11 @@ file_uploads = On >+ ; Temporary directory for HTTP uploaded files (will use system default if not >+ ; specified). >+ ; http://php.net/upload-tmp-dir >+-;upload_tmp_dir = >++upload_tmp_dir = /var/tmp >+ >+ ; Maximum allowed size for uploaded files. >+ ; http://php.net/upload-max-filesize >+-upload_max_filesize = 2M >++upload_max_filesize = 16M >+ >+ ; Maximum number of files that can be uploaded via a single request >+ max_file_uploads = 20 >+@@ -862,68 +858,11 @@ default_socket_timeout = 60 >+ ;;;;;;;;;;;;;;;;;;;;;; >+ ; Dynamic Extensions ; >+ ;;;;;;;;;;;;;;;;;;;;;; >++; In Mageia, we don't add the extensions in php.ini anymore, we put >++; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. >++; This is so that the RPMS can register themselves without having to >++; modify the php.ini file. >+ >+-; If you wish to have an extension loaded automatically, use the following >+-; syntax: >+-; >+-; extension=modulename.extension >+-; >+-; For example, on Windows: >+-; >+-; extension=msql.dll >+-; >+-; ... or under UNIX: >+-; >+-; extension=msql.so >+-; >+-; ... or with a path: >+-; >+-; extension=/path/to/extension/msql.so >+-; >+-; If you only provide the name of the extension, PHP will look for it in its >+-; default extension directory. >+-; >+-; Windows Extensions >+-; Note that ODBC support is built in, so no dll is needed for it. >+-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) >+-; extension folders as well as the separate PECL DLL download (PHP 5+). >+-; Be sure to appropriately set the extension_dir directive. >+-; >+-;extension=php_bz2.dll >+-;extension=php_curl.dll >+-;extension=php_fileinfo.dll >+-;extension=php_ftp.dll >+-;extension=php_gd2.dll >+-;extension=php_gettext.dll >+-;extension=php_gmp.dll >+-;extension=php_intl.dll >+-;extension=php_imap.dll >+-;extension=php_interbase.dll >+-;extension=php_ldap.dll >+-;extension=php_mbstring.dll >+-;extension=php_exif.dll ; Must be after mbstring as it depends on it >+-;extension=php_mysqli.dll >+-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client >+-;extension=php_openssl.dll >+-;extension=php_pdo_firebird.dll >+-;extension=php_pdo_mysql.dll >+-;extension=php_pdo_oci.dll >+-;extension=php_pdo_odbc.dll >+-;extension=php_pdo_pgsql.dll >+-;extension=php_pdo_sqlite.dll >+-;extension=php_pgsql.dll >+-;extension=php_shmop.dll >+- >+-; The MIBS data available in the PHP distribution must be installed. >+-; See http://www.php.net/manual/en/snmp.installation.php >+-;extension=php_snmp.dll >+- >+-;extension=php_soap.dll >+-;extension=php_sockets.dll >+-;extension=php_sqlite3.dll >+-;extension=php_tidy.dll >+-;extension=php_xmlrpc.dll >+-;extension=php_xsl.dll >+ >+ ;;;;;;;;;;;;;;;;;;; >+ ; Module Settings ; >+@@ -1352,7 +1291,7 @@ session.save_handler = files >+ ; where MODE is the octal representation of the mode. Note that this >+ ; does not overwrite the process's umask. >+ ; http://php.net/session.save-path >+-;session.save_path = "/tmp" >++session.save_path = "/var/lib/php" >+ >+ ; Whether to use strict session mode. >+ ; Strict session mode does not accept uninitialized session ID and regenerate >+@@ -1414,7 +1353,12 @@ session.serialize_handler = php >+ ; Development Value: 1 >+ ; Production Value: 1 >+ ; http://php.net/session.gc-probability >+-session.gc_probability = 1 >++ >++; This is disabled in the Mageia Linux packages, due to the strict permissions >++; on /var/lib/php. Instead of setting this here, see the cronjob at >++; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the >++; /etc/php.d/*_session.ini file. >++session.gc_probability = 0 >+ >+ ; Defines the probability that the 'garbage collection' process is started on every >+ ; session initialization. The probability is calculated by using the following equation: >+@@ -1745,7 +1689,7 @@ soap.wsdl_cache_enabled=1 >+ >+ ; Sets the directory name where SOAP extension will put cache files. >+ ; http://php.net/soap.wsdl-cache-dir >+-soap.wsdl_cache_dir="/tmp" >++soap.wsdl_cache_dir="/var/tmp" >+ >+ ; (time to live) Sets the number of second while cached file will be used >+ ; instead of original one. >Index: SOURCES/php-bug43221.diff >=================================================================== >--- SOURCES/php-bug43221.diff (Revision 1174484) >+++ SOURCES/php-bug43221.diff (nicht existent) >@@ -1,17 +0,0 @@ >-diff -Naurp php-5.5.9/ext/simplexml/simplexml.c php-5.5.9.oden/ext/simplexml/simplexml.c >---- php-5.5.9/ext/simplexml/simplexml.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/simplexml/simplexml.c 2014-02-12 11:28:36.226857491 +0100 >-@@ -1660,6 +1660,13 @@ SXE_METHOD(addChild) >- >- localname = xmlSplitQName2((xmlChar *)qname, &prefix); >- if (localname == NULL) { >-+ if (nsuri_len > 0) { >-+ if (prefix != NULL) { >-+ xmlFree(prefix); >-+ } >-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute requires prefix for namespace"); >-+ return; >-+ } >- localname = xmlStrdup((xmlChar *)qname); >- } >- >Index: SOURCES/php-bug43589.diff >=================================================================== >--- SOURCES/php-bug43589.diff (Revision 1174484) >+++ SOURCES/php-bug43589.diff (nicht existent) >@@ -1,12 +0,0 @@ >-diff -Naurp php-5.5.9/ext/bz2/bz2_filter.c php-5.5.9.oden/ext/bz2/bz2_filter.c >---- php-5.5.9/ext/bz2/bz2_filter.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/bz2/bz2_filter.c 2014-02-12 11:29:43.416861248 +0100 >-@@ -276,6 +276,8 @@ static php_stream_filter_status_t php_bz >- data->strm.avail_out = data->outbuf_len; >- data->strm.next_out = data->outbuf; >- exit_status = PSFS_PASS_ON; >-+ } else if (status == BZ_OK) { >-+ break; >- } >- } >- } >Index: SOURCES/php-dlopen.diff >=================================================================== >--- SOURCES/php-dlopen.diff (Revision 1174484) >+++ SOURCES/php-dlopen.diff (Arbeitskopie) >@@ -1,13 +1,13 @@ >-diff -Naurp php-5.5.9/Zend/zend.h php-5.5.9.oden/Zend/zend.h >---- php-5.5.9/Zend/zend.h 2014-02-12 11:26:26.440850234 +0100 >-+++ php-5.5.9.oden/Zend/zend.h 2014-02-12 11:26:40.926851044 +0100 >-@@ -90,11 +90,11 @@ >+diff -Naurp php-7.0.0RC5/Zend/zend_portability.h php-7.0.0RC5.oden/Zend/zend_portability.h >+--- php-7.0.0RC5/Zend/zend_portability.h 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/Zend/zend_portability.h 2015-10-22 17:10:18.411863213 +0200 >+@@ -146,11 +146,11 @@ > # endif > > # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT) > -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) > +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) >- # elif defined(RTLD_DEEPBIND) >+ # elif defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) > -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND) > +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND) > # else >@@ -16,3 +16,4 @@ > # endif > # define DL_UNLOAD dlclose > # if defined(DLSYM_NEEDS_UNDERSCORE) >+ >Index: SOURCES/php-exif_nesting_level.diff >=================================================================== >--- SOURCES/php-exif_nesting_level.diff (Revision 1174484) >+++ SOURCES/php-exif_nesting_level.diff (Arbeitskopie) >@@ -1,6 +1,7 @@ >---- ext/exif/exif.c 2008-12-31 12:15:36.000000000 +0100 >-+++ ext/exif/exif.c.oden 2009-03-27 12:15:10.000000000 +0100 >-@@ -99,7 +99,7 @@ typedef unsigned char uchar; >+diff -Naurp php-7.0.2RC1/ext/exif/exif.c php-7.0.2RC1.oden/ext/exif/exif.c >+--- php-7.0.2RC1/ext/exif/exif.c 2015-12-22 16:19:30.000000000 +0100 >++++ php-7.0.2RC1.oden/ext/exif/exif.c 2015-12-26 07:45:06.900022377 +0100 >+@@ -89,7 +89,7 @@ typedef unsigned char uchar; > > #define EFREE_IF(ptr) if (ptr) efree(ptr) > >Index: SOURCES/php-fpm.logrotate >=================================================================== >--- SOURCES/php-fpm.logrotate (Revision 1174484) >+++ SOURCES/php-fpm.logrotate (Arbeitskopie) >@@ -1,4 +1,4 @@ >-/var/log/php-fpm/php-fpm.log /var/log/php-fpm/php-fpm-slow.log { >+/var/log/php-fpm/*.log { > rotate 5 > monthly > missingok >Index: SOURCES/php-imap-annotation+status-current.diff >=================================================================== >--- SOURCES/php-imap-annotation+status-current.diff (Revision 1174484) >+++ SOURCES/php-imap-annotation+status-current.diff (nicht existent) >@@ -1,302 +0,0 @@ >-diff -Naurp php-5.5.9/ext/imap/php_imap.c php-5.5.9.oden/ext/imap/php_imap.c >---- php-5.5.9/ext/imap/php_imap.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/imap/php_imap.c 2014-02-12 11:22:16.933836282 +0100 >-@@ -164,6 +164,22 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_geta >- ZEND_ARG_INFO(0, mailbox) >- ZEND_END_ARG_INFO() >- #endif >-+#if defined(HAVE_IMAP2005) >-+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setannotation, 0, 0, 5) >-+ ZEND_ARG_INFO(0, stream_id) >-+ ZEND_ARG_INFO(0, mailbox) >-+ ZEND_ARG_INFO(0, entry) >-+ ZEND_ARG_INFO(0, attr) >-+ ZEND_ARG_INFO(0, value) >-+ZEND_END_ARG_INFO() >-+ >-+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getannotation, 0, 0, 4) >-+ ZEND_ARG_INFO(0, stream_id) >-+ ZEND_ARG_INFO(0, mailbox) >-+ ZEND_ARG_INFO(0, entry) >-+ ZEND_ARG_INFO(0, attr) >-+ZEND_END_ARG_INFO() >-+#endif >- >- ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_expunge, 0, 0, 1) >- ZEND_ARG_INFO(0, stream_id) >-@@ -408,6 +424,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_stat >- ZEND_ARG_INFO(0, options) >- ZEND_END_ARG_INFO() >- >-+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_status_current, 0, 0, 2) >-+ ZEND_ARG_INFO(0, stream_id) >-+ ZEND_ARG_INFO(0, options) >-+ZEND_END_ARG_INFO() >-+ >- ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_bodystruct, 0, 0, 3) >- ZEND_ARG_INFO(0, stream_id) >- ZEND_ARG_INFO(0, msg_no) >-@@ -508,6 +529,7 @@ const zend_function_entry imap_functions >- PHP_FE(imap_binary, arginfo_imap_binary) >- PHP_FE(imap_utf8, arginfo_imap_utf8) >- PHP_FE(imap_status, arginfo_imap_status) >-+ PHP_FE(imap_status_current, arginfo_imap_status_current) >- PHP_FE(imap_mailboxmsginfo, arginfo_imap_mailboxmsginfo) >- PHP_FE(imap_setflag_full, arginfo_imap_setflag_full) >- PHP_FE(imap_clearflag_full, arginfo_imap_clearflag_full) >-@@ -538,6 +560,10 @@ const zend_function_entry imap_functions >- PHP_FE(imap_setacl, arginfo_imap_setacl) >- PHP_FE(imap_getacl, arginfo_imap_getacl) >- #endif >-+#if defined(HAVE_IMAP2005) >-+ PHP_FE(imap_setannotation, arginfo_imap_setannotation) >-+ PHP_FE(imap_getannotation, arginfo_imap_getannotation) >-+#endif >- >- PHP_FE(imap_mail, arginfo_imap_mail) >- >-@@ -799,6 +825,30 @@ void mail_getacl(MAILSTREAM *stream, cha >- /* }}} */ >- #endif >- >-+#if defined(HAVE_IMAP2005) >-+/* {{{ mail_getannotation >-+ * >-+ * Mail GET_ANNOTATION callback >-+ * Called via the mail_parameter function in c-client:src/c-client/mail.c >-+ */ >-+void mail_getannotation(MAILSTREAM *stream, ANNOTATION *alist) >-+{ >-+ ANNOTATION_VALUES *cur; >-+ >-+ TSRMLS_FETCH(); >-+ >-+ /* walk through the ANNOTATION_VALUES */ >-+ >-+ for(cur = alist->values; cur; cur = cur->next) { >-+ if (cur->value) >-+ add_assoc_stringl(IMAPG(imap_annotation_list), cur->attr, cur->value, strlen(cur->value), 1); >-+ else >-+ add_assoc_stringl(IMAPG(imap_annotation_list), cur->attr, "", 0, 1); >-+ } >-+} >-+/* }}} */ >-+#endif >-+ >- /* {{{ PHP_GINIT_FUNCTION >- */ >- static PHP_GINIT_FUNCTION(imap) >-@@ -824,6 +874,7 @@ static PHP_GINIT_FUNCTION(imap) >- #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) >- imap_globals->quota_return = NIL; >- imap_globals->imap_acl_list = NIL; >-+ imap_globals->imap_annotation_list = NIL; >- #endif >- imap_globals->gets_stream = NIL; >- } >-@@ -1539,7 +1590,119 @@ PHP_FUNCTION(imap_getacl) >- } >- /* }}} */ >- #endif /* HAVE_IMAP2000 || HAVE_IMAP2001 */ >-+ >-+#if defined(HAVE_IMAP2005) >-+ >-+/* {{{ proto bool imap_setannotation(resource stream_id, string mailbox, string entry, string attr, string value) >-+ Sets an annotation for a given mailbox */ >-+PHP_FUNCTION(imap_setannotation) >-+{ >-+ zval **streamind, **mailbox, **entry, **attr, **value; >-+ pils *imap_le_struct; >-+ long ret; >-+ >-+ // TODO: Use zend_parse_parameters here >-+ if (ZEND_NUM_ARGS() != 5 || zend_get_parameters_ex(5, &streamind, &mailbox, &entry, &attr, &value) == FAILURE) { >-+ ZEND_WRONG_PARAM_COUNT(); >-+ } >-+ >-+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); >-+ >-+ convert_to_string_ex(mailbox); >-+ convert_to_string_ex(entry); >-+ convert_to_string_ex(attr); >-+ convert_to_string_ex(value); >-+ >-+ // create annotation object >-+ ANNOTATION *annotation = mail_newannotation(); >-+ if (!annotation) >-+ RETURN_FALSE; >-+ annotation->values = mail_newannotationvalue(); >-+ if (!annotation->values) { >-+ mail_free_annotation(&annotation); >-+ RETURN_FALSE; >-+ } >-+ >-+ // fill in annotation values >-+ annotation->mbox = Z_STRVAL_PP(mailbox); >-+ annotation->entry = Z_STRVAL_PP(entry); >-+ annotation->values->attr = Z_STRVAL_PP(attr); >-+ annotation->values->value = Z_STRVAL_PP(value); >-+ >-+ ret = imap_setannotation(imap_le_struct->imap_stream, annotation); >-+ >-+ // make sure mail_free_annotation doesn't free our variables >-+ annotation->mbox = NULL; >-+ annotation->entry = NULL; >-+ annotation->values->attr = NULL; >-+ annotation->values->value = NULL; >-+ mail_free_annotation(&annotation); >-+ >-+ RETURN_BOOL(ret); >-+} >-+/* }}} */ >-+ >-+/* {{{ proto array imap_getannotation(resource stream_id, string mailbox, string entry, string attr) >-+ Gets the ACL for a given mailbox */ >-+PHP_FUNCTION(imap_getannotation) >-+{ >-+ zval **streamind, **mailbox, **entry, **attr; >-+ pils *imap_le_struct; >-+ long ret; >-+ >-+ if(ZEND_NUM_ARGS() != 4 || zend_get_parameters_ex(4, &streamind, &mailbox, &entry, &attr) == FAILURE) { >-+ ZEND_WRONG_PARAM_COUNT(); >-+ } >- >-+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); >-+ >-+ convert_to_string_ex(mailbox); >-+ convert_to_string_ex(entry); >-+ convert_to_string_ex(attr); >-+ >-+ /* initializing the special array for the return values */ >-+ if (array_init(return_value) == FAILURE) { >-+ RETURN_FALSE; >-+ } >-+ >-+ // fillup calling parameters >-+ STRINGLIST *entries = mail_newstringlist(); >-+ if (!entries) >-+ RETURN_FALSE; >-+ >-+ STRINGLIST *cur = entries; >-+ cur->text.data = (unsigned char *)cpystr(Z_STRVAL_PP(entry)); >-+ cur->text.size = Z_STRLEN_PP(entry); >-+ cur->next = NIL; >-+ >-+ STRINGLIST *attributes = mail_newstringlist(); >-+ if (!attributes) >-+ RETURN_FALSE; >-+ cur = attributes; >-+ cur->text.data = (unsigned char *)cpystr (Z_STRVAL_PP(attr)); >-+ cur->text.size = Z_STRLEN_PP(attr); >-+ cur->next = NIL; >-+ >-+ IMAPG(imap_annotation_list) = return_value; >-+ >-+ /* set the callback for the GET_ANNOTATION function */ >-+ mail_parameters(NIL, SET_ANNOTATION, (void *) mail_getannotation); >-+ ret = imap_getannotation(imap_le_struct->imap_stream, Z_STRVAL_PP(mailbox), entries, attributes); >-+ >-+ mail_free_stringlist(&entries); >-+ mail_free_stringlist(&attributes); >-+ >-+ if (!ret) { >-+ zval_dtor(return_value); >-+ RETURN_FALSE; >-+ } >-+ >-+ IMAPG(imap_annotation_list) = NIL; >-+} >-+/* }}} */ >-+ >-+#endif /* HAVE_IMAP2005 */ >-+ >- /* {{{ proto bool imap_expunge(resource stream_id) >- Permanently delete all messages marked for deletion */ >- PHP_FUNCTION(imap_expunge) >-@@ -3222,6 +3385,42 @@ PHP_FUNCTION(imap_msgno) >- } >- /* }}} */ >- >-+/* {{{ proto object imap_status_current(resource stream_id, int options) >-+ Get (cached) status info from current mailbox */ >-+PHP_FUNCTION(imap_status_current) >-+{ >-+ zval **streamind, **pflags; >-+ pils *imap_le_struct; >-+ long flags = 0L; >-+ >-+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &streamind, &pflags) == FAILURE) { >-+ ZEND_WRONG_PARAM_COUNT(); >-+ } >-+ >-+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); >-+ >-+ convert_to_long_ex(pflags); >-+ flags = Z_LVAL_PP(pflags); >-+ >-+ if (object_init(return_value) == FAILURE) { >-+ RETURN_FALSE; >-+ } >-+ >-+ if (flags & SA_MESSAGES) { >-+ add_property_long(return_value, "messages", imap_le_struct->imap_stream->nmsgs); >-+ } >-+ if (flags & SA_RECENT) { >-+ add_property_long(return_value, "recent", imap_le_struct->imap_stream->recent); >-+ } >-+ if (flags & SA_UIDNEXT) { >-+ add_property_long(return_value, "uidnext", imap_le_struct->imap_stream->uid_last+1); >-+ } >-+ if (flags & SA_UIDVALIDITY) { >-+ add_property_long(return_value, "uidvalidity", imap_le_struct->imap_stream->uid_validity); >-+ } >-+} >-+/* }}} */ >-+ >- /* {{{ proto object imap_status(resource stream_id, string mailbox, int options) >- Get status info from a mailbox */ >- PHP_FUNCTION(imap_status) >-diff -Naurp php-5.5.9/ext/imap/php_imap.h php-5.5.9.oden/ext/imap/php_imap.h >---- php-5.5.9/ext/imap/php_imap.h 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/imap/php_imap.h 2014-02-12 11:22:16.933836282 +0100 >-@@ -154,6 +154,7 @@ PHP_FUNCTION(imap_lsub); >- PHP_FUNCTION(imap_lsub_full); >- PHP_FUNCTION(imap_create); >- PHP_FUNCTION(imap_rename); >-+PHP_FUNCTION(imap_status_current); >- PHP_FUNCTION(imap_status); >- PHP_FUNCTION(imap_bodystruct); >- PHP_FUNCTION(imap_fetch_overview); >-@@ -174,6 +175,9 @@ PHP_FUNCTION(imap_mime_header_decode); >- PHP_FUNCTION(imap_thread); >- PHP_FUNCTION(imap_timeout); >- >-+// TODO: Needs fixing in configure in >-+#define HAVE_IMAP2005 1 >-+ >- #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) >- PHP_FUNCTION(imap_get_quota); >- PHP_FUNCTION(imap_get_quotaroot); >-@@ -181,7 +185,10 @@ PHP_FUNCTION(imap_set_quota); >- PHP_FUNCTION(imap_setacl); >- PHP_FUNCTION(imap_getacl); >- #endif >-- >-+#if defined(HAVE_IMAP2005) >-+PHP_FUNCTION(imap_setannotation); >-+PHP_FUNCTION(imap_getannotation); >-+#endif >- >- ZEND_BEGIN_MODULE_GLOBALS(imap) >- char *imap_user; >-@@ -212,6 +219,9 @@ ZEND_BEGIN_MODULE_GLOBALS(imap) >- zval **quota_return; >- zval *imap_acl_list; >- #endif >-+#if defined(HAVE_IMAP2005) >-+ zval *imap_annotation_list; >-+#endif >- /* php_stream for php_mail_gets() */ >- php_stream *gets_stream; >- ZEND_END_MODULE_GLOBALS(imap) >Index: SOURCES/php-imap-myrights.diff >=================================================================== >--- SOURCES/php-imap-myrights.diff (Revision 1174484) >+++ SOURCES/php-imap-myrights.diff (nicht existent) >@@ -1,92 +0,0 @@ >-diff -Naurp php-5.5.9/ext/imap/php_imap.c php-5.5.9.oden/ext/imap/php_imap.c >---- php-5.5.9/ext/imap/php_imap.c 2014-02-12 11:23:21.071839868 +0100 >-+++ php-5.5.9.oden/ext/imap/php_imap.c 2014-02-12 11:23:32.656840516 +0100 >-@@ -163,6 +163,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_geta >- ZEND_ARG_INFO(0, stream_id) >- ZEND_ARG_INFO(0, mailbox) >- ZEND_END_ARG_INFO() >-+ >-+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_myrights, 0, 0, 2) >-+ ZEND_ARG_INFO(0, stream_id) >-+ ZEND_ARG_INFO(0, mailbox) >-+ZEND_END_ARG_INFO() >- #endif >- #if defined(HAVE_IMAP2005) >- ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setannotation, 0, 0, 5) >-@@ -559,6 +564,7 @@ const zend_function_entry imap_functions >- PHP_FE(imap_set_quota, arginfo_imap_set_quota) >- PHP_FE(imap_setacl, arginfo_imap_setacl) >- PHP_FE(imap_getacl, arginfo_imap_getacl) >-+ PHP_FE(imap_myrights, arginfo_imap_myrights) >- #endif >- #if defined(HAVE_IMAP2005) >- PHP_FE(imap_setannotation, arginfo_imap_setannotation) >-@@ -823,6 +829,20 @@ void mail_getacl(MAILSTREAM *stream, cha >- } >- } >- /* }}} */ >-+ >-+/* {{{ mail_myrights >-+ * >-+ * Mail MYRIGHTS callback >-+ * Called via the mail_parameter function in c-client:src/c-client/mail.c >-+ */ >-+void mail_myrights(MAILSTREAM *stream, char *mailbox, char *rights) >-+{ >-+ TSRMLS_FETCH(); >-+ >-+ ZVAL_STRING(IMAPG(imap_acl_list), rights, 1); >-+ >-+} >-+/* }}} */ >- #endif >- >- #if defined(HAVE_IMAP2005) >-@@ -1589,6 +1609,36 @@ PHP_FUNCTION(imap_getacl) >- IMAPG(imap_acl_list) = NIL; >- } >- /* }}} */ >-+ >-+/* {{{ proto string imap_myrights(resource stream_id, string mailbox) >-+ Gets my rights (ACL) for a given mailbox */ >-+PHP_FUNCTION(imap_myrights) >-+{ >-+ zval **streamind, **mailbox; >-+ pils *imap_le_struct; >-+ >-+ if(ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &streamind, &mailbox) == FAILURE) { >-+ ZEND_WRONG_PARAM_COUNT(); >-+ } >-+ >-+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); >-+ >-+ convert_to_string_ex(mailbox); >-+ >-+ IMAPG(imap_acl_list) = return_value; >-+ >-+ /* set the callback for the GET_ACL function */ >-+ mail_parameters(NIL, SET_MYRIGHTS, (void *) mail_myrights); >-+ if(!imap_myrights(imap_le_struct->imap_stream, Z_STRVAL_PP(mailbox))) { >-+ php_error(E_WARNING, "c-client imap_myrights failed"); >-+ zval_dtor(return_value); >-+ RETURN_FALSE; >-+ } >-+ >-+ IMAPG(imap_acl_list) = NIL; >-+} >-+/* }}} */ >-+ >- #endif /* HAVE_IMAP2000 || HAVE_IMAP2001 */ >- >- #if defined(HAVE_IMAP2005) >-diff -Naurp php-5.5.9/ext/imap/php_imap.h php-5.5.9.oden/ext/imap/php_imap.h >---- php-5.5.9/ext/imap/php_imap.h 2014-02-12 11:23:21.071839868 +0100 >-+++ php-5.5.9.oden/ext/imap/php_imap.h 2014-02-12 11:23:32.656840516 +0100 >-@@ -184,6 +184,7 @@ PHP_FUNCTION(imap_get_quotaroot); >- PHP_FUNCTION(imap_set_quota); >- PHP_FUNCTION(imap_setacl); >- PHP_FUNCTION(imap_getacl); >-+PHP_FUNCTION(imap_myrights); >- #endif >- #if defined(HAVE_IMAP2005) >- PHP_FUNCTION(imap_setannotation); >Index: SOURCES/php-libtool.diff >=================================================================== >--- SOURCES/php-libtool.diff (Revision 1174484) >+++ SOURCES/php-libtool.diff (Arbeitskopie) >@@ -1,7 +1,7 @@ >-diff -Naur php-5.6.0beta1/aclocal.m4 php-5.6.0beta1.oden/aclocal.m4 >---- php-5.6.0beta1/aclocal.m4 2014-04-10 07:22:06.000000000 +0200 >-+++ php-5.6.0beta1.oden/aclocal.m4 2014-04-18 08:17:26.964927569 +0200 >-@@ -3697,6 +3697,20 @@ >+diff -Naurp php-7.0.2RC1/aclocal.m4 php-7.0.2RC1.oden/aclocal.m4 >+--- php-7.0.2RC1/aclocal.m4 2015-12-22 16:19:19.000000000 +0100 >++++ php-7.0.2RC1.oden/aclocal.m4 2015-12-26 07:30:41.619216689 +0100 >+@@ -3776,6 +3776,20 @@ s390*-*linux*|sparc*-*linux*) > rm -rf conftest* > ;; > >@@ -22,7 +22,7 @@ > *-*-sco3.2v5*) > # On SCO OpenServer 5, we need -belf to get full-featured binaries. > SAVE_CFLAGS="$CFLAGS" >-@@ -4744,6 +4758,13 @@ >+@@ -4819,6 +4833,13 @@ linux* | k*bsd*-gnu) > sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" > fi > >Index: SOURCES/php-session.save_path.diff >=================================================================== >--- SOURCES/php-session.save_path.diff (Revision 1174484) >+++ SOURCES/php-session.save_path.diff (Arbeitskopie) >@@ -1,7 +1,7 @@ >-diff -Naurp php-5.5.9/ext/session/session.c php-5.5.9.oden/ext/session/session.c >---- php-5.5.9/ext/session/session.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/session/session.c 2014-02-12 11:25:45.353847936 +0100 >-@@ -780,11 +780,11 @@ static ZEND_INI_MH(OnUpdateSmartStr) /* >+diff -Naurp php-7.0.2RC1/ext/session/session.c php-7.0.2RC1.oden/ext/session/session.c >+--- php-7.0.2RC1/ext/session/session.c 2015-12-22 16:19:28.000000000 +0100 >++++ php-7.0.2RC1.oden/ext/session/session.c 2015-12-26 07:43:47.541650172 +0100 >+@@ -815,11 +815,11 @@ static PHP_INI_MH(OnUpdateRfc1867Freq) / > /* {{{ PHP_INI > */ > PHP_INI_BEGIN() >Index: SOURCES/php-shared.diff >=================================================================== >--- SOURCES/php-shared.diff (Revision 1174484) >+++ SOURCES/php-shared.diff (Arbeitskopie) >@@ -1,7 +1,7 @@ >-diff -Naur php-5.6.0RC1/Makefile.global php-5.6.0RC1.oden/Makefile.global >---- php-5.6.0RC1/Makefile.global 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/Makefile.global 2014-06-23 11:27:21.039795443 +0200 >-@@ -15,8 +15,12 @@ >+diff -Naurp php-7.0.0RC5/Makefile.global php-7.0.0RC5.oden/Makefile.global >+--- php-7.0.0RC5/Makefile.global 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/Makefile.global 2015-10-22 16:11:06.224381498 +0200 >+@@ -15,8 +15,12 @@ build-modules: $(PHP_MODULES) $(PHP_ZEND > > build-binaries: $(PHP_BINARIES) > >@@ -8,7 +8,7 @@ > -libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) > - $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ > +libphp$(PHP_MAJOR_VERSION)_common.la: $(PHP_GLOBAL_OBJS) >-+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -version-info 11:0:6 -rpath $(phptempdir) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ >++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -version-info 7:0:0 -rpath $(phptempdir) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ > + -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 > + > +libphp$(PHP_MAJOR_VERSION).la: libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_SAPI_OBJS) >@@ -16,7 +16,7 @@ > -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 > > libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) >-@@ -27,10 +31,10 @@ >+@@ -27,10 +31,10 @@ install: $(all_targets) $(install_target > install-sapi: $(OVERALL_TARGET) > @echo "Installing PHP SAPI module: $(PHP_SAPI)" > -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) >@@ -30,34 +30,34 @@ > break; \ > fi; \ > done; \ >-diff -Naur php-5.6.0RC1/sapi/cgi/config9.m4 php-5.6.0RC1.oden/sapi/cgi/config9.m4 >---- php-5.6.0RC1/sapi/cgi/config9.m4 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/cgi/config9.m4 2014-06-23 11:27:21.039795443 +0200 >-@@ -64,7 +64,7 @@ >- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" >+diff -Naurp php-7.0.0RC5/sapi/cgi/config9.m4 php-7.0.0RC5.oden/sapi/cgi/config9.m4 >+--- php-7.0.0RC5/sapi/cgi/config9.m4 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/cgi/config9.m4 2015-10-22 16:13:19.549479058 +0200 >+@@ -64,7 +64,7 @@ if test "$PHP_CGI" != "no"; then >+ BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" > ;; > *) >-- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" >-+ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" >+- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" >++ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" > ;; > esac > >-diff -Naur php-5.6.0RC1/sapi/cgi/Makefile.frag php-5.6.0RC1.oden/sapi/cgi/Makefile.frag >---- php-5.6.0RC1/sapi/cgi/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/cgi/Makefile.frag 2014-06-23 11:27:21.039795443 +0200 >+diff -Naurp php-7.0.0RC5/sapi/cgi/Makefile.frag php-7.0.0RC5.oden/sapi/cgi/Makefile.frag >+--- php-7.0.0RC5/sapi/cgi/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/cgi/Makefile.frag 2015-10-22 16:12:26.741601533 +0200 > @@ -1,6 +1,6 @@ > cgi: $(SAPI_CGI_PATH) > >--$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS) >-+$(SAPI_CGI_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS) >+-$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS) >++$(SAPI_CGI_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS) > $(BUILD_CGI) > > install-cgi: $(SAPI_CGI_PATH) >-diff -Naur php-5.6.0RC1/sapi/cli/config.m4 php-5.6.0RC1.oden/sapi/cli/config.m4 >---- php-5.6.0RC1/sapi/cli/config.m4 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/cli/config.m4 2014-06-23 11:27:21.039795443 +0200 >-@@ -48,7 +48,7 @@ >- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)" >+diff -Naurp php-7.0.0RC5/sapi/cli/config.m4 php-7.0.0RC5.oden/sapi/cli/config.m4 >+--- php-7.0.0RC5/sapi/cli/config.m4 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/cli/config.m4 2015-10-22 16:11:06.224381498 +0200 >+@@ -48,7 +48,7 @@ if test "$PHP_CLI" != "no"; then >+ BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp7lib -o \$(SAPI_CLI_PATH)" > ;; > *) > - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" >@@ -65,9 +65,9 @@ > ;; > esac > >-diff -Naur php-5.6.0RC1/sapi/cli/Makefile.frag php-5.6.0RC1.oden/sapi/cli/Makefile.frag >---- php-5.6.0RC1/sapi/cli/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/cli/Makefile.frag 2014-06-23 11:27:21.040795443 +0200 >+diff -Naurp php-7.0.0RC5/sapi/cli/Makefile.frag php-7.0.0RC5.oden/sapi/cli/Makefile.frag >+--- php-7.0.0RC5/sapi/cli/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/cli/Makefile.frag 2015-10-22 16:11:06.224381498 +0200 > @@ -1,6 +1,6 @@ > cli: $(SAPI_CLI_PATH) > >@@ -76,10 +76,10 @@ > $(BUILD_CLI) > > install-cli: $(SAPI_CLI_PATH) >-diff -Naur php-5.6.0RC1/sapi/phpdbg/config.m4 php-5.6.0RC1.oden/sapi/phpdbg/config.m4 >---- php-5.6.0RC1/sapi/phpdbg/config.m4 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/phpdbg/config.m4 2014-06-23 11:27:21.040795443 +0200 >-@@ -37,22 +37,24 @@ >+diff -Naurp php-7.0.0RC5/sapi/phpdbg/config.m4 php-7.0.0RC5.oden/sapi/phpdbg/config.m4 >+--- php-7.0.0RC5/sapi/phpdbg/config.m4 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/phpdbg/config.m4 2015-10-22 16:11:06.224381498 +0200 >+@@ -40,22 +40,24 @@ if test "$BUILD_PHPDBG" == "" && test "$ > > BUILD_PHPDBG="\$(LIBTOOL) --mode=link \ > \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ >@@ -106,10 +106,10 @@ > \-DPHPDBG_SHARED \ > -o \$(BUILD_SHARED)" > >-diff -Naur php-5.6.0RC1/sapi/phpdbg/Makefile.frag php-5.6.0RC1.oden/sapi/phpdbg/Makefile.frag >---- php-5.6.0RC1/sapi/phpdbg/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 >-+++ php-5.6.0RC1.oden/sapi/phpdbg/Makefile.frag 2014-06-23 11:27:21.040795443 +0200 >-@@ -2,10 +2,10 @@ >+diff -Naurp php-7.0.0RC5/sapi/phpdbg/Makefile.frag php-7.0.0RC5.oden/sapi/phpdbg/Makefile.frag >+--- php-7.0.0RC5/sapi/phpdbg/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 >++++ php-7.0.0RC5.oden/sapi/phpdbg/Makefile.frag 2015-10-22 16:11:06.225381475 +0200 >+@@ -2,10 +2,10 @@ phpdbg: $(BUILD_BINARY) > > phpdbg-shared: $(BUILD_SHARED) > >Index: SOURCES/php-test.ini >=================================================================== >--- SOURCES/php-test.ini (Revision 1174484) >+++ SOURCES/php-test.ini (Arbeitskopie) >@@ -23,8 +23,6 @@ > extension=mcrypt.so > extension=fileinfo.so > extension=mysqlnd.so >-extension=mssql.so >-extension=mysql.so > extension=mysqli.so > extension=enchant.so > extension=odbc.so >Index: SOURCES/php-xmlrpc_epi.patch >=================================================================== >--- SOURCES/php-xmlrpc_epi.patch (Revision 1174484) >+++ SOURCES/php-xmlrpc_epi.patch (Arbeitskopie) >@@ -1,6 +1,6 @@ >-diff -Naurp php-5.5.9/ext/xmlrpc/xmlrpc-epi-php.c php-5.5.9.oden/ext/xmlrpc/xmlrpc-epi-php.c >---- php-5.5.9/ext/xmlrpc/xmlrpc-epi-php.c 2014-02-05 11:00:36.000000000 +0100 >-+++ php-5.5.9.oden/ext/xmlrpc/xmlrpc-epi-php.c 2014-02-12 11:13:04.873805413 +0100 >+diff -Naur php-7.0.0RC5/ext/xmlrpc/xmlrpc-epi-php.c php-7.0.0RC5.oden/ext/xmlrpc/xmlrpc-epi-php.c >+--- php-7.0.0RC5/ext/xmlrpc/xmlrpc-epi-php.c 2015-10-14 18:04:58.000000000 +0200 >++++ php-7.0.0RC5.oden/ext/xmlrpc/xmlrpc-epi-php.c 2015-10-22 16:26:34.560087071 +0200 > @@ -71,7 +71,7 @@ > #include "ext/date/php_date.h" > #include "php_ini.h" >@@ -8,5 +8,5 @@ > -#include "xmlrpc.h" > +#include <xmlrpc-epi/xmlrpc.h> > >- #define PHP_EXT_VERSION "0.51" >+ static int le_xmlrpc_server; > >Index: SOURCES/php-zlib-for-getimagesize.patch >=================================================================== >--- SOURCES/php-zlib-for-getimagesize.patch (Revision 1174484) >+++ SOURCES/php-zlib-for-getimagesize.patch (Arbeitskopie) >@@ -2,9 +2,9 @@ > link core php with -lz for getimagesize() > see also http://bugs.php.net/bug.php?id=29611 > >-diff -Naurp php-5.6.0beta2/ext/standard/image.c php-5.6.0beta2.oden/ext/standard/image.c >---- php-5.6.0beta2/ext/standard/image.c 2014-05-01 16:42:03.000000000 +0200 >-+++ php-5.6.0beta2.oden/ext/standard/image.c 2014-05-07 10:24:12.571847327 +0200 >+diff -Naurp php-7.0.2RC1/ext/standard/image.c php-7.0.2RC1.oden/ext/standard/image.c >+--- php-7.0.2RC1/ext/standard/image.c 2015-12-22 16:19:33.000000000 +0100 >++++ php-7.0.2RC1.oden/ext/standard/image.c 2015-12-26 07:41:55.695364816 +0100 > @@ -34,7 +34,7 @@ > #include "win32/php_stdint.h" > #endif >@@ -21,7 +21,7 @@ > -#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) > +#if HAVE_ZLIB > REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); >- #endif >+ #endif > REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); > @@ -192,7 +192,7 @@ static unsigned long int php_swf_get_bit > } >@@ -31,13 +31,13 @@ > +#if HAVE_ZLIB > /* {{{ php_handle_swc > */ >- static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC) >-@@ -1322,7 +1322,7 @@ static void php_getimagesize_from_stream >- result = php_handle_swf(stream TSRMLS_CC); >+ static struct gfxinfo *php_handle_swc(php_stream * stream) >+@@ -1337,7 +1337,7 @@ static void php_getimagesize_from_stream >+ result = php_handle_swf(stream); > break; > case IMAGE_FILETYPE_SWC: > -#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) > +#if HAVE_ZLIB >- result = php_handle_swc(stream TSRMLS_CC); >+ result = php_handle_swc(stream); > #else >- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled"); >+ php_error_docref(NULL, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled"); >Index: SOURCES/php5-apache2-filters.diff >=================================================================== >--- SOURCES/php5-apache2-filters.diff (Revision 1174484) >+++ SOURCES/php5-apache2-filters.diff (nicht existent) >@@ -1,84 +0,0 @@ >- >- Description: Enables mod_php to manually add apache output filters >- Author: Paul Querna >- URL: http://www.outoforder.cc/projects/apache/mod_transform/patches/php5-apache2-filters.patch >- http://www.outoforder.cc/presentations/apachecon2004/mod_transform/tu19_mod_transform_slides.pdf >- >-diff -Naurp php-5.3.0RC1/sapi/apache2handler/php_functions.c php-5.3.0RC1.oden/sapi/apache2handler/php_functions.c >---- php-5.3.0RC1/sapi/apache2handler/php_functions.c 2009-01-19 20:32:40.000000000 +0100 >-+++ php-5.3.0RC1.oden/sapi/apache2handler/php_functions.c 2009-03-27 12:08:05.000000000 +0100 >-@@ -216,6 +216,65 @@ PHP_FUNCTION(apache_response_headers) >- } >- /* }}} */ >- >-+/* {{{ proto array apache_get_output_filters() >-+ Get All Active Output filters */ >-+PHP_FUNCTION(apache_get_output_filters) >-+{ >-+ ap_filter_t* ff; >-+ php_struct *ctx; >-+ >-+ if (ZEND_NUM_ARGS() != 0) { >-+ WRONG_PARAM_COUNT; >-+ } >-+ >-+ if(array_init(return_value) != SUCCESS) >-+ { >-+ RETURN_NULL(); >-+ } >-+ >-+ ctx = SG(server_context); >-+ >-+ ff = ctx->r->output_filters; >-+ >-+ do { >-+ add_next_index_string(return_value, ff->frec->name, 1); >-+ ff = ff->next ; >-+ } while (ff); >-+ >-+} >-+/* }}} */ >-+ >-+/* {{{ proto bool apache_add_output_filter(string filter_name) >-+ Add an output filter to this request */ >-+PHP_FUNCTION(apache_add_output_filter) >-+{ >-+ php_struct *ctx; >-+ int arg_count = ZEND_NUM_ARGS(); >-+ zval **filter_name; >-+ ap_filter_rec_t* ap_filter; >-+ >-+ if (arg_count != 1 || >-+ zend_get_parameters_ex(arg_count, &filter_name) == FAILURE) { >-+ WRONG_PARAM_COUNT; >-+ } >-+ >-+ ctx = SG(server_context); >-+ >-+ convert_to_string_ex(filter_name); >-+ >-+ ap_filter = ap_get_output_filter_handle(Z_STRVAL_PP(filter_name)); >-+ >-+ /* requested output filter was not found */ >-+ if(ap_filter == NULL) { >-+ RETURN_FALSE; >-+ } >-+ else { >-+ ap_add_output_filter_handle(ap_filter, NULL, ctx->r, ctx->r->connection); >-+ RETURN_TRUE; >-+ } >-+} >-+/* }}} */ >-+ >- /* {{{ proto string apache_note(string note_name [, string note_value]) >- Get and set Apache request notes */ >- PHP_FUNCTION(apache_note) >-@@ -516,6 +575,8 @@ ZEND_END_ARG_INFO() >- static const zend_function_entry apache_functions[] = { >- PHP_FE(apache_lookup_uri, arginfo_apache2handler_lookup_uri) >- PHP_FE(virtual, arginfo_apache2handler_virtual) >-+ PHP_FE(apache_get_output_filters, NULL) >-+ PHP_FE(apache_add_output_filter, NULL) >- PHP_FE(apache_request_headers, arginfo_apache2handler_getallheaders) >- PHP_FE(apache_response_headers, arginfo_apache2handler_response_headers) >- PHP_FE(apache_setenv, arginfo_apache2handler_setenv) >Index: SOURCES/sha1.lst >=================================================================== >--- SOURCES/sha1.lst (Revision 1174484) >+++ SOURCES/sha1.lst (Arbeitskopie) >@@ -1,2 +1 @@ >-ccd32d0702a3b6d1ec8b506cbb3d991289e13c9b jsonc-1.3.7.tgz >-5e954d04658982563e09be46aae3c8781ea984b8 php-5.6.31.tar.xz >+288cd2055f1e99c6645bb88b2257a6772c176021 php-7.0.2.tar.xz >Index: SPECS/php.spec >=================================================================== >--- SPECS/php.spec (Revision 1174484) >+++ SPECS/php.spec (Arbeitskopie) >@@ -13,18 +13,20 @@ > > %global __requires_exclude BEGIN|mkinstalldirs|pear\\(|/usr/bin/tclsh > >-%define php5_common_major 5 >-%define libname %mklibname php5_common %{php5_common_major} >+%define php_common_major 7 >+%define libname %mklibname php_common %{php_common_major} > > # enforce versioned postgresql dependencies because of multiple version > # availability in the distribution > %define postgresql_version %(pg_config &>/dev/null && pg_config 2>/dev/null | awk '/^VERSION/ { print $4 }' | sed -re 's/rc[0-9]+$//'|| echo 0) > >-Summary: The PHP5 scripting language >+%define _RC %nil >+ >+Summary: The PHP scripting language > Name: php >-Version: 5.6.31 >-Release: %mkrel 2 >-Source0: http://php.net/distributions/php-%{version}.tar.xz >+Version: 7.1.11 >+Release: %mkrel 1 >+Source0: https://downloads.php.net/~ab/php-%{version}%{_RC}.tar.xz > Group: Development/PHP > License: PHP License > URL: http://www.php.net >@@ -37,38 +39,28 @@ > # S7 comes from ext/fileinfo/create_data_file.php but could be removed someday > Source7: create_data_file.php > Source9: php-fpm-tmpfiles.conf >-Source10: http://pecl.php.net/get/jsonc-1.3.7.tgz >-Patch0: php-init.diff >+Source10: 00-php-fpm.conf >+#Patch0: php-init.diff # not sure what kind of patch this should be.... > Patch1: php-shared.diff >-Patch2: php-5.6.12-mga_php.ini.diff >-Patch3: php-libtool.diff >-Patch4: php-phpize.diff >+Patch2: php-7.1-mga_php.ini.diff >+#Patch3: php-libtool.diff # removed, only 64 bit check >+#Patch4: php-phpize.diff # if not mistaken,this was a build issue which is not present any more > Patch5: php-phpbuilddir.diff >-# http://www.outoforder.cc/projects/apache/mod_transform/ >-# http://www.outoforder.cc/projects/apache/mod_transform/patches/php5-apache2-filters.patch >-Patch6: php5-apache2-filters.diff > # remove libedit once and for all > Patch7: php-no_libedit.diff > Patch8: php-xmlrpc_epi.patch > Patch9: php-xmlrpc_no_rpath.diff >-Patch11: php-5.5.0-libdb.diff >-# submitted as https://github.com/php/php-src/pull/361 >-Patch12: php-5.5.0-mysqlnd-unix-sock-addr.patch >+Patch11: php-7.0.2RC1-libdb.diff > ##################################################################### > # Stolen from PLD >-Patch20: php-5.5.0RC3-mail.diff >+Patch20: php-7.0.0RC5-mail.diff > Patch21: php-filter-shared.diff > Patch22: php-dba-link.patch > Patch23: php-zlib-for-getimagesize.patch > #(spuhler) taken from Mandriva > Patch26: php-5.3.9RC2-mcrypt-libs.diff >-# for kolab2 >-# P50 was rediffed from PLD (php-5.3.3-8.src.rpm) which merges the annotation and status-current patches >-Patch27: php-imap-annotation+status-current.diff >-# P51 was taken from http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/php/patches/php-5.3.2/ >-Patch28: php-imap-myrights.diff >-Patch29: php-5.3.x-fpm-0.6.5-shared.diff >-Patch30: php-5.3.x-fpm-0.6.5-mdv_conf.diff >+Patch29: php-7.0.0RC5-fpm-0.6.5-shared.diff >+Patch30: php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff > ##################################################################### > # stolen from debian > Patch50: php-session.save_path.diff >@@ -79,21 +71,15 @@ > Patch115: php-dlopen.diff > # Fix bugs > Patch120: php-tests-wddx.diff >-Patch121: php-bug43221.diff >-Patch123: php-bug43589.diff > Patch226: php-no-fvisibility_hidden_fix.diff > Patch227: php-5.3.0RC1-enchant_lib64_fix.diff > Patch228: php-5.3.0RC2-xmlrpc-epi_fix.diff >-Patch229: php-5.5.2-session.use_strict_mode.diff >+Patch229: php-7.0.2RC1-session.use_strict_mode.diff > # apache-mod_php >-Patch400: php-5.4.6-apache-mod_php.diff >- >-#found from https://github.com/oerdnj/deb.sury.org/issues/566 >-Patch401: php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch >- >+Patch400: php-7.0.0RC5-apache-mod_php.diff > BuildRequires: apache-devel >= 2.2 > BuildRequires: autoconf >-BuildRequires: automake >+BuildRequires: automake > BuildRequires: libtool > BuildRequires: bison > BuildRequires: byacc >@@ -115,7 +101,6 @@ > BuildRequires: gmp-devel > BuildRequires: gpm-devel > BuildRequires: icu-devel >= 49.0 >-BuildRequires: pkgconfig(json-c) >= 0.11-1 > BuildRequires: lemon > BuildRequires: pkgconfig(libjpeg) > BuildRequires: libldap-devel >@@ -127,7 +112,7 @@ > BuildRequires: pkgconfig(libxml-2.0) >= 2.6 > BuildRequires: pkgconfig(xpm) > BuildRequires: pkgconfig(libxslt) >= 1.1.0 >-BuildRequires: pkgconfig(libvpx) >+BuildRequires: pkgconfig(libwebp) >= 0.4 > BuildRequires: pkgconfig(libzip) >= 0.10.1 > BuildRequires: mbfl-devel >= 1.2.0-2 > # for mysql_config >@@ -146,7 +131,6 @@ > BuildRequires: recode-devel > BuildRequires: pkgconfig(sqlite3) > BuildRequires: pkgconfig(systemd) >-BuildRequires: t1lib-devel > BuildRequires: tidy-devel > BuildRequires: unixODBC-devel >= 2.2.1 > BuildRequires: xmlrpc-epi-devel >@@ -156,10 +140,10 @@ > Epoch: 3 > > %description >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > %package ini > Summary: INI files for PHP >@@ -170,12 +154,13 @@ > > > %package -n apache-mod_php >-Summary: The PHP5 HTML-embedded scripting language for use with apache >+Summary: The PHP HTML-embedded scripting language for use with apache > Group: System/Servers > Requires(pre): rpm-helper > Requires(postun): rpm-helper > Requires: apache >= 2.2 > #TODO are theses really required ? >+# no, but removing them gives a bugstorm, so please don't. > Requires: php-ctype >= %{epoch}:%{version} > Requires: php-filter >= %{epoch}:%{version} > Requires: php-ftp >= %{epoch}:%{version} >@@ -199,19 +184,18 @@ > # php is not fully thread safe > # http://www.php.net/manual/en/faq.installation.php#faq.installation.apache2 > # http://stackoverflow.com/questions/681081/is-php-thread-safe >- > Epoch: %{epoch} > > %description -n apache-mod_php >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > This package contains the PHP apache module. > > %package cli >-Summary: PHP5 CLI interface >+Summary: PHP CLI interface > Group: Development/Other > URL: http://www.php.net/cli > Requires: %{libname} >= %{epoch}:%{version} >@@ -239,17 +223,17 @@ > Provides: /usr/bin/php > > %description cli >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > This package contains a command-line (CLI) version of php. You must also >-install libphp5_common. If you need apache module support, you also need to >+install %{libname}. If you need apache module support, you also need to > install the apache-mod_php package. > > %package cgi >-Summary: PHP5 CGI interface >+Summary: PHP CGI interface > Group: Development/Other > Requires: %{libname} >= %{epoch}:%{version} > Requires: php-ctype >= %{epoch}:%{version} >@@ -274,22 +258,21 @@ > Requires: php-xml >= %{epoch}:%{version} > Provides: php = %{epoch}:%{version} > Provides: php-fcgi = %{epoch}:%{version}-%{release} >-Obsoletes: php-fcgi > # because of a added compat softlink > Conflicts: php-fcgi < %{epoch}:%{version}-%{release} > > %description cgi >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > This package contains a standalone (CGI) version of php with FastCGI support. >-You must also install libphp5_common. If you need apache module support, you >+You must also install %{libname}. If you need apache module support, you > also need to install the apache-mod_php package. > > %package -n %{libname} >-Summary: Shared library for PHP5 >+Summary: Shared library for PHP > Group: Development/Other > Provides: php-pcre = %{epoch}:%{version} > Provides: php-simplexml = %{epoch}:%{version} >@@ -296,11 +279,11 @@ > > %description -n %{libname} > This package provides the common files to run with different implementations of >-PHP5. You need this package if you install the php standalone package or a >+PHP. You need this package if you install the php standalone package or a > webserver with php support (ie: apache-mod_php). > > %package devel >-Summary: Development package for PHP5 >+Summary: Development package for PHP > Group: Development/C > Requires: %{libname} >= %{epoch}:%{version} > Requires: autoconf automake libtool >@@ -311,8 +294,8 @@ > Requires: flex > Requires: libxml2-devel >= 2.6 > Requires: libxslt-devel >= 1.1.0 >-Requires: openssl >= 0.9.7 >-Requires: openssl-devel >= 0.9.7 >+Requires: openssl >= 0.9.8 >+Requires: openssl-devel >= 0.9.8 > Requires: pam-devel > Requires: pcre-devel >= 6.6 > Requires: re2c >= 0.9.11 >@@ -319,7 +302,7 @@ > Requires: tcl > > %description devel >-The php-devel package lets you compile dynamic extensions to PHP5. Included >+The php-devel package lets you compile dynamic extensions to PHP. Included > here is the source for the php extensions. Instead of recompiling the whole php > binary to add support for, say, oracle, install this package and use the new > self-contained extensions support. For more information, read the file >@@ -540,7 +523,6 @@ > URL: http://www.php.net/gd > Requires: %{libname} >= %{epoch}:%{version} > Provides: php-gd-bundled = %{epoch}:%{version} >-Obsoletes: php-gd-bundled > > %description gd > This is a dynamic shared object (DSO) for PHP that will add GD support, >@@ -628,7 +610,6 @@ > Group: Development/PHP > URL: http://www.php.net/ibase > Requires: %{libname} >= %{epoch}:%{version} >-Obsoletes: php-firebird > Provides: php-firebird = %{epoch}:%{version} > > %description interbase >@@ -705,35 +686,6 @@ > SAFER-SK128, TWOFISH, TEA, RC3 and GOST in CBC, OFB, CFB and ECB cipher modes. > Additionally, it supports RC6 and IDEA which are considered "non-free". > >-%package mssql >-Summary: MS SQL extension module for PHP >-Group: Development/PHP >-URL: http://www.php.net/mssql >-Requires: freetds >= 0.63 >-Requires: %{libname} >= %{epoch}:%{version} >- >-%description mssql >-This is a dynamic shared object (DSO) for PHP that will add MS SQL databases >-support using the FreeTDS library. >- >-%package mysql >-Summary: MySQL database module for PHP >-Group: Development/PHP >-URL: http://www.php.net/mysql >-Requires: %{libname} >= %{epoch}:%{version} >-Requires: %{name}-mysqlnd = %{epoch}:%{version} >- >-%description mysql >-This is a dynamic shared object (DSO) for PHP that will add MySQL database >-support. >- >-These functions allow you to access MySQL database servers. More information >-about MySQL can be found at http://www.mysql.com/. >- >-This extension is deprecated as of PHP 5.5.0, and is not recommended for >-writing new code as it will be removed in the future. Instead, either the >-mysqli or PDO_MySQL extension should be used. >- > %package mysqli > Summary: MySQL database module for PHP > Group: Development/PHP >@@ -763,6 +715,7 @@ > Group: Development/PHP > URL: http://www.php.net/mysqlnd > Requires: %{libname} >= %{epoch}:%{version} >+Provides: php-mysql = %{epoch}:%{version}-%{release} > > %description mysqlnd > This is a dynamic shared object (DSO) for PHP that will add MySQL native >@@ -1112,18 +1065,6 @@ > is the server. The SQLite library reads and writes directly to and from the > database files on disk. > >-%package sybase_ct >-Summary: Sybase extension module for PHP >-Group: Development/PHP >-URL: http://www.php.net/sybase >-Obsoletes: php-sybase >-Provides: php-sybase = %{epoch}:%{version} >-Requires: %{libname} >= %{epoch}:%{version} >- >-%description sybase_ct >-This is a dynamic shared object (DSO) for PHP that will add Sybase support to >-PHP. >- > %package sysvmsg > Summary: SysV msg extension module for PHP > Group: Development/PHP >@@ -1194,7 +1135,7 @@ > Summary: Xmlreader extension module for PHP > Group: Development/PHP > URL: http://www.php.net/xmlreader >-Requires: php-dom >+Requires: php-dom >= %{epoch}:%{version} > Requires: %{libname} >= %{epoch}:%{version} > > %description xmlreader >@@ -1260,7 +1201,7 @@ > create and read zip files using the libzip library. > > %package fpm >-Summary: PHP5 FastCGI Process Manager >+Summary: PHP FastCGI Process Manager > Group: Development/Other > Requires(post): systemd >= %{systemd_required_version} > Requires(post): rpm-helper >@@ -1279,7 +1220,7 @@ > Requires: php-pcre >= %{epoch}:%{version} > Requires: php-posix >= %{epoch}:%{version} > Requires: php-session >= %{epoch}:%{version} >-Recommends: php-suhosin >= 0.9.33 >+#Recommends: php-suhosin >= 0.9.33 # deactivated since no php7 support > Requires: php-sysvsem >= %{epoch}:%{version} > Requires: php-sysvshm >= %{epoch}:%{version} > Requires: php-timezonedb >= 3:2012.3 >@@ -1292,13 +1233,13 @@ > Provides: php = %{epoch}:%{version} > > %description fpm >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > This package contains the FastCGI Process Manager. You must also install >-libphp5_common. >+%{libname}. > > %package -n phpdbg > Summary: The interactive PHP debugger >@@ -1307,13 +1248,13 @@ > Requires: php >= %{epoch}:%{version} > > %description -n phpdbg >-PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database >+PHP is an HTML-embeddable scripting language. PHP offers built-in database > integration for several commercial and non-commercial database management >-systems, so writing a database-enabled script with PHP5 is fairly simple. The >-most common use of PHP5 coding is probably as a replacement for CGI scripts. >+systems, so writing a database-enabled script with PHP is fairly simple. The >+most common use of PHP coding is probably as a replacement for CGI scripts. > > This package contains the The interactive PHP debugger. You must also install >-libphp5_common. >+%{libname}. > > Implemented as a SAPI module, phpdbg can excert complete control over the > environment without impacting the functionality or performance of your code. >@@ -1323,40 +1264,28 @@ > > %prep > >-%setup -q >+%setup -q -n php-%{version}%{_RC} > >-# replace json due to license issues: >-# http://www.json.org/license.html -> "The Software shall be used for Good, not Evil." >-rm -rf ext/json >-tar -zxf %{SOURCE10} >-mv package.xml jsonc-*/ >-mv jsonc-* ext/json >- > # the ".droplet" suffix is here to nuke the backups later..., we don't want those in php-devel > >-%patch0 -p1 -b .init.droplet >+# %%patch0 -p1 -b .init.droplet < needs porting > %patch1 -p1 -b .shared.droplet > %patch2 -p1 -b .mga_php.ini.droplet >-%patch3 -p1 -b .libtool.droplet >-%patch4 -p1 -b .phpize.droplet >+#%patch3 -p1 -b .libtool.droplet >+#%patch4 -p1 -b .phpize.droplet > %patch5 -p1 -b .phpbuilddir.droplet >-%patch6 -p1 -b .apache2-filters.droplet > %patch7 -p1 -b .no_libedit.droplet > %patch8 -p1 -b .xmlrpc_epi_header > %patch9 -p1 -b .xmlrpc_no_rpath.droplet >-###%patch11 -p1 -b .libdb.droplet >-%patch12 -p1 -b .mysqlnd-unix-sock-addr >+%patch11 -p1 -b .libdb.droplet > > ##################################################################### > # Stolen from PLD >-%patch20 -p1 -b .mail.droplet >+# %%patch20 -p1 -b .mail.droplet > %patch21 -p0 -b .filter-shared.droplet > %patch22 -p1 -b .dba-link.droplet > %patch23 -p1 -b .zlib-for-getimagesize.droplet > %patch26 -p0 -b .mcrypt-libs.droplet >-# for kolab2 >-%patch27 -p1 -b .imap-annotation.droplet >-%patch28 -p1 -b .imap-myrights.droplet > # fpm stuff > %patch29 -p1 -b .shared-fpm.droplet > %patch30 -p1 -b .fpmmdv.droplet >@@ -1364,7 +1293,7 @@ > ##################################################################### > # stolen from debian > %patch50 -p1 -b .session.save_path.droplet >-%patch51 -p0 -b .exif_nesting_level.droplet >+%patch51 -p1 -b .exif_nesting_level.droplet > > ##################################################################### > # Stolen from fedora >@@ -1372,8 +1301,6 @@ > > # upstream fixes > %patch120 -p1 -b .tests-wddx.droplet >-%patch121 -p1 -b .bug43221.droplet >-%patch123 -p1 -b .bug43589.droplet > %patch226 -p1 -b .no-fvisibility_hidden.droplet > %patch227 -p0 -b .enchant_lib64_fix.droplet > %patch228 -p0 -b .xmlrpc-epi_fix.droplet >@@ -1381,15 +1308,14 @@ > > # mod_php > %patch400 -p1 >-mv sapi/apache2handler/mod_php5.c sapi/apache2handler/mod_php.c >+mv sapi/apache2handler/mod_php%{php_common_major}.c sapi/apache2handler/mod_php.c > >-%patch401 -p1 >- > cp %{SOURCE1} php-test.ini > cp %{SOURCE4} php-fpm.service > cp %{SOURCE5} php-fpm.sysconf > cp %{SOURCE6} php-fpm.logrotate > cp %{SOURCE7} create_data_file.php >+cp %{SOURCE10} 00-php-fpm.conf > > # nuke bogus checks becuase i fixed this years ago in our recode package > rm -f ext/recode/config9.m4 >@@ -1468,7 +1394,7 @@ > > # never use "--disable-rpath", it does the opposite > >-# Configure php5 >+# Configure php > for i in fpm cgi cli apxs; do > ./configure \ > `[ $i = fpm ] && echo --disable-cli --enable-fpm --with-libxml-dir=%{_prefix} --with-fpm-user=apache --with-fpm-group=apache --with-fpm-systemd` \ >@@ -1494,7 +1420,6 @@ > --with-config-file-scan-dir=%{_sysconfdir}/php.d \ > --disable-debug \ > --enable-inline-optimization \ >- --with-regex=system \ > --with-pcre-regex=%{_prefix} \ > --with-freetype-dir=%{_prefix} --with-zlib=%{_prefix} \ > --with-png-dir=%{_prefix} \ >@@ -1518,7 +1443,7 @@ > --enable-intl=shared --with-icu-dir=%{_prefix} \ > --enable-json=shared --with-libjson \ > --with-openssl-dir=%{_prefix} --enable-ftp=shared \ >- --with-gd=shared,%{_prefix} --with-jpeg-dir=%{_prefix} --with-vpx-dir=%{_prefix} --with-png-dir=%{_prefix} --with-zlib-dir=%{_prefix} --with-xpm-dir=%{_prefix}/X11R6 --with-freetype-dir=%{_prefix} --enable-gd-native-ttf --with-t1lib=%{_prefix} \ >+ --with-gd=shared,%{_prefix} --with-jpeg-dir=%{_prefix} --with-webp-dir=%{_prefix} --with-png-dir=%{_prefix} --with-zlib-dir=%{_prefix} --with-xpm-dir=%{_prefix}/X11R6 --with-freetype-dir=%{_prefix} --enable-gd-native-ttf \ > --with-gettext=shared,%{_prefix} \ > --with-gmp=shared,%{_prefix} \ > --enable-hash=shared,%{_prefix} \ >@@ -1527,9 +1452,7 @@ > --with-ldap=shared,%{_prefix} --with-ldap-sasl=%{_prefix} \ > --enable-mbstring=shared,%{_prefix} --enable-mbregex --with-libmbfl=%{_prefix} --with-onig=%{_prefix} \ > --with-mcrypt=shared,%{_prefix} \ >- --with-mssql=shared,%{_prefix} \ >- --with-mysql=shared,mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-zlib-dir=%{_prefix} \ >- --with-mysqli=shared,mysqlnd \ >+ --with-mysqli=shared,mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock \ > --enable-mysqlnd=shared,%{_bindir}/mysql_config \ > --with-unixODBC=shared,%{_prefix} \ > --enable-opcache=shared \ >@@ -1547,7 +1470,6 @@ > --enable-soap=shared,%{_prefix} --with-libxml-dir=%{_prefix} \ > --enable-sockets=shared,%{_prefix} \ > --with-sqlite3=shared,%{_prefix} \ >- --with-sybase-ct=shared,%{_prefix} \ > --enable-sysvmsg=shared,%{_prefix} \ > --enable-sysvsem=shared,%{_prefix} \ > --enable-sysvshm=shared,%{_prefix} \ >@@ -1561,7 +1483,8 @@ > --enable-wddx=shared --with-libxml-dir=%{_prefix} \ > --enable-zip=shared --with-libzip=%{_prefix} \ > --with-interbase=shared,%{_libdir}/firebird --with-pdo-firebird=shared,%{_libdir}/firebird \ >- --enable-phpdbg >+ --enable-phpdbg \ >+ --enable-phpdbg-webhelper > > cp -f Makefile Makefile.$i > >@@ -1607,7 +1530,7 @@ > > make -f Makefile.apxs install \ > INSTALL_ROOT=%{buildroot} \ >- INSTALL_IT="\$(LIBTOOL) --mode=install install libphp5_common.la %{buildroot}%{_libdir}/" >+ INSTALL_IT="\$(LIBTOOL) --mode=install install libphp%{php_common_major}_common.la %{buildroot}%{_libdir}/" > > # borked autopoo > rm -f %{buildroot}%{_bindir}/php %{buildroot}%{_bindir}/php-cgi %{buildroot}%{_bindir}/phpdbg >@@ -1638,6 +1561,7 @@ > install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/php-fpm.conf > # a small bug here... > echo "; place your config here" > %{buildroot}%{_sysconfdir}/php-fpm.d/default.conf >+install -m0644 sapi/fpm/www.conf %{buildroot}%{_sysconfdir}/php-fpm.d/ > > ./libtool --silent --mode=install install sapi/fpm/php-fpm %{buildroot}%{_sbindir}/php-fpm > install -m0644 sapi/fpm/php-fpm.8 %{buildroot}%{_mandir}/man8/ >@@ -1645,6 +1569,8 @@ > install -m0644 php-fpm.service %{buildroot}%{_unitdir}/php-fpm.service > install -m0644 php-fpm.sysconf %{buildroot}%{_sysconfdir}/sysconfig/php-fpm > install -m0644 php-fpm.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/php-fpm >+install -d %{buildroot}%{_httpd_modconfdir} >+install -m0644 00-php-fpm.conf %{buildroot}%{_httpd_modconfdir}/00-php-fpm.conf > > # adjust a bit > perl -pi -e "s|^pid.*|pid = /run/php-fpm/php-fpm.pid|g" %{buildroot}%{_sysconfdir}/php-fpm.conf >@@ -1654,7 +1580,7 @@ > install -d %{buildroot}%{_httpd_moddir} > install -d %{buildroot}%{_httpd_modconfdir} > >-install -m0755 .libs/libphp5.so %{buildroot}%{_httpd_moddir}/%{mod_name}.so >+install -m0755 .libs/libphp%{php_common_major}.so %{buildroot}%{_httpd_moddir}/%{mod_name}.so > > cat > %{buildroot}%{_httpd_modconfdir}/%{load_order}_%{mod_name}.conf <<EOF > LoadModule php_module modules/%{mod_name}.so >@@ -1691,8 +1617,6 @@ > echo "extension = mcrypt.so" > %{buildroot}%{_sysconfdir}/php.d/30_mcrypt.ini > echo "extension = fileinfo.so" > %{buildroot}%{_sysconfdir}/php.d/32_fileinfo.ini > echo "extension = mysqlnd.so" > %{buildroot}%{_sysconfdir}/php.d/33_mysqlnd.ini >-echo "extension = mssql.so" > %{buildroot}%{_sysconfdir}/php.d/35_mssql.ini >-echo "extension = mysql.so" > %{buildroot}%{_sysconfdir}/php.d/36_mysql.ini > echo "extension = mysqli.so" > %{buildroot}%{_sysconfdir}/php.d/37_mysqli.ini > echo "extension = enchant.so" > %{buildroot}%{_sysconfdir}/php.d/38_enchant.ini > echo "extension = odbc.so" > %{buildroot}%{_sysconfdir}/php.d/39_odbc.ini >@@ -1716,7 +1640,6 @@ > echo "extension = soap.so" > %{buildroot}%{_sysconfdir}/php.d/51_soap.ini > echo "extension = sockets.so" > %{buildroot}%{_sysconfdir}/php.d/52_sockets.ini > echo "extension = sqlite3.so" > %{buildroot}%{_sysconfdir}/php.d/78_sqlite3.ini >-echo "extension = sybase_ct.so" > %{buildroot}%{_sysconfdir}/php.d/46_sybase_ct.ini > echo "extension = sysvmsg.so" > %{buildroot}%{_sysconfdir}/php.d/56_sysvmsg.ini > echo "extension = sysvsem.so" > %{buildroot}%{_sysconfdir}/php.d/57_sysvsem.ini > echo "extension = sysvshm.so" > %{buildroot}%{_sysconfdir}/php.d/58_sysvshm.ini >@@ -1857,7 +1780,7 @@ > %{_httpd_moddir}/mod_php.so > > %files -n %{libname} >-%{_libdir}/libphp5_common.so.%{php5_common_major}{,.*} >+%{_libdir}/libphp%{php_common_major}_common.so.%{php_common_major}* > > %files cli > %doc CREDITS.cli README.cli TODO.cli >@@ -1875,7 +1798,7 @@ > %doc Zend/ZEND_* README.TESTING* > %{_bindir}/php-config > %{_bindir}/phpize >-%{_libdir}/libphp5_common.so >+%{_libdir}/libphp%{php_common_major}_common.so > %{_libdir}/php/build > %{_usrsrc}/php-devel > %{multiarch_includedir}/php/main/build-defs.h >@@ -1988,14 +1911,6 @@ > %config(noreplace) %{_sysconfdir}/php.d/30_mcrypt.ini > %{_libdir}/php/extensions/mcrypt.so > >-%files mssql >-%config(noreplace) %{_sysconfdir}/php.d/35_mssql.ini >-%{_libdir}/php/extensions/mssql.so >- >-%files mysql >-%config(noreplace) %{_sysconfdir}/php.d/36_mysql.ini >-%{_libdir}/php/extensions/mysql.so >- > %files mysqli > %config(noreplace) %{_sysconfdir}/php.d/37_mysqli.ini > %{_libdir}/php/extensions/mysqli.so >@@ -2094,10 +2009,6 @@ > %config(noreplace) %{_sysconfdir}/php.d/78_sqlite3.ini > %{_libdir}/php/extensions/sqlite3.so > >-%files sybase_ct >-%config(noreplace) %{_sysconfdir}/php.d/46_sybase_ct.ini >-%{_libdir}/php/extensions/sybase_ct.so >- > %files sysvmsg > %config(noreplace) %{_sysconfdir}/php.d/56_sysvmsg.ini > %{_libdir}/php/extensions/sysvmsg.so >@@ -2147,13 +2058,15 @@ > %{_libdir}/php/extensions/zip.so > > %files fpm >-%doc sapi/fpm/CREDITS sapi/fpm/LICENSE >+%doc sapi/fpm/CREDITS sapi/fpm/LICENSE sapi/fpm/status.html > %{_unitdir}/php-fpm.service >+%config(noreplace) %{_httpd_modconfdir}/00-php-fpm.conf > %config(noreplace) %{_sysconfdir}/php-fpm.conf > %config(noreplace) %{_sysconfdir}/sysconfig/php-fpm > %{_sysconfdir}/logrotate.d/php-fpm > %dir %{_sysconfdir}/php-fpm.d > %config(noreplace) %{_sysconfdir}/php-fpm.d/default.conf >+%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf > %{_sbindir}/php-fpm > %{_mandir}/man8/php-fpm.8* > %attr(0711,apache,apache) %dir /var/lib/php-fpm
Index: SOURCES/00-php-fpm.conf =================================================================== --- SOURCES/00-php-fpm.conf (nicht existent) +++ SOURCES/00-php-fpm.conf (Arbeitskopie) @@ -0,0 +1,14 @@ +# requires apache-mod_proxy (mod_proxy.so + mod_proxy_fcgi.so) + +<IfModule mod_proxy.c> + +# ProxyErrorOverride on + + <FilesMatch \.php$> +# SetHandler "proxy:fcgi://127.0.0.1:9000" + SetHandler "proxy:unix:/var/lib/php-fpm/php-fpm.sock|fcgi://localhost/" + </FilesMatch> + + DirectoryIndex index.php index.phtml + +</IfModule> Index: SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff =================================================================== --- SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff (Revision 1174484) +++ SOURCES/php-5.3.x-fpm-0.6.5-mdv_conf.diff (nicht existent) @@ -1,91 +0,0 @@ -diff -Naur php-5.5.6/sapi/fpm/php-fpm.conf.in php-5.5.6.oden/sapi/fpm/php-fpm.conf.in ---- php-5.5.6/sapi/fpm/php-fpm.conf.in 2013-11-12 15:17:27.000000000 +0100 -+++ php-5.5.6.oden/sapi/fpm/php-fpm.conf.in 2013-11-22 08:42:33.000000000 +0100 -@@ -12,7 +12,7 @@ - ; Relative path can also be used. They will be prefixed by: - ; - the global prefix if it's been set (-p argument) - ; - @prefix@ otherwise --;include=etc/fpm.d/*.conf -+include=/etc/php-fpm.d/*.conf - - ;;;;;;;;;;;;;;;;;; - ; Global Options ; -@@ -22,14 +22,14 @@ - ; Pid file - ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ - ; Default Value: none --;pid = run/php-fpm.pid -+pid = /var/run/php-fpm/php-fpm.pid - - ; Error log file - ; If it's set to "syslog", log is sent to syslogd instead of being written - ; in a local file. - ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ - ; Default Value: log/php-fpm.log --;error_log = log/php-fpm.log -+error_log = /var/log/php-fpm.log - - ; syslog_facility is used to specify what type of program is logging the - ; message. This lets syslogd specify that messages from different facilities -@@ -156,7 +156,8 @@ - ; (IPv6 and IPv4-mapped) on a specific port; - ; '/path/to/unix/socket' - to listen on a unix socket. - ; Note: This value is mandatory. --listen = 127.0.0.1:9000 -+; listen = 127.0.0.1:9000 -+listen = /var/lib/php-fpm/php-fpm.sock - - ; Set listen(2) backlog. - ; Default Value: 65535 (-1 on FreeBSD and OpenBSD) -@@ -222,22 +223,22 @@ - ; forget to tweak pm.* to fit your needs. - ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' - ; Note: This value is mandatory. --pm.max_children = 5 -+pm.max_children = 35 - - ; The number of child processes created on startup. - ; Note: Used only when pm is set to 'dynamic' - ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 --pm.start_servers = 2 -+pm.start_servers = 20 - - ; The desired minimum number of idle server processes. - ; Note: Used only when pm is set to 'dynamic' - ; Note: Mandatory when pm is set to 'dynamic' --pm.min_spare_servers = 1 -+pm.min_spare_servers = 5 - - ; The desired maximum number of idle server processes. - ; Note: Used only when pm is set to 'dynamic' - ; Note: Mandatory when pm is set to 'dynamic' --pm.max_spare_servers = 3 -+pm.max_spare_servers = 35 - - ; The number of seconds after which an idle process will be killed. - ; Note: Used only when pm is set to 'ondemand' -@@ -248,7 +249,7 @@ - ; This can be useful to work around memory leaks in 3rd party libraries. For - ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. - ; Default Value: 0 --;pm.max_requests = 500 -+pm.max_requests = 10000 - - ; The URI to view the FPM status page. If this value is not set, no URI will be - ; recognized as a status page. It shows the following informations: -@@ -429,6 +430,7 @@ - ; Default Value: not set - ; Note: slowlog is mandatory if request_slowlog_timeout is set - ;slowlog = log/$pool.log.slow -+slowlog = /var/log/php-fpm.log.slow - - ; The timeout for serving a single request after which a PHP backtrace will be - ; dumped to the 'slowlog' file. A value of '0s' means 'off'. -@@ -491,6 +493,7 @@ - ;env[TMP] = /tmp - ;env[TMPDIR] = /tmp - ;env[TEMP] = /tmp -+env[PATH] = $PATH - - ; Additional php.ini defines, specific to this pool of workers. These settings - ; overwrite the values previously defined in the php.ini. The directives are the Index: SOURCES/php-5.3.x-fpm-0.6.5-shared.diff =================================================================== --- SOURCES/php-5.3.x-fpm-0.6.5-shared.diff (Revision 1174484) +++ SOURCES/php-5.3.x-fpm-0.6.5-shared.diff (nicht existent) @@ -1,23 +0,0 @@ -diff -Naurp php-5.5.9/sapi/fpm/config.m4 php-5.5.9.oden/sapi/fpm/config.m4 ---- php-5.5.9/sapi/fpm/config.m4 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/sapi/fpm/config.m4 2014-02-12 11:24:43.712844489 +0100 -@@ -661,7 +661,7 @@ if test "$PHP_FPM" != "no"; then - BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" - ;; - *) -- BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" -+ BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" - ;; - esac - -diff -Naurp php-5.5.9/sapi/fpm/Makefile.frag php-5.5.9.oden/sapi/fpm/Makefile.frag ---- php-5.5.9/sapi/fpm/Makefile.frag 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/sapi/fpm/Makefile.frag 2014-02-12 11:24:43.712844489 +0100 -@@ -1,6 +1,6 @@ - fpm: $(SAPI_FPM_PATH) - --$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FPM_OBJS) -+$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_FPM_OBJS) - $(BUILD_FPM) - - install-fpm: $(SAPI_FPM_PATH) Index: SOURCES/php-5.4.6-apache-mod_php.diff =================================================================== --- SOURCES/php-5.4.6-apache-mod_php.diff (Revision 1174484) +++ SOURCES/php-5.4.6-apache-mod_php.diff (nicht existent) @@ -1,102 +0,0 @@ -diff -Naurp php-5.4.6/sapi/apache2handler/config.m4 php-5.4.6.oden/sapi/apache2handler/config.m4 ---- php-5.4.6/sapi/apache2handler/config.m4 2012-08-15 06:26:05.000000000 +0200 -+++ php-5.4.6.oden/sapi/apache2handler/config.m4 2012-09-11 16:30:53.312701887 +0200 -@@ -70,20 +70,20 @@ if test "$PHP_APXS2" != "no"; then - if test -z `$APXS -q SYSCONFDIR`; then - INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -- -i -n php5" -+ -i -n php" - else - APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` - INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ - -S SYSCONFDIR='$APXS_SYSCONFDIR' \ -- -i -a -n php5" -+ -i -a -n php" - fi - - case $host_alias in - *aix*) - EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" -- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) -+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) - INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" - ;; - *darwin*) -@@ -99,19 +99,19 @@ if test "$PHP_APXS2" != "no"; then - fi - MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS" - PHP_SUBST(MH_BUNDLE_FLAGS) -- PHP_SELECT_SAPI(apache2handler, bundle, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) -- SAPI_SHARED=libs/libphp5.so -+ PHP_SELECT_SAPI(apache2handler, bundle, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) -+ SAPI_SHARED=libs/mod_php.so - INSTALL_IT="$INSTALL_IT $SAPI_SHARED" - ;; - *beos*) - if test -f _APP_; then `rm _APP_`; fi - `ln -s $APXS_BINDIR/httpd _APP_` - EXTRA_LIBS="$EXTRA_LIBS _APP_" -- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) -+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) - INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" - ;; - *) -- PHP_SELECT_SAPI(apache2handler, shared, mod_php5.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) -+ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) - INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" - ;; - esac -diff -Naurp php-5.4.6/sapi/apache2handler/mod_php5.c php-5.4.6.oden/sapi/apache2handler/mod_php5.c ---- php-5.4.6/sapi/apache2handler/mod_php5.c 2012-08-15 06:26:05.000000000 +0200 -+++ php-5.4.6.oden/sapi/apache2handler/mod_php5.c 2012-09-11 16:10:58.858635105 +0200 -@@ -25,7 +25,7 @@ - #include "php.h" - #include "php_apache.h" - --AP_MODULE_DECLARE_DATA module php5_module = { -+AP_MODULE_DECLARE_DATA module php_module = { - STANDARD20_MODULE_STUFF, - create_php_config, /* create per-directory config structure */ - merge_php_config, /* merge per-directory config structures */ -diff -Naurp php-5.4.6/sapi/apache2handler/php_apache.h php-5.4.6.oden/sapi/apache2handler/php_apache.h ---- php-5.4.6/sapi/apache2handler/php_apache.h 2012-08-15 06:26:05.000000000 +0200 -+++ php-5.4.6.oden/sapi/apache2handler/php_apache.h 2012-09-11 16:10:58.858635105 +0200 -@@ -26,7 +26,7 @@ - #include "http_core.h" - - /* Declare this so we can get to it from outside the sapi_apache2.c file */ --extern module AP_MODULE_DECLARE_DATA php5_module; -+extern module AP_MODULE_DECLARE_DATA php_module; - - /* A way to specify the location of the php.ini dir in an apache directive */ - extern char *apache2_php_ini_path_override; -diff -Naurp php-5.4.6/sapi/apache2handler/php.sym php-5.4.6.oden/sapi/apache2handler/php.sym ---- php-5.4.6/sapi/apache2handler/php.sym 2012-08-15 06:26:05.000000000 +0200 -+++ php-5.4.6.oden/sapi/apache2handler/php.sym 2012-09-11 16:10:58.860635093 +0200 -@@ -1 +1 @@ --php5_module -+php_module -diff -Naurp php-5.4.6/sapi/apache2handler/sapi_apache2.c php-5.4.6.oden/sapi/apache2handler/sapi_apache2.c ---- php-5.4.6/sapi/apache2handler/sapi_apache2.c 2012-08-15 06:26:05.000000000 +0200 -+++ php-5.4.6.oden/sapi/apache2handler/sapi_apache2.c 2012-09-11 16:10:58.860635093 +0200 -@@ -517,7 +517,7 @@ typedef struct { - } php_conf_rec; - char *str; - uint str_len; -- php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php5_module); -+ php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php_module); - - for (zend_hash_internal_pointer_reset(&c->config); - zend_hash_get_current_key_ex(&c->config, &str, &str_len, NULL, 0, NULL) == HASH_KEY_IS_STRING; -@@ -545,7 +545,7 @@ static int php_handler(request_rec *r) - - #define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req TSRMLS_CC); - -- conf = ap_get_module_config(r->per_dir_config, &php5_module); -+ conf = ap_get_module_config(r->per_dir_config, &php_module); - - /* apply_config() needs r in some cases, so allocate server_context early */ - ctx = SG(server_context); Index: SOURCES/php-5.5.0-libdb.diff =================================================================== --- SOURCES/php-5.5.0-libdb.diff (Revision 1174484) +++ SOURCES/php-5.5.0-libdb.diff (nicht existent) @@ -1,88 +0,0 @@ -diff -Naurp php-5.5.9/ext/dba/config.m4 php-5.5.9.oden/ext/dba/config.m4 ---- php-5.5.9/ext/dba/config.m4 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/dba/config.m4 2014-02-12 11:15:53.208814826 +0100 -@@ -312,57 +312,13 @@ if test "$PHP_DB4" != "no"; then - dbdp4="/usr/local/BerkeleyDB.4." - dbdp5="/usr/local/BerkeleyDB.5." - for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do -- if test -f "$i/db5/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/db5/db.h -- break -- elif test -f "$i/db4/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/db4/db.h -- break -- elif test -f "$i/include/db5.1/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db5.1/db.h -- break -- elif test -f "$i/include/db5.0/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db5.0/db.h -- break -- elif test -f "$i/include/db4.8/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4.8/db.h -- break -- elif test -f "$i/include/db4.7/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4.7/db.h -- break -- elif test -f "$i/include/db4.6/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4.6/db.h -- break -- elif test -f "$i/include/db4.5/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4.5/db.h -- break -- elif test -f "$i/include/db4/db.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4/db.h -- break -- elif test -f "$i/include/db/db4.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db/db4.h -- break -- elif test -f "$i/include/db4.h"; then -- THIS_PREFIX=$i -- THIS_INCLUDE=$i/include/db4.h -- break -- elif test -f "$i/include/db.h"; then -+ if test -f "$i/include/db.h"; then - THIS_PREFIX=$i - THIS_INCLUDE=$i/include/db.h - break - fi - done -- PHP_DBA_DB_CHECK(4, db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) -+ PHP_DBA_DB_CHECK(4, db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) - fi - PHP_DBA_STD_RESULT(db4,Berkeley DB4) - -diff -Naurp php-5.5.9/ext/dba/dba.c php-5.5.9.oden/ext/dba/dba.c ---- php-5.5.9/ext/dba/dba.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/dba/dba.c 2014-02-12 11:15:53.208814826 +0100 -@@ -52,6 +52,10 @@ - #include "php_qdbm.h" - #include "php_tcadb.h" - -+#ifdef DB4_INCLUDE_FILE -+#include DB4_INCLUDE_FILE -+#endif -+ - /* {{{ arginfo */ - ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) - ZEND_ARG_INFO(0, path) -@@ -535,6 +539,10 @@ PHP_MINFO_FUNCTION(dba) - - php_info_print_table_start(); - php_info_print_table_row(2, "DBA support", "enabled"); -+#ifdef DB_VERSION_STRING -+ php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); -+ php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); -+#endif - if (handlers.c) { - smart_str_0(&handlers); - php_info_print_table_row(2, "Supported handlers", handlers.c); Index: SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch =================================================================== --- SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch (Revision 1174484) +++ SOURCES/php-5.5.0-mysqlnd-unix-sock-addr.patch (nicht existent) @@ -1,89 +0,0 @@ -From 061fa11d7f90905f00893f02f0e4b1e0267b7cd5 Mon Sep 17 00:00:00 2001 -From: Olivier Blin <dev@blino.org> -Date: Sun, 23 Jun 2013 23:04:47 +0200 -Subject: [PATCH] mysqlnd: detect mysql unix socket path with mysql_config - -When the mysql extension is disabled, there is no automatic detection -of the mysql unix socket path. -The mysqli/mysqlnd/pdo_mysql use a hardcoded /tmp/mysql.sock path. - -This adds automatic detection of the mysql unix socket path in mysqlnd -with mysql_config --socket, and makes pdo_mysql use it as well. ---- - ext/mysqlnd/config9.m4 | 12 ++++++++++-- - ext/mysqlnd/mysqlnd.c | 4 ++++ - ext/pdo_mysql/pdo_mysql.c | 10 +++++++--- - 3 files changed, 21 insertions(+), 5 deletions(-) - -diff -Naurp php-5.5.9/ext/mysqlnd/config9.m4 php-5.5.9.oden/ext/mysqlnd/config9.m4 ---- php-5.5.9/ext/mysqlnd/config9.m4 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/mysqlnd/config9.m4 2014-02-12 11:16:58.513818477 +0100 -@@ -3,8 +3,9 @@ dnl $Id$ - dnl config.m4 for mysqlnd driver - - PHP_ARG_ENABLE(mysqlnd, whether to enable mysqlnd, -- [ --enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly -- when required by other extensions], no, yes) -+ [ --enable-mysqlnd=FILE Enable mysqlnd explicitly, will be done implicitly -+ when required by other extensions. FILE is the path -+ to mysql_config.], no, yes) - - PHP_ARG_ENABLE(mysqlnd_compression_support, whether to disable compressed protocol support in mysqlnd, - [ --disable-mysqlnd-compression-support -@@ -17,6 +18,8 @@ fi - - dnl If some extension uses mysqlnd it will get compiled in PHP core - if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then -+ MYSQL_CONFIG=$PHP_MYSQLND -+ - mysqlnd_ps_sources="mysqlnd_ps.c mysqlnd_ps_codec.c" - mysqlnd_base_sources="mysqlnd.c mysqlnd_alloc.c mysqlnd_bt.c mysqlnd_charset.c mysqlnd_wireprotocol.c \ - mysqlnd_loaddata.c mysqlnd_reverse_api.c mysqlnd_net.c \ -@@ -44,6 +47,11 @@ if test "$PHP_MYSQLND" != "no" || test " - PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, $ext_shared) - PHP_ADD_BUILD_DIR([ext/mysqlnd], 1) - PHP_INSTALL_HEADERS([ext/mysqlnd/]) -+ -+ if test -x "$MYSQL_CONFIG"; then -+ MYSQLND_SOCKET=`$MYSQL_CONFIG --socket` -+ AC_DEFINE_UNQUOTED(MYSQLND_UNIX_SOCK_ADDR, "$MYSQLND_SOCKET", [ ]) -+ fi - fi - - if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes" || test "$PHP_MYSQLI" != "no"; then -diff -Naurp php-5.5.9/ext/mysqlnd/mysqlnd.c php-5.5.9.oden/ext/mysqlnd/mysqlnd.c ---- php-5.5.9/ext/mysqlnd/mysqlnd.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/mysqlnd/mysqlnd.c 2014-02-12 11:16:58.513818477 +0100 -@@ -920,7 +920,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, connec - if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { - DBG_INF_FMT("socket=%s", socket_or_pipe? socket_or_pipe:"n/a"); - if (!socket_or_pipe) { -+#ifdef MYSQLND_UNIX_SOCK_ADDR -+ socket_or_pipe = MYSQLND_UNIX_SOCK_ADDR; -+#else - socket_or_pipe = "/tmp/mysql.sock"; -+#endif - } - transport_len = mnd_sprintf(&transport, 0, "unix://%s", socket_or_pipe); - unix_socket = TRUE; -diff -Naurp php-5.5.9/ext/pdo_mysql/pdo_mysql.c php-5.5.9.oden/ext/pdo_mysql/pdo_mysql.c ---- php-5.5.9/ext/pdo_mysql/pdo_mysql.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/pdo_mysql/pdo_mysql.c 2014-02-12 11:16:58.513818477 +0100 -@@ -49,10 +49,14 @@ ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql) - # ifdef PHP_MYSQL_UNIX_SOCK_ADDR - # define PDO_MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR - # else --# if !PHP_WIN32 --# define PDO_MYSQL_UNIX_ADDR "/tmp/mysql.sock" -+# ifdef MYSQLND_UNIX_SOCK_ADDR -+# define PDO_MYSQL_UNIX_ADDR MYSQLND_UNIX_SOCK_ADDR - # else --# define PDO_MYSQL_UNIX_ADDR NULL -+# if !PHP_WIN32 -+# define PDO_MYSQL_UNIX_ADDR "/tmp/mysql.sock" -+# else -+# define PDO_MYSQL_UNIX_ADDR NULL -+# endif - # endif - # endif - #endif Index: SOURCES/php-5.5.0RC3-mail.diff =================================================================== --- SOURCES/php-5.5.0RC3-mail.diff (Revision 1174484) +++ SOURCES/php-5.5.0RC3-mail.diff (nicht existent) @@ -1,86 +0,0 @@ -diff -Naurp php-5.5.0RC3/ext/standard/mail.c php-5.5.0RC3.oden/ext/standard/mail.c ---- php-5.5.0RC3/ext/standard/mail.c 2013-06-05 23:07:40.000000000 +0200 -+++ php-5.5.0RC3.oden/ext/standard/mail.c 2013-06-09 10:17:18.335035158 +0200 -@@ -22,6 +22,8 @@ - #include <ctype.h> - #include <stdio.h> - #include <time.h> -+#include <syslog.h> -+#include <string.h> - #include "php.h" - #include "ext/standard/info.h" - #include "ext/standard/php_string.h" -@@ -47,6 +49,9 @@ - #include "php_string.h" - #include "exec.h" - -+#include "zend_operators.h" -+#include "zend_globals.h" -+ - #ifdef PHP_WIN32 - #include "win32/sendmail.h" - #endif -@@ -124,6 +129,18 @@ PHP_FUNCTION(mail) - MAIL_ASCIIZ_CHECK(extra_cmd, extra_cmd_len); - } - -+ /* search for To: and Subject: headers which should be specified in proper mail() parameters, not in additional headers */ -+ if (headers != NULL) { -+ if (strncasecmp(headers, "to:", sizeof("to:") - 1) == 0 || strcasestr(headers, "\nto:")) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "To: headers aren't allowed in the additional_headers parameter. Use $to parameter for that. Mail not sent."); -+ RETURN_FALSE; -+ } -+ if (strncasecmp(headers, "subject:", sizeof("subject:") - 1) == 0 || strcasestr(headers, "\nsubject:")) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Subject: headers aren't allowed in the additional_headers parameter. Use $subject parameter for that. Mail not sent."); -+ RETURN_FALSE; -+ } -+ } -+ - if (to_len > 0) { - to_r = estrndup(to, to_len); - for (; to_len; to_len--) { -@@ -352,8 +369,42 @@ PHPAPI int php_mail(char *to, char *subj - MAIL_RET(0); - } - #endif -- fprintf(sendmail, "To: %s\n", to); -- fprintf(sendmail, "Subject: %s\n", subject); -+ TSRMLS_FETCH(); -+ -+ if ((to != NULL) && (strlen(to)!=0)) { -+ fprintf(sendmail, "To: %s\n", to); -+ } -+ if ((subject != NULL) && (strlen(subject)!=0)) { -+ fprintf(sendmail, "Subject: %s\n", subject); -+ } -+ -+ if (PG(http_globals)[TRACK_VARS_SERVER]) { -+ zval **remote_addr, **server_name, **server_port, -+ **script_name, **http_user_agent; -+ -+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &remote_addr)==SUCCESS) { -+ convert_to_string_ex(remote_addr); -+ fprintf(sendmail, "HTTP-Posting-Client: %s\n", Z_STRVAL_PP(remote_addr)); -+ } -+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_NAME", sizeof("SERVER_NAME"), (void **) &server_name)==SUCCESS) { -+ convert_to_string_ex(server_name); -+ fprintf(sendmail, "HTTP-Posting-URI: %s", Z_STRVAL_PP(server_name)); -+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_PORT", sizeof("SERVER_PORT"), (void **) &server_port)==SUCCESS) { -+ convert_to_string_ex(server_port); -+ fprintf(sendmail, ":%s", Z_STRVAL_PP(server_port)); -+ } -+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void **) &script_name)==SUCCESS) { -+ convert_to_string_ex(script_name); -+ fprintf(sendmail, "%s", Z_STRVAL_PP(script_name)); -+ } -+ fprintf(sendmail, "\n"); -+ } -+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT"), (void **) &http_user_agent)==SUCCESS) { -+ convert_to_string_ex(http_user_agent); -+ fprintf(sendmail, "HTTP-Posting-User-Agent: %s\n", Z_STRVAL_PP(http_user_agent)); -+ } -+ } -+ - if (hdr != NULL) { - fprintf(sendmail, "%s\n", hdr); - } Index: SOURCES/php-5.5.2-session.use_strict_mode.diff =================================================================== --- SOURCES/php-5.5.2-session.use_strict_mode.diff (Revision 1174484) +++ SOURCES/php-5.5.2-session.use_strict_mode.diff (nicht existent) @@ -1,30 +0,0 @@ -diff -Naurp php-5.5.9/php.ini-development php-5.5.9.oden/php.ini-development ---- php-5.5.9/php.ini-development 2014-02-12 11:31:47.296868175 +0100 -+++ php-5.5.9.oden/php.ini-development 2014-02-12 11:31:59.264868844 +0100 -@@ -1362,6 +1362,11 @@ session.use_cookies = 1 - ; http://php.net/session.use-only-cookies - session.use_only_cookies = 1 - -+; This option forces new session ID when browser supplied uninitialized session -+; ID. By enabling this option, module prevents session fixation based on adoption. -+; http://php.net/session.use-strict-mode -+session.use_strict_mode = 0 -+ - ; Name of the session (used as cookie name). - ; http://php.net/session.name - session.name = PHPSESSID -diff -Naurp php-5.5.9/php.ini-production php-5.5.9.oden/php.ini-production ---- php-5.5.9/php.ini-production 2014-02-12 11:31:47.296868175 +0100 -+++ php-5.5.9.oden/php.ini-production 2014-02-12 11:31:59.264868844 +0100 -@@ -1362,6 +1362,11 @@ session.use_cookies = 1 - ; http://php.net/session.use-only-cookies - session.use_only_cookies = 1 - -+; This option forces new session ID when browser supplied uninitialized session -+; ID. By enabling this option, module prevents session fixation based on adoption. -+; http://php.net/session.use-strict-mode -+session.use_strict_mode = 0 -+ - ; Name of the session (used as cookie name). - ; http://php.net/session.name - session.name = PHPSESSID Index: SOURCES/php-5.6.12-mga_php.ini.diff =================================================================== --- SOURCES/php-5.6.12-mga_php.ini.diff (Revision 1174484) +++ SOURCES/php-5.6.12-mga_php.ini.diff (nicht existent) @@ -1,420 +0,0 @@ -diff -Naur php-5.6.12/php.ini-development php-5.6.12.oden/php.ini-development ---- php-5.6.12/php.ini-development 2014-04-10 07:11:48.000000000 +0200 -+++ php-5.6.12.oden/php.ini-development 2014-04-18 08:14:04.803916265 +0200 -@@ -175,7 +175,7 @@ - ;user_ini.filename = ".user.ini" - - ; To disable this feature set this option to empty value --;user_ini.filename = -+user_ini.filename = - - ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) - ;user_ini.cache_ttl = 300 -@@ -199,7 +199,7 @@ - ; Development Value: Off - ; Production Value: Off - ; http://php.net/short-open-tag --short_open_tag = Off -+short_open_tag = On - - ; Allow ASP-style <% %> tags. - ; http://php.net/asp-tags -@@ -304,6 +304,9 @@ - ; http://php.net/disable-functions - disable_functions = - -+; this is an example -+;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo -+ - ; This directive allows you to disable certain classes for security reasons. - ; It receives a comma-delimited list of class names. - ; http://php.net/disable-classes -@@ -710,14 +713,9 @@ - ; Paths and Directories ; - ;;;;;;;;;;;;;;;;;;;;;;;;; - --; UNIX: "/path1:/path2" --;include_path = ".:/php/includes" --; --; Windows: "\path1;\path2" --;include_path = ".;c:\php\includes" --; - ; PHP's default setting for include_path is ".;/path/to/php/pear" - ; http://php.net/include-path -+include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" - - ; The root of the PHP pages, used only if nonempty. - ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -@@ -734,9 +732,7 @@ - - ; Directory in which the loadable extensions (modules) reside. - ; http://php.net/extension-dir --; extension_dir = "./" --; On windows: --; extension_dir = "ext" -+extension_dir = "/usr/lib/php/extensions" - - ; Directory where the temporary files should be placed. - ; Defaults to the system default (see sys_get_temp_dir) -@@ -746,7 +742,7 @@ - ; properly in multithreaded servers, such as IIS or Zeus, and is automatically - ; disabled on them. - ; http://php.net/enable-dl --enable_dl = Off -+enable_dl = On - - ; cgi.force_redirect is necessary to provide security running PHP as a CGI under - ; most web servers. Left undefined, PHP turns this on by default. You can -@@ -806,11 +802,11 @@ - ; Temporary directory for HTTP uploaded files (will use system default if not - ; specified). - ; http://php.net/upload-tmp-dir --;upload_tmp_dir = -+upload_tmp_dir = /var/tmp - - ; Maximum allowed size for uploaded files. - ; http://php.net/upload-max-filesize --upload_max_filesize = 2M -+upload_max_filesize = 16M - - ; Maximum number of files that can be uploaded via a single request - max_file_uploads = 20 -@@ -857,63 +853,10 @@ - ; - ; extension=modulename.extension - ; --; For example, on Windows: --; --; extension=msql.dll --; --; ... or under UNIX: --; --; extension=msql.so --; --; ... or with a path: --; --; extension=/path/to/extension/msql.so --; --; If you only provide the name of the extension, PHP will look for it in its --; default extension directory. --; --; Windows Extensions --; Note that ODBC support is built in, so no dll is needed for it. --; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) --; extension folders as well as the separate PECL DLL download (PHP 5). --; Be sure to appropriately set the extension_dir directive. --; --;extension=php_bz2.dll --;extension=php_curl.dll --;extension=php_fileinfo.dll --;extension=php_gd2.dll --;extension=php_gettext.dll --;extension=php_gmp.dll --;extension=php_intl.dll --;extension=php_imap.dll --;extension=php_interbase.dll --;extension=php_ldap.dll --;extension=php_mbstring.dll --;extension=php_exif.dll ; Must be after mbstring as it depends on it --;extension=php_mysql.dll --;extension=php_mysqli.dll --;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client --;extension=php_openssl.dll --;extension=php_pdo_firebird.dll --;extension=php_pdo_mysql.dll --;extension=php_pdo_oci.dll --;extension=php_pdo_odbc.dll --;extension=php_pdo_pgsql.dll --;extension=php_pdo_sqlite.dll --;extension=php_pgsql.dll --;extension=php_shmop.dll -- --; The MIBS data available in the PHP distribution must be installed. --; See http://www.php.net/manual/en/snmp.installation.php --;extension=php_snmp.dll -- --;extension=php_soap.dll --;extension=php_sockets.dll --;extension=php_sqlite3.dll --;extension=php_sybase_ct.dll --;extension=php_tidy.dll --;extension=php_xmlrpc.dll --;extension=php_xsl.dll -+; In Mageia, we don't add the extensions in php.ini anymore, we put -+; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. -+; This is so that the RPMS can register themselves without having to -+; modify the php.ini file. - - ;;;;;;;;;;;;;;;;;;; - ; Module Settings ; -@@ -1417,7 +1359,7 @@ - ; where MODE is the octal representation of the mode. Note that this - ; does not overwrite the process's umask. - ; http://php.net/session.save-path --;session.save_path = "/tmp" -+session.save_path = "/var/lib/php" - - ; Whether to use strict session mode. - ; Strict session mode does not accept uninitialized session ID and regenerate -@@ -1479,7 +1421,12 @@ - ; Development Value: 1 - ; Production Value: 1 - ; http://php.net/session.gc-probability --session.gc_probability = 1 -+ -+; This is disabled in the Mageia Linux packages, due to the strict permissions -+; on /var/lib/php. Instead of setting this here, see the cronjob at -+; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the -+; /etc/php.d/*_session.ini file. -+session.gc_probability = 0 - - ; Defines the probability that the 'garbage collection' process is started on every - ; session initialization. The probability is calculated by using the following equation: -@@ -1493,7 +1440,7 @@ - ; Development Value: 1000 - ; Production Value: 1000 - ; http://php.net/session.gc-divisor --session.gc_divisor = 1000 -+session.gc_divisor = 100 - - ; After this number of seconds, stored data will be seen as 'garbage' and - ; cleaned up by the garbage collection process. -@@ -1525,7 +1472,7 @@ - ; If neither are found at compile time, the default is no entropy file. - ; On windows, setting the entropy_length setting will activate the - ; Windows random source (using the CryptoAPI) --;session.entropy_file = /dev/urandom -+session.entropy_file = /dev/urandom - - ; Set to {nocache,private,public,} to determine HTTP caching aspects - ; or leave this empty to avoid sending anti-caching headers. -@@ -1663,7 +1610,9 @@ - ; Specify how datetime and datetim4 columns are returned - ; On => Returns data converted to SQL server settings - ; Off => Returns values as YYYY-MM-DD hh:mm:ss --;mssql.datetimeconvert = On -+ -+; https://qa.mandriva.com/show_bug.cgi?id=41297 -+mssql.datetimeconvert = Off - - ; Use NT authentication when connecting to the server - mssql.secure_connection = Off -@@ -1843,7 +1792,7 @@ - - ; Sets the directory name where SOAP extension will put cache files. - ; http://php.net/soap.wsdl-cache-dir --soap.wsdl_cache_dir="/tmp" -+soap.wsdl_cache_dir="/var/tmp" - - ; (time to live) Sets the number of second while cached file will be used - ; instead of original one. -diff -Naur php-5.6.12/php.ini-production php-5.6.12.oden/php.ini-production ---- php-5.6.12/php.ini-production 2014-04-10 07:11:48.000000000 +0200 -+++ php-5.6.12.oden/php.ini-production 2014-04-18 08:14:43.580918433 +0200 -@@ -175,7 +175,7 @@ - ;user_ini.filename = ".user.ini" - - ; To disable this feature set this option to empty value --;user_ini.filename = -+user_ini.filename = - - ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) - ;user_ini.cache_ttl = 300 -@@ -199,7 +199,7 @@ - ; Development Value: Off - ; Production Value: Off - ; http://php.net/short-open-tag --short_open_tag = Off -+short_open_tag = On - - ; Allow ASP-style <% %> tags. - ; http://php.net/asp-tags -@@ -304,6 +304,9 @@ - ; http://php.net/disable-functions - disable_functions = - -+; this is an example -+;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo -+ - ; This directive allows you to disable certain classes for security reasons. - ; It receives a comma-delimited list of class names. - ; http://php.net/disable-classes -@@ -708,14 +711,9 @@ - ; Paths and Directories ; - ;;;;;;;;;;;;;;;;;;;;;;;;; - --; UNIX: "/path1:/path2" --;include_path = ".:/php/includes" --; --; Windows: "\path1;\path2" --;include_path = ".;c:\php\includes" --; - ; PHP's default setting for include_path is ".;/path/to/php/pear" - ; http://php.net/include-path -+include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" - - ; The root of the PHP pages, used only if nonempty. - ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -@@ -732,9 +730,7 @@ - - ; Directory in which the loadable extensions (modules) reside. - ; http://php.net/extension-dir --; extension_dir = "./" --; On windows: --; extension_dir = "ext" -+extension_dir = "/usr/lib/php/extensions" - - ; Directory where the temporary files should be placed. - ; Defaults to the system default (see sys_get_temp_dir) -@@ -744,7 +740,7 @@ - ; properly in multithreaded servers, such as IIS or Zeus, and is automatically - ; disabled on them. - ; http://php.net/enable-dl --enable_dl = Off -+enable_dl = On - - ; cgi.force_redirect is necessary to provide security running PHP as a CGI under - ; most web servers. Left undefined, PHP turns this on by default. You can -@@ -804,11 +800,11 @@ - ; Temporary directory for HTTP uploaded files (will use system default if not - ; specified). - ; http://php.net/upload-tmp-dir --;upload_tmp_dir = -+upload_tmp_dir = /var/tmp - - ; Maximum allowed size for uploaded files. - ; http://php.net/upload-max-filesize --upload_max_filesize = 2M -+upload_max_filesize = 16M - - ; Maximum number of files that can be uploaded via a single request - max_file_uploads = 20 -@@ -855,63 +851,10 @@ - ; - ; extension=modulename.extension - ; --; For example, on Windows: --; --; extension=msql.dll --; --; ... or under UNIX: --; --; extension=msql.so --; --; ... or with a path: --; --; extension=/path/to/extension/msql.so --; --; If you only provide the name of the extension, PHP will look for it in its --; default extension directory. --; --; Windows Extensions --; Note that ODBC support is built in, so no dll is needed for it. --; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) --; extension folders as well as the separate PECL DLL download (PHP 5). --; Be sure to appropriately set the extension_dir directive. --; --;extension=php_bz2.dll --;extension=php_curl.dll --;extension=php_fileinfo.dll --;extension=php_gd2.dll --;extension=php_gettext.dll --;extension=php_gmp.dll --;extension=php_intl.dll --;extension=php_imap.dll --;extension=php_interbase.dll --;extension=php_ldap.dll --;extension=php_mbstring.dll --;extension=php_exif.dll ; Must be after mbstring as it depends on it --;extension=php_mysql.dll --;extension=php_mysqli.dll --;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client --;extension=php_openssl.dll --;extension=php_pdo_firebird.dll --;extension=php_pdo_mysql.dll --;extension=php_pdo_oci.dll --;extension=php_pdo_odbc.dll --;extension=php_pdo_pgsql.dll --;extension=php_pdo_sqlite.dll --;extension=php_pgsql.dll --;extension=php_shmop.dll -- --; The MIBS data available in the PHP distribution must be installed. --; See http://www.php.net/manual/en/snmp.installation.php --;extension=php_snmp.dll -- --;extension=php_soap.dll --;extension=php_sockets.dll --;extension=php_sqlite3.dll --;extension=php_sybase_ct.dll --;extension=php_tidy.dll --;extension=php_xmlrpc.dll --;extension=php_xsl.dll -+; In Mageia, we don't add the extensions in php.ini anymore, we put -+; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. -+; This is so that the RPMS can register themselves without having to -+; modify the php.ini file. - - ;;;;;;;;;;;;;;;;;;; - ; Module Settings ; -@@ -1415,7 +1357,7 @@ - ; where MODE is the octal representation of the mode. Note that this - ; does not overwrite the process's umask. - ; http://php.net/session.save-path --;session.save_path = "/tmp" -+session.save_path = "/var/lib/php" - - ; Whether to use strict session mode. - ; Strict session mode does not accept uninitialized session ID and regenerate -@@ -1477,7 +1419,12 @@ - ; Development Value: 1 - ; Production Value: 1 - ; http://php.net/session.gc-probability --session.gc_probability = 1 -+ -+; This is disabled in the Mageia Linux packages, due to the strict permissions -+; on /var/lib/php. Instead of setting this here, see the cronjob at -+; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the -+; /etc/php.d/*_session.ini file. -+session.gc_probability = 0 - - ; Defines the probability that the 'garbage collection' process is started on every - ; session initialization. The probability is calculated by using the following equation: -@@ -1491,7 +1438,7 @@ - ; Development Value: 1000 - ; Production Value: 1000 - ; http://php.net/session.gc-divisor --session.gc_divisor = 1000 -+session.gc_divisor = 100 - - ; After this number of seconds, stored data will be seen as 'garbage' and - ; cleaned up by the garbage collection process. -@@ -1523,7 +1470,7 @@ - ; If neither are found at compile time, the default is no entropy file. - ; On windows, setting the entropy_length setting will activate the - ; Windows random source (using the CryptoAPI) --;session.entropy_file = /dev/urandom -+session.entropy_file = /dev/urandom - - ; Set to {nocache,private,public,} to determine HTTP caching aspects - ; or leave this empty to avoid sending anti-caching headers. -@@ -1661,7 +1608,9 @@ - ; Specify how datetime and datetim4 columns are returned - ; On => Returns data converted to SQL server settings - ; Off => Returns values as YYYY-MM-DD hh:mm:ss --;mssql.datetimeconvert = On -+ -+; https://qa.mandriva.com/show_bug.cgi?id=41297 -+mssql.datetimeconvert = Off - - ; Use NT authentication when connecting to the server - mssql.secure_connection = Off -@@ -1841,7 +1790,7 @@ - - ; Sets the directory name where SOAP extension will put cache files. - ; http://php.net/soap.wsdl-cache-dir --soap.wsdl_cache_dir="/tmp" -+soap.wsdl_cache_dir="/var/tmp" - - ; (time to live) Sets the number of second while cached file will be used - ; instead of original one. Index: SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch =================================================================== --- SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch (Revision 1174484) +++ SOURCES/php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch (nicht existent) @@ -1,1309 +0,0 @@ -diff -rupN php-5.6.31.orig/ext/openssl/openssl.c php-5.6.31/ext/openssl/openssl.c ---- php-5.6.31.orig/ext/openssl/openssl.c 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/openssl.c 2017-08-01 10:55:28.108819344 +0200 -@@ -42,6 +42,12 @@ - - /* OpenSSL includes */ - #include <openssl/evp.h> -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+#include <openssl/bn.h> -+#include <openssl/rsa.h> -+#include <openssl/dsa.h> -+#include <openssl/dh.h> -+#endif - #include <openssl/x509.h> - #include <openssl/x509v3.h> - #include <openssl/crypto.h> -@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = - ZEND_GET_MODULE(openssl) - #endif - -+/* {{{ OpenSSL compatibility functions and macros */ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa -+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh -+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa -+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec -+ -+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) -+{ -+ r->n = n; -+ r->e = e; -+ r->d = d; -+ -+ return 1; -+} -+ -+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) -+{ -+ r->p = p; -+ r->q = q; -+ -+ return 1; -+} -+ -+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) -+{ -+ r->dmp1 = dmp1; -+ r->dmq1 = dmq1; -+ r->iqmp = iqmp; -+ -+ return 1; -+} -+ -+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) -+{ -+ *n = r->n; -+ *e = r->e; -+ *d = r->d; -+} -+ -+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) -+{ -+ *p = r->p; -+ *q = r->q; -+} -+ -+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp) -+{ -+ *dmp1 = r->dmp1; -+ *dmq1 = r->dmq1; -+ *iqmp = r->iqmp; -+} -+ -+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = dh->p; -+ *q = dh->q; -+ *g = dh->g; -+} -+ -+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ dh->p = p; -+ dh->q = q; -+ dh->g = g; -+ -+ return 1; -+} -+ -+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = dh->pub_key; -+ *priv_key = dh->priv_key; -+} -+ -+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ dh->pub_key = pub_key; -+ dh->priv_key = priv_key; -+ -+ return 1; -+} -+ -+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = d->p; -+ *q = d->q; -+ *g = d->g; -+} -+ -+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ d->p = p; -+ d->q = q; -+ d->g = g; -+ -+ return 1; -+} -+ -+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = d->pub_key; -+ *priv_key = d->priv_key; -+} -+ -+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ d->pub_key = pub_key; -+ d->priv_key = priv_key; -+ -+ return 1; -+} -+ -+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_id(_pkey) _pkey->type -+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type) -+ -+static int X509_get_signature_nid(const X509 *x) -+{ -+ return OBJ_obj2nid(x->sig_alg->algorithm); -+} -+ -+#endif -+ -+#endif -+/* }}} */ -+ - static int le_key; - static int le_x509; - static int le_csr; -@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x5 - } - for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) { - cnf = sk_CONF_VALUE_value(sktmp, i); -- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { -+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value); - return FAILURE; - } -@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(s - } - /* }}} */ - --#ifdef PHP_WIN32 -+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) - #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) - #else - #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() -@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_f - mdtype = (EVP_MD *) EVP_md2(); - break; - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - case OPENSSL_ALGO_DSS1: - mdtype = (EVP_MD *) EVP_dss1(); - break; -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - case OPENSSL_ALGO_SHA224: - mdtype = (EVP_MD *) EVP_sha224(); -@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl) - OpenSSL_add_all_digests(); - OpenSSL_add_all_algorithms(); - -+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000 -+ EVP_add_cipher(EVP_aes_128_ccm()); -+ EVP_add_cipher(EVP_aes_192_ccm()); -+ EVP_add_cipher(EVP_aes_256_ccm()); -+#endif -+ - SSL_load_error_strings(); - - /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in -@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl) - #ifdef HAVE_OPENSSL_MD2_H - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT); -@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl) - } - - php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC); -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC); -+#endif - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC); - #endif -@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl) - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_unregister("sslv2" TSRMLS_CC); - #endif -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_unregister("sslv3" TSRMLS_CC); -+#endif - php_stream_xport_unregister("tls" TSRMLS_CC); - php_stream_xport_unregister("tlsv1.0" TSRMLS_CC); - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName - { - GENERAL_NAMES *names; - const X509V3_EXT_METHOD *method = NULL; -+ ASN1_OCTET_STRING *extension_data; - long i, length, num; - const unsigned char *p; - -@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName - return -1; - } - -- p = extension->value->data; -- length = extension->value->length; -+ extension_data = X509_EXTENSION_get_data(extension); -+ p = extension_data->data; -+ length = extension_data->length; - if (method->it) { - names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length, - ASN1_ITEM_ptr(method->it))); -@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse) - char * tmpstr; - zval * subitem; - X509_EXTENSION *extension; -+ X509_NAME *subject_name; -+ char *cert_name; - char *extname; - BIO *bio_out; - BUF_MEM *bio_buf; -@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse) - } - array_init(return_value); - -- if (cert->name) { -- add_assoc_string(return_value, "name", cert->name, 1); -- } --/* add_assoc_bool(return_value, "valid", cert->valid); */ -+ subject_name = X509_get_subject_name(cert); -+ cert_name = X509_NAME_oneline(subject_name, NULL, 0); -+ add_assoc_string(return_value, "name", cert_name, 1); -+ OPENSSL_free(cert_name); - - add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC); - /* hash as used in CA directories to lookup cert by subject name */ -@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse) - add_assoc_string(return_value, "alias", tmpstr, 1); - } - -- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm); -+ sig_nid = X509_get_signature_nid(cert); - add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1); - add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1); - add_assoc_long(return_value, "signatureTypeNID", sig_nid); -@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key) - RETURN_FALSE; - } - -- tpubkey=X509_REQ_get_pubkey(csr); -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, -+ * the pub key is not changed after assigning. It means if we pass -+ * a private key, it will be returned including the private part. -+ * If we duplicate it, then we get just the public part which is -+ * the same behavior as for OpenSSL 1.0 */ -+ csr = X509_REQ_dup(csr); -+#endif -+ /* Retrieve the public key from the CSR */ -+ tpubkey = X509_REQ_get_pubkey(csr); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* We need to free the CSR as it was duplicated */ -+ X509_REQ_free(csr); -+#endif - RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC)); - return; - } -@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EV - { - assert(pkey != NULL); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - #ifndef NO_RSA - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- assert(pkey->pkey.rsa != NULL); -- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) { -- return 0; -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ if (rsa != NULL) { -+ const BIGNUM *p, *q; -+ -+ RSA_get0_factors(rsa, &p, &q); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif -@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EV - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- assert(pkey->pkey.dsa != NULL); -- -- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){ -- return 0; -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ if (dsa != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifndef NO_DH - case EVP_PKEY_DH: -- assert(pkey->pkey.dh != NULL); -- -- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) { -- return 0; -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ if (dh != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ if (p == NULL) { -+ return 0; -+ } -+ -+ DH_get0_key(dh, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- assert(pkey->pkey.ec != NULL); -- -- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) { -- return 0; -+ { -+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); -+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) { -+ return 0; -+ } - } - break; - #endif -@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EV - } - /* }}} */ - --#define OPENSSL_PKEY_GET_BN(_type, _name) do { \ -- if (pkey->pkey._type->_name != NULL) { \ -- int len = BN_num_bytes(pkey->pkey._type->_name); \ -- char *str = emalloc(len + 1); \ -- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \ -- str[len] = 0; \ -- add_assoc_stringl(_type, #_name, str, len, 0); \ -- } \ -- } while (0) -- --#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \ -- zval **bn; \ -- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \ -- Z_TYPE_PP(bn) == IS_STRING) { \ -- _type->_name = BN_bin2bn( \ -- (unsigned char*)Z_STRVAL_PP(bn), \ -- Z_STRLEN_PP(bn), NULL); \ -- } \ -+#define OPENSSL_GET_BN(_array, _bn, _name) do { \ -+ if (_bn != NULL) { \ -+ int len = BN_num_bytes(_bn); \ -+ char *str = emalloc(len + 1); \ -+ BN_bn2bin(_bn, (unsigned char*)str); \ -+ str[len] = 0; \ -+ add_assoc_stringl(_array, #_name, str, len, 0); \ -+ } \ - } while (0); - -+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name) -+ -+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \ -+ zval **bn; \ -+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \ -+ Z_TYPE_PP(bn) == IS_STRING) { \ -+ _name = BN_bin2bn( \ -+ (unsigned char*)Z_STRVAL_PP(bn), \ -+ Z_STRLEN_PP(bn), NULL); \ -+ } else { \ -+ _name = NULL; \ -+ } \ -+ } while (0); -+ -+/* {{{ php_openssl_pkey_init_rsa */ -+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data) -+{ -+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ OPENSSL_PKEY_SET_BN(data, n); -+ OPENSSL_PKEY_SET_BN(data, e); -+ OPENSSL_PKEY_SET_BN(data, d); -+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, dmp1); -+ OPENSSL_PKEY_SET_BN(data, dmq1); -+ OPENSSL_PKEY_SET_BN(data, iqmp); -+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) { -+ return 0; -+ } -+ -+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) { -+ return 0; -+ } -+ -+ return 1; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dsa */ --zend_bool php_openssl_pkey_init_dsa(DSA *dsa) -+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data) - { -- if (!dsa->p || !dsa->q || !dsa->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ const BIGNUM *priv_key_const, *pub_key_const; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) { - return 0; - } -- if (dsa->priv_key || dsa->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ if (pub_key) { -+ return DSA_set0_key(dsa, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DSA_generate_key(dsa)) { -@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA - } - /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key - * so we need to double check that public key is created */ -- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) { -+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const); -+ if (!pub_key_const || BN_is_zero(pub_key_const)) { - return 0; - } - /* all good */ -@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA - } - /* }}} */ - -+/* {{{ php_openssl_dh_pub_from_priv */ -+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p) -+{ -+ BIGNUM *pub_key, *priv_key_const_time; -+ BN_CTX *ctx; -+ -+ pub_key = BN_new(); -+ if (pub_key == NULL) { -+ return NULL; -+ } -+ -+ priv_key_const_time = BN_new(); -+ if (priv_key_const_time == NULL) { -+ BN_free(pub_key); -+ return NULL; -+ } -+ ctx = BN_CTX_new(); -+ if (ctx == NULL) { -+ BN_free(pub_key); -+ BN_free(priv_key_const_time); -+ return NULL; -+ } -+ -+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME); -+ -+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) { -+ BN_free(pub_key); -+ pub_key = NULL; -+ } -+ -+ BN_free(priv_key_const_time); -+ BN_CTX_free(ctx); -+ -+ return pub_key; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dh */ --zend_bool php_openssl_pkey_init_dh(DH *dh) -+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data) - { -- if (!dh->p || !dh->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) { - return 0; - } -- if (dh->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ if (pub_key) { -+ return DH_set0_key(dh, pub_key, priv_key); -+ } -+ if (priv_key) { -+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p); -+ if (pub_key == NULL) { -+ return 0; -+ } -+ return DH_set0_key(dh, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DH_generate_key(dh)) { -@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - RSA *rsa = RSA_new(); - if (rsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp); -- if (rsa->n && rsa->d) { -- if (EVP_PKEY_assign_RSA(pkey, rsa)) { -- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); -- } -+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) { -+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } - RSA_free(rsa); - } -@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DSA *dsa = DSA_new(); - if (dsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key); -- if (php_openssl_pkey_init_dsa(dsa)) { -+ if (php_openssl_pkey_init_dsa(dsa, *data)) { - if (EVP_PKEY_assign_DSA(pkey, dsa)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DH *dh = DH_new(); - if (dh) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key); -- if (php_openssl_pkey_init_dh(dh)) { -+ if (php_openssl_pkey_init_dh(dh, *data)) { - if (EVP_PKEY_assign_DH(pkey, dh)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); - break; - #endif - default: -@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export) - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details) - /*TODO: Use the real values once the openssl constants are used - * See the enum at the top of this file - */ -- switch (EVP_PKEY_type(pkey->type)) { -+ switch (EVP_PKEY_base_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- ktype = OPENSSL_KEYTYPE_RSA; -- -- if (pkey->pkey.rsa != NULL) { -- zval *rsa; -- -- ALLOC_INIT_ZVAL(rsa); -- array_init(rsa); -- OPENSSL_PKEY_GET_BN(rsa, n); -- OPENSSL_PKEY_GET_BN(rsa, e); -- OPENSSL_PKEY_GET_BN(rsa, d); -- OPENSSL_PKEY_GET_BN(rsa, p); -- OPENSSL_PKEY_GET_BN(rsa, q); -- OPENSSL_PKEY_GET_BN(rsa, dmp1); -- OPENSSL_PKEY_GET_BN(rsa, dmq1); -- OPENSSL_PKEY_GET_BN(rsa, iqmp); -- add_assoc_zval(return_value, "rsa", rsa); -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ ktype = OPENSSL_KEYTYPE_RSA; -+ -+ if (rsa != NULL) { -+ zval *z_rsa; -+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ RSA_get0_key(rsa, &n, &e, &d); -+ RSA_get0_factors(rsa, &p, &q); -+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp); -+ -+ ALLOC_INIT_ZVAL(z_rsa); -+ array_init(z_rsa); -+ OPENSSL_PKEY_GET_BN(z_rsa, n); -+ OPENSSL_PKEY_GET_BN(z_rsa, e); -+ OPENSSL_PKEY_GET_BN(z_rsa, d); -+ OPENSSL_PKEY_GET_BN(z_rsa, p); -+ OPENSSL_PKEY_GET_BN(z_rsa, q); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1); -+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp); -+ add_assoc_zval(return_value, "rsa", z_rsa); -+ } - } - - break; -@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details) - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- ktype = OPENSSL_KEYTYPE_DSA; -- -- if (pkey->pkey.dsa != NULL) { -- zval *dsa; -- -- ALLOC_INIT_ZVAL(dsa); -- array_init(dsa); -- OPENSSL_PKEY_GET_BN(dsa, p); -- OPENSSL_PKEY_GET_BN(dsa, q); -- OPENSSL_PKEY_GET_BN(dsa, g); -- OPENSSL_PKEY_GET_BN(dsa, priv_key); -- OPENSSL_PKEY_GET_BN(dsa, pub_key); -- add_assoc_zval(return_value, "dsa", dsa); -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ ktype = OPENSSL_KEYTYPE_DSA; -+ -+ if (dsa != NULL) { -+ zval *z_dsa; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dsa); -+ array_init(z_dsa); -+ OPENSSL_PKEY_GET_BN(z_dsa, p); -+ OPENSSL_PKEY_GET_BN(z_dsa, q); -+ OPENSSL_PKEY_GET_BN(z_dsa, g); -+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key); -+ add_assoc_zval(return_value, "dsa", z_dsa); -+ } - } - break; - case EVP_PKEY_DH: -- -- ktype = OPENSSL_KEYTYPE_DH; -- -- if (pkey->pkey.dh != NULL) { -- zval *dh; -- -- ALLOC_INIT_ZVAL(dh); -- array_init(dh); -- OPENSSL_PKEY_GET_BN(dh, p); -- OPENSSL_PKEY_GET_BN(dh, g); -- OPENSSL_PKEY_GET_BN(dh, priv_key); -- OPENSSL_PKEY_GET_BN(dh, pub_key); -- add_assoc_zval(return_value, "dh", dh); -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ ktype = OPENSSL_KEYTYPE_DH; -+ -+ if (dh != NULL) { -+ zval *z_dh; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ DH_get0_key(dh, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dh); -+ array_init(z_dh); -+ OPENSSL_PKEY_GET_BN(z_dh, p); -+ OPENSSL_PKEY_GET_BN(z_dh, g); -+ OPENSSL_PKEY_GET_BN(z_dh, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dh, pub_key); -+ add_assoc_zval(return_value, "dh", z_dh); -+ } - } - - break; - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - ktype = OPENSSL_KEYTYPE_EC; -- if (pkey->pkey.ec != NULL) { -+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) { - zval *ec; - const EC_GROUP *ec_group; - int nid; -@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_private_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_private_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_public_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_public_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign) - long keyresource = -1; - char * data; - int data_len; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - zval *method = NULL; - long signature_algo = OPENSSL_ALGO_SHA1; - const EVP_MD *mdtype; -@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign) - siglen = EVP_PKEY_size(pkey); - sigbuf = emalloc(siglen + 1); - -- EVP_SignInit(&md_ctx, mdtype); -- EVP_SignUpdate(&md_ctx, data, data_len); -- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_SignInit(md_ctx, mdtype); -+ EVP_SignUpdate(md_ctx, data, data_len); -+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { - zval_dtor(signature); - sigbuf[siglen] = '\0'; - ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0); -@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign) - efree(sigbuf); - RETVAL_FALSE; - } -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - if (keyresource == -1) { - EVP_PKEY_free(pkey); - } -@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify) - zval **key; - EVP_PKEY *pkey; - int err; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - const EVP_MD *mdtype; - long keyresource = -1; - char * data; int data_len; -@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify) - RETURN_FALSE; - } - -- EVP_VerifyInit (&md_ctx, mdtype); -- EVP_VerifyUpdate (&md_ctx, data, data_len); -- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey); -- EVP_MD_CTX_cleanup(&md_ctx); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit (md_ctx, mdtype); -+ EVP_VerifyUpdate (md_ctx, data, data_len); -+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey); -+ EVP_MD_CTX_destroy(md_ctx); - - if (keyresource == -1) { - EVP_PKEY_free(pkey); -@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal) - char *method =NULL; - int method_len = 0; - const EVP_CIPHER *cipher; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) { - return; -@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal) - memset(eks, 0, sizeof(*eks) * nkeys); - key_resources = safe_emalloc(nkeys, sizeof(long), 0); - memset(key_resources, 0, sizeof(*key_resources) * nkeys); -+ memset(pkeys, 0, sizeof(*pkeys) * nkeys); - - /* get the public keys we are using to seal this data */ - zend_hash_internal_pointer_reset_ex(pubkeysht, &pos); -@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal) - i++; - } - -- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) { -+ ctx = EVP_CIPHER_CTX_new(); -+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) { - RETVAL_FALSE; -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - - #if 0 - /* Need this if allow ciphers that require initialization vector */ -- ivlen = EVP_CIPHER_CTX_iv_length(&ctx); -+ ivlen = EVP_CIPHER_CTX_iv_length(ctx); - iv = ivlen ? emalloc(ivlen + 1) : NULL; - #endif - /* allocate one byte extra to make room for \0 */ -- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx)); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx)); -+ EVP_CIPHER_CTX_cleanup(ctx); - -- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) || -- !EVP_SealFinal(&ctx, buf + len1, &len2)) { -+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) || -+ !EVP_SealFinal(ctx, buf + len1, &len2)) { - RETVAL_FALSE; - efree(buf); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - -@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal) - efree(buf); - } - RETVAL_LONG(len1 + len2); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - - clean_exit: - for (i=0; i<nkeys; i++) { -@@ -5045,7 +5345,7 @@ PHP_FUNCTION(openssl_open) - int len1, len2; - unsigned char *buf; - long keyresource = -1; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - char * data; int data_len; - char * ekey; int ekey_len; - char *method =NULL; -@@ -5074,8 +5374,9 @@ PHP_FUNCTION(openssl_open) - - buf = emalloc(data_len + 1); - -- if (EVP_OpenInit(&ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) { -- if (!EVP_OpenFinal(&ctx, buf + len1, &len2) || (len1 + len2 == 0)) { -+ ctx = EVP_CIPHER_CTX_new(); -+ if (EVP_OpenInit(ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) { -+ if (!EVP_OpenFinal(ctx, buf + len1, &len2) || (len1 + len2 == 0)) { - efree(buf); - RETVAL_FALSE; - } else { -@@ -5091,7 +5392,7 @@ PHP_FUNCTION(openssl_open) - if (keyresource == -1) { - EVP_PKEY_free(pkey); - } -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - } - /* }}} */ - -@@ -5151,7 +5452,7 @@ PHP_FUNCTION(openssl_digest) - char *data, *method; - int data_len, method_len; - const EVP_MD *mdtype; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - int siglen; - unsigned char *sigbuf; - -@@ -5167,9 +5468,10 @@ PHP_FUNCTION(openssl_digest) - siglen = EVP_MD_size(mdtype); - sigbuf = emalloc(siglen + 1); - -- EVP_DigestInit(&md_ctx, mdtype); -- EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len); -- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_DigestInit(md_ctx, mdtype); -+ EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len); -+ if (EVP_DigestFinal (md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { - if (raw_output) { - sigbuf[siglen] = '\0'; - RETVAL_STRINGL((char *)sigbuf, siglen, 0); -@@ -5185,6 +5487,8 @@ PHP_FUNCTION(openssl_digest) - efree(sigbuf); - RETVAL_FALSE; - } -+ -+ EVP_MD_CTX_destroy(md_ctx); - } - /* }}} */ - -@@ -5230,7 +5534,7 @@ PHP_FUNCTION(openssl_encrypt) - char *data, *method, *password, *iv = ""; - int data_len, method_len, password_len, iv_len = 0, max_iv_len; - const EVP_CIPHER *cipher_type; -- EVP_CIPHER_CTX cipher_ctx; -+ EVP_CIPHER_CTX *cipher_ctx; - int i=0, outlen, keylen; - unsigned char *outbuf, *key; - zend_bool free_iv; -@@ -5262,19 +5566,24 @@ PHP_FUNCTION(openssl_encrypt) - outlen = data_len + EVP_CIPHER_block_size(cipher_type); - outbuf = safe_emalloc(outlen, 1, 1); - -- EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL); -+ cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (!cipher_ctx) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); -+ RETURN_FALSE; -+ } -+ EVP_EncryptInit(cipher_ctx, cipher_type, NULL, NULL); - if (password_len > keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } - if (data_len > 0) { -- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - } - outlen = i; -- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - if (options & OPENSSL_RAW_DATA) { - outbuf[outlen] = '\0'; -@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt) - if (free_iv) { - efree(iv); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt) - char *data, *method, *password, *iv = ""; - int data_len, method_len, password_len, iv_len = 0; - const EVP_CIPHER *cipher_type; -- EVP_CIPHER_CTX cipher_ctx; -+ EVP_CIPHER_CTX *cipher_ctx; - int i, outlen, keylen; - unsigned char *outbuf, *key; - int base64_str_len; -@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt) - outlen = data_len + EVP_CIPHER_block_size(cipher_type); - outbuf = emalloc(outlen + 1); - -- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL); -+ cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (!cipher_ctx) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); -+ RETURN_FALSE; -+ } -+ -+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL); - if (password_len > keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } -- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - outlen = i; -- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - outbuf[outlen] = '\0'; - RETVAL_STRINGL((char *)outbuf, outlen, 0); -@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt) - if (base64_str) { - efree(base64_str); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key) - zval *key; - char *pub_str; - int pub_len; -+ DH *dh; - EVP_PKEY *pkey; - BIGNUM *pub; - char *data; -@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key) - return; - } - ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key); -- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) { -+ if (pkey == NULL) { -+ RETURN_FALSE; -+ } -+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) { -+ RETURN_FALSE; -+ } -+ dh = EVP_PKEY_get0_DH(pkey); -+ if (dh == NULL) { - RETURN_FALSE; - } - - pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL); - -- data = emalloc(DH_size(pkey->pkey.dh) + 1); -- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh); -+ data = emalloc(DH_size(dh) + 1); -+ len = DH_compute_key((unsigned char*)data, pub, dh); - - if (len >= 0) { - data[len] = 0; -diff -rupN php-5.6.31.orig/ext/openssl/tests/bug41033.phpt php-5.6.31/ext/openssl/tests/bug41033.phpt ---- php-5.6.31.orig/ext/openssl/tests/bug41033.phpt 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/tests/bug41033.phpt 2017-08-01 10:49:25.008823468 +0200 -@@ -13,11 +13,11 @@ $pub = 'file://' . dirname(__FILE__) . ' - - $prkeyid = openssl_get_privatekey($prv, "1234"); - $ct = "Hello I am some text!"; --openssl_sign($ct, $signature, $prkeyid, OPENSSL_ALGO_DSS1); -+openssl_sign($ct, $signature, $prkeyid, OPENSSL_VERSION_NUMBER < 0x10100000 ? OPENSSL_ALGO_DSS1 : OPENSSL_ALGO_SHA1); - echo "Signature: ".base64_encode($signature) . "\n"; - - $pukeyid = openssl_get_publickey($pub); --$valid = openssl_verify($ct, $signature, $pukeyid, OPENSSL_ALGO_DSS1); -+$valid = openssl_verify($ct, $signature, $pukeyid, OPENSSL_VERSION_NUMBER < 0x10100000 ? OPENSSL_ALGO_DSS1 : OPENSSL_ALGO_SHA1); - echo "Signature validity: " . $valid . "\n"; - - -diff -rupN php-5.6.31.orig/ext/openssl/tests/bug66501.phpt php-5.6.31/ext/openssl/tests/bug66501.phpt ---- php-5.6.31.orig/ext/openssl/tests/bug66501.phpt 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/tests/bug66501.phpt 2017-08-01 10:49:25.008823468 +0200 -@@ -16,7 +16,7 @@ AwEHoUQDQgAEPq4hbIWHvB51rdWr8ejrjWo4qVNW - sqOTOnMoezkbSmVVMuwz9flvnqHGmQvmug== - -----END EC PRIVATE KEY-----'; - $key = openssl_pkey_get_private($pkey); --$res = openssl_sign($data ='alpha', $sign, $key, 'ecdsa-with-SHA1'); -+$res = openssl_sign($data ='alpha', $sign, $key, OPENSSL_VERSION_NUMBER < 0x10100000 ? 'ecdsa-with-SHA1' : 'SHA1'); - var_dump($res); - --EXPECTF-- - bool(true) -diff -rupN php-5.6.31.orig/ext/openssl/tests/openssl_error_string_basic.phpt php-5.6.31/ext/openssl/tests/openssl_error_string_basic.phpt ---- php-5.6.31.orig/ext/openssl/tests/openssl_error_string_basic.phpt 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/tests/openssl_error_string_basic.phpt 2017-08-01 10:49:25.008823468 +0200 -@@ -105,7 +105,7 @@ expect_openssl_errors('openssl_private_d - // public encrypt and decrypt with failed padding check and padding - @openssl_public_encrypt("data", $crypted, $public_key_file, 1000); - @openssl_public_decrypt("data", $crypted, $public_key_file); --expect_openssl_errors('openssl_private_(en|de)crypt padding', ['0906D06C', '04068076', '0407006A', '04067072']); -+expect_openssl_errors('openssl_private_(en|de)crypt padding', OPENSSL_VERSION_NUMBER < 0x10100000 ? ['0906D06C', '04068076', '0407006A', '04067072'] : ['0906D06C', '04068076', '04067072']); - - // X509 - echo "X509 errors\n"; -diff -rupN php-5.6.31.orig/ext/openssl/tests/sni_server.phpt php-5.6.31/ext/openssl/tests/sni_server.phpt ---- php-5.6.31.orig/ext/openssl/tests/sni_server.phpt 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/tests/sni_server.phpt 2017-08-01 10:49:25.012823468 +0200 -@@ -27,6 +27,9 @@ CODE; - $clientCode = <<<'CODE' - $flags = STREAM_CLIENT_CONNECT; - $ctxArr = [ -+ 'verify_peer' => false, -+ 'verify_peer_name' => false, -+ 'allow_self_signed' => true, - 'cafile' => __DIR__ . '/sni_server_ca.pem', - 'capture_peer_cert' => true - ]; -diff -rupN php-5.6.31.orig/ext/openssl/xp_ssl.c php-5.6.31/ext/openssl/xp_ssl.c ---- php-5.6.31.orig/ext/openssl/xp_ssl.c 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/openssl/xp_ssl.c 2017-08-01 10:49:25.012823468 +0200 -@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, - static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */ - { - if (method_value == STREAM_CRYPTO_METHOD_SSLv2) { --#ifndef OPENSSL_NO_SSL2 -+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L - return is_client ? SSLv2_client_method() : SSLv2_server_method(); - #else - php_error_docref(NULL TSRMLS_CC, E_WARNING, -@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream - } - /* }}} */ - -+#define PHP_SSL_MAX_VERSION_LEN 32 -+ -+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */ -+{ -+ const char *version = SSL_CIPHER_get_version(c); -+ strncpy(buffer, version, max_len); -+ if (max_len <= strlen(version)) { -+ buffer[max_len - 1] = 0; -+ } -+ return buffer; -+} -+/* }}} */ -+ - static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ - { - zval *meta_arr; - char *proto_str; - long proto = SSL_version(ssl_handle); - const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle); -+ char version_str[PHP_SSL_MAX_VERSION_LEN]; - - switch (proto) { - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *s - add_assoc_string(meta_arr, "protocol", proto_str, 1); - add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1); - add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL)); -- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1); -+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1); - - return meta_arr; - } -diff -rupN php-5.6.31.orig/ext/phar/util.c php-5.6.31/ext/phar/util.c ---- php-5.6.31.orig/ext/phar/util.c 2017-07-06 00:25:00.000000000 +0200 -+++ php-5.6.31/ext/phar/util.c 2017-08-01 10:49:25.020823468 +0200 -@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp - BIO *in; - EVP_PKEY *key; - EVP_MD *mdtype = (EVP_MD *) EVP_sha1(); -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - #else - int tempsig; - #endif -@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp - return FAILURE; - } - -- EVP_VerifyInit(&md_ctx, mdtype); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit(md_ctx, mdtype); - read_len = end_of_phar; - - if (read_len > sizeof(buf)) { -@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp - php_stream_seek(fp, 0, SEEK_SET); - - while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) { -- EVP_VerifyUpdate (&md_ctx, buf, len); -+ EVP_VerifyUpdate (md_ctx, buf, len); - read_len -= (off_t)len; - - if (read_len < read_size) { -@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp - } - } - -- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) { -+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) { - /* 1: signature verified, 0: signature does not match, -1: failed signature operation */ -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - - if (error) { - spprintf(error, 0, "broken openssl signature"); -@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp - return FAILURE; - } - -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - #endif - - *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC); Index: SOURCES/php-7.0.0RC5-apache-mod_php.diff =================================================================== --- SOURCES/php-7.0.0RC5-apache-mod_php.diff (nicht existent) +++ SOURCES/php-7.0.0RC5-apache-mod_php.diff (Arbeitskopie) @@ -0,0 +1,132 @@ +diff -Naurp php-7.1.11/sapi/apache2handler/config.m4 BUILD/php-7.1.11/sapi/apache2handler/config.m4 +--- php-7.1.11/sapi/apache2handler/config.m4 2017-10-25 09:04:42.000000000 +0200 ++++ BUILD/php-7.1.11/sapi/apache2handler/config.m4 2017-10-29 23:17:21.530899970 +0100 +@@ -70,20 +70,20 @@ if test "$PHP_APXS2" != "no"; then + if test -z `$APXS -q SYSCONFDIR`; then + INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ + $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ +- -i -n php7" ++ -i -n php" + else + APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` + INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ + \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ + $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ + -S SYSCONFDIR='$APXS_SYSCONFDIR' \ +- -i -a -n php7" ++ -i -a -n php" + fi + + case $host_alias in + *aix*) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" +- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) ++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" + ;; + *darwin*) +@@ -99,19 +99,19 @@ if test "$PHP_APXS2" != "no"; then + fi + MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS" + PHP_SUBST(MH_BUNDLE_FLAGS) +- PHP_SELECT_SAPI(apache2handler, bundle, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) +- SAPI_SHARED=libs/libphp7.so ++ PHP_SELECT_SAPI(apache2handler, bundle, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) ++ SAPI_SHARED=libs/libphp.so + INSTALL_IT="$INSTALL_IT $SAPI_SHARED" + ;; + *beos*) + if test -f _APP_; then `rm _APP_`; fi + `ln -s $APXS_BINDIR/httpd _APP_` + EXTRA_LIBS="$EXTRA_LIBS _APP_" +- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) ++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" + ;; + *) +- PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) ++ PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" + ;; + esac +diff -Naurp php-7.1.11/sapi/apache2handler/mod_php7.c BUILD/php-7.1.11/sapi/apache2handler/mod_php7.c +--- php-7.1.11/sapi/apache2handler/mod_php7.c 2017-10-25 09:04:42.000000000 +0200 ++++ BUILD/php-7.1.11/sapi/apache2handler/mod_php7.c 2017-10-29 23:14:04.848912458 +0100 +@@ -25,7 +25,7 @@ + #include "php.h" + #include "php_apache.h" + +-AP_MODULE_DECLARE_DATA module php7_module = { ++AP_MODULE_DECLARE_DATA module php_module = { + STANDARD20_MODULE_STUFF, + create_php_config, /* create per-directory config structure */ + merge_php_config, /* merge per-directory config structures */ +diff -Naurp php-7.1.11/sapi/apache2handler/php_apache.h BUILD/php-7.1.11/sapi/apache2handler/php_apache.h +--- php-7.1.11/sapi/apache2handler/php_apache.h 2017-10-25 09:04:42.000000000 +0200 ++++ BUILD/php-7.1.11/sapi/apache2handler/php_apache.h 2017-10-29 23:17:46.636898376 +0100 +@@ -31,11 +31,11 @@ + + /* Enable per-module logging in Apache 2.4+ */ + #ifdef APLOG_USE_MODULE +-APLOG_USE_MODULE(php7); ++APLOG_USE_MODULE(php); + #endif + + /* Declare this so we can get to it from outside the sapi_apache2.c file */ +-extern module AP_MODULE_DECLARE_DATA php7_module; ++extern module AP_MODULE_DECLARE_DATA php_module; + + /* A way to specify the location of the php.ini dir in an apache directive */ + extern char *apache2_php_ini_path_override; +diff -Naurp php-7.1.11/sapi/apache2handler/php_apache.h.rej BUILD/php-7.1.11/sapi/apache2handler/php_apache.h.rej +--- php-7.1.11/sapi/apache2handler/php_apache.h.rej 1970-01-01 01:00:00.000000000 +0100 ++++ BUILD/php-7.1.11/sapi/apache2handler/php_apache.h.rej 2017-10-29 23:14:04.849912457 +0100 +@@ -0,0 +1,11 @@ ++--- sapi/apache2handler/php_apache.h 2015-10-14 18:04:53.000000000 +0200 +++++ sapi/apache2handler/php_apache.h 2015-10-22 17:18:39.523957881 +0200 ++@@ -29,7 +29,7 @@ ++ #include "main/php_streams.h" ++ ++ /* Declare this so we can get to it from outside the sapi_apache2.c file */ ++-extern module AP_MODULE_DECLARE_DATA php7_module; +++extern module AP_MODULE_DECLARE_DATA php_module; ++ ++ /* A way to specify the location of the php.ini dir in an apache directive */ ++ extern char *apache2_php_ini_path_override; +diff -Naurp php-7.1.11/sapi/apache2handler/php.sym BUILD/php-7.1.11/sapi/apache2handler/php.sym +--- php-7.1.11/sapi/apache2handler/php.sym 2017-10-25 09:04:42.000000000 +0200 ++++ BUILD/php-7.1.11/sapi/apache2handler/php.sym 2017-10-29 23:14:04.850912457 +0100 +@@ -1 +1 @@ +-php7_module ++php_module +diff -Naurp php-7.1.11/sapi/apache2handler/sapi_apache2.c BUILD/php-7.1.11/sapi/apache2handler/sapi_apache2.c +--- php-7.1.11/sapi/apache2handler/sapi_apache2.c 2017-10-25 09:04:42.000000000 +0200 ++++ BUILD/php-7.1.11/sapi/apache2handler/sapi_apache2.c 2017-10-29 23:14:04.852912457 +0100 +@@ -61,7 +61,7 @@ + + #define PHP_MAGIC_TYPE "application/x-httpd-php" + #define PHP_SOURCE_MAGIC_TYPE "application/x-httpd-php-source" +-#define PHP_SCRIPT "php7-script" ++#define PHP_SCRIPT "php-script" + + /* A way to specify the location of the php.ini dir in an apache directive */ + char *apache2_php_ini_path_override = NULL; +@@ -561,7 +561,7 @@ typedef struct { + HashTable config; + } php_conf_rec; + zend_string *str; +- php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php7_module); ++ php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php_module); + + ZEND_HASH_FOREACH_STR_KEY(&c->config, str) { + zend_restore_ini_entry(str, ZEND_INI_STAGE_SHUTDOWN); +@@ -590,7 +590,7 @@ static int php_handler(request_rec *r) + + #define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req); + +- conf = ap_get_module_config(r->per_dir_config, &php7_module); ++ conf = ap_get_module_config(r->per_dir_config, &php_module); + + /* apply_config() needs r in some cases, so allocate server_context early */ + ctx = SG(server_context); + Index: SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff =================================================================== --- SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff (nicht existent) +++ SOURCES/php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff (Arbeitskopie) @@ -0,0 +1,104 @@ +diff -Naurp php-7.0.2/sapi/fpm/php-fpm.conf.in php-7.0.2.oden/sapi/fpm/php-fpm.conf.in +--- php-7.0.2/sapi/fpm/php-fpm.conf.in 2016-01-06 11:05:07.000000000 +0100 ++++ php-7.0.2.oden/sapi/fpm/php-fpm.conf.in 2016-01-14 14:31:46.152709210 +0100 +@@ -14,14 +14,14 @@ + ; Pid file + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: none +-;pid = run/php-fpm.pid ++pid = /var/run/php-fpm/php-fpm.pid + + ; Error log file + ; If it's set to "syslog", log is sent to syslogd instead of being written + ; into a local file. + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: log/php-fpm.log +-;error_log = log/php-fpm.log ++error_log = /var/log/php-fpm/php-fpm.log + + ; syslog_facility is used to specify what type of program is logging the + ; message. This lets syslogd specify that messages from different facilities +@@ -122,4 +122,4 @@ error_log = /var/log/php-fpm/php-fpm.log + ; Relative path can also be used. They will be prefixed by: + ; - the global prefix if it's been set (-p argument) + ; - @prefix@ otherwise +-include=@php_fpm_sysconfdir@/php-fpm.d/*.conf ++include=/etc/php-fpm.d/*.conf +diff -Naurp php-7.0.2/sapi/fpm/www.conf.in php-7.0.2.oden/sapi/fpm/www.conf.in +--- php-7.0.2/sapi/fpm/www.conf.in 2016-01-06 11:05:07.000000000 +0100 ++++ php-7.0.2.oden/sapi/fpm/www.conf.in 2016-01-14 14:40:55.431380216 +0100 +@@ -33,7 +33,8 @@ group = @php_fpm_group@ + ; (IPv6 and IPv4-mapped) on a specific port; + ; '/path/to/unix/socket' - to listen on a unix socket. + ; Note: This value is mandatory. +-listen = 127.0.0.1:9000 ++; listen = 127.0.0.1:9000 ++listen = /var/lib/php-fpm/php-fpm.sock + + ; Set listen(2) backlog. + ; Default Value: 511 (-1 on FreeBSD and OpenBSD) +@@ -44,9 +45,9 @@ listen = 127.0.0.1:9000 + ; BSD-derived systems allow connections regardless of permissions. + ; Default Values: user and group are set as the running user + ; mode is set to 0660 +-;listen.owner = @php_fpm_user@ +-;listen.group = @php_fpm_group@ +-;listen.mode = 0660 ++listen.owner = @php_fpm_user@ ++listen.group = @php_fpm_group@ ++listen.mode = 0660 + ; When POSIX Access Control Lists are supported you can set them using + ; these options, value is a comma separated list of user/group names. + ; When set, listen.owner and listen.group are ignored +@@ -104,22 +105,22 @@ pm = dynamic + ; forget to tweak pm.* to fit your needs. + ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' + ; Note: This value is mandatory. +-pm.max_children = 5 ++pm.max_children = 35 + + ; The number of child processes created on startup. + ; Note: Used only when pm is set to 'dynamic' + ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +-pm.start_servers = 2 ++pm.start_servers = 20 + + ; The desired minimum number of idle server processes. + ; Note: Used only when pm is set to 'dynamic' + ; Note: Mandatory when pm is set to 'dynamic' +-pm.min_spare_servers = 1 ++pm.min_spare_servers = 5 + + ; The desired maximum number of idle server processes. + ; Note: Used only when pm is set to 'dynamic' + ; Note: Mandatory when pm is set to 'dynamic' +-pm.max_spare_servers = 3 ++pm.max_spare_servers = 35 + + ; The number of seconds after which an idle process will be killed. + ; Note: Used only when pm is set to 'ondemand' +@@ -130,7 +131,7 @@ pm.max_spare_servers = 3 + ; This can be useful to work around memory leaks in 3rd party libraries. For + ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. + ; Default Value: 0 +-;pm.max_requests = 500 ++pm.max_requests = 10000 + + ; The URI to view the FPM status page. If this value is not set, no URI will be + ; recognized as a status page. It shows the following informations: +@@ -315,6 +316,7 @@ pm.max_spare_servers = 3 + ; Default Value: not set + ; Note: slowlog is mandatory if request_slowlog_timeout is set + ;slowlog = log/$pool.log.slow ++slowlog = /var/log/php-fpm/php-fpm.log.slow + + ; The timeout for serving a single request after which a PHP backtrace will be + ; dumped to the 'slowlog' file. A value of '0s' means 'off'. +@@ -386,6 +388,7 @@ pm.max_spare_servers = 3 + ;env[TMP] = /tmp + ;env[TMPDIR] = /tmp + ;env[TEMP] = /tmp ++env[PATH] = $PATH + + ; Additional php.ini defines, specific to this pool of workers. These settings + ; overwrite the values previously defined in the php.ini. The directives are the Index: SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff =================================================================== --- SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff (nicht existent) +++ SOURCES/php-7.0.0RC5-fpm-0.6.5-shared.diff (Arbeitskopie) @@ -0,0 +1,23 @@ +diff -Naur php-7.0.0RC5/sapi/fpm/config.m4 php-7.0.0RC5.oden/sapi/fpm/config.m4 +--- php-7.0.0RC5/sapi/fpm/config.m4 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/fpm/config.m4 2015-10-22 16:52:24.944644439 +0200 +@@ -718,7 +718,7 @@ + BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" + ;; + *) +- BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" ++ BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" + ;; + esac + +diff -Naur php-7.0.0RC5/sapi/fpm/Makefile.frag php-7.0.0RC5.oden/sapi/fpm/Makefile.frag +--- php-7.0.0RC5/sapi/fpm/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/fpm/Makefile.frag 2015-10-22 16:51:17.946143249 +0200 +@@ -1,6 +1,6 @@ + fpm: $(SAPI_FPM_PATH) + +-$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS) ++$(SAPI_FPM_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS) + $(BUILD_FPM) + + install-fpm: $(SAPI_FPM_PATH) Index: SOURCES/php-7.0.2RC1-libdb.diff =================================================================== --- SOURCES/php-7.0.2RC1-libdb.diff (nicht existent) +++ SOURCES/php-7.0.2RC1-libdb.diff (Arbeitskopie) @@ -0,0 +1,92 @@ +diff -Naurp php-7.0.2RC1/ext/dba/config.m4 php-7.0.2RC1.oden/ext/dba/config.m4 +--- php-7.0.2RC1/ext/dba/config.m4 2015-12-22 16:19:29.000000000 +0100 ++++ php-7.0.2RC1.oden/ext/dba/config.m4 2015-12-26 07:35:37.007337965 +0100 +@@ -312,61 +312,13 @@ if test "$PHP_DB4" != "no"; then + dbdp4="/usr/local/BerkeleyDB.4." + dbdp5="/usr/local/BerkeleyDB.5." + for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do +- if test -f "$i/db5/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/db5/db.h +- break +- elif test -f "$i/db4/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/db4/db.h +- break +- elif test -f "$i/include/db5.3/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db5.3/db.h +- break +- elif test -f "$i/include/db5.1/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db5.1/db.h +- break +- elif test -f "$i/include/db5.0/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db5.0/db.h +- break +- elif test -f "$i/include/db4.8/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.8/db.h +- break +- elif test -f "$i/include/db4.7/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.7/db.h +- break +- elif test -f "$i/include/db4.6/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.6/db.h +- break +- elif test -f "$i/include/db4.5/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.5/db.h +- break +- elif test -f "$i/include/db4/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4/db.h +- break +- elif test -f "$i/include/db/db4.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db/db4.h +- break +- elif test -f "$i/include/db4.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.h +- break +- elif test -f "$i/include/db.h"; then ++ if test -f "$i/include/db.h"; then + THIS_PREFIX=$i + THIS_INCLUDE=$i/include/db.h + break + fi + done +- PHP_DBA_DB_CHECK(4, db-5.3 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) ++ PHP_DBA_DB_CHECK(4, db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) + fi + PHP_DBA_STD_RESULT(db4,Berkeley DB4) + +diff -Naurp php-7.0.2RC1/ext/dba/dba.c php-7.0.2RC1.oden/ext/dba/dba.c +--- php-7.0.2RC1/ext/dba/dba.c 2015-12-22 16:19:29.000000000 +0100 ++++ php-7.0.2RC1.oden/ext/dba/dba.c 2015-12-26 07:32:05.257021354 +0100 +@@ -52,6 +52,10 @@ + #include "php_qdbm.h" + #include "php_tcadb.h" + ++#ifdef DB4_INCLUDE_FILE ++#include DB4_INCLUDE_FILE ++#endif ++ + /* {{{ arginfo */ + ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) + ZEND_ARG_INFO(0, path) +@@ -552,6 +556,10 @@ PHP_MINFO_FUNCTION(dba) + + php_info_print_table_start(); + php_info_print_table_row(2, "DBA support", "enabled"); ++#ifdef DB_VERSION_STRING ++ php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); ++ php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); ++#endif + if (handlers.s) { + smart_str_0(&handlers); + php_info_print_table_row(2, "Supported handlers", ZSTR_VAL(handlers.s)); Index: SOURCES/php-7.0.2RC1-session.use_strict_mode.diff =================================================================== --- SOURCES/php-7.0.2RC1-session.use_strict_mode.diff (nicht existent) +++ SOURCES/php-7.0.2RC1-session.use_strict_mode.diff (Arbeitskopie) @@ -0,0 +1,30 @@ +diff -Naurp php-7.0.2RC1/php.ini-development php-7.0.2RC1.oden/php.ini-development +--- php-7.0.2RC1/php.ini-development 2015-12-26 07:51:56.869130228 +0100 ++++ php-7.0.2RC1.oden/php.ini-development 2015-12-26 07:52:34.537420491 +0100 +@@ -1267,6 +1267,11 @@ session.use_cookies = 1 + ; http://php.net/session.use-only-cookies + session.use_only_cookies = 1 + ++; This option forces new session ID when browser supplied uninitialized session ++; ID. By enabling this option, module prevents session fixation based on adoption. ++; http://php.net/session.use-strict-mode ++session.use_strict_mode = 0 ++ + ; Name of the session (used as cookie name). + ; http://php.net/session.name + session.name = PHPSESSID +diff -Naurp php-7.0.2RC1/php.ini-production php-7.0.2RC1.oden/php.ini-production +--- php-7.0.2RC1/php.ini-production 2015-12-26 07:51:56.869130228 +0100 ++++ php-7.0.2RC1.oden/php.ini-production 2015-12-26 07:52:34.537420491 +0100 +@@ -1267,6 +1267,11 @@ session.use_cookies = 1 + ; http://php.net/session.use-only-cookies + session.use_only_cookies = 1 + ++; This option forces new session ID when browser supplied uninitialized session ++; ID. By enabling this option, module prevents session fixation based on adoption. ++; http://php.net/session.use-strict-mode ++session.use_strict_mode = 0 ++ + ; Name of the session (used as cookie name). + ; http://php.net/session.name + session.name = PHPSESSID Index: SOURCES/php-7.1-mga_php.ini.diff =================================================================== --- SOURCES/php-7.1-mga_php.ini.diff (nicht existent) +++ SOURCES/php-7.1-mga_php.ini.diff (Arbeitskopie) @@ -0,0 +1,352 @@ +--- php-7.1.11/php.ini-production 2017-10-25 09:04:42.000000000 +0200 ++++ php-7.1.11-trgt/php.ini-production 2017-10-29 16:48:10.633549461 +0100 +@@ -170,7 +170,7 @@ + ;user_ini.filename = ".user.ini" + + ; To disable this feature set this option to empty value +-;user_ini.filename = ++user_ini.filename = + + ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) + ;user_ini.cache_ttl = 300 +@@ -194,7 +194,7 @@ engine = On + ; Development Value: Off + ; Production Value: Off + ; http://php.net/short-open-tag +-short_open_tag = Off ++short_open_tag = On + + ; The number of significant digits displayed in floating point numbers. + ; http://php.net/precision +@@ -313,6 +313,9 @@ serialize_precision = -1 + ; http://php.net/disable-functions + disable_functions = + ++; this is an example ++;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo ++ + ; This directive allows you to disable certain classes for security reasons. + ; It receives a comma-delimited list of class names. + ; http://php.net/disable-classes +@@ -709,14 +712,9 @@ default_charset = "UTF-8" + ; Paths and Directories ; + ;;;;;;;;;;;;;;;;;;;;;;;;; + +-; UNIX: "/path1:/path2" +-;include_path = ".:/php/includes" +-; +-; Windows: "\path1;\path2" +-;include_path = ".;c:\php\includes" +-; + ; PHP's default setting for include_path is ".;/path/to/php/pear" + ; http://php.net/include-path ++include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" + + ; The root of the PHP pages, used only if nonempty. + ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +@@ -733,9 +731,7 @@ user_dir = + + ; Directory in which the loadable extensions (modules) reside. + ; http://php.net/extension-dir +-; extension_dir = "./" +-; On windows: +-; extension_dir = "ext" ++extension_dir = "/usr/lib/php/extensions" + + ; Directory where the temporary files should be placed. + ; Defaults to the system default (see sys_get_temp_dir) +@@ -817,11 +813,11 @@ file_uploads = On + ; Temporary directory for HTTP uploaded files (will use system default if not + ; specified). + ; http://php.net/upload-tmp-dir +-;upload_tmp_dir = ++upload_tmp_dir = /var/tmp + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 16M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -862,68 +858,10 @@ default_socket_timeout = 60 + ;;;;;;;;;;;;;;;;;;;;;; + ; Dynamic Extensions ; + ;;;;;;;;;;;;;;;;;;;;;; +- +-; If you wish to have an extension loaded automatically, use the following +-; syntax: +-; +-; extension=modulename.extension +-; +-; For example, on Windows: +-; +-; extension=msql.dll +-; +-; ... or under UNIX: +-; +-; extension=msql.so +-; +-; ... or with a path: +-; +-; extension=/path/to/extension/msql.so +-; +-; If you only provide the name of the extension, PHP will look for it in its +-; default extension directory. +-; +-; Windows Extensions +-; Note that ODBC support is built in, so no dll is needed for it. +-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) +-; extension folders as well as the separate PECL DLL download (PHP 5+). +-; Be sure to appropriately set the extension_dir directive. +-; +-;extension=php_bz2.dll +-;extension=php_curl.dll +-;extension=php_fileinfo.dll +-;extension=php_ftp.dll +-;extension=php_gd2.dll +-;extension=php_gettext.dll +-;extension=php_gmp.dll +-;extension=php_intl.dll +-;extension=php_imap.dll +-;extension=php_interbase.dll +-;extension=php_ldap.dll +-;extension=php_mbstring.dll +-;extension=php_exif.dll ; Must be after mbstring as it depends on it +-;extension=php_mysqli.dll +-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +-;extension=php_openssl.dll +-;extension=php_pdo_firebird.dll +-;extension=php_pdo_mysql.dll +-;extension=php_pdo_oci.dll +-;extension=php_pdo_odbc.dll +-;extension=php_pdo_pgsql.dll +-;extension=php_pdo_sqlite.dll +-;extension=php_pgsql.dll +-;extension=php_shmop.dll +- +-; The MIBS data available in the PHP distribution must be installed. +-; See http://www.php.net/manual/en/snmp.installation.php +-;extension=php_snmp.dll +- +-;extension=php_soap.dll +-;extension=php_sockets.dll +-;extension=php_sqlite3.dll +-;extension=php_tidy.dll +-;extension=php_xmlrpc.dll +-;extension=php_xsl.dll ++; In Mageia, we don't add the extensions in php.ini anymore, we put ++; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. ++; This is so that the RPMS can register themselves without having to ++; modify the php.ini file. + + ;;;;;;;;;;;;;;;;;;; + ; Module Settings ; +@@ -1352,7 +1290,7 @@ session.save_handler = files + ; where MODE is the octal representation of the mode. Note that this + ; does not overwrite the process's umask. + ; http://php.net/session.save-path +-;session.save_path = "/tmp" ++session.save_path = "/var/lib/php" + + ; Whether to use strict session mode. + ; Strict session mode does not accept uninitialized session ID and regenerate +@@ -1414,7 +1352,12 @@ session.serialize_handler = php + ; Development Value: 1 + ; Production Value: 1 + ; http://php.net/session.gc-probability +-session.gc_probability = 1 ++ ++; This is disabled in the Mageia Linux packages, due to the strict permissions ++; on /var/lib/php. Instead of setting this here, see the cronjob at ++; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the ++; /etc/php.d/*_session.ini file. ++session.gc_probability = 0 + + ; Defines the probability that the 'garbage collection' process is started on every + ; session initialization. The probability is calculated by using the following equation: +@@ -1745,7 +1688,7 @@ soap.wsdl_cache_enabled=1 + + ; Sets the directory name where SOAP extension will put cache files. + ; http://php.net/soap.wsdl-cache-dir +-soap.wsdl_cache_dir="/tmp" ++soap.wsdl_cache_dir="/var/tmp" + + ; (time to live) Sets the number of second while cached file will be used + ; instead of original one. +--- php-7.1.11/php.ini-development 2017-10-25 09:04:42.000000000 +0200 ++++ php-7.1.11-trgt/php.ini-development 2017-10-29 16:48:26.819637434 +0100 +@@ -170,7 +170,7 @@ + ;user_ini.filename = ".user.ini" + + ; To disable this feature set this option to empty value +-;user_ini.filename = ++user_ini.filename = + + ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) + ;user_ini.cache_ttl = 300 +@@ -194,7 +194,7 @@ engine = On + ; Development Value: Off + ; Production Value: Off + ; http://php.net/short-open-tag +-short_open_tag = Off ++short_open_tag = On + + ; The number of significant digits displayed in floating point numbers. + ; http://php.net/precision +@@ -313,6 +313,9 @@ serialize_precision = -1 + ; http://php.net/disable-functions + disable_functions = + ++; this is an example ++;disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix _getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_g etpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_ge tuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_ setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo ++ + ; This directive allows you to disable certain classes for security reasons. + ; It receives a comma-delimited list of class names. + ; http://php.net/disable-classes +@@ -709,14 +712,9 @@ default_charset = "UTF-8" + ; Paths and Directories ; + ;;;;;;;;;;;;;;;;;;;;;;;;; + +-; UNIX: "/path1:/path2" +-;include_path = ".:/php/includes" +-; +-; Windows: "\path1;\path2" +-;include_path = ".;c:\php\includes" +-; + ; PHP's default setting for include_path is ".;/path/to/php/pear" + ; http://php.net/include-path ++include_path = ".:/usr/lib/php/:/usr/share/pear/:/usr/share/php/" + + ; The root of the PHP pages, used only if nonempty. + ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +@@ -733,9 +731,7 @@ user_dir = + + ; Directory in which the loadable extensions (modules) reside. + ; http://php.net/extension-dir +-; extension_dir = "./" +-; On windows: +-; extension_dir = "ext" ++extension_dir = "/usr/lib/php/extensions" + + ; Directory where the temporary files should be placed. + ; Defaults to the system default (see sys_get_temp_dir) +@@ -817,11 +813,11 @@ file_uploads = On + ; Temporary directory for HTTP uploaded files (will use system default if not + ; specified). + ; http://php.net/upload-tmp-dir +-;upload_tmp_dir = ++upload_tmp_dir = /var/tmp + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 16M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -862,68 +858,11 @@ default_socket_timeout = 60 + ;;;;;;;;;;;;;;;;;;;;;; + ; Dynamic Extensions ; + ;;;;;;;;;;;;;;;;;;;;;; ++; In Mageia, we don't add the extensions in php.ini anymore, we put ++; them in /etc/php.d/<number>_<name>.ini, for example 10_recode.ini. ++; This is so that the RPMS can register themselves without having to ++; modify the php.ini file. + +-; If you wish to have an extension loaded automatically, use the following +-; syntax: +-; +-; extension=modulename.extension +-; +-; For example, on Windows: +-; +-; extension=msql.dll +-; +-; ... or under UNIX: +-; +-; extension=msql.so +-; +-; ... or with a path: +-; +-; extension=/path/to/extension/msql.so +-; +-; If you only provide the name of the extension, PHP will look for it in its +-; default extension directory. +-; +-; Windows Extensions +-; Note that ODBC support is built in, so no dll is needed for it. +-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) +-; extension folders as well as the separate PECL DLL download (PHP 5+). +-; Be sure to appropriately set the extension_dir directive. +-; +-;extension=php_bz2.dll +-;extension=php_curl.dll +-;extension=php_fileinfo.dll +-;extension=php_ftp.dll +-;extension=php_gd2.dll +-;extension=php_gettext.dll +-;extension=php_gmp.dll +-;extension=php_intl.dll +-;extension=php_imap.dll +-;extension=php_interbase.dll +-;extension=php_ldap.dll +-;extension=php_mbstring.dll +-;extension=php_exif.dll ; Must be after mbstring as it depends on it +-;extension=php_mysqli.dll +-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +-;extension=php_openssl.dll +-;extension=php_pdo_firebird.dll +-;extension=php_pdo_mysql.dll +-;extension=php_pdo_oci.dll +-;extension=php_pdo_odbc.dll +-;extension=php_pdo_pgsql.dll +-;extension=php_pdo_sqlite.dll +-;extension=php_pgsql.dll +-;extension=php_shmop.dll +- +-; The MIBS data available in the PHP distribution must be installed. +-; See http://www.php.net/manual/en/snmp.installation.php +-;extension=php_snmp.dll +- +-;extension=php_soap.dll +-;extension=php_sockets.dll +-;extension=php_sqlite3.dll +-;extension=php_tidy.dll +-;extension=php_xmlrpc.dll +-;extension=php_xsl.dll + + ;;;;;;;;;;;;;;;;;;; + ; Module Settings ; +@@ -1352,7 +1291,7 @@ session.save_handler = files + ; where MODE is the octal representation of the mode. Note that this + ; does not overwrite the process's umask. + ; http://php.net/session.save-path +-;session.save_path = "/tmp" ++session.save_path = "/var/lib/php" + + ; Whether to use strict session mode. + ; Strict session mode does not accept uninitialized session ID and regenerate +@@ -1414,7 +1353,12 @@ session.serialize_handler = php + ; Development Value: 1 + ; Production Value: 1 + ; http://php.net/session.gc-probability +-session.gc_probability = 1 ++ ++; This is disabled in the Mageia Linux packages, due to the strict permissions ++; on /var/lib/php. Instead of setting this here, see the cronjob at ++; /etc/cron.d/php, which uses the session.gc_maxlifetime settings from the ++; /etc/php.d/*_session.ini file. ++session.gc_probability = 0 + + ; Defines the probability that the 'garbage collection' process is started on every + ; session initialization. The probability is calculated by using the following equation: +@@ -1745,7 +1689,7 @@ soap.wsdl_cache_enabled=1 + + ; Sets the directory name where SOAP extension will put cache files. + ; http://php.net/soap.wsdl-cache-dir +-soap.wsdl_cache_dir="/tmp" ++soap.wsdl_cache_dir="/var/tmp" + + ; (time to live) Sets the number of second while cached file will be used + ; instead of original one. Index: SOURCES/php-bug43221.diff =================================================================== --- SOURCES/php-bug43221.diff (Revision 1174484) +++ SOURCES/php-bug43221.diff (nicht existent) @@ -1,17 +0,0 @@ -diff -Naurp php-5.5.9/ext/simplexml/simplexml.c php-5.5.9.oden/ext/simplexml/simplexml.c ---- php-5.5.9/ext/simplexml/simplexml.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/simplexml/simplexml.c 2014-02-12 11:28:36.226857491 +0100 -@@ -1660,6 +1660,13 @@ SXE_METHOD(addChild) - - localname = xmlSplitQName2((xmlChar *)qname, &prefix); - if (localname == NULL) { -+ if (nsuri_len > 0) { -+ if (prefix != NULL) { -+ xmlFree(prefix); -+ } -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute requires prefix for namespace"); -+ return; -+ } - localname = xmlStrdup((xmlChar *)qname); - } - Index: SOURCES/php-bug43589.diff =================================================================== --- SOURCES/php-bug43589.diff (Revision 1174484) +++ SOURCES/php-bug43589.diff (nicht existent) @@ -1,12 +0,0 @@ -diff -Naurp php-5.5.9/ext/bz2/bz2_filter.c php-5.5.9.oden/ext/bz2/bz2_filter.c ---- php-5.5.9/ext/bz2/bz2_filter.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/bz2/bz2_filter.c 2014-02-12 11:29:43.416861248 +0100 -@@ -276,6 +276,8 @@ static php_stream_filter_status_t php_bz - data->strm.avail_out = data->outbuf_len; - data->strm.next_out = data->outbuf; - exit_status = PSFS_PASS_ON; -+ } else if (status == BZ_OK) { -+ break; - } - } - } Index: SOURCES/php-dlopen.diff =================================================================== --- SOURCES/php-dlopen.diff (Revision 1174484) +++ SOURCES/php-dlopen.diff (Arbeitskopie) @@ -1,13 +1,13 @@ -diff -Naurp php-5.5.9/Zend/zend.h php-5.5.9.oden/Zend/zend.h ---- php-5.5.9/Zend/zend.h 2014-02-12 11:26:26.440850234 +0100 -+++ php-5.5.9.oden/Zend/zend.h 2014-02-12 11:26:40.926851044 +0100 -@@ -90,11 +90,11 @@ +diff -Naurp php-7.0.0RC5/Zend/zend_portability.h php-7.0.0RC5.oden/Zend/zend_portability.h +--- php-7.0.0RC5/Zend/zend_portability.h 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/Zend/zend_portability.h 2015-10-22 17:10:18.411863213 +0200 +@@ -146,11 +146,11 @@ # endif # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT) -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) - # elif defined(RTLD_DEEPBIND) + # elif defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND) +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND) # else @@ -16,3 +16,4 @@ # endif # define DL_UNLOAD dlclose # if defined(DLSYM_NEEDS_UNDERSCORE) + Index: SOURCES/php-exif_nesting_level.diff =================================================================== --- SOURCES/php-exif_nesting_level.diff (Revision 1174484) +++ SOURCES/php-exif_nesting_level.diff (Arbeitskopie) @@ -1,6 +1,7 @@ ---- ext/exif/exif.c 2008-12-31 12:15:36.000000000 +0100 -+++ ext/exif/exif.c.oden 2009-03-27 12:15:10.000000000 +0100 -@@ -99,7 +99,7 @@ typedef unsigned char uchar; +diff -Naurp php-7.0.2RC1/ext/exif/exif.c php-7.0.2RC1.oden/ext/exif/exif.c +--- php-7.0.2RC1/ext/exif/exif.c 2015-12-22 16:19:30.000000000 +0100 ++++ php-7.0.2RC1.oden/ext/exif/exif.c 2015-12-26 07:45:06.900022377 +0100 +@@ -89,7 +89,7 @@ typedef unsigned char uchar; #define EFREE_IF(ptr) if (ptr) efree(ptr) Index: SOURCES/php-fpm.logrotate =================================================================== --- SOURCES/php-fpm.logrotate (Revision 1174484) +++ SOURCES/php-fpm.logrotate (Arbeitskopie) @@ -1,4 +1,4 @@ -/var/log/php-fpm/php-fpm.log /var/log/php-fpm/php-fpm-slow.log { +/var/log/php-fpm/*.log { rotate 5 monthly missingok Index: SOURCES/php-imap-annotation+status-current.diff =================================================================== --- SOURCES/php-imap-annotation+status-current.diff (Revision 1174484) +++ SOURCES/php-imap-annotation+status-current.diff (nicht existent) @@ -1,302 +0,0 @@ -diff -Naurp php-5.5.9/ext/imap/php_imap.c php-5.5.9.oden/ext/imap/php_imap.c ---- php-5.5.9/ext/imap/php_imap.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/imap/php_imap.c 2014-02-12 11:22:16.933836282 +0100 -@@ -164,6 +164,22 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_geta - ZEND_ARG_INFO(0, mailbox) - ZEND_END_ARG_INFO() - #endif -+#if defined(HAVE_IMAP2005) -+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setannotation, 0, 0, 5) -+ ZEND_ARG_INFO(0, stream_id) -+ ZEND_ARG_INFO(0, mailbox) -+ ZEND_ARG_INFO(0, entry) -+ ZEND_ARG_INFO(0, attr) -+ ZEND_ARG_INFO(0, value) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getannotation, 0, 0, 4) -+ ZEND_ARG_INFO(0, stream_id) -+ ZEND_ARG_INFO(0, mailbox) -+ ZEND_ARG_INFO(0, entry) -+ ZEND_ARG_INFO(0, attr) -+ZEND_END_ARG_INFO() -+#endif - - ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_expunge, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -@@ -408,6 +424,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_stat - ZEND_ARG_INFO(0, options) - ZEND_END_ARG_INFO() - -+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_status_current, 0, 0, 2) -+ ZEND_ARG_INFO(0, stream_id) -+ ZEND_ARG_INFO(0, options) -+ZEND_END_ARG_INFO() -+ - ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_bodystruct, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) -@@ -508,6 +529,7 @@ const zend_function_entry imap_functions - PHP_FE(imap_binary, arginfo_imap_binary) - PHP_FE(imap_utf8, arginfo_imap_utf8) - PHP_FE(imap_status, arginfo_imap_status) -+ PHP_FE(imap_status_current, arginfo_imap_status_current) - PHP_FE(imap_mailboxmsginfo, arginfo_imap_mailboxmsginfo) - PHP_FE(imap_setflag_full, arginfo_imap_setflag_full) - PHP_FE(imap_clearflag_full, arginfo_imap_clearflag_full) -@@ -538,6 +560,10 @@ const zend_function_entry imap_functions - PHP_FE(imap_setacl, arginfo_imap_setacl) - PHP_FE(imap_getacl, arginfo_imap_getacl) - #endif -+#if defined(HAVE_IMAP2005) -+ PHP_FE(imap_setannotation, arginfo_imap_setannotation) -+ PHP_FE(imap_getannotation, arginfo_imap_getannotation) -+#endif - - PHP_FE(imap_mail, arginfo_imap_mail) - -@@ -799,6 +825,30 @@ void mail_getacl(MAILSTREAM *stream, cha - /* }}} */ - #endif - -+#if defined(HAVE_IMAP2005) -+/* {{{ mail_getannotation -+ * -+ * Mail GET_ANNOTATION callback -+ * Called via the mail_parameter function in c-client:src/c-client/mail.c -+ */ -+void mail_getannotation(MAILSTREAM *stream, ANNOTATION *alist) -+{ -+ ANNOTATION_VALUES *cur; -+ -+ TSRMLS_FETCH(); -+ -+ /* walk through the ANNOTATION_VALUES */ -+ -+ for(cur = alist->values; cur; cur = cur->next) { -+ if (cur->value) -+ add_assoc_stringl(IMAPG(imap_annotation_list), cur->attr, cur->value, strlen(cur->value), 1); -+ else -+ add_assoc_stringl(IMAPG(imap_annotation_list), cur->attr, "", 0, 1); -+ } -+} -+/* }}} */ -+#endif -+ - /* {{{ PHP_GINIT_FUNCTION - */ - static PHP_GINIT_FUNCTION(imap) -@@ -824,6 +874,7 @@ static PHP_GINIT_FUNCTION(imap) - #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) - imap_globals->quota_return = NIL; - imap_globals->imap_acl_list = NIL; -+ imap_globals->imap_annotation_list = NIL; - #endif - imap_globals->gets_stream = NIL; - } -@@ -1539,7 +1590,119 @@ PHP_FUNCTION(imap_getacl) - } - /* }}} */ - #endif /* HAVE_IMAP2000 || HAVE_IMAP2001 */ -+ -+#if defined(HAVE_IMAP2005) -+ -+/* {{{ proto bool imap_setannotation(resource stream_id, string mailbox, string entry, string attr, string value) -+ Sets an annotation for a given mailbox */ -+PHP_FUNCTION(imap_setannotation) -+{ -+ zval **streamind, **mailbox, **entry, **attr, **value; -+ pils *imap_le_struct; -+ long ret; -+ -+ // TODO: Use zend_parse_parameters here -+ if (ZEND_NUM_ARGS() != 5 || zend_get_parameters_ex(5, &streamind, &mailbox, &entry, &attr, &value) == FAILURE) { -+ ZEND_WRONG_PARAM_COUNT(); -+ } -+ -+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); -+ -+ convert_to_string_ex(mailbox); -+ convert_to_string_ex(entry); -+ convert_to_string_ex(attr); -+ convert_to_string_ex(value); -+ -+ // create annotation object -+ ANNOTATION *annotation = mail_newannotation(); -+ if (!annotation) -+ RETURN_FALSE; -+ annotation->values = mail_newannotationvalue(); -+ if (!annotation->values) { -+ mail_free_annotation(&annotation); -+ RETURN_FALSE; -+ } -+ -+ // fill in annotation values -+ annotation->mbox = Z_STRVAL_PP(mailbox); -+ annotation->entry = Z_STRVAL_PP(entry); -+ annotation->values->attr = Z_STRVAL_PP(attr); -+ annotation->values->value = Z_STRVAL_PP(value); -+ -+ ret = imap_setannotation(imap_le_struct->imap_stream, annotation); -+ -+ // make sure mail_free_annotation doesn't free our variables -+ annotation->mbox = NULL; -+ annotation->entry = NULL; -+ annotation->values->attr = NULL; -+ annotation->values->value = NULL; -+ mail_free_annotation(&annotation); -+ -+ RETURN_BOOL(ret); -+} -+/* }}} */ -+ -+/* {{{ proto array imap_getannotation(resource stream_id, string mailbox, string entry, string attr) -+ Gets the ACL for a given mailbox */ -+PHP_FUNCTION(imap_getannotation) -+{ -+ zval **streamind, **mailbox, **entry, **attr; -+ pils *imap_le_struct; -+ long ret; -+ -+ if(ZEND_NUM_ARGS() != 4 || zend_get_parameters_ex(4, &streamind, &mailbox, &entry, &attr) == FAILURE) { -+ ZEND_WRONG_PARAM_COUNT(); -+ } - -+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); -+ -+ convert_to_string_ex(mailbox); -+ convert_to_string_ex(entry); -+ convert_to_string_ex(attr); -+ -+ /* initializing the special array for the return values */ -+ if (array_init(return_value) == FAILURE) { -+ RETURN_FALSE; -+ } -+ -+ // fillup calling parameters -+ STRINGLIST *entries = mail_newstringlist(); -+ if (!entries) -+ RETURN_FALSE; -+ -+ STRINGLIST *cur = entries; -+ cur->text.data = (unsigned char *)cpystr(Z_STRVAL_PP(entry)); -+ cur->text.size = Z_STRLEN_PP(entry); -+ cur->next = NIL; -+ -+ STRINGLIST *attributes = mail_newstringlist(); -+ if (!attributes) -+ RETURN_FALSE; -+ cur = attributes; -+ cur->text.data = (unsigned char *)cpystr (Z_STRVAL_PP(attr)); -+ cur->text.size = Z_STRLEN_PP(attr); -+ cur->next = NIL; -+ -+ IMAPG(imap_annotation_list) = return_value; -+ -+ /* set the callback for the GET_ANNOTATION function */ -+ mail_parameters(NIL, SET_ANNOTATION, (void *) mail_getannotation); -+ ret = imap_getannotation(imap_le_struct->imap_stream, Z_STRVAL_PP(mailbox), entries, attributes); -+ -+ mail_free_stringlist(&entries); -+ mail_free_stringlist(&attributes); -+ -+ if (!ret) { -+ zval_dtor(return_value); -+ RETURN_FALSE; -+ } -+ -+ IMAPG(imap_annotation_list) = NIL; -+} -+/* }}} */ -+ -+#endif /* HAVE_IMAP2005 */ -+ - /* {{{ proto bool imap_expunge(resource stream_id) - Permanently delete all messages marked for deletion */ - PHP_FUNCTION(imap_expunge) -@@ -3222,6 +3385,42 @@ PHP_FUNCTION(imap_msgno) - } - /* }}} */ - -+/* {{{ proto object imap_status_current(resource stream_id, int options) -+ Get (cached) status info from current mailbox */ -+PHP_FUNCTION(imap_status_current) -+{ -+ zval **streamind, **pflags; -+ pils *imap_le_struct; -+ long flags = 0L; -+ -+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &streamind, &pflags) == FAILURE) { -+ ZEND_WRONG_PARAM_COUNT(); -+ } -+ -+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); -+ -+ convert_to_long_ex(pflags); -+ flags = Z_LVAL_PP(pflags); -+ -+ if (object_init(return_value) == FAILURE) { -+ RETURN_FALSE; -+ } -+ -+ if (flags & SA_MESSAGES) { -+ add_property_long(return_value, "messages", imap_le_struct->imap_stream->nmsgs); -+ } -+ if (flags & SA_RECENT) { -+ add_property_long(return_value, "recent", imap_le_struct->imap_stream->recent); -+ } -+ if (flags & SA_UIDNEXT) { -+ add_property_long(return_value, "uidnext", imap_le_struct->imap_stream->uid_last+1); -+ } -+ if (flags & SA_UIDVALIDITY) { -+ add_property_long(return_value, "uidvalidity", imap_le_struct->imap_stream->uid_validity); -+ } -+} -+/* }}} */ -+ - /* {{{ proto object imap_status(resource stream_id, string mailbox, int options) - Get status info from a mailbox */ - PHP_FUNCTION(imap_status) -diff -Naurp php-5.5.9/ext/imap/php_imap.h php-5.5.9.oden/ext/imap/php_imap.h ---- php-5.5.9/ext/imap/php_imap.h 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/imap/php_imap.h 2014-02-12 11:22:16.933836282 +0100 -@@ -154,6 +154,7 @@ PHP_FUNCTION(imap_lsub); - PHP_FUNCTION(imap_lsub_full); - PHP_FUNCTION(imap_create); - PHP_FUNCTION(imap_rename); -+PHP_FUNCTION(imap_status_current); - PHP_FUNCTION(imap_status); - PHP_FUNCTION(imap_bodystruct); - PHP_FUNCTION(imap_fetch_overview); -@@ -174,6 +175,9 @@ PHP_FUNCTION(imap_mime_header_decode); - PHP_FUNCTION(imap_thread); - PHP_FUNCTION(imap_timeout); - -+// TODO: Needs fixing in configure in -+#define HAVE_IMAP2005 1 -+ - #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) - PHP_FUNCTION(imap_get_quota); - PHP_FUNCTION(imap_get_quotaroot); -@@ -181,7 +185,10 @@ PHP_FUNCTION(imap_set_quota); - PHP_FUNCTION(imap_setacl); - PHP_FUNCTION(imap_getacl); - #endif -- -+#if defined(HAVE_IMAP2005) -+PHP_FUNCTION(imap_setannotation); -+PHP_FUNCTION(imap_getannotation); -+#endif - - ZEND_BEGIN_MODULE_GLOBALS(imap) - char *imap_user; -@@ -212,6 +219,9 @@ ZEND_BEGIN_MODULE_GLOBALS(imap) - zval **quota_return; - zval *imap_acl_list; - #endif -+#if defined(HAVE_IMAP2005) -+ zval *imap_annotation_list; -+#endif - /* php_stream for php_mail_gets() */ - php_stream *gets_stream; - ZEND_END_MODULE_GLOBALS(imap) Index: SOURCES/php-imap-myrights.diff =================================================================== --- SOURCES/php-imap-myrights.diff (Revision 1174484) +++ SOURCES/php-imap-myrights.diff (nicht existent) @@ -1,92 +0,0 @@ -diff -Naurp php-5.5.9/ext/imap/php_imap.c php-5.5.9.oden/ext/imap/php_imap.c ---- php-5.5.9/ext/imap/php_imap.c 2014-02-12 11:23:21.071839868 +0100 -+++ php-5.5.9.oden/ext/imap/php_imap.c 2014-02-12 11:23:32.656840516 +0100 -@@ -163,6 +163,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_geta - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) - ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_myrights, 0, 0, 2) -+ ZEND_ARG_INFO(0, stream_id) -+ ZEND_ARG_INFO(0, mailbox) -+ZEND_END_ARG_INFO() - #endif - #if defined(HAVE_IMAP2005) - ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setannotation, 0, 0, 5) -@@ -559,6 +564,7 @@ const zend_function_entry imap_functions - PHP_FE(imap_set_quota, arginfo_imap_set_quota) - PHP_FE(imap_setacl, arginfo_imap_setacl) - PHP_FE(imap_getacl, arginfo_imap_getacl) -+ PHP_FE(imap_myrights, arginfo_imap_myrights) - #endif - #if defined(HAVE_IMAP2005) - PHP_FE(imap_setannotation, arginfo_imap_setannotation) -@@ -823,6 +829,20 @@ void mail_getacl(MAILSTREAM *stream, cha - } - } - /* }}} */ -+ -+/* {{{ mail_myrights -+ * -+ * Mail MYRIGHTS callback -+ * Called via the mail_parameter function in c-client:src/c-client/mail.c -+ */ -+void mail_myrights(MAILSTREAM *stream, char *mailbox, char *rights) -+{ -+ TSRMLS_FETCH(); -+ -+ ZVAL_STRING(IMAPG(imap_acl_list), rights, 1); -+ -+} -+/* }}} */ - #endif - - #if defined(HAVE_IMAP2005) -@@ -1589,6 +1609,36 @@ PHP_FUNCTION(imap_getacl) - IMAPG(imap_acl_list) = NIL; - } - /* }}} */ -+ -+/* {{{ proto string imap_myrights(resource stream_id, string mailbox) -+ Gets my rights (ACL) for a given mailbox */ -+PHP_FUNCTION(imap_myrights) -+{ -+ zval **streamind, **mailbox; -+ pils *imap_le_struct; -+ -+ if(ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &streamind, &mailbox) == FAILURE) { -+ ZEND_WRONG_PARAM_COUNT(); -+ } -+ -+ ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); -+ -+ convert_to_string_ex(mailbox); -+ -+ IMAPG(imap_acl_list) = return_value; -+ -+ /* set the callback for the GET_ACL function */ -+ mail_parameters(NIL, SET_MYRIGHTS, (void *) mail_myrights); -+ if(!imap_myrights(imap_le_struct->imap_stream, Z_STRVAL_PP(mailbox))) { -+ php_error(E_WARNING, "c-client imap_myrights failed"); -+ zval_dtor(return_value); -+ RETURN_FALSE; -+ } -+ -+ IMAPG(imap_acl_list) = NIL; -+} -+/* }}} */ -+ - #endif /* HAVE_IMAP2000 || HAVE_IMAP2001 */ - - #if defined(HAVE_IMAP2005) -diff -Naurp php-5.5.9/ext/imap/php_imap.h php-5.5.9.oden/ext/imap/php_imap.h ---- php-5.5.9/ext/imap/php_imap.h 2014-02-12 11:23:21.071839868 +0100 -+++ php-5.5.9.oden/ext/imap/php_imap.h 2014-02-12 11:23:32.656840516 +0100 -@@ -184,6 +184,7 @@ PHP_FUNCTION(imap_get_quotaroot); - PHP_FUNCTION(imap_set_quota); - PHP_FUNCTION(imap_setacl); - PHP_FUNCTION(imap_getacl); -+PHP_FUNCTION(imap_myrights); - #endif - #if defined(HAVE_IMAP2005) - PHP_FUNCTION(imap_setannotation); Index: SOURCES/php-libtool.diff =================================================================== --- SOURCES/php-libtool.diff (Revision 1174484) +++ SOURCES/php-libtool.diff (Arbeitskopie) @@ -1,7 +1,7 @@ -diff -Naur php-5.6.0beta1/aclocal.m4 php-5.6.0beta1.oden/aclocal.m4 ---- php-5.6.0beta1/aclocal.m4 2014-04-10 07:22:06.000000000 +0200 -+++ php-5.6.0beta1.oden/aclocal.m4 2014-04-18 08:17:26.964927569 +0200 -@@ -3697,6 +3697,20 @@ +diff -Naurp php-7.0.2RC1/aclocal.m4 php-7.0.2RC1.oden/aclocal.m4 +--- php-7.0.2RC1/aclocal.m4 2015-12-22 16:19:19.000000000 +0100 ++++ php-7.0.2RC1.oden/aclocal.m4 2015-12-26 07:30:41.619216689 +0100 +@@ -3776,6 +3776,20 @@ s390*-*linux*|sparc*-*linux*) rm -rf conftest* ;; @@ -22,7 +22,7 @@ *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" -@@ -4744,6 +4758,13 @@ +@@ -4819,6 +4833,13 @@ linux* | k*bsd*-gnu) sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi Index: SOURCES/php-session.save_path.diff =================================================================== --- SOURCES/php-session.save_path.diff (Revision 1174484) +++ SOURCES/php-session.save_path.diff (Arbeitskopie) @@ -1,7 +1,7 @@ -diff -Naurp php-5.5.9/ext/session/session.c php-5.5.9.oden/ext/session/session.c ---- php-5.5.9/ext/session/session.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/session/session.c 2014-02-12 11:25:45.353847936 +0100 -@@ -780,11 +780,11 @@ static ZEND_INI_MH(OnUpdateSmartStr) /* +diff -Naurp php-7.0.2RC1/ext/session/session.c php-7.0.2RC1.oden/ext/session/session.c +--- php-7.0.2RC1/ext/session/session.c 2015-12-22 16:19:28.000000000 +0100 ++++ php-7.0.2RC1.oden/ext/session/session.c 2015-12-26 07:43:47.541650172 +0100 +@@ -815,11 +815,11 @@ static PHP_INI_MH(OnUpdateRfc1867Freq) / /* {{{ PHP_INI */ PHP_INI_BEGIN() Index: SOURCES/php-shared.diff =================================================================== --- SOURCES/php-shared.diff (Revision 1174484) +++ SOURCES/php-shared.diff (Arbeitskopie) @@ -1,7 +1,7 @@ -diff -Naur php-5.6.0RC1/Makefile.global php-5.6.0RC1.oden/Makefile.global ---- php-5.6.0RC1/Makefile.global 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/Makefile.global 2014-06-23 11:27:21.039795443 +0200 -@@ -15,8 +15,12 @@ +diff -Naurp php-7.0.0RC5/Makefile.global php-7.0.0RC5.oden/Makefile.global +--- php-7.0.0RC5/Makefile.global 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/Makefile.global 2015-10-22 16:11:06.224381498 +0200 +@@ -15,8 +15,12 @@ build-modules: $(PHP_MODULES) $(PHP_ZEND build-binaries: $(PHP_BINARIES) @@ -8,7 +8,7 @@ -libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) - $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ +libphp$(PHP_MAJOR_VERSION)_common.la: $(PHP_GLOBAL_OBJS) -+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -version-info 11:0:6 -rpath $(phptempdir) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -version-info 7:0:0 -rpath $(phptempdir) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ + -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 + +libphp$(PHP_MAJOR_VERSION).la: libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_SAPI_OBJS) @@ -16,7 +16,7 @@ -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) -@@ -27,10 +31,10 @@ +@@ -27,10 +31,10 @@ install: $(all_targets) $(install_target install-sapi: $(OVERALL_TARGET) @echo "Installing PHP SAPI module: $(PHP_SAPI)" -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) @@ -30,34 +30,34 @@ break; \ fi; \ done; \ -diff -Naur php-5.6.0RC1/sapi/cgi/config9.m4 php-5.6.0RC1.oden/sapi/cgi/config9.m4 ---- php-5.6.0RC1/sapi/cgi/config9.m4 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/cgi/config9.m4 2014-06-23 11:27:21.039795443 +0200 -@@ -64,7 +64,7 @@ - BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" +diff -Naurp php-7.0.0RC5/sapi/cgi/config9.m4 php-7.0.0RC5.oden/sapi/cgi/config9.m4 +--- php-7.0.0RC5/sapi/cgi/config9.m4 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/cgi/config9.m4 2015-10-22 16:13:19.549479058 +0200 +@@ -64,7 +64,7 @@ if test "$PHP_CGI" != "no"; then + BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" ;; *) -- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" -+ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" +- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" ++ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp\$(PHP_MAJOR_VERSION)_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" ;; esac -diff -Naur php-5.6.0RC1/sapi/cgi/Makefile.frag php-5.6.0RC1.oden/sapi/cgi/Makefile.frag ---- php-5.6.0RC1/sapi/cgi/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/cgi/Makefile.frag 2014-06-23 11:27:21.039795443 +0200 +diff -Naurp php-7.0.0RC5/sapi/cgi/Makefile.frag php-7.0.0RC5.oden/sapi/cgi/Makefile.frag +--- php-7.0.0RC5/sapi/cgi/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/cgi/Makefile.frag 2015-10-22 16:12:26.741601533 +0200 @@ -1,6 +1,6 @@ cgi: $(SAPI_CGI_PATH) --$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS) -+$(SAPI_CGI_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS) +-$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS) ++$(SAPI_CGI_PATH): libphp$(PHP_MAJOR_VERSION)_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS) $(BUILD_CGI) install-cgi: $(SAPI_CGI_PATH) -diff -Naur php-5.6.0RC1/sapi/cli/config.m4 php-5.6.0RC1.oden/sapi/cli/config.m4 ---- php-5.6.0RC1/sapi/cli/config.m4 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/cli/config.m4 2014-06-23 11:27:21.039795443 +0200 -@@ -48,7 +48,7 @@ - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)" +diff -Naurp php-7.0.0RC5/sapi/cli/config.m4 php-7.0.0RC5.oden/sapi/cli/config.m4 +--- php-7.0.0RC5/sapi/cli/config.m4 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/cli/config.m4 2015-10-22 16:11:06.224381498 +0200 +@@ -48,7 +48,7 @@ if test "$PHP_CLI" != "no"; then + BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp7lib -o \$(SAPI_CLI_PATH)" ;; *) - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" @@ -65,9 +65,9 @@ ;; esac -diff -Naur php-5.6.0RC1/sapi/cli/Makefile.frag php-5.6.0RC1.oden/sapi/cli/Makefile.frag ---- php-5.6.0RC1/sapi/cli/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/cli/Makefile.frag 2014-06-23 11:27:21.040795443 +0200 +diff -Naurp php-7.0.0RC5/sapi/cli/Makefile.frag php-7.0.0RC5.oden/sapi/cli/Makefile.frag +--- php-7.0.0RC5/sapi/cli/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/cli/Makefile.frag 2015-10-22 16:11:06.224381498 +0200 @@ -1,6 +1,6 @@ cli: $(SAPI_CLI_PATH) @@ -76,10 +76,10 @@ $(BUILD_CLI) install-cli: $(SAPI_CLI_PATH) -diff -Naur php-5.6.0RC1/sapi/phpdbg/config.m4 php-5.6.0RC1.oden/sapi/phpdbg/config.m4 ---- php-5.6.0RC1/sapi/phpdbg/config.m4 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/phpdbg/config.m4 2014-06-23 11:27:21.040795443 +0200 -@@ -37,22 +37,24 @@ +diff -Naurp php-7.0.0RC5/sapi/phpdbg/config.m4 php-7.0.0RC5.oden/sapi/phpdbg/config.m4 +--- php-7.0.0RC5/sapi/phpdbg/config.m4 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/phpdbg/config.m4 2015-10-22 16:11:06.224381498 +0200 +@@ -40,22 +40,24 @@ if test "$BUILD_PHPDBG" == "" && test "$ BUILD_PHPDBG="\$(LIBTOOL) --mode=link \ \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ @@ -106,10 +106,10 @@ \-DPHPDBG_SHARED \ -o \$(BUILD_SHARED)" -diff -Naur php-5.6.0RC1/sapi/phpdbg/Makefile.frag php-5.6.0RC1.oden/sapi/phpdbg/Makefile.frag ---- php-5.6.0RC1/sapi/phpdbg/Makefile.frag 2014-06-19 02:42:55.000000000 +0200 -+++ php-5.6.0RC1.oden/sapi/phpdbg/Makefile.frag 2014-06-23 11:27:21.040795443 +0200 -@@ -2,10 +2,10 @@ +diff -Naurp php-7.0.0RC5/sapi/phpdbg/Makefile.frag php-7.0.0RC5.oden/sapi/phpdbg/Makefile.frag +--- php-7.0.0RC5/sapi/phpdbg/Makefile.frag 2015-10-14 18:04:53.000000000 +0200 ++++ php-7.0.0RC5.oden/sapi/phpdbg/Makefile.frag 2015-10-22 16:11:06.225381475 +0200 +@@ -2,10 +2,10 @@ phpdbg: $(BUILD_BINARY) phpdbg-shared: $(BUILD_SHARED) Index: SOURCES/php-test.ini =================================================================== --- SOURCES/php-test.ini (Revision 1174484) +++ SOURCES/php-test.ini (Arbeitskopie) @@ -23,8 +23,6 @@ extension=mcrypt.so extension=fileinfo.so extension=mysqlnd.so -extension=mssql.so -extension=mysql.so extension=mysqli.so extension=enchant.so extension=odbc.so Index: SOURCES/php-xmlrpc_epi.patch =================================================================== --- SOURCES/php-xmlrpc_epi.patch (Revision 1174484) +++ SOURCES/php-xmlrpc_epi.patch (Arbeitskopie) @@ -1,6 +1,6 @@ -diff -Naurp php-5.5.9/ext/xmlrpc/xmlrpc-epi-php.c php-5.5.9.oden/ext/xmlrpc/xmlrpc-epi-php.c ---- php-5.5.9/ext/xmlrpc/xmlrpc-epi-php.c 2014-02-05 11:00:36.000000000 +0100 -+++ php-5.5.9.oden/ext/xmlrpc/xmlrpc-epi-php.c 2014-02-12 11:13:04.873805413 +0100 +diff -Naur php-7.0.0RC5/ext/xmlrpc/xmlrpc-epi-php.c php-7.0.0RC5.oden/ext/xmlrpc/xmlrpc-epi-php.c +--- php-7.0.0RC5/ext/xmlrpc/xmlrpc-epi-php.c 2015-10-14 18:04:58.000000000 +0200 ++++ php-7.0.0RC5.oden/ext/xmlrpc/xmlrpc-epi-php.c 2015-10-22 16:26:34.560087071 +0200 @@ -71,7 +71,7 @@ #include "ext/date/php_date.h" #include "php_ini.h" @@ -8,5 +8,5 @@ -#include "xmlrpc.h" +#include <xmlrpc-epi/xmlrpc.h> - #define PHP_EXT_VERSION "0.51" + static int le_xmlrpc_server; Index: SOURCES/php-zlib-for-getimagesize.patch =================================================================== --- SOURCES/php-zlib-for-getimagesize.patch (Revision 1174484) +++ SOURCES/php-zlib-for-getimagesize.patch (Arbeitskopie) @@ -2,9 +2,9 @@ link core php with -lz for getimagesize() see also http://bugs.php.net/bug.php?id=29611 -diff -Naurp php-5.6.0beta2/ext/standard/image.c php-5.6.0beta2.oden/ext/standard/image.c ---- php-5.6.0beta2/ext/standard/image.c 2014-05-01 16:42:03.000000000 +0200 -+++ php-5.6.0beta2.oden/ext/standard/image.c 2014-05-07 10:24:12.571847327 +0200 +diff -Naurp php-7.0.2RC1/ext/standard/image.c php-7.0.2RC1.oden/ext/standard/image.c +--- php-7.0.2RC1/ext/standard/image.c 2015-12-22 16:19:33.000000000 +0100 ++++ php-7.0.2RC1.oden/ext/standard/image.c 2015-12-26 07:41:55.695364816 +0100 @@ -34,7 +34,7 @@ #include "win32/php_stdint.h" #endif @@ -21,7 +21,7 @@ -#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) +#if HAVE_ZLIB REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); - #endif + #endif REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); @@ -192,7 +192,7 @@ static unsigned long int php_swf_get_bit } @@ -31,13 +31,13 @@ +#if HAVE_ZLIB /* {{{ php_handle_swc */ - static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC) -@@ -1322,7 +1322,7 @@ static void php_getimagesize_from_stream - result = php_handle_swf(stream TSRMLS_CC); + static struct gfxinfo *php_handle_swc(php_stream * stream) +@@ -1337,7 +1337,7 @@ static void php_getimagesize_from_stream + result = php_handle_swf(stream); break; case IMAGE_FILETYPE_SWC: -#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) +#if HAVE_ZLIB - result = php_handle_swc(stream TSRMLS_CC); + result = php_handle_swc(stream); #else - php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled"); + php_error_docref(NULL, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled"); Index: SOURCES/php5-apache2-filters.diff =================================================================== --- SOURCES/php5-apache2-filters.diff (Revision 1174484) +++ SOURCES/php5-apache2-filters.diff (nicht existent) @@ -1,84 +0,0 @@ - - Description: Enables mod_php to manually add apache output filters - Author: Paul Querna - URL: http://www.outoforder.cc/projects/apache/mod_transform/patches/php5-apache2-filters.patch - http://www.outoforder.cc/presentations/apachecon2004/mod_transform/tu19_mod_transform_slides.pdf - -diff -Naurp php-5.3.0RC1/sapi/apache2handler/php_functions.c php-5.3.0RC1.oden/sapi/apache2handler/php_functions.c ---- php-5.3.0RC1/sapi/apache2handler/php_functions.c 2009-01-19 20:32:40.000000000 +0100 -+++ php-5.3.0RC1.oden/sapi/apache2handler/php_functions.c 2009-03-27 12:08:05.000000000 +0100 -@@ -216,6 +216,65 @@ PHP_FUNCTION(apache_response_headers) - } - /* }}} */ - -+/* {{{ proto array apache_get_output_filters() -+ Get All Active Output filters */ -+PHP_FUNCTION(apache_get_output_filters) -+{ -+ ap_filter_t* ff; -+ php_struct *ctx; -+ -+ if (ZEND_NUM_ARGS() != 0) { -+ WRONG_PARAM_COUNT; -+ } -+ -+ if(array_init(return_value) != SUCCESS) -+ { -+ RETURN_NULL(); -+ } -+ -+ ctx = SG(server_context); -+ -+ ff = ctx->r->output_filters; -+ -+ do { -+ add_next_index_string(return_value, ff->frec->name, 1); -+ ff = ff->next ; -+ } while (ff); -+ -+} -+/* }}} */ -+ -+/* {{{ proto bool apache_add_output_filter(string filter_name) -+ Add an output filter to this request */ -+PHP_FUNCTION(apache_add_output_filter) -+{ -+ php_struct *ctx; -+ int arg_count = ZEND_NUM_ARGS(); -+ zval **filter_name; -+ ap_filter_rec_t* ap_filter; -+ -+ if (arg_count != 1 || -+ zend_get_parameters_ex(arg_count, &filter_name) == FAILURE) { -+ WRONG_PARAM_COUNT; -+ } -+ -+ ctx = SG(server_context); -+ -+ convert_to_string_ex(filter_name); -+ -+ ap_filter = ap_get_output_filter_handle(Z_STRVAL_PP(filter_name)); -+ -+ /* requested output filter was not found */ -+ if(ap_filter == NULL) { -+ RETURN_FALSE; -+ } -+ else { -+ ap_add_output_filter_handle(ap_filter, NULL, ctx->r, ctx->r->connection); -+ RETURN_TRUE; -+ } -+} -+/* }}} */ -+ - /* {{{ proto string apache_note(string note_name [, string note_value]) - Get and set Apache request notes */ - PHP_FUNCTION(apache_note) -@@ -516,6 +575,8 @@ ZEND_END_ARG_INFO() - static const zend_function_entry apache_functions[] = { - PHP_FE(apache_lookup_uri, arginfo_apache2handler_lookup_uri) - PHP_FE(virtual, arginfo_apache2handler_virtual) -+ PHP_FE(apache_get_output_filters, NULL) -+ PHP_FE(apache_add_output_filter, NULL) - PHP_FE(apache_request_headers, arginfo_apache2handler_getallheaders) - PHP_FE(apache_response_headers, arginfo_apache2handler_response_headers) - PHP_FE(apache_setenv, arginfo_apache2handler_setenv) Index: SOURCES/sha1.lst =================================================================== --- SOURCES/sha1.lst (Revision 1174484) +++ SOURCES/sha1.lst (Arbeitskopie) @@ -1,2 +1 @@ -ccd32d0702a3b6d1ec8b506cbb3d991289e13c9b jsonc-1.3.7.tgz -5e954d04658982563e09be46aae3c8781ea984b8 php-5.6.31.tar.xz +288cd2055f1e99c6645bb88b2257a6772c176021 php-7.0.2.tar.xz Index: SPECS/php.spec =================================================================== --- SPECS/php.spec (Revision 1174484) +++ SPECS/php.spec (Arbeitskopie) @@ -13,18 +13,20 @@ %global __requires_exclude BEGIN|mkinstalldirs|pear\\(|/usr/bin/tclsh -%define php5_common_major 5 -%define libname %mklibname php5_common %{php5_common_major} +%define php_common_major 7 +%define libname %mklibname php_common %{php_common_major} # enforce versioned postgresql dependencies because of multiple version # availability in the distribution %define postgresql_version %(pg_config &>/dev/null && pg_config 2>/dev/null | awk '/^VERSION/ { print $4 }' | sed -re 's/rc[0-9]+$//'|| echo 0) -Summary: The PHP5 scripting language +%define _RC %nil + +Summary: The PHP scripting language Name: php -Version: 5.6.31 -Release: %mkrel 2 -Source0: http://php.net/distributions/php-%{version}.tar.xz +Version: 7.1.11 +Release: %mkrel 1 +Source0: https://downloads.php.net/~ab/php-%{version}%{_RC}.tar.xz Group: Development/PHP License: PHP License URL: http://www.php.net @@ -37,38 +39,28 @@ # S7 comes from ext/fileinfo/create_data_file.php but could be removed someday Source7: create_data_file.php Source9: php-fpm-tmpfiles.conf -Source10: http://pecl.php.net/get/jsonc-1.3.7.tgz -Patch0: php-init.diff +Source10: 00-php-fpm.conf +#Patch0: php-init.diff # not sure what kind of patch this should be.... Patch1: php-shared.diff -Patch2: php-5.6.12-mga_php.ini.diff -Patch3: php-libtool.diff -Patch4: php-phpize.diff +Patch2: php-7.1-mga_php.ini.diff +#Patch3: php-libtool.diff # removed, only 64 bit check +#Patch4: php-phpize.diff # if not mistaken,this was a build issue which is not present any more Patch5: php-phpbuilddir.diff -# http://www.outoforder.cc/projects/apache/mod_transform/ -# http://www.outoforder.cc/projects/apache/mod_transform/patches/php5-apache2-filters.patch -Patch6: php5-apache2-filters.diff # remove libedit once and for all Patch7: php-no_libedit.diff Patch8: php-xmlrpc_epi.patch Patch9: php-xmlrpc_no_rpath.diff -Patch11: php-5.5.0-libdb.diff -# submitted as https://github.com/php/php-src/pull/361 -Patch12: php-5.5.0-mysqlnd-unix-sock-addr.patch +Patch11: php-7.0.2RC1-libdb.diff ##################################################################### # Stolen from PLD -Patch20: php-5.5.0RC3-mail.diff +Patch20: php-7.0.0RC5-mail.diff Patch21: php-filter-shared.diff Patch22: php-dba-link.patch Patch23: php-zlib-for-getimagesize.patch #(spuhler) taken from Mandriva Patch26: php-5.3.9RC2-mcrypt-libs.diff -# for kolab2 -# P50 was rediffed from PLD (php-5.3.3-8.src.rpm) which merges the annotation and status-current patches -Patch27: php-imap-annotation+status-current.diff -# P51 was taken from http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/php/patches/php-5.3.2/ -Patch28: php-imap-myrights.diff -Patch29: php-5.3.x-fpm-0.6.5-shared.diff -Patch30: php-5.3.x-fpm-0.6.5-mdv_conf.diff +Patch29: php-7.0.0RC5-fpm-0.6.5-shared.diff +Patch30: php-7.0.0RC5-fpm-0.6.5-mdv_conf.diff ##################################################################### # stolen from debian Patch50: php-session.save_path.diff @@ -79,21 +71,15 @@ Patch115: php-dlopen.diff # Fix bugs Patch120: php-tests-wddx.diff -Patch121: php-bug43221.diff -Patch123: php-bug43589.diff Patch226: php-no-fvisibility_hidden_fix.diff Patch227: php-5.3.0RC1-enchant_lib64_fix.diff Patch228: php-5.3.0RC2-xmlrpc-epi_fix.diff -Patch229: php-5.5.2-session.use_strict_mode.diff +Patch229: php-7.0.2RC1-session.use_strict_mode.diff # apache-mod_php -Patch400: php-5.4.6-apache-mod_php.diff - -#found from https://github.com/oerdnj/deb.sury.org/issues/566 -Patch401: php-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch - +Patch400: php-7.0.0RC5-apache-mod_php.diff BuildRequires: apache-devel >= 2.2 BuildRequires: autoconf -BuildRequires: automake +BuildRequires: automake BuildRequires: libtool BuildRequires: bison BuildRequires: byacc @@ -115,7 +101,6 @@ BuildRequires: gmp-devel BuildRequires: gpm-devel BuildRequires: icu-devel >= 49.0 -BuildRequires: pkgconfig(json-c) >= 0.11-1 BuildRequires: lemon BuildRequires: pkgconfig(libjpeg) BuildRequires: libldap-devel @@ -127,7 +112,7 @@ BuildRequires: pkgconfig(libxml-2.0) >= 2.6 BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(libxslt) >= 1.1.0 -BuildRequires: pkgconfig(libvpx) +BuildRequires: pkgconfig(libwebp) >= 0.4 BuildRequires: pkgconfig(libzip) >= 0.10.1 BuildRequires: mbfl-devel >= 1.2.0-2 # for mysql_config @@ -146,7 +131,6 @@ BuildRequires: recode-devel BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(systemd) -BuildRequires: t1lib-devel BuildRequires: tidy-devel BuildRequires: unixODBC-devel >= 2.2.1 BuildRequires: xmlrpc-epi-devel @@ -156,10 +140,10 @@ Epoch: 3 %description -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. %package ini Summary: INI files for PHP @@ -170,12 +154,13 @@ %package -n apache-mod_php -Summary: The PHP5 HTML-embedded scripting language for use with apache +Summary: The PHP HTML-embedded scripting language for use with apache Group: System/Servers Requires(pre): rpm-helper Requires(postun): rpm-helper Requires: apache >= 2.2 #TODO are theses really required ? +# no, but removing them gives a bugstorm, so please don't. Requires: php-ctype >= %{epoch}:%{version} Requires: php-filter >= %{epoch}:%{version} Requires: php-ftp >= %{epoch}:%{version} @@ -199,19 +184,18 @@ # php is not fully thread safe # http://www.php.net/manual/en/faq.installation.php#faq.installation.apache2 # http://stackoverflow.com/questions/681081/is-php-thread-safe - Epoch: %{epoch} %description -n apache-mod_php -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. This package contains the PHP apache module. %package cli -Summary: PHP5 CLI interface +Summary: PHP CLI interface Group: Development/Other URL: http://www.php.net/cli Requires: %{libname} >= %{epoch}:%{version} @@ -239,17 +223,17 @@ Provides: /usr/bin/php %description cli -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. This package contains a command-line (CLI) version of php. You must also -install libphp5_common. If you need apache module support, you also need to +install %{libname}. If you need apache module support, you also need to install the apache-mod_php package. %package cgi -Summary: PHP5 CGI interface +Summary: PHP CGI interface Group: Development/Other Requires: %{libname} >= %{epoch}:%{version} Requires: php-ctype >= %{epoch}:%{version} @@ -274,22 +258,21 @@ Requires: php-xml >= %{epoch}:%{version} Provides: php = %{epoch}:%{version} Provides: php-fcgi = %{epoch}:%{version}-%{release} -Obsoletes: php-fcgi # because of a added compat softlink Conflicts: php-fcgi < %{epoch}:%{version}-%{release} %description cgi -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. This package contains a standalone (CGI) version of php with FastCGI support. -You must also install libphp5_common. If you need apache module support, you +You must also install %{libname}. If you need apache module support, you also need to install the apache-mod_php package. %package -n %{libname} -Summary: Shared library for PHP5 +Summary: Shared library for PHP Group: Development/Other Provides: php-pcre = %{epoch}:%{version} Provides: php-simplexml = %{epoch}:%{version} @@ -296,11 +279,11 @@ %description -n %{libname} This package provides the common files to run with different implementations of -PHP5. You need this package if you install the php standalone package or a +PHP. You need this package if you install the php standalone package or a webserver with php support (ie: apache-mod_php). %package devel -Summary: Development package for PHP5 +Summary: Development package for PHP Group: Development/C Requires: %{libname} >= %{epoch}:%{version} Requires: autoconf automake libtool @@ -311,8 +294,8 @@ Requires: flex Requires: libxml2-devel >= 2.6 Requires: libxslt-devel >= 1.1.0 -Requires: openssl >= 0.9.7 -Requires: openssl-devel >= 0.9.7 +Requires: openssl >= 0.9.8 +Requires: openssl-devel >= 0.9.8 Requires: pam-devel Requires: pcre-devel >= 6.6 Requires: re2c >= 0.9.11 @@ -319,7 +302,7 @@ Requires: tcl %description devel -The php-devel package lets you compile dynamic extensions to PHP5. Included +The php-devel package lets you compile dynamic extensions to PHP. Included here is the source for the php extensions. Instead of recompiling the whole php binary to add support for, say, oracle, install this package and use the new self-contained extensions support. For more information, read the file @@ -540,7 +523,6 @@ URL: http://www.php.net/gd Requires: %{libname} >= %{epoch}:%{version} Provides: php-gd-bundled = %{epoch}:%{version} -Obsoletes: php-gd-bundled %description gd This is a dynamic shared object (DSO) for PHP that will add GD support, @@ -628,7 +610,6 @@ Group: Development/PHP URL: http://www.php.net/ibase Requires: %{libname} >= %{epoch}:%{version} -Obsoletes: php-firebird Provides: php-firebird = %{epoch}:%{version} %description interbase @@ -705,35 +686,6 @@ SAFER-SK128, TWOFISH, TEA, RC3 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered "non-free". -%package mssql -Summary: MS SQL extension module for PHP -Group: Development/PHP -URL: http://www.php.net/mssql -Requires: freetds >= 0.63 -Requires: %{libname} >= %{epoch}:%{version} - -%description mssql -This is a dynamic shared object (DSO) for PHP that will add MS SQL databases -support using the FreeTDS library. - -%package mysql -Summary: MySQL database module for PHP -Group: Development/PHP -URL: http://www.php.net/mysql -Requires: %{libname} >= %{epoch}:%{version} -Requires: %{name}-mysqlnd = %{epoch}:%{version} - -%description mysql -This is a dynamic shared object (DSO) for PHP that will add MySQL database -support. - -These functions allow you to access MySQL database servers. More information -about MySQL can be found at http://www.mysql.com/. - -This extension is deprecated as of PHP 5.5.0, and is not recommended for -writing new code as it will be removed in the future. Instead, either the -mysqli or PDO_MySQL extension should be used. - %package mysqli Summary: MySQL database module for PHP Group: Development/PHP @@ -763,6 +715,7 @@ Group: Development/PHP URL: http://www.php.net/mysqlnd Requires: %{libname} >= %{epoch}:%{version} +Provides: php-mysql = %{epoch}:%{version}-%{release} %description mysqlnd This is a dynamic shared object (DSO) for PHP that will add MySQL native @@ -1112,18 +1065,6 @@ is the server. The SQLite library reads and writes directly to and from the database files on disk. -%package sybase_ct -Summary: Sybase extension module for PHP -Group: Development/PHP -URL: http://www.php.net/sybase -Obsoletes: php-sybase -Provides: php-sybase = %{epoch}:%{version} -Requires: %{libname} >= %{epoch}:%{version} - -%description sybase_ct -This is a dynamic shared object (DSO) for PHP that will add Sybase support to -PHP. - %package sysvmsg Summary: SysV msg extension module for PHP Group: Development/PHP @@ -1194,7 +1135,7 @@ Summary: Xmlreader extension module for PHP Group: Development/PHP URL: http://www.php.net/xmlreader -Requires: php-dom +Requires: php-dom >= %{epoch}:%{version} Requires: %{libname} >= %{epoch}:%{version} %description xmlreader @@ -1260,7 +1201,7 @@ create and read zip files using the libzip library. %package fpm -Summary: PHP5 FastCGI Process Manager +Summary: PHP FastCGI Process Manager Group: Development/Other Requires(post): systemd >= %{systemd_required_version} Requires(post): rpm-helper @@ -1279,7 +1220,7 @@ Requires: php-pcre >= %{epoch}:%{version} Requires: php-posix >= %{epoch}:%{version} Requires: php-session >= %{epoch}:%{version} -Recommends: php-suhosin >= 0.9.33 +#Recommends: php-suhosin >= 0.9.33 # deactivated since no php7 support Requires: php-sysvsem >= %{epoch}:%{version} Requires: php-sysvshm >= %{epoch}:%{version} Requires: php-timezonedb >= 3:2012.3 @@ -1292,13 +1233,13 @@ Provides: php = %{epoch}:%{version} %description fpm -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. This package contains the FastCGI Process Manager. You must also install -libphp5_common. +%{libname}. %package -n phpdbg Summary: The interactive PHP debugger @@ -1307,13 +1248,13 @@ Requires: php >= %{epoch}:%{version} %description -n phpdbg -PHP5 is an HTML-embeddable scripting language. PHP5 offers built-in database +PHP is an HTML-embeddable scripting language. PHP offers built-in database integration for several commercial and non-commercial database management -systems, so writing a database-enabled script with PHP5 is fairly simple. The -most common use of PHP5 coding is probably as a replacement for CGI scripts. +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. This package contains the The interactive PHP debugger. You must also install -libphp5_common. +%{libname}. Implemented as a SAPI module, phpdbg can excert complete control over the environment without impacting the functionality or performance of your code. @@ -1323,40 +1264,28 @@ %prep -%setup -q +%setup -q -n php-%{version}%{_RC} -# replace json due to license issues: -# http://www.json.org/license.html -> "The Software shall be used for Good, not Evil." -rm -rf ext/json -tar -zxf %{SOURCE10} -mv package.xml jsonc-*/ -mv jsonc-* ext/json - # the ".droplet" suffix is here to nuke the backups later..., we don't want those in php-devel -%patch0 -p1 -b .init.droplet +# %%patch0 -p1 -b .init.droplet < needs porting %patch1 -p1 -b .shared.droplet %patch2 -p1 -b .mga_php.ini.droplet -%patch3 -p1 -b .libtool.droplet -%patch4 -p1 -b .phpize.droplet +#%patch3 -p1 -b .libtool.droplet +#%patch4 -p1 -b .phpize.droplet %patch5 -p1 -b .phpbuilddir.droplet -%patch6 -p1 -b .apache2-filters.droplet %patch7 -p1 -b .no_libedit.droplet %patch8 -p1 -b .xmlrpc_epi_header %patch9 -p1 -b .xmlrpc_no_rpath.droplet -###%patch11 -p1 -b .libdb.droplet -%patch12 -p1 -b .mysqlnd-unix-sock-addr +%patch11 -p1 -b .libdb.droplet ##################################################################### # Stolen from PLD -%patch20 -p1 -b .mail.droplet +# %%patch20 -p1 -b .mail.droplet %patch21 -p0 -b .filter-shared.droplet %patch22 -p1 -b .dba-link.droplet %patch23 -p1 -b .zlib-for-getimagesize.droplet %patch26 -p0 -b .mcrypt-libs.droplet -# for kolab2 -%patch27 -p1 -b .imap-annotation.droplet -%patch28 -p1 -b .imap-myrights.droplet # fpm stuff %patch29 -p1 -b .shared-fpm.droplet %patch30 -p1 -b .fpmmdv.droplet @@ -1364,7 +1293,7 @@ ##################################################################### # stolen from debian %patch50 -p1 -b .session.save_path.droplet -%patch51 -p0 -b .exif_nesting_level.droplet +%patch51 -p1 -b .exif_nesting_level.droplet ##################################################################### # Stolen from fedora @@ -1372,8 +1301,6 @@ # upstream fixes %patch120 -p1 -b .tests-wddx.droplet -%patch121 -p1 -b .bug43221.droplet -%patch123 -p1 -b .bug43589.droplet %patch226 -p1 -b .no-fvisibility_hidden.droplet %patch227 -p0 -b .enchant_lib64_fix.droplet %patch228 -p0 -b .xmlrpc-epi_fix.droplet @@ -1381,15 +1308,14 @@ # mod_php %patch400 -p1 -mv sapi/apache2handler/mod_php5.c sapi/apache2handler/mod_php.c +mv sapi/apache2handler/mod_php%{php_common_major}.c sapi/apache2handler/mod_php.c -%patch401 -p1 - cp %{SOURCE1} php-test.ini cp %{SOURCE4} php-fpm.service cp %{SOURCE5} php-fpm.sysconf cp %{SOURCE6} php-fpm.logrotate cp %{SOURCE7} create_data_file.php +cp %{SOURCE10} 00-php-fpm.conf # nuke bogus checks becuase i fixed this years ago in our recode package rm -f ext/recode/config9.m4 @@ -1468,7 +1394,7 @@ # never use "--disable-rpath", it does the opposite -# Configure php5 +# Configure php for i in fpm cgi cli apxs; do ./configure \ `[ $i = fpm ] && echo --disable-cli --enable-fpm --with-libxml-dir=%{_prefix} --with-fpm-user=apache --with-fpm-group=apache --with-fpm-systemd` \ @@ -1494,7 +1420,6 @@ --with-config-file-scan-dir=%{_sysconfdir}/php.d \ --disable-debug \ --enable-inline-optimization \ - --with-regex=system \ --with-pcre-regex=%{_prefix} \ --with-freetype-dir=%{_prefix} --with-zlib=%{_prefix} \ --with-png-dir=%{_prefix} \ @@ -1518,7 +1443,7 @@ --enable-intl=shared --with-icu-dir=%{_prefix} \ --enable-json=shared --with-libjson \ --with-openssl-dir=%{_prefix} --enable-ftp=shared \ - --with-gd=shared,%{_prefix} --with-jpeg-dir=%{_prefix} --with-vpx-dir=%{_prefix} --with-png-dir=%{_prefix} --with-zlib-dir=%{_prefix} --with-xpm-dir=%{_prefix}/X11R6 --with-freetype-dir=%{_prefix} --enable-gd-native-ttf --with-t1lib=%{_prefix} \ + --with-gd=shared,%{_prefix} --with-jpeg-dir=%{_prefix} --with-webp-dir=%{_prefix} --with-png-dir=%{_prefix} --with-zlib-dir=%{_prefix} --with-xpm-dir=%{_prefix}/X11R6 --with-freetype-dir=%{_prefix} --enable-gd-native-ttf \ --with-gettext=shared,%{_prefix} \ --with-gmp=shared,%{_prefix} \ --enable-hash=shared,%{_prefix} \ @@ -1527,9 +1452,7 @@ --with-ldap=shared,%{_prefix} --with-ldap-sasl=%{_prefix} \ --enable-mbstring=shared,%{_prefix} --enable-mbregex --with-libmbfl=%{_prefix} --with-onig=%{_prefix} \ --with-mcrypt=shared,%{_prefix} \ - --with-mssql=shared,%{_prefix} \ - --with-mysql=shared,mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-zlib-dir=%{_prefix} \ - --with-mysqli=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock \ --enable-mysqlnd=shared,%{_bindir}/mysql_config \ --with-unixODBC=shared,%{_prefix} \ --enable-opcache=shared \ @@ -1547,7 +1470,6 @@ --enable-soap=shared,%{_prefix} --with-libxml-dir=%{_prefix} \ --enable-sockets=shared,%{_prefix} \ --with-sqlite3=shared,%{_prefix} \ - --with-sybase-ct=shared,%{_prefix} \ --enable-sysvmsg=shared,%{_prefix} \ --enable-sysvsem=shared,%{_prefix} \ --enable-sysvshm=shared,%{_prefix} \ @@ -1561,7 +1483,8 @@ --enable-wddx=shared --with-libxml-dir=%{_prefix} \ --enable-zip=shared --with-libzip=%{_prefix} \ --with-interbase=shared,%{_libdir}/firebird --with-pdo-firebird=shared,%{_libdir}/firebird \ - --enable-phpdbg + --enable-phpdbg \ + --enable-phpdbg-webhelper cp -f Makefile Makefile.$i @@ -1607,7 +1530,7 @@ make -f Makefile.apxs install \ INSTALL_ROOT=%{buildroot} \ - INSTALL_IT="\$(LIBTOOL) --mode=install install libphp5_common.la %{buildroot}%{_libdir}/" + INSTALL_IT="\$(LIBTOOL) --mode=install install libphp%{php_common_major}_common.la %{buildroot}%{_libdir}/" # borked autopoo rm -f %{buildroot}%{_bindir}/php %{buildroot}%{_bindir}/php-cgi %{buildroot}%{_bindir}/phpdbg @@ -1638,6 +1561,7 @@ install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/php-fpm.conf # a small bug here... echo "; place your config here" > %{buildroot}%{_sysconfdir}/php-fpm.d/default.conf +install -m0644 sapi/fpm/www.conf %{buildroot}%{_sysconfdir}/php-fpm.d/ ./libtool --silent --mode=install install sapi/fpm/php-fpm %{buildroot}%{_sbindir}/php-fpm install -m0644 sapi/fpm/php-fpm.8 %{buildroot}%{_mandir}/man8/ @@ -1645,6 +1569,8 @@ install -m0644 php-fpm.service %{buildroot}%{_unitdir}/php-fpm.service install -m0644 php-fpm.sysconf %{buildroot}%{_sysconfdir}/sysconfig/php-fpm install -m0644 php-fpm.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/php-fpm +install -d %{buildroot}%{_httpd_modconfdir} +install -m0644 00-php-fpm.conf %{buildroot}%{_httpd_modconfdir}/00-php-fpm.conf # adjust a bit perl -pi -e "s|^pid.*|pid = /run/php-fpm/php-fpm.pid|g" %{buildroot}%{_sysconfdir}/php-fpm.conf @@ -1654,7 +1580,7 @@ install -d %{buildroot}%{_httpd_moddir} install -d %{buildroot}%{_httpd_modconfdir} -install -m0755 .libs/libphp5.so %{buildroot}%{_httpd_moddir}/%{mod_name}.so +install -m0755 .libs/libphp%{php_common_major}.so %{buildroot}%{_httpd_moddir}/%{mod_name}.so cat > %{buildroot}%{_httpd_modconfdir}/%{load_order}_%{mod_name}.conf <<EOF LoadModule php_module modules/%{mod_name}.so @@ -1691,8 +1617,6 @@ echo "extension = mcrypt.so" > %{buildroot}%{_sysconfdir}/php.d/30_mcrypt.ini echo "extension = fileinfo.so" > %{buildroot}%{_sysconfdir}/php.d/32_fileinfo.ini echo "extension = mysqlnd.so" > %{buildroot}%{_sysconfdir}/php.d/33_mysqlnd.ini -echo "extension = mssql.so" > %{buildroot}%{_sysconfdir}/php.d/35_mssql.ini -echo "extension = mysql.so" > %{buildroot}%{_sysconfdir}/php.d/36_mysql.ini echo "extension = mysqli.so" > %{buildroot}%{_sysconfdir}/php.d/37_mysqli.ini echo "extension = enchant.so" > %{buildroot}%{_sysconfdir}/php.d/38_enchant.ini echo "extension = odbc.so" > %{buildroot}%{_sysconfdir}/php.d/39_odbc.ini @@ -1716,7 +1640,6 @@ echo "extension = soap.so" > %{buildroot}%{_sysconfdir}/php.d/51_soap.ini echo "extension = sockets.so" > %{buildroot}%{_sysconfdir}/php.d/52_sockets.ini echo "extension = sqlite3.so" > %{buildroot}%{_sysconfdir}/php.d/78_sqlite3.ini -echo "extension = sybase_ct.so" > %{buildroot}%{_sysconfdir}/php.d/46_sybase_ct.ini echo "extension = sysvmsg.so" > %{buildroot}%{_sysconfdir}/php.d/56_sysvmsg.ini echo "extension = sysvsem.so" > %{buildroot}%{_sysconfdir}/php.d/57_sysvsem.ini echo "extension = sysvshm.so" > %{buildroot}%{_sysconfdir}/php.d/58_sysvshm.ini @@ -1857,7 +1780,7 @@ %{_httpd_moddir}/mod_php.so %files -n %{libname} -%{_libdir}/libphp5_common.so.%{php5_common_major}{,.*} +%{_libdir}/libphp%{php_common_major}_common.so.%{php_common_major}* %files cli %doc CREDITS.cli README.cli TODO.cli @@ -1875,7 +1798,7 @@ %doc Zend/ZEND_* README.TESTING* %{_bindir}/php-config %{_bindir}/phpize -%{_libdir}/libphp5_common.so +%{_libdir}/libphp%{php_common_major}_common.so %{_libdir}/php/build %{_usrsrc}/php-devel %{multiarch_includedir}/php/main/build-defs.h @@ -1988,14 +1911,6 @@ %config(noreplace) %{_sysconfdir}/php.d/30_mcrypt.ini %{_libdir}/php/extensions/mcrypt.so -%files mssql -%config(noreplace) %{_sysconfdir}/php.d/35_mssql.ini -%{_libdir}/php/extensions/mssql.so - -%files mysql -%config(noreplace) %{_sysconfdir}/php.d/36_mysql.ini -%{_libdir}/php/extensions/mysql.so - %files mysqli %config(noreplace) %{_sysconfdir}/php.d/37_mysqli.ini %{_libdir}/php/extensions/mysqli.so @@ -2094,10 +2009,6 @@ %config(noreplace) %{_sysconfdir}/php.d/78_sqlite3.ini %{_libdir}/php/extensions/sqlite3.so -%files sybase_ct -%config(noreplace) %{_sysconfdir}/php.d/46_sybase_ct.ini -%{_libdir}/php/extensions/sybase_ct.so - %files sysvmsg %config(noreplace) %{_sysconfdir}/php.d/56_sysvmsg.ini %{_libdir}/php/extensions/sysvmsg.so @@ -2147,13 +2058,15 @@ %{_libdir}/php/extensions/zip.so %files fpm -%doc sapi/fpm/CREDITS sapi/fpm/LICENSE +%doc sapi/fpm/CREDITS sapi/fpm/LICENSE sapi/fpm/status.html %{_unitdir}/php-fpm.service +%config(noreplace) %{_httpd_modconfdir}/00-php-fpm.conf %config(noreplace) %{_sysconfdir}/php-fpm.conf %config(noreplace) %{_sysconfdir}/sysconfig/php-fpm %{_sysconfdir}/logrotate.d/php-fpm %dir %{_sysconfdir}/php-fpm.d %config(noreplace) %{_sysconfdir}/php-fpm.d/default.conf +%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf %{_sbindir}/php-fpm %{_mandir}/man8/php-fpm.8* %attr(0711,apache,apache) %dir /var/lib/php-fpm
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 21916
: 9767 |
9782