branch_general'.
Cherrypick from master 2006-04-20 20:56:45 UTC Elan Ruusamäe <glen@pld-linux.org> '- keep only major version in libphp_common -version':
php-CVE-2006-0996.patch -> 1.2
php-CVE-2006-1490.patch -> 1.1
php-dextension.patch -> 1.2
php-ini-search-path.patch -> 1.1
php-linkflags-clean.patch -> 1.1
php-openssl-huge-hack.patch -> 1.1
php-versioning.patch -> 1.7
php-zlib-for-getimagesize.patch -> 1.1
--- /dev/null
+Cross-site scripting (XSS) vulnerability in phpinfo (info.c) in PHP 5.1.2
+and 4.4.2 allows remote attackers to inject arbitrary web script or HTML
+via long array variables, including (1) a large number of dimensions or
+(2) long values, which prevents HTML tags from being removed.
+
+Patch pulled from cvs.php.net
+
+--- php-5.1.2/ext/standard/info.c 2006/01/01 12:50:15 1.249.2.7
++++ php-5.1.2/ext/standard/info.c 2006/03/30 19:58:18 1.249.2.9
+@@ -58,6 +58,21 @@
+
+ PHPAPI extern char *php_ini_opened_path;
+ PHPAPI extern char *php_ini_scanned_files;
++
++static int php_info_write_wrapper(const char *str, uint str_length)
++{
++ TSRMLS_FETCH();
++
++ int new_len, written;
++ char *elem_esc = php_escape_html_entities((char *)str, str_length, &new_len, 0, ENT_QUOTES, NULL TSRMLS_CC);
++
++ written = php_body_write(elem_esc, new_len TSRMLS_CC);
++
++ efree(elem_esc);
++
++ return written;
++}
++
+
+ /* {{{ _display_module_info
+ */
+@@ -135,30 +150,13 @@
+ PUTS(" => ");
+ }
+ if (Z_TYPE_PP(tmp) == IS_ARRAY) {
+- zval *tmp3;
+-
+- MAKE_STD_ZVAL(tmp3);
+-
+ if (!sapi_module.phpinfo_as_text) {
+ PUTS("<pre>");
+- }
+- php_start_ob_buffer(NULL, 4096, 1 TSRMLS_CC);
+-
+- zend_print_zval_r(*tmp, 0 TSRMLS_CC);
+-
+- php_ob_get_buffer(tmp3 TSRMLS_CC);
+- php_end_ob_buffer(0, 0 TSRMLS_CC);
+-
+- if (!sapi_module.phpinfo_as_text) {
+- elem_esc = php_info_html_esc(Z_STRVAL_P(tmp3) TSRMLS_CC);
+- PUTS(elem_esc);
+- efree(elem_esc);
++ zend_print_zval_ex((zend_write_func_t) php_info_write_wrapper, *tmp, 0);
+ PUTS("</pre>");
+ } else {
+- PUTS(Z_STRVAL_P(tmp3));
++ zend_print_zval_r(*tmp, 0 TSRMLS_CC);
+ }
+- zval_ptr_dtor(&tmp3);
+-
+ } else if (Z_TYPE_PP(tmp) != IS_STRING) {
+ tmp2 = **tmp;
+ zval_copy_ctor(&tmp2);
--- /dev/null
+PHP before 5.1.3-RC1 might allow remote attackers to obtain portions of
+memory via crafted binary data sent to a script that processes user
+input in the html_entity_decode function and sends the encoded results
+back to the client, aka a "binary safety" issue. NOTE: this issue has
+been referred to as a "memory leak," but it is an information leak that
+discloses memory contents.
+
+Patch pulled from cvs.php.net
+
+--- php-5.1.2/ext/standard/html.c 2006/01/01 12:50:14 1.111.2.1
++++ php-5.1.2/ext/standard/html.c 2006/02/25 21:32:11 1.111.2.2
+@@ -884,7 +884,7 @@
+ unsigned char replacement[15];
+ int replacement_len;
+
+- ret = estrdup(old);
++ ret = estrndup(old, oldlen);
+ retlen = oldlen;
+ if (!retlen) {
+ goto empty_source;
--- /dev/null
+backported loading dl extension with -dexetnsion=extension.so from php5.1-200512091130
+
+--- php-5.0.5/sapi/cli/php_cli.c 2005-03-22 17:09:20.000000000 +0200
++++ php5.1-200512091130/sapi/cli/php_cli.c 2005-12-10 01:11:54.000000000 +0200
+@@ -397,7 +397,7 @@
+ }
+ /* }}} */
+
+-static void define_command_line_ini_entry(char *arg)
++static void define_command_line_ini_entry(char *arg TSRMLS_DC)
+ {
+ char *name, *value;
+
+@@ -409,7 +409,14 @@
+ } else {
+ value = "1";
+ }
+- zend_alter_ini_entry(name, strlen(name)+1, value, strlen(value), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
++
++ if (!strcasecmp(name, "extension")) { /* load function module */
++ zval extension, zval;
++ ZVAL_STRING(&extension, value, 0);
++ php_dl(&extension, MODULE_PERSISTENT, &zval TSRMLS_CC);
++ } else {
++ zend_alter_ini_entry(name, strlen(name)+1, value, strlen(value), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
++ }
+ }
+
+
+@@ -656,7 +663,7 @@
+ switch (c) {
+
+ case 'd': /* define ini entries on command line */
+- define_command_line_ini_entry(php_optarg);
++ define_command_line_ini_entry(php_optarg TSRMLS_CC);
+ break;
+
+ case 'h': /* help & quit */
--- /dev/null
+see also http://bugs.php.net/bug.php?id=34793
+--- php-5.1.2/main/php_ini.c~ 2006-01-12 23:46:12.000000000 +0200
++++ php-5.1.2/main/php_ini.c 2006-01-17 17:01:16.000000000 +0200
+@@ -330,6 +330,7 @@
+ strcat(php_ini_search_path, env_location);
+ }
+
++#ifdef PHP_WIN32
+ /* Add cwd (only with CLI) */
+ if (strcmp(sapi_module.name, "cli") == 0) {
+ if (*php_ini_search_path) {
+@@ -339,7 +340,6 @@
+ }
+
+ /* Add binary directory */
+-#ifdef PHP_WIN32
+ binary_location = (char *) emalloc(MAXPATHLEN);
+ if (GetModuleFileName(0, binary_location, MAXPATHLEN) == 0) {
+ efree(binary_location);
+@@ -356,6 +356,8 @@
+ binary_location = NULL;
+ }
+ #endif
++
++#ifdef PHP_WIN32
+ if (binary_location) {
+ char *separator_location = strrchr(binary_location, DEFAULT_SLASH);
+
+@@ -370,7 +372,6 @@
+ }
+
+ /* Add default location */
+-#ifdef PHP_WIN32
+ default_location = (char *) emalloc(MAXPATHLEN + 1);
+
+ if (0 < GetWindowsDirectory(default_location, MAXPATHLEN)) {
--- /dev/null
+remove cflags from link commands.
+
+--- php-4.4.2/Makefile.global~ 2005-05-23 12:43:59.000000000 +0300
++++ php-4.4.2/Makefile.global 2006-04-05 14:02:20.409483697 +0300
+@@ -15,7 +15,7 @@
+ build-modules: $(PHP_MODULES)
+
+ libphp5.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 $@
++ $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
+ -@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
+
+ libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
+--- php-4.4.2/acinclude.m4~ 2005-12-20 00:29:11.000000000 +0200
++++ php-4.4.2/acinclude.m4 2006-04-05 14:03:29.741024080 +0300
+@@ -1201,11 +1201,11 @@
+ ;;
+ *netware*[)]
+ suffix=nlm
+- link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)'
++ link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)'
+ ;;
+ *[)]
+ suffix=la
+- link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
++ link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
+ ;;
+ esac
+
+--- php-4.4.2/sapi/cgi/config9.m4~ 2004-12-30 09:02:18.000000000 +0200
++++ php-4.4.2/sapi/cgi/config9.m4 2006-04-05 14:13:41.244614078 +0300
+@@ -154,10 +154,10 @@
+
+ case $host_alias in
+ *darwin*)
+- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
++ BUILD_CGI="\$(CC) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_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_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
++ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
+ ;;
+ esac
+
+--- php-5.1.2/sapi/cli/config.m4~ 2006-04-16 01:48:38.975158801 +0300
++++ php-5.1.2/sapi/cli/config.m4 2006-04-16 01:50:56.648230468 +0300
+@@ -20,16 +20,16 @@
+
+ case $host_alias in
+ *aix*)
+- BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
++ BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+ ;;
+ *darwin*)
+- BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
++ BUILD_CLI="\$(CC) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+ ;;
+ *netware*)
+- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)"
++ BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp5lib -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_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
++ BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+ ;;
+ esac
+ INSTALL_CLI="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(bindir); \$(INSTALL) -m 0755 \$(SAPI_CLI_PATH) \$(INSTALL_ROOT)\$(bindir)/\$(program_prefix)php\$(program_suffix)\$(EXEEXT)"
--- /dev/null
+diff -urN php-5.1.2.org/ext/curl/interface.c php-5.1.2/ext/curl/interface.c
+--- php-5.1.2.org/ext/curl/interface.c 2006-01-05 19:07:55.000000000 +0100
++++ php-5.1.2/ext/curl/interface.c 2006-01-25 14:42:08.980963000 +0100
+@@ -476,6 +476,8 @@
+ }
+ /* }}} */
+
++static void php_restore_callbacks(void);
++
+ /* {{{ PHP_MSHUTDOWN_FUNCTION
+ */
+ PHP_MSHUTDOWN_FUNCTION(curl)
+@@ -486,6 +488,7 @@
+ php_unregister_url_stream_wrapper("ftp" TSRMLS_CC);
+ php_unregister_url_stream_wrapper("ldap" TSRMLS_CC);
+ #endif
++ php_restore_callbacks();
+ curl_global_cleanup();
+ #ifdef PHP_CURL_NEED_SSL_TSL
+ php_curl_ssl_cleanup();
+@@ -1621,9 +1624,8 @@
+ for (i = 0; i < c; ++i) {
+ php_curl_openssl_tsl[i] = tsrm_mutex_alloc();
+ }
+-
+- CRYPTO_set_id_callback(php_curl_ssl_id);
+- CRYPTO_set_locking_callback(php_curl_ssl_lock);
++
++ php_restore_callbacks();
+ }
+
+ static inline void php_curl_ssl_cleanup(void)
+@@ -1645,6 +1647,17 @@
+ #endif /* PHP_CURL_NEED_OPENSSL_TSL */
+ /* }}} */
+
++static void php_restore_callbacks(void) {
++#ifdef PHP_CURL_NEED_OPENSSL_TSL
++ CRYPTO_set_id_callback(php_curl_ssl_id);
++ CRYPTO_set_locking_callback(php_curl_ssl_lock);
++#else
++ CRYPTO_set_id_callback(NULL);
++ CRYPTO_set_locking_callback(NULL);
++#endif
++}
++
++
+ #ifdef PHP_CURL_NEED_GNUTLS_TSL
+ /* {{{ */
+ static int php_curl_ssl_mutex_create(void **m)
--- /dev/null
+--- php-4.4.2/Makefile.global~ 2006-04-04 00:35:27.582384109 +0300
++++ php-4.4.2/Makefile.global 2006-04-04 00:40:19.318848123 +0300
+@@ -1,6 +1,7 @@
+ mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
+ INSTALL = $(top_srcdir)/build/shtool install -c
+ INSTALL_DATA = $(INSTALL) -m 644
++LD_VERSION_SCRIPT = -Wl,--version-script=$(top_srcdir)/php.ver
+
+ DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
+ COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
+--- /dev/null 2006-03-28 14:00:37.387408000 +0300
++++ php-4.4.2/php.ver 2006-04-04 00:40:55.609652026 +0300
+@@ -0,0 +1 @@
++php5 { global: *; };
+--- php-4.4.2/acinclude.m4~ 2006-04-03 21:43:42.852081966 +0300
++++ php-4.4.2/acinclude.m4 2006-04-04 00:47:58.259016152 +0300
+@@ -1205,7 +1205,7 @@
+ ;;
+ *[)]
+ suffix=la
+- link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
++ link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) libphp_common.la $(EXTRA_LDFLAGS) $(LD_VERSION_SCRIPT) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
+ ;;
+ esac
+
+--- php-5.1.2/Makefile.global~ 2006-04-04 01:20:14.511991339 +0300
++++ php-5.1.2/Makefile.global 2006-04-04 01:20:51.782819766 +0300
+@@ -15,15 +15,15 @@
+ build-modules: $(PHP_MODULES)
+
+ libphp_common.la: $(PHP_GLOBAL_OBJS)
+- $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) -avoid-version $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -release $(PHP_VERSION)
++ $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) -avoid-version $(LDFLAGS) $(LD_VERSION_SCRIPT) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -release $(MAJOR_VERSION)
+ -@$(LIBTOOL) --silent --mode=install cp libphp_common.la $(phptempdir)/libphp_common.la >/dev/null 2>&1
+
+ libphp5.la: libphp_common.la $(PHP_SAPI_OBJS)
+- $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
++ $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(LD_VERSION_SCRIPT) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
+ -@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
+
+ $(LIBTOOL_SAPI): libphp_common.la $(PHP_SAPI_OBJS)
+- $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
++ $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(LD_VERSION_SCRIPT) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
+ -@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
+
+ libtool-sapi: $(LIBTOOL_SAPI)
+--- php-5.1.2/scripts/Makefile.frag~ 2006-04-20 23:23:53.928072405 +0300
++++ php-5.1.2/scripts/Makefile.frag 2006-04-20 23:24:40.239103291 +0300
+@@ -14,7 +14,8 @@
+ Makefile.global \
+ acinclude.m4 \
+ ltmain.sh \
+- run-tests.php
++ run-tests.php \
++ php.ver
+
+ BUILD_FILES_EXEC = \
+ build/shtool \
+--- php-5.1.2/scripts/phpize.in~ 2006-04-20 23:23:53.928072405 +0300
++++ php-5.1.2/scripts/phpize.in 2006-04-20 23:25:15.129879978 +0300
+@@ -8,7 +8,7 @@
+ builddir="`pwd`"
+
+ FILES_BUILD="mkdep.awk scan_makefile_in.awk shtool libtool.m4"
+-FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh run-tests*.php"
++FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh php.ver run-tests*.php"
+ CLEAN_FILES="$FILES *.o *.lo *.la .deps .libs/ build/ include/ modules/ install-sh \
+ mkinstalldirs missing config.nice config.sub config.guess configure configure.in \
+ aclocal.m4 config.h config.h.in conftest* ltmain.sh libtool config.cache autom4te.cache/ \
+--- php-5.1.2/configure.in~ 2006-04-20 23:23:53.928072405 +0300
++++ php-5.1.2/configure.in 2006-04-20 23:25:45.300551605 +0300
+@@ -1190,6 +1190,9 @@
+ PHP_SUBST(PHP_RPATHS)
+ PHP_SUBST(PHP_SAPI)
+ PHP_SUBST_OLD(PHP_VERSION)
++PHP_SUBST_OLD(MAJOR_VERSION)
++PHP_SUBST_OLD(MINOR_VERSION)
++PHP_SUBST_OLD(RELEASE_VERSION)
+ PHP_SUBST(SHELL)
+ PHP_SUBST(SHARED_LIBTOOL)
+ PHP_SUBST(WARNING_LEVEL)
+--- php-5.1.2/sapi/apache/mod_php5.c~ 2006-01-06 20:06:38.000000000 +0200
++++ php-5.1.2/sapi/apache/mod_php5.c 2006-04-04 02:12:59.462271322 +0300
+@@ -930,7 +930,9 @@
+ handler_rec php_handlers[] =
+ {
+ {"application/x-httpd-php", send_parsed_php},
++ {"application/x-httpd-php5", send_parsed_php},
+ {"application/x-httpd-php-source", send_parsed_php_source},
++ {"application/x-httpd-php5-source", send_parsed_php_source},
+ {"text/html", php_xbithack_handler},
+ {NULL}
+ };
--- /dev/null
+make compressed .swf parsing possible,
+link core php with -lz for getimagesize()
+see also http://bugs.php.net/bug.php?id=29611
+
+--- php-4.4.1/ext/standard/image.c 2005-07-27 14:22:36.000000000 +0300
++++ /tmp/image.c 2006-01-06 19:14:00.000000000 +0200
+@@ -31,7 +31,7 @@
+ #endif
+ #include "php_image.h"
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
++#if HAVE_ZLIB
+ #include "zlib.h"
+ #endif
+
+@@ -80,7 +80,7 @@
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT);
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
++#if HAVE_ZLIB
+ REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT);
+ #endif
+ REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT);
+@@ -184,7 +184,7 @@
+ }
+ /* }}} */
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
++#if HAVE_ZLIB
+ /* {{{ php_handle_swc
+ */
+ static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC)
+@@ -1267,7 +1290,7 @@
+ result = php_handle_swf(stream TSRMLS_CC);
+ break;
+ case IMAGE_FILETYPE_SWC:
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
++#if HAVE_ZLIB
+ result = php_handle_swc(stream TSRMLS_CC);
+ #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.");