diff options
author | Stanislav Malyshev <stas@php.net> | 2009-07-09 00:24:26 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2009-07-09 00:24:26 +0000 |
commit | c93ff250bcde1b62e92f7d3ec05131a438f7b1ed (patch) | |
tree | f43f6eb7ce1e5de015761ddc6aa2fa16ee73118e | |
parent | 0977b2a6f8ee06ab5ebab9a380422305abe2803a (diff) | |
download | php-git-c93ff250bcde1b62e92f7d3ec05131a438f7b1ed.tar.gz |
fix mail.log openbasedir interaction with .htaccess
-rw-r--r-- | main/main.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/main/main.c b/main/main.c index f47a087fb2..7617756150 100644 --- a/main/main.c +++ b/main/main.c @@ -482,6 +482,23 @@ static PHP_INI_MH(OnUpdateErrorLog) /* {{{ PHP_INI_MH */ +static PHP_INI_MH(OnUpdateMailLog) +{ + /* Only do the safemode/open_basedir check at runtime */ + if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) { + if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) { + return FAILURE; + } + + } + OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + return SUCCESS; +} +/* }}} */ + + +/* {{{ PHP_INI_MH + */ static PHP_INI_MH(OnChangeMailForceExtra) { /* Don't allow changing it in htaccess */ @@ -579,7 +596,7 @@ PHP_INI_BEGIN() PHP_INI_ENTRY("SMTP", "localhost",PHP_INI_ALL, NULL) PHP_INI_ENTRY("smtp_port", "25", PHP_INI_ALL, NULL) STD_PHP_INI_BOOLEAN("mail.add_x_header", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, mail_x_header, php_core_globals, core_globals) - STD_PHP_INI_ENTRY("mail.log", NULL, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateString, mail_log, php_core_globals, core_globals) + STD_PHP_INI_ENTRY("mail.log", NULL, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateMailLog, mail_log, php_core_globals, core_globals) PHP_INI_ENTRY("browscap", NULL, PHP_INI_SYSTEM, NULL) PHP_INI_ENTRY("memory_limit", "128M", PHP_INI_ALL, OnChangeMemoryLimit) PHP_INI_ENTRY("precision", "14", PHP_INI_ALL, OnSetPrecision) |