Hello community, here is the log from the commit of package php5 checked in at Tue Aug 1 17:32:25 CEST 2006. -------- --- php5/php5.changes 2006-06-09 12:55:15.000000000 +0200 +++ php5/php5.changes 2006-07-26 23:51:56.000000000 +0200 @@ -1,0 +2,36 @@ +Wed Jul 26 16:36:05 CEST 2006 - postadal@suse.cz + +- updated to version 5.1.4 + * FastCGI interface was completely reimplemented + * multitude of improvements to the SPL, SimpleXML, GD, CURL and + Reflection extensions + * support for many additional date formats added to the strtotime() + * a performance improvements added to the engine and core extensions + * added imap_savebody() that allows message body to be written to a file + * added lchown() and lchgrp() to change user/group ownership of symlinks + * upgraded bundled PCRE library to version 6.6 + +- merged changes from openSUSE build service + * removed unneeded sablot-devel,sqlite-devel,pcre-devel,fam-devel + and libmcal from BuildRequires + * added php-ctype,php-dom,php-iconv,php-pdo,php-pdo_sqlite,php-sqlite, + php-tokenizer,php-xmlreader,php-xmlwriter to Recommends + * added php-mbstring php-gd php-pear php-gettext php-mysqli to Suggests + * added support for optional readline(libedit) for CLI + (disabled by default) + * patches for zendengine (ze2_bugs.patch), xsl (xsl_bugs.patch), + curl (curl.patch) and mbstring bugs (mbstring_bugs.patch), + big soap patch (soap.patch) + * removed obsoleted patches + * fixed Safe Mode Bypass [#188243] (standard.patch) + * upstream patches + [php#37306, php#37416, php#37587, php#37720] + [php#37576, php#37496, php#37341, php#37313, php#37256] (cgi_bugs.patch) + [php#37346, php#37360] (gd-fixes.patch) + * fixed build inconsistences, added php-hash module [#173023] + * added pdo_odbc.so to php-odbc module [#190614] + * build without explicit safe_mode and magic_quotes (unneeded) + * removed useless GD --with-ttf configure option, only suitable + for freetype 1 + +------------------------------------------------------------------- Old: ---- php-5.1.2-CVE-2006-0996.patch php-5.1.2-CVE-2006-1017.patch php-5.1.2-CVE-2006-1490.patch php-5.1.2-CVE-2006-1494-1608.patch php-5.1.2-arm_fp_endianness.patch php-5.1.2-emalloc.patch php-5.1.2-ftp_fopen_wrapper.patch php-5.1.2-gd.patch php-5.1.2-math.patch php-5.1.2-mbstring-null_injection.patch php-5.1.2-mbstring-secfix.patch php-5.1.2-mbstring.patch php-5.1.2-mysqli-64bit.patch php-5.1.2-parse_date.patch.bz2 php-5.1.2-pdo.patch php-5.1.2-phpbug-16144.patch php-5.1.2-phpbug-36006.patch php-5.1.2-phpbug-36007.patch php-5.1.2-phpbug-36011.patch php-5.1.2-phpbug-36016.patch php-5.1.2-phpbug-36037.patch php-5.1.2-phpbug-36046.patch php-5.1.2-phpbug-36071.patch php-5.1.2-phpbug-36148.patch php-5.1.2-phpbug-36158.patch php-5.1.2-phpbug-36176.patch php-5.1.2-phpbug-36185.patch php-5.1.2-phpbug-36208.patch php-5.1.2-phpbug-36268.patch php-5.1.2-phpbug-36306.patch php-5.1.2-phpbug-36351.patch php-5.1.2-phpbug-36420.patch php-5.1.2-phpbug-36459.patch php-5.1.2-phpbug-36656.patch php-5.1.2-phpbug-37257.patch php-5.1.2-phpbug-37276.patch php-5.1.2-phpbug-37346.patch php-5.1.2-phpbug-37394.patch php-5.1.2-recode-fix.patch php-5.1.2-session.patch php-5.1.2-session2.patch php-5.1.2-simplexml.patch php-5.1.2-soap.patch php-5.1.2-spl_directory.patch php-5.1.2-string.patch php-5.1.2-xmlreader.patch php-5.1.2-xp_socket.patch php-5.1.2-zend-fix.patch php-5.1.2-zend_hash_del.patch php-5.1.2-zend_operators.patch php-5.1.2.tar.bz2 New: ---- cgi_bugs.patch curl.patch main_bugs.patch mbstring_bugs.patch php-5.1.4.tar.bz2 php-bug-37306.patch php-bug-37416.patch php-bug-37587.patch php-bug-37720.patch php5-gd-fixes.patch soap.patch standard.patch xsl_bugs.patch ze2_bugs.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ php5.spec ++++++ --- /var/tmp/diff_new_pack.Gjyixf/_old 2006-08-01 17:31:42.000000000 +0200 +++ /var/tmp/diff_new_pack.Gjyixf/_new 2006-08-01 17:31:42.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package php5 (Version 5.1.2) +# spec file for package php5 (Version 5.1.4) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,21 +11,40 @@ # norootforbuild Name: php5 -BuildRequires: apache2-devel aspell-devel curl-devel db-devel fam-devel gmp-devel gtk-devel imap imap-devel krb5-devel libmcal libmcrypt-devel libtidy-devel libtiff-devel libxslt-devel mhash-devel mm-devel mysql-devel net-snmp-devel openldap2 openldap2-devel orbit-devel pam-devel pcre-devel pkgconfig postfix postgresql-devel qt3-devel readline-devel sablot-devel sqlite-devel t1lib-devel tcpd-devel unixODBC-devel update-desktop-files zip -%if %{?suse_version:%suse_version}%{?!suse_version:0} >= 1010 +%define pkg_name php5 +%define with_libedit 0 +%define with_spell 1 +%if 0%{?suse_version} < 930 +%define with_spell 0 +BuildRequires: heimdal-devel +%else +BuildRequires: krb5-devel +%endif +BuildRequires: apache2-devel curl-devel db-devel gmp-devel gtk-devel imap imap-devel libmcrypt-devel libtidy-devel libtiff-devel libxslt-devel mhash-devel mm-devel mysql-devel net-snmp-devel openldap2 openldap2-devel orbit-devel pam-devel pkgconfig postfix postgresql-devel qt3-devel readline-devel t1lib-devel tcpd-devel unixODBC-devel update-desktop-files zip +%if %{with_spell} +BuildRequires: aspell-devel +%endif +%if 0%{?suse_version} > 1000 #!BuildIgnore: flex BuildRequires: flex-old +# I would like this to become a hard dependency, as PHP is +# documented to have this modules by default (no addtional libs are needed) +Recommends: php-ctype php-dom php-iconv php-pdo php-pdo_sqlite php-sqlite +Recommends: php-tokenizer php-xmlreader php-xmlwriter +# other highly reccommended extensions +Suggests: php-mbstring php-gd php-pear php-gettext php-mysqli %else BuildRequires: flex libgcrypt-devel rpm-devel -%endif -%if %{?suse_version:%suse_version}%{?!suse_version:0} < 1000 BuildRequires: libjpeg libjpeg-devel %endif -%define extension_dir %{_libdir}/%{name}/extensions -%define peardir %{_datadir}/%{name}/PEAR +%if %{with_libedit} +BuildRequires: libedit-devel +%endif +%define extension_dir %{_libdir}/%{pkg_name}/extensions +%define peardir %{_datadir}/%{pkg_name}/PEAR %define cgi_dir /srv/www/cgi-bin -%define php_sysconf %{_sysconfdir}/%{name} -%define safemode_dir %{_libdir}/%{name}/bin +%define php_sysconf %{_sysconfdir}/%{pkg_name} +%define safemode_dir %{_libdir}/%{pkg_name}/bin ######################################## # apache macros ######################################## @@ -37,69 +56,41 @@ %define apache2_serverroot %(%{apxs2} -q PREFIX) ### ### -Version: 5.1.2 -Release: 30 +Version: 5.1.4 +Release: 1 License: Other uncritical OpenSource License, Other License(s), see package Group: Productivity/Networking/Web/Servers -Provides: php zend php-xml php-spl php-simplexml php-session php-pcre +Provides: php zend php-xml php-spl php-simplexml php-session php-pcre php-date php-reflection Autoreqprov: on Source0: php-%{version}.tar.bz2 Source1: php-suse-addons.tar.bz2 +#SUSE specific stuff Patch1: php5-config.patch Patch2: php5-phpize.patch Patch3: php5-apache_sapi_install.patch Patch4: php5-php-config.patch -Patch5: php-%{version}-include_path.patch -Patch6: php-%{version}-recode-fix.patch -Patch7: php-%{version}-arm_fp_endianness.patch -Patch8: php-%{version}-phpbug-36016.patch -Patch9: php-%{version}-phpbug-36011.patch -Patch10: php-%{version}-phpbug-36071.patch -Patch11: php-%{version}-zend-fix.patch -Patch12: php-%{version}-phpbug-36046.patch -Patch13: php-%{version}-phpbug-36037.patch -Patch14: php-%{version}-phpbug-36006.patch -Patch15: php-%{version}-gd.patch -Patch16: php-%{version}-phpbug-36007.patch -Patch17: php-%{version}-session.patch -Patch18: php-%{version}-xmlreader.patch -Patch19: php-%{version}-phpbug-36176.patch -Patch20: php-%{version}-pdo.patch -Patch21: php-%{version}-phpbug-36268.patch -Patch22: php-%{version}-phpbug-36148.patch -Patch23: php-%{version}-phpbug-36185.patch -Patch24: php-%{version}-phpbug-36208.patch -Patch25: php-%{version}-phpbug-36158.patch -Patch26: php-%{version}-phpbug-36306.patch -Patch27: php-%{version}-phpbug-36351.patch -Patch28: php-%{version}-spl_directory.patch -Patch29: php-%{version}-session2.patch -Patch30: php-%{version}-soap.patch -Patch31: php-%{version}-math.patch -Patch32: php-%{version}-simplexml.patch -Patch33: php-%{version}-mbstring.patch -Patch34: php-%{version}-zend_operators.patch -Patch35: php-%{version}-xp_socket.patch -Patch36: php-%{version}-mbstring-secfix.patch -Patch37: php-%{version}-mbstring-null_injection.patch -Patch38: php-%{version}-phpbug-16144.patch -Patch39: php-%{version}-phpbug-36656.patch -Patch40: php-%{version}-parse_date.patch.bz2 -Patch41: php-%{version}-string.patch -Patch42: php-%{version}-phpbug-36459.patch -Patch43: php-%{version}-phpbug-36420.patch -Patch44: php-%{version}-mysqli-64bit.patch -Patch45: php-%{version}-ftp_fopen_wrapper.patch -Patch46: php-%{version}-CVE-2006-1494-1608.patch -Patch47: php-%{version}-CVE-2006-0996.patch -Patch48: php-%{version}-CVE-2006-1490.patch -Patch49: php-%{version}-CVE-2006-1017.patch -Patch50: php-%{version}-phpbug-37257.patch -Patch51: php-%{version}-phpbug-37276.patch -Patch52: php-%{version}-phpbug-37346.patch -Patch53: php-%{version}-zend_hash_del.patch -Patch54: php-%{version}-phpbug-37394.patch -Patch55: php-%{version}-emalloc.patch +Patch5: php-5.1.2-include_path.patch +#bugs here +Patch7: php-bug-37720.patch +Patch8: php-bug-37306.patch +# fixes PHP bugs 37576,37496,37341,37313,37256 +Patch9: cgi_bugs.patch +Patch10: php-bug-37587.patch +# php bugs 37346,37360 +Patch11: php5-gd-fixes.patch +Patch12: php-bug-37416.patch +# 37306,tempnam() bugs +Patch13: main_bugs.patch +# big soap patch +Patch14: soap.patch +# basic function problems +Patch15: standard.patch +#mbstring bugs +Patch16: mbstring_bugs.patch +# ZendEngine issues +Patch17: ze2_bugs.patch +Patch18: xsl_bugs.patch +Patch19: curl.patch URL: http://www.php.net BuildRoot: %{_tmppath}/%{name}-%{version}-build Icon: php5.xpm @@ -187,7 +178,7 @@ Requires: apache2-prefork %{apache2_mmn} %{name} = %{version} PreReq: apache2 Conflicts: apache2-mod_php4 -Provides: mod_php_any php-xml php-spl php-simplexml php-session php-pcre +Provides: mod_php_any php-xml php-spl php-simplexml php-session php-pcre php-date php-reflection %description -n apache2-mod_php5 PHP is a server-side, cross-platform HTML embedded scripting language. @@ -580,6 +571,30 @@ Thies C. Arntzen <thies@digicol.de> Uwe Steinmann <steinm@php.net> +%package hash +Provides: php-hash +Summary: PHP5 Extension Module +Group: Productivity/Networking/Web/Servers +Requires: %{name} = %{version} + +%description hash +Message Digest (hash) engine. Allows direct or incremental processing +of arbitrary length messages using a variety of hashing algorithms. + + + +Authors: +-------- + Andrei Zmievski <andrei@ispi.net> + Danny Heijl <Danny.Heijl@cevi.be> + Frank M. Kromann <fmk@swwwing.com> + Rasmus Lerdorf <rasmus@php.net> + Sam Ruby <rubys@us.ibm.com> + Sascha Schumann <sascha@schumann.cx> + Stefan Roehrich <sr@linux.de> + Thies C. Arntzen <thies@digicol.de> + Uwe Steinmann <steinm@php.net> + %package iconv Provides: php-iconv Summary: PHP5 Extension Module @@ -794,10 +809,10 @@ Uwe Steinmann <steinm@php.net> %package odbc -Provides: php-odbc +Provides: php-odbc php-pdo_odbc Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} +Requires: %{name} = %{version} %{name}-pdo = %{version} %description odbc This module adds ODBC support. @@ -901,7 +916,7 @@ Provides: php-pdo_mysql Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-pdo = %{version} +Requires: %{name} = %{version} %{name}-pdo = %{version} %description pdo_mysql mySQL driver for PDO @@ -924,7 +939,7 @@ Provides: php-pdo_pgsql Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-pdo = %{version} +Requires: %{name} = %{version} %{name}-pdo = %{version} %description pdo_pgsql PostgreSQL driver for PDO @@ -947,7 +962,7 @@ Provides: php-pdo_sqlite Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-pdo = %{version} %{name}-sqlite = %{version} +Requires: %{name} = %{version} %{name}-pdo = %{version} %{name}-sqlite = %{version} %description pdo_sqlite SQLite 3.x driver for PDO @@ -1012,6 +1027,7 @@ Thies C. Arntzen <thies@digicol.de> Uwe Steinmann <steinm@php.net> +%if %{with_spell} %package pspell Provides: php-pspell Summary: PHP5 pspell extension @@ -1036,6 +1052,7 @@ Thies C. Arntzen <thies@digicol.de> Uwe Steinmann <steinm@php.net> +%endif %package shmop Provides: php-shmop Summary: PHP5 Extension Module @@ -1138,7 +1155,7 @@ Provides: php-sqlite Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-pdo = %{version} +Requires: %{name} = %{version} %{name}-pdo = %{version} %description sqlite This is an extension for the SQLite Embeddable SQL Database Engine. @@ -1337,7 +1354,7 @@ Provides: php-xsl Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-dom = %{version} +Requires: %{name} = %{version} %{name}-dom = %{version} %description xsl This module adds new XSL support to PHP. @@ -1360,7 +1377,7 @@ Provides: php-xmlreader Summary: PHP5 Extension Module Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} php5-dom = %{version} +Requires: %{name} = %{version} %{name}-dom = %{version} %description xmlreader XMLReader represents a reader that provides non-cached, forward-only @@ -1435,7 +1452,6 @@ %patch3 -p1 %patch4 %patch5 -%patch6 %patch7 %patch8 %patch9 @@ -1449,42 +1465,6 @@ %patch17 %patch18 %patch19 -%patch20 -%patch21 -%patch22 -%patch23 -%patch24 -%patch25 -%patch26 -%patch27 -%patch28 -%patch29 -%patch30 -%patch31 -%patch32 -%patch33 -%patch34 -%patch35 -%patch36 -%patch37 -%patch38 -%patch39 -%patch40 -%patch41 -%patch42 -%patch43 -%patch44 -%patch45 -%patch46 -%patch47 -%patch48 -%patch49 -%patch50 -%patch51 -%patch52 -%patch53 -%patch54 -%patch55 # we build three SAPI mkdir -p build-apache2 mkdir -p build-fastcgi/sapi/cgi/libfcgi @@ -1507,7 +1487,7 @@ # export flags CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -D_GNU_SOURCE -DLDAP_DEPRECATED" CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -D_GNU_SOURCE -DLDAP_DEPRECATED" -%if %{?suse_version:%suse_version}%{?!suse_version:0} > 1000 +%if 0%{?suse_version} > 1000 CFLAGS="$CFLAGS -fstack-protector" CXXFLAGS="$CFLAGS -fstack-protector" %endif @@ -1524,7 +1504,7 @@ shift ../configure \ --prefix=%{_prefix} \ - --datadir=%{_datadir}/%{name} \ + --datadir=%{_datadir}/%{pkg_name} \ --mandir=%{_mandir} \ --bindir=%{_bindir} \ --with-libdir=%{_lib} \ @@ -1533,7 +1513,6 @@ --with-config-file-path=%{php_sysconf}/$sapi \ --with-config-file-scan-dir=%{php_sysconf}/conf.d \ --with-exec-dir=%{safemode_dir} \ - --enable-magic-quotes \ --enable-libxml \ --enable-session \ --with-mm \ @@ -1541,7 +1520,6 @@ --enable-xml \ --enable-simplexml \ --enable-spl \ - --enable-safe-mode \ --enable-sigchild \ --disable-debug \ --enable-memory-limit \ @@ -1555,7 +1533,7 @@ # - simplexml is needed by spl # - session need to be builtin, otherwise sqlite and other session engines fail # - pcre is needed for PEAR - make %{?jobs:-j%jobs PHP_PEAR_PHP_BIN=%{_bindir}/%{name}} + make %{?jobs:-j%jobs PHP_PEAR_PHP_BIN=%{_bindir}/%{pkg_name}} popd } # perform all builds @@ -1605,18 +1583,21 @@ --enable-gd-native-ttf \ --with-xpm-dir=%{_usr}/X11R6 \ --with-freetype-dir=%{_usr} \ - --with-ttf \ --with-png-dir=%{_usr} \ --with-jpeg-dir=%{_usr} \ --with-zlib-dir=%{_usr} \ --with-gettext=shared \ --with-gmp=shared \ + --enable-hash=shared \ --with-iconv=shared \ --with-imap=shared \ --with-kerberos \ --with-imap-ssl \ --with-ldap=shared \ --with-ldap-sasl=%{_usr} \ +%if %{with_libedit} + --with-libedit=%{_usr} \ +%endif --with-mcrypt=shared \ --with-mhash=shared \ --with-mysql=shared,%{_usr} \ @@ -1626,7 +1607,9 @@ --with-unixODBC=shared,%{_usr} \ --with-openssl=shared \ --with-pgsql=shared \ +%if %{with_spell} --with-pspell=shared \ +%endif --with-snmp=shared \ --with-xmlrpc=shared \ --enable-xmlreader=shared \ @@ -1643,6 +1626,7 @@ --with-pdo_sqlite=shared \ --with-pdo-mysql=shared,%{_usr} \ --with-pdo-pgsql=shared,%{_usr} \ + --with-pdo-odbc=shared,unixODBC,%{_usr} \ --with-sqlite=shared \ --enable-sqlite-utf8 \ --disable-cgi @@ -1654,15 +1638,13 @@ #disabled extensions # --enable-embedded-mysqli \ -# doesn't compile -# --with-pdo-odbc=unixODBC,%{_usr} \ %install # install function Install() { pushd build-$1 - make install INSTALL_ROOT=$RPM_BUILD_ROOT PHP_PEAR_PHP_BIN=%{_bindir}/%{name} + make install INSTALL_ROOT=$RPM_BUILD_ROOT PHP_PEAR_PHP_BIN=%{_bindir}/%{pkg_name} popd } # do the actual installation @@ -1704,7 +1686,7 @@ sed "s=@EXTERN_MODULES@=$extern_modules=;s=@BUILTIN_MODULES@=$builtin_modules=" php-suse-addons/README.SUSE > README.SUSE # apache configuration mkdir -p $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d -install -m 644 php-suse-addons/sysconfig.apache2 $RPM_BUILD_ROOT/%{apache2_sysconfdir}/conf.d/%{name}.conf +install -m 644 php-suse-addons/sysconfig.apache2 $RPM_BUILD_ROOT/%{apache2_sysconfdir}/conf.d/%{pkg_name}.conf # rename to php5 pushd $RPM_BUILD_ROOT%{cgi_dir} mv php php5 @@ -1718,7 +1700,7 @@ mv php.1 php5.1 popd # directory for sessions -install -d $RPM_BUILD_ROOT/var/lib/%{name} +install -d $RPM_BUILD_ROOT/var/lib/%{pkg_name} # directory for safe mode install -d $RPM_BUILD_ROOT/%{safemode_dir} # documentation @@ -1744,19 +1726,19 @@ %dir %{php_sysconf}/conf.d %dir %{php_sysconf}/cli %config(noreplace) %{php_sysconf}/cli/php.ini -%{_bindir}/%{name} -%dir %{_libdir}/%{name} +%{_bindir}/%{pkg_name} +%dir %{_libdir}/%{pkg_name} %dir %{safemode_dir} %dir %{extension_dir} -%dir %{_datadir}/%{name} -%attr(0755, wwwrun, root) %dir /var/lib/%{name} +%dir %{_datadir}/%{pkg_name} +%attr(0755, wwwrun, root) %dir /var/lib/%{pkg_name} %files devel %defattr(-, root, root) -%{_includedir}/%{name} +%{_includedir}/%{pkg_name} %{_bindir}/phpize %{_bindir}/php-config -%{_datadir}/%{name}/build +%{_datadir}/%{pkg_name}/build %files pear %defattr(-, root, root) @@ -1766,7 +1748,7 @@ %files fastcgi %defattr(-, root, root) -%{cgi_dir}/%{name} +%{cgi_dir}/%{pkg_name} %dir %{php_sysconf}/fastcgi %config(noreplace) %{php_sysconf}/fastcgi/php.ini @@ -1775,7 +1757,7 @@ %{apache2_libexecdir}/mod_php5.so %dir %{php_sysconf}/apache2 %config(noreplace) %{php_sysconf}/apache2/php.ini -%config(noreplace) %{apache2_sysconfdir}/conf.d/%{name}.conf +%config(noreplace) %{apache2_sysconfdir}/conf.d/%{pkg_name}.conf %files bcmath %defattr(644,root,root,755) @@ -1847,6 +1829,11 @@ %{extension_dir}/gmp.so %config(noreplace) %{php_sysconf}/conf.d/gmp.ini +%files hash +%defattr(644,root,root,755) +%{extension_dir}/hash.so +%config(noreplace) %{php_sysconf}/conf.d/hash.ini + %files iconv %defattr(644,root,root,755) %{extension_dir}/iconv.so @@ -1896,6 +1883,8 @@ %defattr(644,root,root,755) %{extension_dir}/odbc.so %config(noreplace) %{php_sysconf}/conf.d/odbc.ini +%{extension_dir}/pdo_odbc.so +%config(noreplace) %{php_sysconf}/conf.d/pdo_odbc.ini %files openssl %defattr(644,root,root,755) @@ -1926,10 +1915,6 @@ %defattr(644,root,root,755) %{extension_dir}/pdo_sqlite.so %config(noreplace) %{php_sysconf}/conf.d/pdo_sqlite.ini -#%files pdo_odbc -#%defattr(644,root,root,755) -#%{extension_dir}/pdo_odbc.so -#%config(noreplace) %{php_sysconf}/conf.d/pdo_odbc.ini %files pgsql %defattr(644,root,root,755) @@ -1940,11 +1925,13 @@ %defattr(644,root,root,755) %{extension_dir}/posix.so %config(noreplace) %{php_sysconf}/conf.d/posix.ini +%if %{with_spell} %files pspell %defattr(644,root,root,755) %{extension_dir}/pspell.so %config(noreplace) %{php_sysconf}/conf.d/pspell.ini +%endif %files shmop %defattr(644,root,root,755) @@ -2027,6 +2014,38 @@ %config(noreplace) %{php_sysconf}/conf.d/zlib.ini %changelog -n php5 +* Wed Jul 26 2006 - postadal@suse.cz +- updated to version 5.1.4 + * FastCGI interface was completely reimplemented + * multitude of improvements to the SPL, SimpleXML, GD, CURL and + Reflection extensions + * support for many additional date formats added to the strtotime() + * a performance improvements added to the engine and core extensions + * added imap_savebody() that allows message body to be written to a file + * added lchown() and lchgrp() to change user/group ownership of symlinks + * upgraded bundled PCRE library to version 6.6 +- merged changes from openSUSE build service + * removed unneeded sablot-devel,sqlite-devel,pcre-devel,fam-devel + and libmcal from BuildRequires + * added php-ctype,php-dom,php-iconv,php-pdo,php-pdo_sqlite,php-sqlite, + php-tokenizer,php-xmlreader,php-xmlwriter to Recommends + * added php-mbstring php-gd php-pear php-gettext php-mysqli to Suggests + * added support for optional readline(libedit) for CLI + (disabled by default) + * patches for zendengine (ze2_bugs.patch), xsl (xsl_bugs.patch), + curl (curl.patch) and mbstring bugs (mbstring_bugs.patch), + big soap patch (soap.patch) + * removed obsoleted patches + * fixed Safe Mode Bypass [#188243] (standard.patch) + * upstream patches + [php#37306, php#37416, php#37587, php#37720] + [php#37576, php#37496, php#37341, php#37313, php#37256] (cgi_bugs.patch) + [php#37346, php#37360] (gd-fixes.patch) + * fixed build inconsistences, added php-hash module [#173023] + * added pdo_odbc.so to php-odbc module [#190614] + * build without explicit safe_mode and magic_quotes (unneeded) + * removed useless GD --with-ttf configure option, only suitable + for freetype 1 * Fri Jun 09 2006 - poeml@suse.de - fix BuildRequires to build on SUSE Linux 10.1, 10.0, 9.3 - use the -fstack-protector compile switch only on 10.0 and newer ++++++ cgi_bugs.patch ++++++ --- sapi/cgi/cgi_main.c 3 May 2006 19:40:58 -0000 1.267.2.15 +++ sapi/cgi/cgi_main.c 24 May 2006 07:55:38 -0000 1.267.2.16 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: cgi_main.c,v 1.267.2.15 2006/05/03 19:40:58 tony2001 Exp $ */ +/* $Id: cgi_main.c,v 1.267.2.16 2006/05/24 07:55:38 dmitry Exp $ */ #include "php.h" #include "php_globals.h" @@ -432,14 +432,18 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC) { if (PG(http_globals)[TRACK_VARS_ENV] && - array_ptr != PG(http_globals)[TRACK_VARS_ENV]) { + array_ptr != PG(http_globals)[TRACK_VARS_ENV] && + Z_TYPE_P(PG(http_globals)[TRACK_VARS_ENV]) == IS_ARRAY && + zend_hash_num_elements(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_ENV])) > 0) { zval_dtor(array_ptr); *array_ptr = *PG(http_globals)[TRACK_VARS_ENV]; INIT_PZVAL(array_ptr); zval_copy_ctor(array_ptr); return; } else if (PG(http_globals)[TRACK_VARS_SERVER] && - array_ptr != PG(http_globals)[TRACK_VARS_SERVER]) { + array_ptr != PG(http_globals)[TRACK_VARS_SERVER] && + Z_TYPE_P(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY && + zend_hash_num_elements(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER])) > 0) { zval_dtor(array_ptr); *array_ptr = *PG(http_globals)[TRACK_VARS_SERVER]; INIT_PZVAL(array_ptr); Index: sapi/cgi/fastcgi.c =================================================================== RCS file: /repository/php-src/sapi/cgi/fastcgi.c,v retrieving revision 1.4.2.12 retrieving revision 1.4.2.17 --- sapi/cgi/fastcgi.c 3 May 2006 15:39:16 -0000 1.4.2.12 +++ sapi/cgi/fastcgi.c 7 Jun 2006 14:28:26 -0000 1.4.2.17 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: fastcgi.c,v 1.4.2.12 2006/05/03 15:39:16 dmitry Exp $ */ +/* $Id: fastcgi.c,v 1.4.2.17 2006/06/07 14:28:26 stas Exp $ */ #include "fastcgi.h" #include "php.h" @@ -69,7 +69,7 @@ # include <netinet/in.h> # include <arpa/inet.h> # include <netdb.h> -# include <sys/signal.h> +# include <signal.h> #ifndef INADDR_NONE #define INADDR_NONE ((unsigned long) -1) @@ -401,7 +401,7 @@ int name_len, val_len; char *s; - while (p < end) { + while (p < end && n < FCGI_MAX_ENV_VARS - 1) { name_len = *p++; if (name_len >= 128) { name_len = ((name_len & 0x7f) << 24); @@ -424,10 +424,6 @@ p += val_len; s[name_len+1+val_len] = '\0'; n++; - if (n > sizeof(req->env)/sizeof(req->env[0])) { - /* TODO: to many environment variables */ - return n; - } } return n; } @@ -669,12 +665,14 @@ } FCGI_UNLOCK(req->listen_socket); #else + { sa_t sa; socklen_t len = sizeof(sa); FCGI_LOCK(req->listen_socket); req->fd = accept(req->listen_socket, (struct sockaddr *)&sa, &len); FCGI_UNLOCK(req->listen_socket); + } #endif if (req->fd < 0 && (in_shutdown || errno != EINTR)) { @@ -769,15 +767,17 @@ if (req->out_hdr && req->out_hdr->type != type) { close_packet(req); } - rest = len; #if 0 - /* Unoptinmzed, but clear version */ + /* Unoptimized, but clear version */ + rest = len; while (rest > 0) { limit = sizeof(req->out_buf) - (req->out_pos - req->out_buf); if (!req->out_hdr) { if (limit < sizeof(fcgi_header)) { - fcgi_flush(req, 0); + if (!fcgi_flush(req, 0)) { + return -1; + } } open_packet(req, type); } @@ -791,32 +791,41 @@ req->out_pos += limit; rest -= limit; str += limit; - fcgi_flush(req, 0); + if (!fcgi_flush(req, 0)) { + return -1; + } } } #else - /* Optinmzed version */ + /* Optimized version */ + limit = sizeof(req->out_buf) - (req->out_pos - req->out_buf); if (!req->out_hdr) { - rest += sizeof(fcgi_header); + limit -= sizeof(fcgi_header); + if (limit < 0) limit = 0; } - limit = sizeof(req->out_buf) - (req->out_pos - req->out_buf); - if (rest < limit) { + if (len < limit) { if (!req->out_hdr) { open_packet(req, type); } memcpy(req->out_pos, str, len); req->out_pos += len; - } else if (rest - limit < sizeof(req->out_buf) - sizeof(fcgi_header)) { + } else if (len - limit < sizeof(req->out_buf) - sizeof(fcgi_header)) { if (!req->out_hdr) { open_packet(req, type); } - memcpy(req->out_pos, str, limit); - req->out_pos += limit; - fcgi_flush(req, 0); - open_packet(req, type); - memcpy(req->out_pos, str + limit, len - limit); - req->out_pos += len - limit; + if (limit > 0) { + memcpy(req->out_pos, str, limit); + req->out_pos += limit; + } + if (!fcgi_flush(req, 0)) { + return -1; + } + if (len > limit) { + open_packet(req, type); + memcpy(req->out_pos, str + limit, len - limit); + req->out_pos += len - limit; + } } else { int pos = 0; int pad; @@ -826,7 +835,9 @@ open_packet(req, type); fcgi_make_header(req->out_hdr, type, req->id, 0xfff8); req->out_hdr = NULL; - fcgi_flush(req, 0); + if (!fcgi_flush(req, 0)) { + return -1; + } if (safe_write(req, str + pos, 0xfff8) != 0xfff8) { req->keep = 0; return -1; @@ -840,7 +851,9 @@ open_packet(req, type); fcgi_make_header(req->out_hdr, type, req->id, (len - pos) - rest); req->out_hdr = NULL; - fcgi_flush(req, 0); + if (!fcgi_flush(req, 0)) { + return -1; + } if (safe_write(req, str + pos, (len - pos) - rest) != (len - pos) - rest) { req->keep = 0; return -1; @@ -900,7 +913,9 @@ } env++; } - *env = fcgi_strndup(var, var_len); + if (env != &req->env[FCGI_MAX_ENV_VARS - 1]) { + *env = fcgi_strndup(var, var_len); + } } } Index: sapi/cgi/fastcgi.h =================================================================== RCS file: /repository/php-src/sapi/cgi/fastcgi.h,v retrieving revision 1.2.2.4 retrieving revision 1.2.2.6 --- sapi/cgi/fastcgi.h 3 May 2006 15:39:16 -0000 1.2.2.4 +++ sapi/cgi/fastcgi.h 25 May 2006 07:06:04 -0000 1.2.2.6 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: fastcgi.h,v 1.2.2.4 2006/05/03 15:39:16 dmitry Exp $ */ +/* $Id: fastcgi.h,v 1.2.2.6 2006/05/25 07:06:04 dmitry Exp $ */ /* FastCGI protocol */ @@ -26,6 +26,8 @@ #define FCGI_KEEP_CONN 1 +#define FCGI_MAX_ENV_VARS 256 + typedef enum _fcgi_role { FCGI_RESPONDER = 1, FCGI_AUTHORIZER = 2, @@ -105,7 +107,7 @@ unsigned char out_buf[1024*8]; unsigned char reserved[sizeof(fcgi_end_request_rec)]; - char *env[128]; + char *env[FCGI_MAX_ENV_VARS]; } fcgi_request; int fcgi_init(void); @@ -160,7 +162,7 @@ #define FCGX_PutStr(str, len, stream) fcgi_write((stream).req, (stream).type, str, len) #define FCGX_PutS(str, len, stream) fcgi_write((stream).req, (stream).type, str, len) -#define FCGX_FFlush(stream) fcgi_flush((stream).req, 0) +#define FCGX_FFlush(stream) (fcgi_flush((stream).req, 0)?0:-1) #define FCGX_GetStr(str, len, stream) fcgi_read((stream).req, str, len) #define FCGX_GetParam(var, envp) fcgi_getenv_helper(envp, var, strlen(var)); Index: sapi/cli/php_cli.c =================================================================== RCS file: /repository/php-src/sapi/cli/php_cli.c,v retrieving revision 1.129.2.13 retrieving revision 1.129.2.14 ++++++ curl.patch ++++++ --- ext/curl/interface.c 13 Apr 2006 11:26:10 -0000 1.62.2.14 +++ ext/curl/interface.c 21 May 2006 16:33:39 -0000 1.62.2.15 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.62.2.14 2006/04/13 11:26:10 tony2001 Exp $ */ +/* $Id: interface.c,v 1.62.2.15 2006/05/21 16:33:39 iliaa Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -161,11 +161,16 @@ strncasecmp(str, "file:", sizeof("file:") - 1) == 0) \ { \ php_url *tmp_url; \ - \ + \ if (!(tmp_url = php_url_parse_ex(str, len))) { \ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid url '%s'", str); \ RETURN_FALSE; \ } \ + \ + if (php_memnstr(str, tmp_url->path, strlen(tmp_url->path), str + len)) { \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Url '%s' contains unencoded control characters.", str); \ + RETURN_FALSE; \ + } \ \ if (tmp_url->query || tmp_url->fragment || php_check_open_basedir(tmp_url->path TSRMLS_CC) || \ (PG(safe_mode) && !php_checkuid(tmp_url->path, "rb+", CHECKUID_CHECK_MODE_PARAM)) \ Index: ext/gd/libgd/gd_gif_in.c =================================================================== RCS file: /repository/php-src/ext/gd/libgd/gd_gif_in.c,v retrieving revision 1.5.4.2 retrieving revision 1.5.4.4 ++++++ main_bugs.patch ++++++ --- main/main.c 12 Apr 2006 12:49:39 -0000 1.640.2.23 +++ main/main.c 11 May 2006 22:11:17 -0000 1.640.2.24 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: main.c,v 1.640.2.23 2006/04/12 12:49:39 tony2001 Exp $ */ +/* $Id: main.c,v 1.640.2.24 2006/05/11 22:11:17 dmitry Exp $ */ /* {{{ includes */ @@ -1723,11 +1723,11 @@ } else { append_file_p = NULL; } - if (PG(max_input_time) == -1) { + if (PG(max_input_time) != -1) { #ifdef PHP_WIN32 zend_unset_timeout(TSRMLS_C); #endif - zend_set_timeout(EG(timeout_seconds)); + zend_set_timeout(INI_INT("max_execution_time")); } retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS); Index: main/php_open_temporary_file.c =================================================================== RCS file: /repository/php-src/main/php_open_temporary_file.c,v retrieving revision 1.34.2.1 retrieving revision 1.34.2.2 --- main/php_open_temporary_file.c 1 Jan 2006 12:50:17 -0000 1.34.2.1 +++ main/php_open_temporary_file.c 23 May 2006 23:22:26 -0000 1.34.2.2 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_open_temporary_file.c,v 1.34.2.1 2006/01/01 12:50:17 sniper Exp $ */ +/* $Id: php_open_temporary_file.c,v 1.34.2.2 2006/05/23 23:22:26 iliaa Exp $ */ #include "php.h" @@ -114,17 +114,16 @@ path_len = strlen(path); - if (!(opened_path = emalloc(MAXPATHLEN))) { - return -1; - } - if (!path_len || IS_SLASH(path[path_len - 1])) { trailing_slash = ""; } else { trailing_slash = "/"; } - (void)snprintf(opened_path, MAXPATHLEN, "%s%s%sXXXXXX", path, trailing_slash, pfx); + if (spprintf(&opened_path, 0, "%s%s%sXXXXXX", path, trailing_slash, pfx) >= MAXPATHLEN) { + efree(opened_path); + return -1; + } #ifdef PHP_WIN32 if (GetTempFileName(path, pfx, 0, opened_path)) { Index: main/php_version.h =================================================================== RCS file: /repository/php-src/main/php_version.h,v retrieving revision 1.112.2.36 retrieving revision 1.112.2.37 --- main/streams/filter.c 26 Feb 2006 10:49:51 -0000 1.17.2.3 +++ main/streams/filter.c 19 May 2006 10:24:19 -0000 1.17.2.4 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: filter.c,v 1.17.2.3 2006/02/26 10:49:51 helly Exp $ */ +/* $Id: filter.c,v 1.17.2.4 2006/05/19 10:24:19 tony2001 Exp $ */ #include "php.h" #include "php_globals.h" @@ -251,7 +251,7 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval *filterparams, int persistent TSRMLS_DC) { HashTable *filter_hash = (FG(stream_filters) ? FG(stream_filters) : &stream_filters_hash); - php_stream_filter_factory *factory; + php_stream_filter_factory *factory = NULL; php_stream_filter *filter = NULL; int n; char *period; Index: sapi/apache/mod_php5.c =================================================================== RCS file: /repository/php-src/sapi/apache/mod_php5.c,v retrieving revision 1.19.2.7 retrieving revision 1.19.2.9 ++++++ mbstring_bugs.patch ++++++ --- ext/mbstring/mbstring.c 26 Mar 2006 02:19:50 -0000 1.224.2.22 +++ ext/mbstring/mbstring.c 11 May 2006 14:47:34 -0000 1.224.2.23 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.224.2.22 2006/03/26 02:19:50 masugata Exp $ */ +/* $Id: mbstring.c,v 1.224.2.23 2006/05/11 14:47:34 masugata Exp $ */ /* * PHP 4 Multibyte String module "mbstring" @@ -694,14 +694,18 @@ if (new_value != NULL) { if (strcasecmp("none", new_value) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; } else if (strcasecmp("long", new_value) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; } else { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; if (new_value_length >0) { c = strtol(new_value, &endptr, 0); if (*endptr == '\0') { MBSTRG(filter_illegal_substchar) = c; + MBSTRG(current_filter_illegal_substchar) = c; } } } @@ -3347,11 +3351,15 @@ PHP_FUNCTION(mb_get_info) { char *typ = NULL; - int typ_len; + int typ_len, n; char *name; const struct mb_overload_def *over_func; - zval *row; + zval *row1, *row2; const mbfl_language *lang = mbfl_no2language(MBSTRG(current_language)); + enum mbfl_no_encoding *entry; +#ifdef ZEND_MULTIBYTE + zval *row3; +#endif /* ZEND_MULTIBYTE */ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &typ, &typ_len) == FAILURE) { RETURN_FALSE; @@ -3370,15 +3378,15 @@ } if (MBSTRG(func_overload)){ over_func = &(mb_ovld[0]); - MAKE_STD_ZVAL(row); - array_init(row); + MAKE_STD_ZVAL(row1); + array_init(row1); while (over_func->type > 0) { if ((MBSTRG(func_overload) & over_func->type) == over_func->type ) { - add_assoc_string(row, over_func->orig_func, over_func->ovld_func, 1); + add_assoc_string(row1, over_func->orig_func, over_func->ovld_func, 1); } over_func++; } - add_assoc_zval(return_value, "func_overload", row); + add_assoc_zval(return_value, "func_overload", row1); } else { add_assoc_string(return_value, "func_overload", "no overload", 1); } @@ -3393,6 +3401,57 @@ add_assoc_string(return_value, "mail_body_encoding", name, 1); } } + add_assoc_long(return_value, "illegal_chars", MBSTRG(illegalchars)); + if (MBSTRG(encoding_translation)) { + add_assoc_string(return_value, "encoding_translation", "On", 1); + } else { + add_assoc_string(return_value, "encoding_translation", "Off", 1); + } + if ((name = (char *)mbfl_no_language2name(MBSTRG(current_language))) != NULL) { + add_assoc_string(return_value, "language", name, 1); + } + n = MBSTRG(current_detect_order_list_size); + entry = MBSTRG(current_detect_order_list); + if(n > 0) { + MAKE_STD_ZVAL(row2); + array_init(row2); + while (n > 0) { + if ((name = (char *)mbfl_no_encoding2name(*entry)) != NULL) { + add_next_index_string(row2, name, 1); + } + entry++; + n--; + } + add_assoc_zval(return_value, "detect_order", row2); + } + if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { + add_assoc_string(return_value, "substitute_character", "none", 1); + } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { + add_assoc_string(return_value, "substitute_character", "long", 1); + } else { + add_assoc_long(return_value, "substitute_character", MBSTRG(current_filter_illegal_substchar)); + } + if (MBSTRG(strict_detection)) { + add_assoc_string(return_value, "strict_detection", "On", 1); + } else { + add_assoc_string(return_value, "strict_detection", "Off", 1); + } +#ifdef ZEND_MULTIBYTE + entry = MBSTRG(script_encoding_list); + n = MBSTRG(script_encoding_list_size); + if(n > 0) { + MAKE_STD_ZVAL(row3); + array_init(row3); + while (n > 0) { + if ((name = (char *)mbfl_no_encoding2name(*entry)) != NULL) { + add_next_index_string(row3, name, 1); + } + entry++; + n--; + } + add_assoc_zval(return_value, "script_encoding", row3); + } +#endif /* ZEND_MULTIBYTE */ } else if (!strcasecmp("internal_encoding", typ)) { if ((name = (char *)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) { RETVAL_STRING(name, 1); @@ -3432,7 +3491,63 @@ } } else if (!strcasecmp("illegal_chars", typ)) { RETVAL_LONG(MBSTRG(illegalchars)); + } else if (!strcasecmp("encoding_translation", typ)) { + if (MBSTRG(encoding_translation)) { + RETVAL_STRING("On", 1); + } else { + RETVAL_STRING("Off", 1); + } + } else if (!strcasecmp("language", typ)) { + if ((name = (char *)mbfl_no_language2name(MBSTRG(current_language))) != NULL) { + RETVAL_STRING(name, 1); + } + } else if (!strcasecmp("detect_order", typ)) { + n = MBSTRG(current_detect_order_list_size); + entry = MBSTRG(current_detect_order_list); + if(n > 0) { + array_init(return_value); + while (n > 0) { + name = (char *)mbfl_no_encoding2name(*entry); + if (name) { + add_next_index_string(return_value, name, 1); + } + entry++; + n--; + } + } + } else if (!strcasecmp("substitute_character", typ)) { + if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { + RETVAL_STRING("none", 1); + } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { + RETVAL_STRING("long", 1); + } else { + RETVAL_LONG(MBSTRG(current_filter_illegal_substchar)); + } + } else if (!strcasecmp("strict_detection", typ)) { + if (MBSTRG(strict_detection)) { + RETVAL_STRING("On", 1); + } else { + RETVAL_STRING("Off", 1); + } } else { +#ifdef ZEND_MULTIBYTE + if (!strcasecmp("script_encoding", typ)) { + entry = MBSTRG(script_encoding_list); + n = MBSTRG(script_encoding_list_size); + if(n > 0) { + array_init(return_value); + while (n > 0) { + name = (char *)mbfl_no_encoding2name(*entry); + if (name) { + add_next_index_string(return_value, name, 1); + } + entry++; + n--; + } + } + return; + } +#endif /* ZEND_MULTIBYTE */ RETURN_FALSE; } } Index: ext/oci8/config.w32 =================================================================== RCS file: /repository/php-src/ext/oci8/config.w32,v retrieving revision 1.3.4.2 retrieving revision 1.3.4.4 ++++++ php-5.1.2.tar.bz2 -> php-5.1.4.tar.bz2 ++++++ php5/php-5.1.2.tar.bz2 php5/php-5.1.4.tar.bz2 differ: char 11, line 1 ++++++ php-bug-37306.patch ++++++ --- sapi/cli/php_cli.c 21 Feb 2006 21:15:13 -0000 1.129.2.13 +++ sapi/cli/php_cli.c 11 May 2006 22:11:17 -0000 1.129.2.14 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_cli.c,v 1.129.2.13 2006/02/21 21:15:13 johannes Exp $ */ +/* $Id: php_cli.c,v 1.129.2.14 2006/05/11 22:11:17 dmitry Exp $ */ #include "php.h" #include "php_globals.h" @@ -708,6 +708,7 @@ INI_HARDCODED("implicit_flush", "1"); INI_HARDCODED("output_buffering", "0"); INI_HARDCODED("max_execution_time", "0"); + INI_HARDCODED("max_input_time", "-1"); while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind, 0)) != -1) { switch (c) { Index: tests/basic/021.phpt =================================================================== RCS file: /repository/php-src/tests/basic/Attic/021.phpt,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.3 ++++++ php-bug-37416.patch ++++++ --- ext/spl/spl_iterators.c 13 Apr 2006 13:21:43 -0000 1.73.2.30 +++ ext/spl/spl_iterators.c 12 May 2006 09:43:07 -0000 1.73.2.31 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.73.2.30 2006/04/13 13:21:43 tony2001 Exp $ */ +/* $Id: spl_iterators.c,v 1.73.2.31 2006/05/12 09:43:07 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -2063,11 +2063,20 @@ if (iter->funcs->rewind) { iter->funcs->rewind(iter TSRMLS_CC); } + if (EG(exception)) { + return; + } while (iter->funcs->valid(iter TSRMLS_CC) == SUCCESS) { iter->funcs->get_current_data(iter, &data TSRMLS_CC); + if (EG(exception)) { + return; + } (*data)->refcount++; if (iter->funcs->get_current_key) { key_type = iter->funcs->get_current_key(iter, &str_key, &str_key_len, &int_key TSRMLS_CC); + if (EG(exception)) { + return; + } switch(key_type) { case HASH_KEY_IS_STRING: add_assoc_zval_ex(return_value, str_key, str_key_len, *data); @@ -2081,8 +2090,14 @@ add_next_index_zval(return_value, *data); } iter->funcs->move_forward(iter TSRMLS_CC); + if (EG(exception)) { + return; + } } iter->funcs->dtor(iter TSRMLS_CC); + if (EG(exception)) { + return; + } } /* }}} */ @@ -2103,11 +2118,23 @@ if (iter->funcs->rewind) { iter->funcs->rewind(iter TSRMLS_CC); } + if (EG(exception)) { + return; + } while (iter->funcs->valid(iter TSRMLS_CC) == SUCCESS) { + if (EG(exception)) { + return; + } count++; iter->funcs->move_forward(iter TSRMLS_CC); + if (EG(exception)) { + return; + } } iter->funcs->dtor(iter TSRMLS_CC); + if (EG(exception)) { + return; + } RETURN_LONG(count); } Index: ext/standard/array.c =================================================================== RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.308.2.21 retrieving revision 1.308.2.22 ++++++ php-bug-37587.patch ++++++ --- ext/wddx/wddx.c 23 Apr 2006 16:02:05 -0000 1.119.2.10 +++ ext/wddx/wddx.c 25 May 2006 10:01:30 -0000 1.119.2.11 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: wddx.c,v 1.119.2.10 2006/04/23 16:02:05 iliaa Exp $ */ +/* $Id: wddx.c,v 1.119.2.11 2006/05/25 10:01:30 helly Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -751,7 +751,7 @@ } else if (!strcmp(name, EL_CHAR)) { int i; - for (i = 0; atts[i]; i++) { + if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_CHAR_CODE) && atts[++i] && atts[i][0]) { char tmp_buf[2]; @@ -771,7 +771,7 @@ } else if (!strcmp(name, EL_BOOLEAN)) { int i; - for (i = 0; atts[i]; i++) { + if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_VALUE) && atts[++i] && atts[i][0]) { ent.type = ST_BOOLEAN; SET_STACK_VARNAME; @@ -812,7 +812,7 @@ } else if (!strcmp(name, EL_VAR)) { int i; - for (i = 0; atts[i]; i++) { + if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_NAME) && atts[++i] && atts[i][0]) { char *decoded; int decoded_len; @@ -829,7 +829,7 @@ MAKE_STD_ZVAL(ent.data); array_init(ent.data); - for (i = 0; atts[i]; i++) { + if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], "fieldNames") && atts[++i] && atts[i][0]) { zval *tmp; char *key; @@ -869,7 +869,7 @@ ent.varname = NULL; ent.data = NULL; - for (i = 0; atts[i]; i++) { + if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_NAME) && atts[++i] && atts[i][0]) { char *decoded; int decoded_len; Index: ext/xsl/xsltprocessor.c =================================================================== RCS file: /repository/php-src/ext/xsl/xsltprocessor.c,v retrieving revision 1.39.2.2 retrieving revision 1.39.2.3 ++++++ php-bug-37720.patch ++++++ --- sapi/apache2handler/apache_config.c 1 Jan 2006 12:50:18 -0000 1.7.2.1 +++ sapi/apache2handler/apache_config.c 9 Jun 2006 15:13:58 -0000 1.7.2.2 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: apache_config.c,v 1.7.2.1 2006/01/01 12:50:18 sniper Exp $ */ +/* $Id: apache_config.c,v 1.7.2.2 2006/06/09 15:13:58 mike Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -118,27 +118,31 @@ void *merge_php_config(apr_pool_t *p, void *base_conf, void *new_conf) { - php_conf_rec *d = base_conf, *e = new_conf; + php_conf_rec *d = base_conf, *e = new_conf, *n = NULL; php_dir_entry *pe; php_dir_entry *data; char *str; uint str_len; ulong num_index; - phpapdebug((stderr, "Merge dir (%p) (%p)\n", base_conf, new_conf)); + n = create_php_config(p, "merge_php_config"); + zend_hash_copy(&n->config, &e->config, NULL, NULL, sizeof(php_dir_entry)); + + phpapdebug((stderr, "Merge dir (%p)+(%p)=(%p)\n", base_conf, new_conf, n)); for (zend_hash_internal_pointer_reset(&d->config); zend_hash_get_current_key_ex(&d->config, &str, &str_len, &num_index, 0, NULL) == HASH_KEY_IS_STRING; zend_hash_move_forward(&d->config)) { pe = NULL; zend_hash_get_current_data(&d->config, (void **) &data); - if (zend_hash_find(&e->config, str, str_len, (void **) &pe) == SUCCESS) { + if (zend_hash_find(&n->config, str, str_len, (void **) &pe) == SUCCESS) { if (pe->status >= data->status) continue; } - zend_hash_update(&e->config, str, str_len, data, sizeof(*data), NULL); + zend_hash_update(&n->config, str, str_len, data, sizeof(*data), NULL); phpapdebug((stderr, "ADDING/OVERWRITING %s (%d vs. %d)\n", str, data->status, pe?pe->status:-1)); } - return new_conf; + + return n; } char *get_php_config(void *conf, char *name, size_t name_len) Index: sapi/cgi/cgi_main.c =================================================================== RCS file: /repository/php-src/sapi/cgi/cgi_main.c,v retrieving revision 1.267.2.15 retrieving revision 1.267.2.16 ++++++ php5-gd-fixes.patch ++++++ --- ext/gd/libgd/gd_gif_in.c 24 Sep 2005 14:39:16 -0000 1.5.4.2 +++ ext/gd/libgd/gd_gif_in.c 8 May 2006 11:56:14 -0000 1.5.4.4 @@ -44,7 +44,7 @@ #define LOCALCOLORMAP 0x80 #define BitSet(byte, bit) (((byte) & (bit)) == (bit)) -#define ReadOK(file,buffer,len) (gdGetBuf(buffer, len, file) != 0) +#define ReadOK(file,buffer,len) (gdGetBuf(buffer, len, file) > 0) #define LM_to_uint(a,b) (((b)<<8)|(a)) @@ -147,6 +147,9 @@ Background = buf[5]; AspectRatio = buf[6]; + imw = LM_to_uint(buf[0],buf[1]); + imh = LM_to_uint(buf[2],buf[3]); + if (BitSet(buf[4], LOCALCOLORMAP)) { /* Global Colormap */ if (ReadColorMap(fd, BitPixel, ColorMap)) { return 0; @@ -182,16 +185,18 @@ bitPixel = 1<<((buf[8]&0x07)+1); - imw = LM_to_uint(buf[4],buf[5]); - imh = LM_to_uint(buf[6],buf[7]); - if (!(im = gdImageCreate(imw, imh))) { - return 0; - } - im->interlace = BitSet(buf[8], INTERLACE); + if (! useGlobalColormap) { if (ReadColorMap(fd, bitPixel, localColorMap)) { return 0; } + } + + if (!(im = gdImageCreate(imw, imh))) { + return 0; + } + im->interlace = BitSet(buf[8], INTERLACE); + if (! useGlobalColormap) { ReadImage(im, fd, imw, imh, localColorMap, BitSet(buf[8], INTERLACE)); /*1.4//imageCount != imageNumber); */ Index: ext/gd/tests/bug37346.gif =================================================================== RCS file: ext/gd/tests/bug37346.gif ++++++ soap.patch ++++++ ++++ 1922 lines (skipped) ++++++ standard.patch ++++++ --- ext/standard/array.c 12 Apr 2006 19:30:52 -0000 1.308.2.21 +++ ext/standard/array.c 3 Jun 2006 18:59:55 -0000 1.308.2.22 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.308.2.21 2006/04/12 19:30:52 johannes Exp $ */ +/* $Id: array.c,v 1.308.2.22 2006/06/03 18:59:55 andrei Exp $ */ #include "php.h" #include "php_ini.h" @@ -92,6 +92,8 @@ #define DOUBLE_DRIFT_FIX 0.000000000000001 +ZEND_DECLARE_MODULE_GLOBALS(array) + /* {{{ php_array_init_globals */ static void php_array_init_globals(zend_array_globals *array_globals) Index: ext/standard/basic_functions.c =================================================================== RCS file: /repository/php-src/ext/standard/basic_functions.c,v retrieving revision 1.725.2.31 retrieving revision 1.725.2.32 --- ext/standard/basic_functions.c 3 Apr 2006 13:46:11 -0000 1.725.2.31 +++ ext/standard/basic_functions.c 28 Jun 2006 22:08:59 -0000 1.725.2.32 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.725.2.31 2006/04/03 13:46:11 iliaa Exp $ */ +/* $Id: basic_functions.c,v 1.725.2.32 2006/06/28 22:08:59 iliaa Exp $ */ #include "php.h" #include "php_streams.h" @@ -2034,7 +2034,7 @@ break; case 3: /*save to a file */ - stream = php_stream_open_wrapper(opt, "a", IGNORE_URL | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL); + stream = php_stream_open_wrapper(opt, "a", IGNORE_URL_WIN | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL); if (!stream) return FAILURE; php_stream_write(stream, message, strlen(message)); Index: ext/standard/php_array.h =================================================================== RCS file: /repository/php-src/ext/standard/php_array.h,v retrieving revision 1.50.2.2 retrieving revision 1.50.2.3 --- ext/standard/php_array.h 7 Feb 2006 17:54:24 -0000 1.50.2.2 +++ ext/standard/php_array.h 3 Jun 2006 18:59:55 -0000 1.50.2.3 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_array.h,v 1.50.2.2 2006/02/07 17:54:24 andrei Exp $ */ +/* $Id: php_array.h,v 1.50.2.3 2006/06/03 18:59:55 andrei Exp $ */ #ifndef PHP_ARRAY_H #define PHP_ARRAY_H @@ -108,8 +108,6 @@ int (*compare_func)(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_END_MODULE_GLOBALS(array) -ZEND_DECLARE_MODULE_GLOBALS(array) - #ifdef ZTS #define ARRAYG(v) TSRMG(array_globals_id, zend_array_globals *, v) #else Index: ext/standard/tests/array/array_chunk2.phpt =================================================================== RCS file: ext/standard/tests/array/array_chunk2.phpt ++++++ xsl_bugs.patch ++++++ --- ext/xsl/xsltprocessor.c 1 Jan 2006 12:50:17 -0000 1.39.2.2 +++ ext/xsl/xsltprocessor.c 14 Jun 2006 09:43:22 -0000 1.39.2.3 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xsltprocessor.c,v 1.39.2.2 2006/01/01 12:50:17 sniper Exp $ */ +/* $Id: xsltprocessor.c,v 1.39.2.3 2006/06/14 09:43:22 chregu Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -231,8 +231,7 @@ } break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "php:function object type %d is not supported yet", obj->type); - ZVAL_STRING(args[i], "", 0); + ZVAL_STRING(args[i], xmlXPathCastToString(obj), 1); } xmlXPathFreeObject(obj); fci.params[i] = &args[i]; Index: main/config.w32.h =================================================================== RCS file: /repository/php-src/main/config.w32.h,v retrieving revision 1.85.4.1 retrieving revision 1.85.4.2 ++++++ ze2_bugs.patch ++++++ Index: Zend/acinclude.m4 =================================================================== RCS file: /repository/Zend/acinclude.m4,v retrieving revision 1.15.2.2 retrieving revision 1.15.2.3 diff -u -a -r1.15.2.2 -r1.15.2.3 --- Zend/acinclude.m4 1 Nov 2005 10:31:56 -0000 1.15.2.2 +++ Zend/acinclude.m4 2 Jun 2006 14:01:02 -0000 1.15.2.3 @@ -1,10 +1,10 @@ -dnl $Id: acinclude.m4,v 1.15.2.2 2005/11/01 10:31:56 sebastian Exp $ +dnl $Id: acinclude.m4,v 1.15.2.3 2006/06/02 14:01:02 sebastian Exp $ dnl dnl This file contains local autoconf functions. AC_DEFUN([LIBZEND_BISON_CHECK],[ # we only support certain bison versions - bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1" + bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2" # for standalone build of Zend Engine test -z "$SED" && SED=sed Index: Zend/zend_vm_def.h =================================================================== RCS file: /repository/Zend/zend_vm_def.h,v retrieving revision 1.59.2.29 retrieving revision 1.59.2.30 diff -u -a -r1.59.2.29 -r1.59.2.30 --- Zend/zend_vm_def.h 12 Apr 2006 11:37:50 -0000 1.59.2.29 +++ Zend/zend_vm_def.h 6 Jul 2006 15:39:23 -0000 1.59.2.30 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_vm_def.h,v 1.59.2.29 2006/04/12 11:37:50 dmitry Exp $ */ +/* $Id: zend_vm_def.h,v 1.59.2.30 2006/07/06 15:39:23 pollita Exp $ */ /* If you change this file, please regenerate the zend_vm_execute.h and * zend_vm_opcodes.h files by running: @@ -1158,7 +1158,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); Index: Zend/zend_vm_execute.h =================================================================== RCS file: /repository/Zend/zend_vm_execute.h,v retrieving revision 1.62.2.30 retrieving revision 1.62.2.31 diff -u -a -r1.62.2.30 -r1.62.2.31 --- Zend/zend_vm_execute.h 12 Apr 2006 11:37:50 -0000 1.62.2.30 +++ Zend/zend_vm_execute.h 6 Jul 2006 15:39:23 -0000 1.62.2.31 @@ -8674,7 +8674,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -10098,7 +10100,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -11525,7 +11529,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -13397,7 +13403,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -14592,7 +14600,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -15669,7 +15679,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -16707,7 +16719,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -18110,7 +18124,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -20644,7 +20660,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -22060,7 +22078,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -23479,7 +23499,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); @@ -25341,7 +25363,9 @@ if (container->type != IS_OBJECT || !Z_OBJ_HT_P(container)->read_property) { - zend_error(E_NOTICE, "Trying to get property of non-object"); + if (type != BP_VAR_IS) { + zend_error(E_NOTICE, "Trying to get property of non-object"); + } *retval = EG(uninitialized_zval_ptr); SELECTIVE_PZVAL_LOCK(*retval, &opline->result); AI_USE_PTR(EX_T(opline->result.u.var).var); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de