]> granicus.if.org Git - php/commitdiff
Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters)
authorIlia Alshanetsky <iliaa@php.net>
Wed, 21 Sep 2005 13:15:20 +0000 (13:15 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 21 Sep 2005 13:15:20 +0000 (13:15 +0000)
ext/mbstring/mbstring.c

index 0b7534a967387d42b0c46209ba90ac0caaa04e05..2a453778fe65b573f3f40a2cacf023b888dff844 100644 (file)
@@ -3007,6 +3007,7 @@ PHP_FUNCTION(mb_send_mail)
        int subject_len;
        char *extra_cmd=NULL;
        int extra_cmd_len;
+       char *force_extra_parameters = INI_STR("mail.force_extra_parameters");
        struct {
                int cnt_type:1;
                int cnt_trans_enc:1;
@@ -3208,12 +3209,21 @@ PHP_FUNCTION(mb_send_mail)
        mbfl_memory_device_output('\0', &device);
        headers = (char *)device.buffer;
 
+       if (force_extra_parameters) {
+               extra_cmd = estrdup(force_extra_parameters);
+       } else if (extra_cmd) {
+               extra_cmd = php_escape_shell_cmd(extra_cmd);
+       } 
+
        if (!err && php_mail(to, subject, message, headers, extra_cmd TSRMLS_CC)) {
                RETVAL_TRUE;
        } else {
                RETVAL_FALSE;
        }
 
+       if (extra_cmd) {
+               efree(extra_cmd);
+       }
        if (subject_buf) {
                efree((void *)subject_buf);
        }