diff options
| -rw-r--r-- | php-bug62172.patch | 59 | ||||
| -rw-r--r-- | php.spec | 10 | 
2 files changed, 68 insertions, 1 deletions
| diff --git a/php-bug62172.patch b/php-bug62172.patch new file mode 100644 index 0000000..81ccc35 --- /dev/null +++ b/php-bug62172.patch @@ -0,0 +1,59 @@ +From 07d2dcdf09fcfbd617031bd341384efb236de12c Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Fri, 29 Jan 2016 10:20:42 +0100 +Subject: [PATCH] Fixed Bug #62172 FPM not working with Apache httpd 2.4 + balancer/fcgi setup + +Only needed with Apache version < 2.4.12 (ex RHEL-7) +--- + sapi/fpm/fpm/fpm_main.c | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c +index f3c8ccc..d12ac01 100644 +--- a/sapi/fpm/fpm/fpm_main.c ++++ b/sapi/fpm/fpm/fpm_main.c +@@ -1108,11 +1108,14 @@ static void init_request_info(TSRMLS_D) + 		} +  + #define APACHE_PROXY_FCGI_PREFIX "proxy:fcgi://" +-		/* Fix proxy URLs in SCRIPT_FILENAME generated by Apache mod_proxy_fcgi: ++#define APACHE_PROXY_BALANCER_PREFIX "proxy:balancer://" ++		/* Fix proxy URLs in SCRIPT_FILENAME generated by Apache mod_proxy_fcgi and mod_proxy_balancer: + 		 *     proxy:fcgi://localhost:9000/some-dir/info.php/test?foo=bar ++		 *     proxy:balancer://localhost:9000/some-dir/info.php/test?foo=bar + 		 * should be changed to: + 		 *     /some-dir/info.php/test + 		 * See: http://bugs.php.net/bug.php?id=54152 ++		 *      http://bugs.php.net/bug.php?id=62172 + 		 *      https://issues.apache.org/bugzilla/show_bug.cgi?id=50851 + 		 */ + 		if (env_script_filename && +@@ -1136,6 +1139,27 @@ static void init_request_info(TSRMLS_D) + 			} + 		} +  ++		if (env_script_filename && ++			strncasecmp(env_script_filename, APACHE_PROXY_BALANCER_PREFIX, sizeof(APACHE_PROXY_BALANCER_PREFIX) - 1) == 0) { ++			/* advance to first character of hostname */ ++			char *p = env_script_filename + (sizeof(APACHE_PROXY_BALANCER_PREFIX) - 1); ++			while (*p != '\0' && *p != '/') { ++				p++;	/* move past hostname and port */ ++			} ++			if (*p != '\0') { ++				/* Copy path portion in place to avoid memory leak.  Note ++				 * that this also affects what script_path_translated points ++				 * to. */ ++				memmove(env_script_filename, p, strlen(p) + 1); ++				apache_was_here = 1; ++			} ++			/* ignore query string if sent by Apache (RewriteRule) */ ++			p = strchr(env_script_filename, '?'); ++			if (p) { ++				*p =0; ++			} ++		} ++ + 		if (CGIG(fix_pathinfo)) { + 			struct stat st; + 			char *real_path = NULL; @@ -138,7 +138,7 @@  %endif  %global rcver  RC1 -%global rpmrel 1 +%global rpmrel 2  Summary: PHP scripting language for creating dynamic web sites  Name: %{?scl_prefix}php @@ -208,6 +208,8 @@ Patch300: php-5.6.3-datetests.patch  # Revert changes for pcre < 8.34  Patch301: php-5.6.0-oldpcre.patch +# WIP +Patch401: php-bug62172.patch  BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -908,6 +910,9 @@ support for using the enchant library to PHP.  %endif  %endif +# WIP patch +%patch401 -p1 -b .bug62172 +  # Prevent %%doc confusion over LICENSE files  cp Zend/LICENSE Zend/ZEND_LICENSE  cp TSRM/LICENSE TSRM_LICENSE @@ -1801,6 +1806,9 @@ fi  %changelog +* Fri Jan 29 2016 Remi Collet <remi@fedoraproject.org> 5.6.18-0.2.RC1 +- FPM: test build for https://bugs.php.net/62172 +  * Thu Jan 21 2016 Remi Collet <remi@fedoraproject.org> 5.6.18-0.1.RC1  - update to 5.6.18RC1 | 
