[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