]> granicus.if.org Git - php/commitdiff
Merge branch 'pull-request/1350' into PHP-5.4
authorStanislav Malyshev <stas@php.net>
Mon, 29 Jun 2015 01:53:19 +0000 (18:53 -0700)
committerStanislav Malyshev <stas@php.net>
Mon, 29 Jun 2015 03:18:56 +0000 (20:18 -0700)
* pull-request/1350:
  Move strlen() check to php_mail_detect_multiple_crlf()
  Fixed Bug #69874 : Can't set empty additional_headers for mail()

1  2 
NEWS
ext/standard/mail.c
ext/standard/tests/mail/bug69874_2.phpt

diff --cc NEWS
index 12fb9e2d20d027aa36a2c82126c26a2c4f736e65,7f1bf5d73233708f0302ab7e651111caaafafdf2..6e006a4801955feb2deb75f2b24fbff33da2d8cd
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -2,9 -2,6 +2,11 @@@ PH
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  ?? ??? 2015 PHP 5.4.43
  
 +- Core:
 +  . Fixed bug #69768 (escapeshell*() doesn't cater to !). (cmb)
++  . Fixed bug #69874 (Can't set empty additional_headers for mail()), regression
++    from fix to bug #68776. (Yasuo)
 +
  11 Jun 2015 PHP 5.4.42
  
  - Core:
index 448013a472a3466245e64b1cb37a9d1b0f7c007e,aa29a22c85a9a63ee7e0b486b004a02b8471d552..75bd423f8dcde03206f5aeefccab21d1508a550a
@@@ -312,7 -312,7 +312,7 @@@ PHPAPI int php_mail(char *to, char *sub
  
                php_basename(tmp, strlen(tmp), NULL, 0,&f, &f_len TSRMLS_CC);
  
--              if (headers != NULL) {
++              if (headers != NULL && *headers) {
                        spprintf(&hdr, 0, "X-PHP-Originating-Script: %ld:%s\n%s", php_getuid(TSRMLS_C), f, headers);
                } else {
                        spprintf(&hdr, 0, "X-PHP-Originating-Script: %ld:%s", php_getuid(TSRMLS_C), f);
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not execute mail delivery program '%s'", sendmail_path);
  #if PHP_SIGCHILD
                if (sig_handler) {
--                      signal(SIGCHLD, sig_handler);                                           
++                      signal(SIGCHLD, sig_handler);
                }
  #endif
                MAIL_RET(0);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..53d991a26b473d6f2790f657fa97a1d0b2570513
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,43 @@@
++--TEST--
++Bug #69874: Null addtional_headers does not send mail
++--INI--
++sendmail_path=tee mailBasic.out >/dev/null
++mail.add_x_header = On
++--SKIPIF--
++<?php
++if(substr(PHP_OS, 0, 3) == "WIN")
++  die("skip Won't run on Windows");
++?>
++--FILE--
++<?php
++/* Prototype  : int mail(string to, string subject, string message [, string additional_headers [, string additional_parameters]])
++ * Description: Send an email message
++ * Source code: ext/standard/mail.c
++ * Alias to functions:
++ */
++
++echo "*** Testing mail() : send email without additional headers ***\n";
++
++// Initialise all required variables
++$to = 'user@company.com';
++$subject = 'Test Subject';
++$message = 'A Message';
++
++$outFile = "mailBasic.out";
++@unlink($outFile);
++
++var_dump( mail($to, $subject, $message, '') );
++echo file_get_contents($outFile);
++unlink($outFile);
++
++?>
++===DONE===
++--EXPECTF--
++*** Testing mail() : send email without additional headers ***
++bool(true)
++To: user@company.com
++Subject: Test Subject
++X-PHP-Originating-Script: %d:bug69874_2.php
++
++A Message
++===DONE===