rasmus Fri Nov 18 11:20:43 2005 EDT
Modified files:
/php-src php.ini-dist php.ini-recommended
/php-src/main main.c php_globals.h
/php-src/main/streams streams.c
Log:
Add allow_url_include to let people turn on allow_url_fopen without also
enabling remote code execution through url wrappers
http://cvs.php.net/diff.php/php-src/php.ini-dist?r1=1.237&r2=1.238&ty=u
Index: php-src/php.ini-dist
diff -u php-src/php.ini-dist:1.237 php-src/php.ini-dist:1.238
--- php-src/php.ini-dist:1.237 Mon Nov 14 18:14:54 2005
+++ php-src/php.ini-dist Fri Nov 18 11:20:41 2005
@@ -529,6 +529,8 @@
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
+; Whether to allow code execution through URL wrappers
+allow_url_include = Off
; Define the anonymous ftp password (your email address)
;from="[EMAIL PROTECTED]"
http://cvs.php.net/diff.php/php-src/php.ini-recommended?r1=1.186&r2=1.187&ty=u
Index: php-src/php.ini-recommended
diff -u php-src/php.ini-recommended:1.186 php-src/php.ini-recommended:1.187
--- php-src/php.ini-recommended:1.186 Mon Nov 14 18:14:54 2005
+++ php-src/php.ini-recommended Fri Nov 18 11:20:41 2005
@@ -586,6 +586,8 @@
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
+; Whether to allow code execution through URL wrappers
+allow_url_include = Off
; Define the anonymous ftp password (your email address)
;from="[EMAIL PROTECTED]"
http://cvs.php.net/diff.php/php-src/main/main.c?r1=1.651&r2=1.652&ty=u
Index: php-src/main/main.c
diff -u php-src/main/main.c:1.651 php-src/main/main.c:1.652
--- php-src/main/main.c:1.651 Tue Nov 15 06:14:34 2005
+++ php-src/main/main.c Fri Nov 18 11:20:43 2005
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.651 2005/11/15 11:14:34 dmitry Exp $ */
+/* $Id: main.c,v 1.652 2005/11/18 16:20:43 rasmus Exp $ */
/* {{{ includes
*/
@@ -439,6 +439,7 @@
PHP_INI_ENTRY("disable_classes", "",
PHP_INI_SYSTEM, NULL)
STD_PHP_INI_BOOLEAN("allow_url_fopen", "1",
PHP_INI_SYSTEM, OnUpdateBool, allow_url_fopen,
php_core_globals, core_globals)
+ STD_PHP_INI_BOOLEAN("allow_url_include", "0",
PHP_INI_SYSTEM, OnUpdateBool, allow_url_include,
php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("always_populate_raw_post_data", "0",
PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool,
always_populate_raw_post_data, php_core_globals,
core_globals)
#ifdef REALPATH_CACHE
STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM,
OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals)
http://cvs.php.net/diff.php/php-src/main/php_globals.h?r1=1.98&r2=1.99&ty=u
Index: php-src/main/php_globals.h
diff -u php-src/main/php_globals.h:1.98 php-src/main/php_globals.h:1.99
--- php-src/main/php_globals.h:1.98 Wed Aug 3 10:08:33 2005
+++ php-src/main/php_globals.h Fri Nov 18 11:20:43 2005
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_globals.h,v 1.98 2005/08/03 14:08:33 sniper Exp $ */
+/* $Id: php_globals.h,v 1.99 2005/11/18 16:20:43 rasmus Exp $ */
#ifndef PHP_GLOBALS_H
#define PHP_GLOBALS_H
@@ -150,6 +150,7 @@
char *disable_functions;
char *disable_classes;
+ zend_bool allow_url_include;
};
http://cvs.php.net/diff.php/php-src/main/streams/streams.c?r1=1.89&r2=1.90&ty=u
Index: php-src/main/streams/streams.c
diff -u php-src/main/streams/streams.c:1.89 php-src/main/streams/streams.c:1.90
--- php-src/main/streams/streams.c:1.89 Wed Oct 5 17:46:28 2005
+++ php-src/main/streams/streams.c Fri Nov 18 11:20:43 2005
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streams.c,v 1.89 2005/10/05 21:46:28 tony2001 Exp $ */
+/* $Id: streams.c,v 1.90 2005/11/18 16:20:43 rasmus Exp $ */
#define _GNU_SOURCE
#include "php.h"
@@ -2205,7 +2205,7 @@
return &php_plain_files_wrapper;
}
- if (wrapper && wrapper->is_url && !PG(allow_url_fopen)) {
+ if ((wrapper && wrapper->is_url) && (!PG(allow_url_fopen) || (options &
STREAM_OPEN_FOR_INCLUDE) && !PG(allow_url_include)) ) {
if (options & REPORT_ERRORS) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "URL
file-access is disabled in the server configuration");
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php