summaryrefslogtreecommitdiffstats
path: root/meta-webserver/recipes-php
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-webserver/recipes-php
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-webserver/recipes-php')
-rw-r--r--meta-webserver/recipes-php/modphp/files/0001-using-pkgconfig-to-check-libxml.patch74
-rw-r--r--meta-webserver/recipes-php/modphp/files/70_mod_php5.conf12
-rw-r--r--meta-webserver/recipes-php/modphp/files/configure.patch11
-rw-r--r--meta-webserver/recipes-php/modphp/files/php-CVE-2014-3587.patch31
-rw-r--r--meta-webserver/recipes-php/modphp/files/php-CVE-2014-3597.patch282
-rw-r--r--meta-webserver/recipes-php/modphp/files/php-CVE-2014-5120.patch35
-rw-r--r--meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch30
-rw-r--r--meta-webserver/recipes-php/modphp/modphp5.inc112
-rw-r--r--meta-webserver/recipes-php/modphp/modphp_5.5.15.bb7
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4504-security-Self-XSS-in-query-charts.patch29
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4505-security-XSS-in-view-operations-page.patch43
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf42
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb34
-rw-r--r--meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb36
14 files changed, 778 insertions, 0 deletions
diff --git a/meta-webserver/recipes-php/modphp/files/0001-using-pkgconfig-to-check-libxml.patch b/meta-webserver/recipes-php/modphp/files/0001-using-pkgconfig-to-check-libxml.patch
new file mode 100644
index 000000000..bab5ff2dc
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/0001-using-pkgconfig-to-check-libxml.patch
@@ -0,0 +1,74 @@
1[PATCH] using pkgconfig to check libxml
2
3Upstream-Status: Pending
4
5Use pkg-config for the libxml2 dependency, not the -config script.
6
7Signed-off-by: Roy.Li <rongqing.li@windriver.com>
8---
9 acinclude.m4 | 48 ++++++------------------------------------------
10 1 file changed, 6 insertions(+), 42 deletions(-)
11
12diff --git a/acinclude.m4 b/acinclude.m4
13index d348f57..9f691a5 100644
14--- a/acinclude.m4
15+++ b/acinclude.m4
16@@ -2530,49 +2530,13 @@ dnl
17 dnl Common setup macro for libxml
18 dnl
19 AC_DEFUN([PHP_SETUP_LIBXML], [
20-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
21-[
22- for i in $PHP_LIBXML_DIR /usr/local /usr; do
23- if test -x "$i/bin/xml2-config"; then
24- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
25- break
26- fi
27- done
28-])
29+ PKG_CHECK_MODULES(PKG_XML2, [libxml-2.0],,)
30+ if test "x$PKG_XML2_CFLAGS" != "x"; then
31+ PHP_EVAL_INCLINE($PKG_XML2_CFLAGS, $1)
32+ PHP_EVAL_LIBLINE($PKG_XML2_LIBS)
33+ AC_DEFINE(HAVE_LIBXML, 1, [ ])
34+ $2
35
36- if test -x "$ac_cv_php_xml2_config_path"; then
37- XML2_CONFIG="$ac_cv_php_xml2_config_path"
38- libxml_full_version=`$XML2_CONFIG --version`
39- ac_IFS=$IFS
40- IFS="."
41- set $libxml_full_version
42- IFS=$ac_IFS
43- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
44- if test "$LIBXML_VERSION" -ge "2006011"; then
45- LIBXML_LIBS=`$XML2_CONFIG --libs`
46- LIBXML_INCS=`$XML2_CONFIG --cflags`
47- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
48- PHP_EVAL_INCLINE($LIBXML_INCS)
49-
50- dnl Check that build works with given libs
51- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
52- PHP_TEST_BUILD(xmlInitParser,
53- [
54- php_cv_libxml_build_works=yes
55- ], [
56- AC_MSG_RESULT(no)
57- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
58- ], [
59- [$]$1
60- ])
61- ])
62- if test "$php_cv_libxml_build_works" = "yes"; then
63- AC_DEFINE(HAVE_LIBXML, 1, [ ])
64- fi
65- $2
66- else
67- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
68- fi
69 ifelse([$3],[],,[else $3])
70 fi
71 ])
72--
731.9.1
74
diff --git a/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf b/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf
new file mode 100644
index 000000000..1de6fb11a
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf
@@ -0,0 +1,12 @@
1# vim: ft=apache sw=4 ts=4
2<IfDefine PHP5>
3 # Load the module first
4 <IfModule !sapi_apache2.c>
5 LoadModule php5_module lib/apache2/modules/libphp5.so
6 </IfModule>
7
8 # Set it to handle the files
9 AddHandler php5-script .php .phtml .php3 .php4 .php5
10 AddType application/x-httpd-php-source .phps
11 DirectoryIndex index.html index.html.var index.php index.phtml
12</IfDefine>
diff --git a/meta-webserver/recipes-php/modphp/files/configure.patch b/meta-webserver/recipes-php/modphp/files/configure.patch
new file mode 100644
index 000000000..c5334c706
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/configure.patch
@@ -0,0 +1,11 @@
1--- php-5.1.6/configure.old 2006-09-12 07:54:14.000000000 -0700
2+++ php-5.1.6/configure 2006-09-12 07:54:37.000000000 -0700
3@@ -14715,8 +14715,6 @@
4
5
6
7- unset ac_cv_func_dlopen
8- unset ac_cv_func___dlopen
9 unset found
10
11 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
diff --git a/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3587.patch b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3587.patch
new file mode 100644
index 000000000..e1c40f244
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3587.patch
@@ -0,0 +1,31 @@
1modphp: Security Advisory - php - CVE-2014-3587
2
3Upstream-Status: Backport
4
5Signed-off-by: Yue Tao <yue.tao@windriver.com>
6
7From 7ba1409a1aee5925180de546057ddd84ff267947 Mon Sep 17 00:00:00 2001
8From: Remi Collet <rcollet@redhat.com>
9Date: Thu, 14 Aug 2014 17:19:03 -0700
10Subject: [PATCH] Fix bug #67716 - Segfault in cdf.c
11
12---
13 ext/fileinfo/libmagic/cdf.c | 2 +-
14 2 files changed, 2 insertions(+), 1 deletion(-)
15
16diff --git a/ext/fileinfo/libmagic/cdf.c b/ext/fileinfo/libmagic/cdf.c
17index 429f3b9..2c0a2d9 100644
18--- a/ext/fileinfo/libmagic/cdf.c
19+++ b/ext/fileinfo/libmagic/cdf.c
20@@ -820,7 +820,7 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
21 q = (const uint8_t *)(const void *)
22 ((const char *)(const void *)p + ofs
23 - 2 * sizeof(uint32_t));
24- if (q > e) {
25+ if (q < p || q > e) {
26 DPRINTF(("Ran of the end %p > %p\n", q, e));
27 goto out;
28 }
29--
301.7.9.5
31
diff --git a/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3597.patch b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3597.patch
new file mode 100644
index 000000000..73f4e32c6
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-3597.patch
@@ -0,0 +1,282 @@
1modphp: Security Advisory - php - CVE-2014-3597
2
3Upstream-Status: Backport
4
5Signed-off-by: Yue Tao <yue.tao@windriver.com>
6
7From 2fefae47716d501aec41c1102f3fd4531f070b05 Mon Sep 17 00:00:00 2001
8From: Remi Collet <remi@php.net>
9Date: Tue, 19 Aug 2014 08:33:49 +0200
10Subject: [PATCH] Fixed Sec Bug #67717 segfault in dns_get_record
11 CVE-2014-3597
12
13Incomplete fix for CVE-2014-4049
14
15Check possible buffer overflow
16- pass real buffer end to dn_expand calls
17- check buffer len before each read
18---
19 ext/standard/dns.c | 84 +++++++++++++++++++++++++++++++++++++---------------
20 1 file changed, 60 insertions(+), 24 deletions(-)
21
22diff --git a/ext/standard/dns.c b/ext/standard/dns.c
23index 214a7dc..0b5e69c 100644
24--- a/ext/standard/dns.c
25+++ b/ext/standard/dns.c
26@@ -412,8 +412,14 @@ PHP_FUNCTION(dns_check_record)
27
28 #if HAVE_FULL_DNS_FUNCS
29
30+#define CHECKCP(n) do { \
31+ if (cp + n > end) { \
32+ return NULL; \
33+ } \
34+} while (0)
35+
36 /* {{{ php_parserr */
37-static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int store, int raw, zval **subarray)
38+static u_char *php_parserr(u_char *cp, u_char *end, querybuf *answer, int type_to_fetch, int store, int raw, zval **subarray)
39 {
40 u_short type, class, dlen;
41 u_long ttl;
42@@ -425,16 +431,18 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
43
44 *subarray = NULL;
45
46- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, sizeof(name) - 2);
47+ n = dn_expand(answer->qb2, end, cp, name, sizeof(name) - 2);
48 if (n < 0) {
49 return NULL;
50 }
51 cp += n;
52
53+ CHECKCP(10);
54 GETSHORT(type, cp);
55 GETSHORT(class, cp);
56 GETLONG(ttl, cp);
57 GETSHORT(dlen, cp);
58+ CHECKCP(dlen);
59 if (type_to_fetch != T_ANY && type != type_to_fetch) {
60 cp += dlen;
61 return cp;
62@@ -461,12 +469,14 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
63
64 switch (type) {
65 case DNS_T_A:
66+ CHECKCP(4);
67 add_assoc_string(*subarray, "type", "A", 1);
68 snprintf(name, sizeof(name), "%d.%d.%d.%d", cp[0], cp[1], cp[2], cp[3]);
69 add_assoc_string(*subarray, "ip", name, 1);
70 cp += dlen;
71 break;
72 case DNS_T_MX:
73+ CHECKCP(2);
74 add_assoc_string(*subarray, "type", "MX", 1);
75 GETSHORT(n, cp);
76 add_assoc_long(*subarray, "pri", n);
77@@ -485,7 +495,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
78 if (type == DNS_T_PTR) {
79 add_assoc_string(*subarray, "type", "PTR", 1);
80 }
81- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
82+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
83 if (n < 0) {
84 return NULL;
85 }
86@@ -495,18 +505,22 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
87 case DNS_T_HINFO:
88 /* See RFC 1010 for values */
89 add_assoc_string(*subarray, "type", "HINFO", 1);
90+ CHECKCP(1);
91 n = *cp & 0xFF;
92 cp++;
93+ CHECKCP(n);
94 add_assoc_stringl(*subarray, "cpu", (char*)cp, n, 1);
95 cp += n;
96+ CHECKCP(1);
97 n = *cp & 0xFF;
98 cp++;
99+ CHECKCP(n);
100 add_assoc_stringl(*subarray, "os", (char*)cp, n, 1);
101 cp += n;
102 break;
103 case DNS_T_TXT:
104 {
105- int ll = 0;
106+ int l1 = 0, l2 = 0;
107 zval *entries = NULL;
108
109 add_assoc_string(*subarray, "type", "TXT", 1);
110@@ -515,37 +529,41 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
111 MAKE_STD_ZVAL(entries);
112 array_init(entries);
113
114- while (ll < dlen) {
115- n = cp[ll];
116- if ((ll + n) >= dlen) {
117+ while (l1 < dlen) {
118+ n = cp[l1];
119+ if ((l1 + n) >= dlen) {
120 // Invalid chunk length, truncate
121- n = dlen - (ll + 1);
122+ n = dlen - (l1 + 1);
123+ }
124+ if (n) {
125+ memcpy(tp + l2 , cp + l1 + 1, n);
126+ add_next_index_stringl(entries, cp + l1 + 1, n, 1);
127 }
128- memcpy(tp + ll , cp + ll + 1, n);
129- add_next_index_stringl(entries, cp + ll + 1, n, 1);
130- ll = ll + n + 1;
131+ l1 = l1 + n + 1;
132+ l2 = l2 + n;
133 }
134- tp[dlen] = '\0';
135+ tp[l2] = '\0';
136 cp += dlen;
137
138- add_assoc_stringl(*subarray, "txt", tp, (dlen>0)?dlen - 1:0, 0);
139+ add_assoc_stringl(*subarray, "txt", tp, l2, 0);
140 add_assoc_zval(*subarray, "entries", entries);
141 }
142 break;
143 case DNS_T_SOA:
144 add_assoc_string(*subarray, "type", "SOA", 1);
145- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) -2);
146+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) -2);
147 if (n < 0) {
148 return NULL;
149 }
150 cp += n;
151 add_assoc_string(*subarray, "mname", name, 1);
152- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) -2);
153+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) -2);
154 if (n < 0) {
155 return NULL;
156 }
157 cp += n;
158 add_assoc_string(*subarray, "rname", name, 1);
159+ CHECKCP(5*4);
160 GETLONG(n, cp);
161 add_assoc_long(*subarray, "serial", n);
162 GETLONG(n, cp);
163@@ -559,6 +577,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
164 break;
165 case DNS_T_AAAA:
166 tp = (u_char*)name;
167+ CHECKCP(8*2);
168 for(i=0; i < 8; i++) {
169 GETSHORT(s, cp);
170 if (s != 0) {
171@@ -593,6 +612,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
172 case DNS_T_A6:
173 p = cp;
174 add_assoc_string(*subarray, "type", "A6", 1);
175+ CHECKCP(1);
176 n = ((int)cp[0]) & 0xFF;
177 cp++;
178 add_assoc_long(*subarray, "masklen", n);
179@@ -628,6 +648,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
180 cp++;
181 }
182 for (i = (n + 8) / 16; i < 8; i++) {
183+ CHECKCP(2);
184 GETSHORT(s, cp);
185 if (s != 0) {
186 if (tp > (u_char *)name) {
187@@ -657,7 +678,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
188 tp[0] = '\0';
189 add_assoc_string(*subarray, "ipv6", name, 1);
190 if (cp < p + dlen) {
191- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
192+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
193 if (n < 0) {
194 return NULL;
195 }
196@@ -666,6 +687,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
197 }
198 break;
199 case DNS_T_SRV:
200+ CHECKCP(3*2);
201 add_assoc_string(*subarray, "type", "SRV", 1);
202 GETSHORT(n, cp);
203 add_assoc_long(*subarray, "pri", n);
204@@ -673,7 +695,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
205 add_assoc_long(*subarray, "weight", n);
206 GETSHORT(n, cp);
207 add_assoc_long(*subarray, "port", n);
208- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
209+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
210 if (n < 0) {
211 return NULL;
212 }
213@@ -681,21 +703,35 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
214 add_assoc_string(*subarray, "target", name, 1);
215 break;
216 case DNS_T_NAPTR:
217+ CHECKCP(2*2);
218 add_assoc_string(*subarray, "type", "NAPTR", 1);
219 GETSHORT(n, cp);
220 add_assoc_long(*subarray, "order", n);
221 GETSHORT(n, cp);
222 add_assoc_long(*subarray, "pref", n);
223+
224+ CHECKCP(1);
225 n = (cp[0] & 0xFF);
226- add_assoc_stringl(*subarray, "flags", (char*)++cp, n, 1);
227+ cp++;
228+ CHECKCP(n);
229+ add_assoc_stringl(*subarray, "flags", (char*)cp, n, 1);
230 cp += n;
231+
232+ CHECKCP(1);
233 n = (cp[0] & 0xFF);
234- add_assoc_stringl(*subarray, "services", (char*)++cp, n, 1);
235+ cp++;
236+ CHECKCP(n);
237+ add_assoc_stringl(*subarray, "services", (char*)cp, n, 1);
238 cp += n;
239+
240+ CHECKCP(1);
241 n = (cp[0] & 0xFF);
242- add_assoc_stringl(*subarray, "regex", (char*)++cp, n, 1);
243+ cp++;
244+ CHECKCP(n);
245+ add_assoc_stringl(*subarray, "regex", (char*)cp, n, 1);
246 cp += n;
247- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
248+
249+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
250 if (n < 0) {
251 return NULL;
252 }
253@@ -888,7 +924,7 @@ PHP_FUNCTION(dns_get_record)
254 while (an-- && cp && cp < end) {
255 zval *retval;
256
257- cp = php_parserr(cp, &answer, type_to_fetch, store_results, raw, &retval);
258+ cp = php_parserr(cp, end, &answer, type_to_fetch, store_results, raw, &retval);
259 if (retval != NULL && store_results) {
260 add_next_index_zval(return_value, retval);
261 }
262@@ -901,7 +937,7 @@ PHP_FUNCTION(dns_get_record)
263 while (ns-- > 0 && cp && cp < end) {
264 zval *retval = NULL;
265
266- cp = php_parserr(cp, &answer, DNS_T_ANY, authns != NULL, raw, &retval);
267+ cp = php_parserr(cp, end, &answer, DNS_T_ANY, authns != NULL, raw, &retval);
268 if (retval != NULL) {
269 add_next_index_zval(authns, retval);
270 }
271@@ -913,7 +949,7 @@ PHP_FUNCTION(dns_get_record)
272 while (ar-- > 0 && cp && cp < end) {
273 zval *retval = NULL;
274
275- cp = php_parserr(cp, &answer, DNS_T_ANY, 1, raw, &retval);
276+ cp = php_parserr(cp, end, &answer, DNS_T_ANY, 1, raw, &retval);
277 if (retval != NULL) {
278 add_next_index_zval(addtl, retval);
279 }
280--
2811.7.9.5
282
diff --git a/meta-webserver/recipes-php/modphp/files/php-CVE-2014-5120.patch b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-5120.patch
new file mode 100644
index 000000000..f2e23b3f0
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/php-CVE-2014-5120.patch
@@ -0,0 +1,35 @@
1modphp: Security Advisory - php - CVE-2014-5120
2
3Upstream-Status: Backport
4
5Signed-off-by Yue Tao <yue.tao@windriver.com>
6
7From 706aefb78112a44d4932d4c9430c6a898696f51f Mon Sep 17 00:00:00 2001
8From: Stanislav Malyshev <stas@php.net>
9Date: Mon, 18 Aug 2014 22:49:10 -0700
10Subject: [PATCH] Fix bug #67730 - Null byte injection possible with imagexxx
11 functions
12
13---
14 ext/gd/gd_ctx.c | 5 +++++
15 2 files changed, 7 insertions(+)
16
17diff --git a/ext/gd/gd_ctx.c b/ext/gd/gd_ctx.c
18index bff691f..eafbab5 100644
19--- a/ext/gd/gd_ctx.c
20+++ b/ext/gd/gd_ctx.c
21@@ -124,6 +124,11 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
22 RETURN_FALSE;
23 }
24 } else if (Z_TYPE_P(to_zval) == IS_STRING) {
25+ if (CHECK_ZVAL_NULL_PATH(to_zval)) {
26+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid 2nd parameter, filename must not contain null bytes");
27+ RETURN_FALSE;
28+ }
29+
30 stream = php_stream_open_wrapper(Z_STRVAL_P(to_zval), "wb", REPORT_ERRORS|IGNORE_PATH|IGNORE_URL_WIN, NULL);
31 if (stream == NULL) {
32 RETURN_FALSE;
33--
341.7.9.5
35
diff --git a/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch b/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch
new file mode 100644
index 000000000..0c564cd88
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch
@@ -0,0 +1,30 @@
1From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Mon, 8 Apr 2013 14:29:51 +0800
4Subject: [PATCH] pthread-check
5
6Enable pthreads support when cross-compiling
7
8Upstream-Status: Inapproprate [config]
9
10Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
11---
12 TSRM/threads.m4 | 2 +-
13 1 files changed, 1 insertions(+), 1 deletions(-)
14
15diff --git a/TSRM/threads.m4 b/TSRM/threads.m4
16index 38494ce..15d9454 100644
17--- a/TSRM/threads.m4
18+++ b/TSRM/threads.m4
19@@ -86,7 +86,7 @@ int main() {
20 pthreads_working=no
21 ], [
22 dnl For cross compiling running this test is of no use. NetWare supports pthreads
23- pthreads_working=no
24+ pthreads_working=yes
25 case $host_alias in
26 *netware*)
27 pthreads_working=yes
28--
291.7.4.1
30
diff --git a/meta-webserver/recipes-php/modphp/modphp5.inc b/meta-webserver/recipes-php/modphp/modphp5.inc
new file mode 100644
index 000000000..f60c7bbfc
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/modphp5.inc
@@ -0,0 +1,112 @@
1SECTION = "console/network"
2DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the apache php module."
3LICENSE = "PHP-3.0"
4INC_PR = "r1"
5DEPENDS = "apache2-native apache2 zlib bzip2 libmcrypt"
6
7SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2 \
8 file://configure.patch \
9 file://pthread-check-threads-m4.patch \
10 file://70_mod_php5.conf \
11 file://0001-using-pkgconfig-to-check-libxml.patch \
12 file://php-CVE-2014-5120.patch \
13 file://php-CVE-2014-3587.patch \
14 file://php-CVE-2014-3597.patch \
15"
16
17S = "${WORKDIR}/php-${PV}"
18
19LIC_FILES_CHKSUM = "file://LICENSE;md5=52dd90569008fee5bcdbb22d945b1108"
20
21inherit autotools pkgconfig
22
23PNBLACKLIST[modphp] ?= "CONFLICT: 466 header files conflict with php"
24# e.g. sysroots/qemux86-64/usr/include/php/main/win95nt.h
25
26CFLAGS += " -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
27
28EXTRA_OECONF = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs \
29 --with-pic \
30 --enable-maintainer-zts \
31 --without-mysql \
32 --disable-cgi \
33 --disable-cli \
34 --disable-pdo \
35 --without-pear \
36 --without-iconv \
37 --disable-ipv6 \
38 --disable-xml \
39 --disable-xmlreader \
40 --disable-xmlwriter \
41 --disable-simplexml \
42 --disable-dom \
43 --disable-rpath \
44 --libdir=${libdir}/php5 \
45 --with-zlib --with-zlib-dir=${STAGING_DIR_TARGET}${exec_prefix} \
46 --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
47 --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
48 --enable-zip \
49 --enable-mbstring \
50 --with-config-file-path=${sysconfdir}/php/apache2-php5 \
51 ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)}"
52
53PACKAGECONFIG ??= "mysql"
54PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config,--without-mysqli,mysql5"
55PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,mysql5"
56PACKAGECONFIG[libxml] = "--enable-libxml,--disable-libxml,libxml2"
57PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2"
58
59acpaths = ""
60
61do_configure_prepend () {
62 rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
63 find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!'
64}
65
66do_configure_append() {
67 # No libtool, we really don't want rpath set...
68 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
69 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
70}
71
72do_install () {
73 install -d ${D}${libdir}/apache2/modules
74 install -d ${D}${sysconfdir}/apache2/modules.d
75 install -d ${D}${sysconfdir}/php/apache2-php5
76 install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules
77 install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
78 sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
79 cat ${S}/php.ini-production | \
80 sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
81 > ${D}${sysconfdir}/php/apache2-php5/php.ini
82
83 install -d ${D}${bindir}
84 install -m 755 scripts/phpize ${D}${bindir}
85 install -m 755 scripts/php-config ${D}${bindir}
86 cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \
87 aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4
88
89 oe_runmake install-build install-headers INSTALL_ROOT=${D}
90}
91
92SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
93
94php_sysroot_preprocess () {
95 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
96 install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
97 install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
98
99 sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
100 sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
101}
102
103# phpize is not scanned for absolute paths by default (but php-config is).
104#
105SSTATE_SCAN_FILES += "phpize"
106
107RDEPENDS_${PN} = "apache2"
108
109FILES_${PN} = "${libdir}/apache2 ${sysconfdir}"
110FILES_${PN}-dev += "${bindir}/phpize ${bindir}/php-config ${libdir}/php5"
111FILES_${PN}-dbg += "${libdir}/apache2/modules/.debug"
112
diff --git a/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb b/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb
new file mode 100644
index 000000000..aed620f5b
--- /dev/null
+++ b/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb
@@ -0,0 +1,7 @@
1include modphp5.inc
2
3EXTRA_OECONF += "--disable-opcache"
4
5SRC_URI[md5sum] = "5cb5f2ed9099299f8a4c952d59d93812"
6SRC_URI[sha256sum] = "00f24226b12fee27e332383b6304f1b9ed3f4d9173dd728a68c5c3f5a59b8ba7"
7
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4504-security-Self-XSS-in-query-charts.patch b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4504-security-Self-XSS-in-query-charts.patch
new file mode 100644
index 000000000..27eac7762
--- /dev/null
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4504-security-Self-XSS-in-query-charts.patch
@@ -0,0 +1,29 @@
1From 90ddeecf60fc029608b972e490b735f3a65ed0cb Mon Sep 17 00:00:00 2001
2From: Madhura Jayaratne <madhura.cj@gmail.com>
3Date: Sun, 17 Aug 2014 08:52:05 -0400
4Subject: [PATCH] bug #4504 [security] Self-XSS in query charts
5
6Upstream-status: Backport
7
8Signed-off-by: Marc Delisle <marc@infomarc.info>
9---
10 js/tbl_chart.js | 2 +-
11 2 files changed, 2 insertions(+), 1 deletion(-)
12
13 4.2.7.0 (2014-07-31)
14diff --git a/js/tbl_chart.js b/js/tbl_chart.js
15index 943d4ae..04c9c40 100644
16--- a/js/tbl_chart.js
17+++ b/js/tbl_chart.js
18@@ -47,7 +47,7 @@ function PMA_queryChart(data, columnNames, settings) {
19 },
20 axes : {
21 xaxis : {
22- label : settings.xaxisLabel
23+ label : escapeHtml(settings.xaxisLabel)
24 },
25 yaxis : {
26 label : settings.yaxisLabel
27--
281.7.10.4
29
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4505-security-XSS-in-view-operations-page.patch b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4505-security-XSS-in-view-operations-page.patch
new file mode 100644
index 000000000..164a072ef
--- /dev/null
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/0001-bug-4505-security-XSS-in-view-operations-page.patch
@@ -0,0 +1,43 @@
1From 0cd293f5e13aa245e4a57b8d373597cc0e421b6f Mon Sep 17 00:00:00 2001
2From: Madhura Jayaratne <madhura.cj@gmail.com>
3Date: Sun, 17 Aug 2014 08:41:57 -0400
4Subject: [PATCH] bug #4505 [security] XSS in view operations page
5
6Upstream-Status: Backport
7
8Signed-off-by: Marc Delisle <marc@infomarc.info>
9---
10 ChangeLog | 3 +++
11 js/functions.js | 2 +-
12 2 files changed, 4 insertions(+), 1 deletion(-)
13
14diff --git a/ChangeLog b/ChangeLog
15index 7afac1a..cec9d77 100644
16--- a/ChangeLog
17+++ b/ChangeLog
18@@ -1,6 +1,9 @@
19 phpMyAdmin - ChangeLog
20 ======================
21
22+4.2.7.1 (2014-08-17)
23+- bug #4505 [security] XSS in view operations page
24+
25 4.2.7.0 (2014-07-31)
26 - bug Broken links on home page
27 - bug #4494 Overlap in navigation panel
28diff --git a/js/functions.js b/js/functions.js
29index 09bfeda..a970a81 100644
30--- a/js/functions.js
31+++ b/js/functions.js
32@@ -3585,7 +3585,7 @@ AJAX.registerOnload('functions.js', function () {
33 var question = PMA_messages.strDropTableStrongWarning + ' ';
34 question += $.sprintf(
35 PMA_messages.strDoYouReally,
36- 'DROP VIEW ' + PMA_commonParams.get('table')
37+ 'DROP VIEW ' + escapeHtml(PMA_commonParams.get('table'))
38 );
39
40 $(this).PMA_confirm(question, $(this).attr('href'), function (url) {
41--
421.7.10.4
43
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf
new file mode 100644
index 000000000..94cbd865c
--- /dev/null
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf
@@ -0,0 +1,42 @@
1# phpMyAdmin default Apache configuration
2
3Alias /phpmyadmin /usr/share/phpmyadmin
4
5<Directory /usr/share/phpmyadmin>
6 Options FollowSymLinks
7 DirectoryIndex index.php
8 Require all granted
9
10 <IfModule mod_php5.c>
11 AddType application/x-httpd-php .php
12
13 php_flag magic_quotes_gpc Off
14 php_flag track_vars On
15 php_flag register_globals Off
16 php_admin_flag allow_url_fopen Off
17 php_value include_path .
18 php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
19 php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
20 </IfModule>
21</Directory>
22
23# Authorize for setup
24<Directory /usr/share/phpmyadmin/setup>
25 <IfModule mod_authn_file.c>
26 AuthType Basic
27 AuthName "phpMyAdmin Setup"
28 AuthUserFile /etc/phpmyadmin/htpasswd.setup
29 </IfModule>
30 Require valid-user
31</Directory>
32
33# Disallow web access to directories that don't need it
34<Directory /usr/share/phpmyadmin/libraries>
35 Order Deny,Allow
36 Deny from All
37</Directory>
38<Directory /usr/share/phpmyadmin/setup/lib>
39 Order Deny,Allow
40 Deny from All
41</Directory>
42
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb
new file mode 100644
index 000000000..447b77884
--- /dev/null
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Web-based MySQL administration interface"
2HOMEPAGE = "http://www.phpmyadmin.net"
3# Main code is GPLv2, libraries/tcpdf is under LGPLv3, js/jquery is under MIT
4LICENSE = "GPLv2 & LGPLv3 & MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a \
6 file://libraries/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/phpmyadmin/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
9 file://0001-bug-4504-security-Self-XSS-in-query-charts.patch \
10 file://0001-bug-4505-security-XSS-in-view-operations-page.patch \
11 file://apache.conf"
12
13SRC_URI[md5sum] = "0dcd755450dac819f33502590c88ad29"
14SRC_URI[sha256sum] = "5d101dd88a99a869bc0c684a7f687cf290abc4bf306daac73337cbde2d7743e4"
15
16S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
17
18inherit allarch
19
20do_install() {
21 install -d ${D}${datadir}/${BPN}
22 cp -a * ${D}${datadir}/${BPN}
23
24 install -d ${D}${sysconfdir}/apache2/conf.d
25 install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
26
27 # Remove a few scripts that explicitly require bash (!)
28 rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
29}
30
31FILES_${PN} = "${datadir}/${BPN} \
32 ${sysconfdir}/apache2/conf.d"
33
34RDEPENDS_${PN} += "bash"
diff --git a/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb b/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb
new file mode 100644
index 000000000..66aff5e33
--- /dev/null
+++ b/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb
@@ -0,0 +1,36 @@
1SUMMARY = "Debugging and profiling extension for PHP"
2LICENSE = "Xdebug"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
4
5DEPENDS = "modphp"
6
7PNBLACKLIST[xdebug] ?= "CONFLICT: depends on blocked modphp"
8
9SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
10
11SRC_URI[md5sum] = "7e571ce8eb6fa969fd8263969019849d"
12SRC_URI[sha256sum] = "adc6fe92dcff2368be94d20a5997aadb4d46d74551e2dd6602a704a35a195a6f"
13
14inherit autotools
15
16EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
17
18do_configure() {
19 cd ${S}
20 ${STAGING_BINDIR_CROSS}/phpize
21 cd ${B}
22
23 # Running autoreconf as autotools_do_configure would do here
24 # breaks the libtool configuration resulting in a failure later
25 # in do_compile. It's possible this may be fixable, however the
26 # easiest course of action for the moment is to avoid doing that.
27 oe_runconf
28}
29
30do_install() {
31 oe_runmake install INSTALL_ROOT=${D}
32}
33
34FILES_${PN} += "${libdir}/php5/extensions/*/*.so"
35FILES_${PN}-dbg += "${libdir}/php5/extensions/*/.debug"
36