Merged in feature/314-dev-dev01 (pull request #24)

auto-patch  314-dev-dev01-2024-01-25T04_09_02

* auto-patch  314-dev-dev01-2024-01-25T04_09_02
This commit is contained in:
Tony Volpe
2024-01-25 04:11:47 +00:00
parent 6b67473553
commit 68dbe860e9
540 changed files with 3445 additions and 2131 deletions

View File

@@ -669,4 +669,21 @@ abstract class MailerAbstract implements MailerInterface {
return $this->connection;
}
/**
* Sanitize email header values.
*
* @param string $name Name of the header.
* @param string $value Value of the header.
*
* @since 3.11.1
*/
public function sanitize_header_value( $name, $value ) {
if ( strtolower( $name ) === 'list-unsubscribe' ) {
return $value;
}
return WP::sanitize_value( $value );
}
}

View File

@@ -224,7 +224,7 @@ class Mailer extends MailerAbstract {
$this->set_body_param(
array(
'h:' . $name => WP::sanitize_value( $value ),
'h:' . $name => $this->sanitize_header_value( $name, $value ),
)
);
}

View File

@@ -92,10 +92,7 @@ class Mailer extends MailerAbstract {
}
$headers = isset( $this->body['Headers'] ) ? (array) $this->body['Headers'] : [];
if ( $name !== 'Message-ID' ) {
$value = WP::sanitize_value( $value );
}
$value = $this->sanitize_header_value( $name, $value );
// Prevent duplicates.
$key = array_search( $name, array_column( $headers, 'Name' ), true );
@@ -466,4 +463,21 @@ class Mailer extends MailerAbstract {
return false;
}
/**
* Sanitize email header values.
*
* @param string $name Name of the header.
* @param string $value Value of the header.
*
* @since 3.11.1
*/
public function sanitize_header_value( $name, $value ) {
if ( strtolower( $name ) === 'message-id' ) {
return $value;
}
return parent::sanitize_header_value( $name, $value );
}
}

View File

@@ -261,7 +261,7 @@ class Mailer extends MailerAbstract {
$headers = isset( $this->body['custom_headers'] ) ? (array) $this->body['custom_headers'] : array();
$headers[ $name ] = WP::sanitize_value( $value );
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
$this->set_body_param(
array(

View File

@@ -232,7 +232,7 @@ class Mailer extends MailerAbstract {
$headers = isset( $this->body['headers'] ) ? (array) $this->body['headers'] : array();
$headers[ $name ] = WP::sanitize_value( $value );
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
$this->set_body_param(
array(

View File

@@ -110,7 +110,7 @@ class Mailer extends MailerAbstract {
}
$headers = isset( $this->body['headers'] ) ? (array) $this->body['headers'] : [];
$headers[ $name ] = WP::sanitize_value( $value );
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
$this->set_body_param(
[

View File

@@ -81,7 +81,7 @@ class Mailer extends MailerAbstract {
$headers = isset( $this->body['Headers'] ) ? (array) $this->body['Headers'] : [];
$headers[ $name ] = WP::sanitize_value( $value );
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
$this->set_body_param(
[

View File

@@ -131,10 +131,7 @@ class Mailer extends MailerAbstract {
}
$headers = isset( $this->body['content']['headers'] ) ? (array) $this->body['content']['headers'] : [];
if ( ! in_array( $name, [ 'Message-ID', 'CC' ], true ) ) {
$value = WP::sanitize_value( $value );
}
$value = $this->sanitize_header_value( $name, $value );
$headers[ $name ] = $value;
@@ -539,4 +536,30 @@ class Mailer extends MailerAbstract {
return $holder;
}
/**
* Sanitize email header values.
*
* @param string $name Name of the header.
* @param string $value Value of the header.
*
* @since 3.11.1
*/
public function sanitize_header_value( $name, $value ) {
if (
in_array(
strtolower( $name ),
[
'message-id',
'cc',
],
true
)
) {
return $value;
}
return parent::sanitize_header_value( $name, $value );
}
}