[mapserver] 02/04: Add patch to support building mapscript for PHP 5.6.
Bas Couwenberg
sebastic at debian.org
Mon Dec 5 23:28:58 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch myjessie
in repository mapserver.
commit 35ca59eecf838385eb05c5236040de64e2746ed4
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sat Apr 26 13:30:12 2014 +0200
Add patch to support building mapscript for PHP 5.6.
---
debian/changelog | 1 +
debian/patches/php56.patch | 73 ++++++++++++++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 75 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 9105752..742f3d7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
mapserver (6.4.1-2+deb8u1) UNRELEASED; urgency=high
* Add upstream patch to fix CVE-2016-9839.
+ * Add patch to support building mapscript with PHP 5.6 (see: #745600)
-- Bas Couwenberg <sebastic at debian.org> Mon, 05 Dec 2016 22:03:30 +0100
diff --git a/debian/patches/php56.patch b/debian/patches/php56.patch
new file mode 100644
index 0000000..cdfd1fd
--- /dev/null
+++ b/debian/patches/php56.patch
@@ -0,0 +1,73 @@
+Description: Use php://input instead of raw_post_data to support PHP 5.6.
+ php_stream handling largely taken from PECL HTTP:
+ .
+ http://git.php.net/?p=pecl/http/pecl_http.git;a=blob;f=php_http_env.c;h=30ee32d7c68b3341aeaeb24c909b102537caccdf;hb=8ec2c825719482e62222163a300b0e18319591d0#l229
+ .
+ Copyright (c) 2004-2014, Michael Wallner <mike at iworks.at>.
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Author: Bas Couwenberg <sebastic at xs4all.nl>
+Bug-Debian: https://bugs.debian.org/745600
+Forwarded: https://github.com/mapserver/mapserver/issues/4911
+Applied-Upstream: https://github.com/mapserver/mapserver/commit/fc99472b8b2fc837148f71755f23349a71e307bf
+--- a/mapscript/php/owsrequest.c
++++ b/mapscript/php/owsrequest.c
+@@ -32,6 +32,9 @@
+ #include "php_mapscript.h"
+ #include "SAPI.h"
+ #include "php_variables.h"
++#if PHP_VERSION_ID >= 50600
++#include "php_streams.h"
++#endif
+
+ char *owsrequest_getenv(const char *name, void *thread_context);
+
+@@ -193,9 +196,29 @@ PHP_METHOD(OWSRequestObj, loadParams)
+ cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv, NULL, 0, thread_context);
+ }
+ } else {
++#if PHP_VERSION_ID >= 50600
++ php_stream *s = php_stream_temp_new();
++ php_stream *input = php_stream_open_wrapper("php://input", "r", 0, NULL);
++
++ /* php://input does not support stat */
++ php_stream_copy_to_stream_ex(input, s, -1, NULL);
++ php_stream_close(input);
++
++ php_stream_rewind(s);
++
++ char *raw_post_data = NULL;
++ long raw_post_data_length = 0;
++
++ raw_post_data_length = php_stream_copy_to_mem(s, raw_post_data, -1, 0);
++
++ cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv,
++ raw_post_data,
++ raw_post_data_length, thread_context);
++#else
+ cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv,
+ SG(request_info).raw_post_data,
+ SG(request_info).raw_post_data_length, thread_context);
++#endif
+ }
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index eb4dfde..59a6e41 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ ruby-mapscript-install.patch
cmake-mapserver-export.patch
cmake-ruby2.patch
0001-Backport-4928-and-5356.patch
+php56.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapserver.git
More information about the Pkg-grass-devel
mailing list