cvs: php-src(PHP_5_3) /ext/standard basic_functions.c mail.c
| From: | Ilia Alshanetsky | Date: | Tue, 13 Jan 2009 21:29:12 +0000 |
| Subject: | cvs: php-src(PHP_5_3) /ext/standard basic_functions.c mail.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-55621@lists.php.net to get a copy of this message | ||
iliaa Tue Jan 13 21:29:12 2009 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/standard basic_functions.c mail.c
Log:
Fixed a bug inside mail() logging code that prevents log file from existing
outside of open_basedir
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.64.2.83&r2=1.725.2.31.2.64.2.84&diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.83
php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.84
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.83 Wed Jan 7 08:53:47 2009
+++ php-src/ext/standard/basic_functions.c Tue Jan 13 21:29:12 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.83 2009/01/07 08:53:47 pajoye Exp $ */
+/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.84 2009/01/13 21:29:12 iliaa Exp $ */
#include "php.h"
#include "php_streams.h"
@@ -5360,6 +5360,7 @@
if (_CHECK_PATH(varname, varname_len, "error_log") ||
_CHECK_PATH(varname, varname_len, "java.class.path") ||
_CHECK_PATH(varname, varname_len, "java.home") ||
+ _CHECK_PATH(varname, varname_len, "mail.log") ||
_CHECK_PATH(varname, varname_len, "java.library.path") ||
_CHECK_PATH(varname, varname_len, "vpopmail.directory")) {
if (PG(safe_mode) && (!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/mail.c?r1=1.87.2.1.2.7.2.8&r2=1.87.2.1.2.7.2.9&diff_format=u
Index: php-src/ext/standard/mail.c
diff -u php-src/ext/standard/mail.c:1.87.2.1.2.7.2.8 php-src/ext/standard/mail.c:1.87.2.1.2.7.2.9
--- php-src/ext/standard/mail.c:1.87.2.1.2.7.2.8 Fri Jan 9 15:08:10 2009
+++ php-src/ext/standard/mail.c Tue Jan 13 21:29:12 2009
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mail.c,v 1.87.2.1.2.7.2.8 2009/01/09 15:08:10 tony2001 Exp $ */
+/* $Id: mail.c,v 1.87.2.1.2.7.2.9 2009/01/13 21:29:12 iliaa Exp $ */
#include <stdlib.h>
#include <ctype.h>
@@ -218,6 +218,8 @@
if (mail_log) {
char *tmp;
int l = spprintf(&tmp, 0, "mail() on [%s:%d]: To: %s -- Headers: %s\n",
zend_get_executed_filename(TSRMLS_C), zend_get_executed_lineno(TSRMLS_C), to, hdr ? hdr :
"");
+ php_stream *stream = php_stream_open_wrapper(mail_log, "a", IGNORE_URL_WIN |
REPORT_ERRORS | STREAM_DISABLE_OPEN_BASEDIR, NULL);
+
if (hdr) { /* find all \r\n instances and replace them with spaces, so a log line is always one
line long */
char *p = tmp;
while ((p = strpbrk(p, "\r\n"))) {
@@ -225,7 +227,10 @@
}
tmp[l - 1] = '\n';
}
- _php_error_log(3, tmp, mail_log, NULL TSRMLS_CC);
+ if (stream) {
+ php_stream_write(stream, tmp, l);
+ php_stream_close(stream);
+ }
efree(tmp);
}
if (PG(mail_x_header)) {