diff --git a/README.md b/README.md index 13ae644..12f5a7f 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ **Requires at least:** 5.3 \ **Tested up to:** 6.2 \ **Requires PHP:** 7.2 \ -**Stable tag:** 1.6.4 +**Stable tag:** 1.6.5 Fix your email delivery problems by sending your WordPress emails through Amazon SES's powerful email sending infrastructure. @@ -191,6 +191,11 @@ Please double check the credentials match up with the credentials you received w ## Changelog +### 1.6.5 - 2023-06-05 + +* Bug fix: Apostrophes in email addresses no longer prevent sending +* Bug fix: More than 25 Verified Senders can now be managed + ### 1.6.4 - 2023-05-18 * Bug fix: WP Offload SES now works with PHP 8.2 diff --git a/classes/Activity-List-Table.php b/classes/Activity-List-Table.php index c194326..810c638 100644 --- a/classes/Activity-List-Table.php +++ b/classes/Activity-List-Table.php @@ -118,9 +118,9 @@ public function column_default( $item, $column_name ) { * @param array $email The array of info about the email. */ public function column_cb( $email ) { - $id = esc_attr( $email['id'] ); + $id = esc_attr( $email['id'] ); ?> - + database->get_results( $query, ARRAY_A ); - - return $results; + return stripslashes_deep( $this->database->get_results( $query, ARRAY_A ) ); } /** @@ -409,9 +407,10 @@ public function render_views() { * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen, usually a string. * + * @param string[] $views An array of available list table views. + * * @since 3.5.0 * - * @param string[] $views An array of available list table views. */ $views = apply_filters( "views_{$this->screen->id}", $views ); if ( empty( $views ) ) { @@ -427,7 +426,7 @@ public function render_views() { $current = 'all'; } - $current = ( $current === $class ) ? 'current' : ''; + $current = ( $current === $class ) ? 'current' : ''; $views[ $class ] = "\t
  • $view"; } echo implode( " |
  • \n", $views ) . "\n"; @@ -508,17 +507,17 @@ public function process_bulk_actions() { public function display() { ?>
    - _pagination_args['order'] ) ? $this->_pagination_args['order'] : 'desc'; - $orderby = ! empty( $this->_pagination_args['orderby'] ) ? $this->_pagination_args['orderby'] : 'date'; + $order = ! empty( $this->_pagination_args['order'] ) ? $this->_pagination_args['order'] : 'desc'; + $orderby = ! empty( $this->_pagination_args['orderby'] ) ? $this->_pagination_args['orderby'] : 'date'; - echo ''; - echo ''; + echo ''; + echo ''; - parent::display(); - ?> + parent::display(); + ?>
    email_months_dropdown(); ?> - - - + + +
    emails_table} ORDER BY email_created DESC" ); - $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; + $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; ?> - + maybe_convert_to_array( $to ); + $to = stripslashes_deep( $to ); foreach ( $to as $recipient ) { try { @@ -217,7 +218,7 @@ private function from() { * @param string $subject The subject of the email. */ private function subject( $subject ) { - $this->mail->Subject = $subject; + $this->mail->Subject = stripslashes( $subject ); } /** @@ -323,6 +324,7 @@ private function header_content_type( $content ) { private function header_cc( $content, $type = 'cc' ) { // They could be in CSV format. $ccs = explode( ',', $content ); + $ccs = stripslashes_deep( $ccs ); if ( empty( $ccs ) ) { return; @@ -353,6 +355,7 @@ private function header_cc( $content, $type = 'cc' ) { */ private function header_reply_to( $content ) { $reply_to = $this->maybe_convert_to_array( $content ); + $reply_to = stripslashes_deep( $reply_to ); foreach ( $reply_to as $recipient ) { try { @@ -480,6 +483,11 @@ public function prepare() { $this->mail->Body = $wp_offload_ses->get_email_events()->filter_email_content( $this->email_id, $this->mail->Body ); } + // May need to strip slashes in the body. + if ( 'text/html' !== $this->mail->ContentType ) { + $this->mail->Body = stripslashes( $this->mail->Body ); + } + // Fires after PHPMailer is initialized. do_action_ref_array( 'phpmailer_init', array( &$this->mail ) ); @@ -576,9 +584,9 @@ public function view( $email_data = array() ) { $body = $this->sanitize_email_body( $this->mail->Body ); - // Maybe add HTML line breaks. + // Maybe strip slashes and add HTML line breaks. if ( 'text/html' !== $this->mail->ContentType ) { - $body = nl2br( $body ); + $body = nl2br( stripslashes( $body ) ); } if ( isset( $email_data['status_i18n'] ) ) { diff --git a/classes/SES-API.php b/classes/SES-API.php index 3a253db..11c2ab3 100644 --- a/classes/SES-API.php +++ b/classes/SES-API.php @@ -150,11 +150,18 @@ public function get_send_quota() { /** * Get the identities associated with the account. * - * @param array $args Args to pass to the request. + * @param array $args Args to pass to the request. + * @param array $prev_identities Previously returned identities if paging. * * @return array|Error */ - public function get_identities( array $args = array() ) { + public function get_identities( array $args = array(), array $prev_identities = array() ) { + if ( empty( $args['PageSize'] ) ) { + $args['PageSize'] = 1000; + } + + $prev_identities = empty( $prev_identities ) ? array() : $prev_identities; + try { $response = $this->get_client()->listEmailIdentities( $args ); $identities = $response['EmailIdentities']; @@ -183,6 +190,14 @@ public function get_identities( array $args = array() ) { } } + $identities = array_merge( $prev_identities, $identities ); + + if ( ! empty( $response['NextToken'] ) ) { + $args['NextToken'] = $response['NextToken']; + + return $this->get_identities( $args, $identities ); + } + return $identities; } diff --git a/classes/Settings.php b/classes/Settings.php index ba4128a..b51eea9 100644 --- a/classes/Settings.php +++ b/classes/Settings.php @@ -381,7 +381,7 @@ public function get_setting( string $key, $default = '' ) { $this->get_settings(); $setting = $this->settings[ $key ] ?? $default; - return apply_filters( 'wposes_get_setting', $setting, $key ); + return stripslashes_deep( apply_filters( 'wposes_get_setting', $setting, $key ) ); } /** @@ -396,7 +396,7 @@ public function get_network_setting( string $key, $default = '' ) { $this->get_network_settings(); $network_setting = $this->network_settings[ $key ] ?? $default; - return apply_filters( 'wposes_get_network_setting', $network_setting, $key ); + return stripslashes_deep( apply_filters( 'wposes_get_network_setting', $network_setting, $key ) ); } /** diff --git a/languages/wp-ses-en.pot b/languages/wp-ses-en.pot index 02ee8bf..71688a7 100644 --- a/languages/wp-ses-en.pot +++ b/languages/wp-ses-en.pot @@ -1,22 +1,21 @@ # Copyright (C) 2023 Delicious Brains -# This file is distributed under the same license as the WP Offload SES Lite plugin. +# This file is distributed under the same license as the WP Offload SES plugin. msgid "" msgstr "" -"Project-Id-Version: WP Offload SES Lite 1.6.4\n" +"Project-Id-Version: WP Offload SES 1.6.5\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-ses\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2023-05-18T09:06:59+00:00\n" +"POT-Creation-Date: 2023-06-05T08:01:36+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.7.1\n" "X-Domain: wp-offload-ses\n" #. Plugin Name of the plugin -#: classes/Health-Report.php:458 -msgid "WP Offload SES Lite" +msgid "WP Offload SES" msgstr "" #. Description of the plugin @@ -49,60 +48,60 @@ msgstr "" msgid "Status" msgstr "" -#: classes/Activity-List-Table.php:325 +#: classes/Activity-List-Table.php:323 msgid "No emails found. Check back later!" msgstr "" -#: classes/Activity-List-Table.php:335 +#: classes/Activity-List-Table.php:333 #: classes/WP-Offload-SES.php:735 msgid "Send" msgstr "" -#: classes/Activity-List-Table.php:336 +#: classes/Activity-List-Table.php:334 #: classes/WP-Offload-SES.php:729 #: view/modals/delete-email.php:11 #: view/modals/verify-sender.php:68 msgid "Cancel" msgstr "" -#: classes/Activity-List-Table.php:337 +#: classes/Activity-List-Table.php:335 #: classes/WP-Offload-SES.php:739 msgid "Delete Permanently" msgstr "" -#: classes/Activity-List-Table.php:368 +#: classes/Activity-List-Table.php:366 msgid "All %s" msgstr "" -#: classes/Activity-List-Table.php:375 +#: classes/Activity-List-Table.php:373 msgid "Sent %s" msgstr "" -#: classes/Activity-List-Table.php:379 +#: classes/Activity-List-Table.php:377 msgid "Failed %s" msgstr "" -#: classes/Activity-List-Table.php:383 +#: classes/Activity-List-Table.php:381 msgid "Queued %s" msgstr "" -#: classes/Activity-List-Table.php:387 +#: classes/Activity-List-Table.php:385 msgid "Cancelled %s" msgstr "" -#: classes/Activity-List-Table.php:551 +#: classes/Activity-List-Table.php:550 msgid "All Subjects" msgstr "" -#: classes/Activity-List-Table.php:552 +#: classes/Activity-List-Table.php:551 msgid "All Recipients" msgstr "" -#: classes/Activity-List-Table.php:553 +#: classes/Activity-List-Table.php:552 msgid "Filter" msgstr "" -#: classes/Activity-List-Table.php:572 +#: classes/Activity-List-Table.php:571 msgid "All dates" msgstr "" @@ -182,33 +181,33 @@ msgstr "" msgid "After 2 years" msgstr "" -#: classes/Email.php:585 +#: classes/Email.php:593 msgid "Status: %s" msgstr "" -#: classes/Email.php:590 +#: classes/Email.php:598 msgid "Sent: %1$s at %2$s" msgstr "" -#: classes/Email.php:598 +#: classes/Email.php:606 msgid "Opens: %1$d (Last Opened %2$s at %3$s)" msgstr "" -#: classes/Email.php:611 +#: classes/Email.php:619 msgid "Clicks: %1$d (Last Clicked %2$s at %3$s)" msgstr "" -#: classes/Email.php:621 +#: classes/Email.php:629 msgid "Attachment: " msgid_plural "Attachments: " msgstr[0] "" msgstr[1] "" -#: classes/Email.php:626 +#: classes/Email.php:634 msgid "From: %1$s <%2$s>" msgstr "" -#: classes/Email.php:627 +#: classes/Email.php:635 msgid "To: %s" msgstr "" @@ -249,6 +248,10 @@ msgstr "" msgid "reporting period" msgstr "" +#: classes/Health-Report.php:458 +msgid "WP Offload SES Lite" +msgstr "" + #: classes/Health-Report.php:491 msgid "View Full Report" msgstr "" @@ -390,23 +393,23 @@ msgstr "" msgid "South America (São Paulo)" msgstr "" -#: classes/SES-API.php:162 +#: classes/SES-API.php:169 msgid "There was an error attempting to receive your SES identities." msgstr "" -#: classes/SES-API.php:202 +#: classes/SES-API.php:217 msgid "There was an error deleting the provided identity." msgstr "" -#: classes/SES-API.php:222 +#: classes/SES-API.php:237 msgid "There was an error retrieving the details of your \"%s\" SES identity." msgstr "" -#: classes/SES-API.php:248 +#: classes/SES-API.php:263 msgid "There was an error attempting to validate the domain." msgstr "" -#: classes/SES-API.php:271 +#: classes/SES-API.php:286 msgid "There was an error attempting to validate the email address." msgstr "" diff --git a/readme.txt b/readme.txt index d361af7..f1bef95 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: amazon ses,smtp,email delivery,gmail smtp,newsletter Requires at least: 5.3 Tested up to: 6.2 Requires PHP: 7.2 -Stable tag: 1.6.4 +Stable tag: 1.6.5 Fix your email delivery problems by sending your WordPress emails through Amazon SES's powerful email sending infrastructure. @@ -178,6 +178,10 @@ Please double check the credentials match up with the credentials you received w == Changelog == += 1.6.5 - 2023-06-05 = +* Bug fix: Apostrophes in email addresses no longer prevent sending +* Bug fix: More than 25 Verified Senders can now be managed + = 1.6.4 - 2023-05-18 = * Bug fix: WP Offload SES now works with PHP 8.2 * Security: Updated AWS SDK to address a vulnerability in `guzzlehttp/psr7` as reported in [CVE-2023-29197](https://nvd.nist.gov/vuln/detail/CVE-2023-29197) diff --git a/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-rule-set-1.json.php b/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-rule-set-1.json.php new file mode 100644 index 0000000..a105f9f --- /dev/null +++ b/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-rule-set-1.json.php @@ -0,0 +1,6 @@ + '1.0', 'parameters' => ['Region' => ['builtIn' => 'AWS::Region', 'required' => \true, 'documentation' => 'The AWS region used to dispatch the request.', 'type' => 'String'], 'UseDualStack' => ['builtIn' => 'AWS::UseDualStack', 'required' => \true, 'default' => \false, 'documentation' => 'When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.', 'type' => 'Boolean'], 'UseFIPS' => ['builtIn' => 'AWS::UseFIPS', 'required' => \true, 'default' => \false, 'documentation' => 'When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.', 'type' => 'Boolean'], 'Endpoint' => ['builtIn' => 'SDK::Endpoint', 'required' => \false, 'documentation' => 'Override the endpoint used to send this request', 'type' => 'String']], 'rules' => [['conditions' => [['fn' => 'aws.partition', 'argv' => [['ref' => 'Region']], 'assign' => 'PartitionResult']], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'isSet', 'argv' => [['ref' => 'Endpoint']]]], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseFIPS'], \true]]], 'error' => 'Invalid Configuration: FIPS and custom endpoint are not supported', 'type' => 'error'], ['conditions' => [], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseDualStack'], \true]]], 'error' => 'Invalid Configuration: Dualstack and custom endpoint are not supported', 'type' => 'error'], ['conditions' => [], 'endpoint' => ['url' => ['ref' => 'Endpoint'], 'properties' => [], 'headers' => []], 'type' => 'endpoint']]]]], ['conditions' => [['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseFIPS'], \true]], ['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseDualStack'], \true]]], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'booleanEquals', 'argv' => [\true, ['fn' => 'getAttr', 'argv' => [['ref' => 'PartitionResult'], 'supportsFIPS']]]], ['fn' => 'booleanEquals', 'argv' => [\true, ['fn' => 'getAttr', 'argv' => [['ref' => 'PartitionResult'], 'supportsDualStack']]]]], 'type' => 'tree', 'rules' => [['conditions' => [], 'endpoint' => ['url' => 'https://logs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}', 'properties' => [], 'headers' => []], 'type' => 'endpoint']]], ['conditions' => [], 'error' => 'FIPS and DualStack are enabled, but this partition does not support one or both', 'type' => 'error']]], ['conditions' => [['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseFIPS'], \true]]], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'booleanEquals', 'argv' => [\true, ['fn' => 'getAttr', 'argv' => [['ref' => 'PartitionResult'], 'supportsFIPS']]]]], 'type' => 'tree', 'rules' => [['conditions' => [], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'stringEquals', 'argv' => [['ref' => 'Region'], 'us-gov-east-1']]], 'endpoint' => ['url' => 'https://logs.us-gov-east-1.amazonaws.com', 'properties' => [], 'headers' => []], 'type' => 'endpoint'], ['conditions' => [['fn' => 'stringEquals', 'argv' => [['ref' => 'Region'], 'us-gov-west-1']]], 'endpoint' => ['url' => 'https://logs.us-gov-west-1.amazonaws.com', 'properties' => [], 'headers' => []], 'type' => 'endpoint'], ['conditions' => [], 'endpoint' => ['url' => 'https://logs-fips.{Region}.{PartitionResult#dnsSuffix}', 'properties' => [], 'headers' => []], 'type' => 'endpoint']]]]], ['conditions' => [], 'error' => 'FIPS is enabled but this partition does not support FIPS', 'type' => 'error']]], ['conditions' => [['fn' => 'booleanEquals', 'argv' => [['ref' => 'UseDualStack'], \true]]], 'type' => 'tree', 'rules' => [['conditions' => [['fn' => 'booleanEquals', 'argv' => [\true, ['fn' => 'getAttr', 'argv' => [['ref' => 'PartitionResult'], 'supportsDualStack']]]]], 'type' => 'tree', 'rules' => [['conditions' => [], 'endpoint' => ['url' => 'https://logs.{Region}.{PartitionResult#dualStackDnsSuffix}', 'properties' => [], 'headers' => []], 'type' => 'endpoint']]], ['conditions' => [], 'error' => 'DualStack is enabled but this partition does not support DualStack', 'type' => 'error']]], ['conditions' => [], 'endpoint' => ['url' => 'https://logs.{Region}.{PartitionResult#dnsSuffix}', 'properties' => [], 'headers' => []], 'type' => 'endpoint']]]]]; diff --git a/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-tests-1.json.php b/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-tests-1.json.php new file mode 100644 index 0000000..d8bb51f --- /dev/null +++ b/vendor/Aws3/Aws/data/logs/2014-03-28/endpoint-tests-1.json.php @@ -0,0 +1,6 @@ + [['documentation' => 'For region ap-south-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-south-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-south-2']], ['documentation' => 'For region ap-south-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-south-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-south-2']], ['documentation' => 'For region ap-south-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-south-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-south-2']], ['documentation' => 'For region ap-south-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-south-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-south-2']], ['documentation' => 'For region ap-south-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-south-1']], ['documentation' => 'For region ap-south-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-south-1']], ['documentation' => 'For region ap-south-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-south-1']], ['documentation' => 'For region ap-south-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-south-1']], ['documentation' => 'For region eu-south-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-south-1']], ['documentation' => 'For region eu-south-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-south-1']], ['documentation' => 'For region eu-south-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-south-1']], ['documentation' => 'For region eu-south-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-south-1']], ['documentation' => 'For region eu-south-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-south-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-south-2']], ['documentation' => 'For region eu-south-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-south-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-south-2']], ['documentation' => 'For region eu-south-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-south-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-south-2']], ['documentation' => 'For region eu-south-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-south-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-south-2']], ['documentation' => 'For region us-gov-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-gov-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-gov-east-1']], ['documentation' => 'For region us-gov-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-gov-east-1']], ['documentation' => 'For region us-gov-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-gov-east-1']], ['documentation' => 'For region us-gov-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-gov-east-1']], ['documentation' => 'For region me-central-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.me-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'me-central-1']], ['documentation' => 'For region me-central-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.me-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'me-central-1']], ['documentation' => 'For region me-central-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.me-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'me-central-1']], ['documentation' => 'For region me-central-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.me-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'me-central-1']], ['documentation' => 'For region ca-central-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ca-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ca-central-1']], ['documentation' => 'For region ca-central-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ca-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ca-central-1']], ['documentation' => 'For region ca-central-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ca-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ca-central-1']], ['documentation' => 'For region ca-central-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ca-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ca-central-1']], ['documentation' => 'For region eu-central-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-central-1']], ['documentation' => 'For region eu-central-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-central-1']], ['documentation' => 'For region eu-central-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-central-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-central-1']], ['documentation' => 'For region eu-central-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-central-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-central-1']], ['documentation' => 'For region us-iso-west-1 with FIPS enabled and DualStack enabled', 'expect' => ['error' => 'FIPS and DualStack are enabled, but this partition does not support one or both'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-iso-west-1']], ['documentation' => 'For region us-iso-west-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-iso-west-1.c2s.ic.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-iso-west-1']], ['documentation' => 'For region us-iso-west-1 with FIPS disabled and DualStack enabled', 'expect' => ['error' => 'DualStack is enabled but this partition does not support DualStack'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-iso-west-1']], ['documentation' => 'For region us-iso-west-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-iso-west-1.c2s.ic.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-iso-west-1']], ['documentation' => 'For region eu-central-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-central-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-central-2']], ['documentation' => 'For region eu-central-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-central-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-central-2']], ['documentation' => 'For region eu-central-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-central-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-central-2']], ['documentation' => 'For region eu-central-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-central-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-central-2']], ['documentation' => 'For region us-west-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-west-1']], ['documentation' => 'For region us-west-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-west-1']], ['documentation' => 'For region us-west-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-west-1']], ['documentation' => 'For region us-west-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-west-1']], ['documentation' => 'For region us-west-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-west-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-west-2']], ['documentation' => 'For region us-west-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-west-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-west-2']], ['documentation' => 'For region us-west-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-west-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-west-2']], ['documentation' => 'For region us-west-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-west-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-west-2']], ['documentation' => 'For region af-south-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.af-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'af-south-1']], ['documentation' => 'For region af-south-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.af-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'af-south-1']], ['documentation' => 'For region af-south-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.af-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'af-south-1']], ['documentation' => 'For region af-south-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.af-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'af-south-1']], ['documentation' => 'For region eu-north-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-north-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-north-1']], ['documentation' => 'For region eu-north-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-north-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-north-1']], ['documentation' => 'For region eu-north-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-north-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-north-1']], ['documentation' => 'For region eu-north-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-north-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-north-1']], ['documentation' => 'For region eu-west-3 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-west-3']], ['documentation' => 'For region eu-west-3 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-west-3']], ['documentation' => 'For region eu-west-3 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-west-3']], ['documentation' => 'For region eu-west-3 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-west-3']], ['documentation' => 'For region eu-west-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-west-2']], ['documentation' => 'For region eu-west-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-west-2']], ['documentation' => 'For region eu-west-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-west-2']], ['documentation' => 'For region eu-west-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-west-2']], ['documentation' => 'For region eu-west-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'eu-west-1']], ['documentation' => 'For region eu-west-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.eu-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'eu-west-1']], ['documentation' => 'For region eu-west-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'eu-west-1']], ['documentation' => 'For region eu-west-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.eu-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'eu-west-1']], ['documentation' => 'For region ap-northeast-3 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-northeast-3']], ['documentation' => 'For region ap-northeast-3 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-northeast-3']], ['documentation' => 'For region ap-northeast-3 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-northeast-3']], ['documentation' => 'For region ap-northeast-3 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-northeast-3']], ['documentation' => 'For region ap-northeast-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-northeast-2']], ['documentation' => 'For region ap-northeast-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-northeast-2']], ['documentation' => 'For region ap-northeast-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-northeast-2']], ['documentation' => 'For region ap-northeast-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-northeast-2']], ['documentation' => 'For region ap-northeast-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-northeast-1']], ['documentation' => 'For region ap-northeast-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-northeast-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-northeast-1']], ['documentation' => 'For region ap-northeast-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-northeast-1']], ['documentation' => 'For region ap-northeast-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-northeast-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-northeast-1']], ['documentation' => 'For region me-south-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.me-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'me-south-1']], ['documentation' => 'For region me-south-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.me-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'me-south-1']], ['documentation' => 'For region me-south-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.me-south-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'me-south-1']], ['documentation' => 'For region me-south-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.me-south-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'me-south-1']], ['documentation' => 'For region sa-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.sa-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'sa-east-1']], ['documentation' => 'For region sa-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.sa-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'sa-east-1']], ['documentation' => 'For region sa-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.sa-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'sa-east-1']], ['documentation' => 'For region sa-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.sa-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'sa-east-1']], ['documentation' => 'For region ap-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-east-1']], ['documentation' => 'For region ap-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-east-1']], ['documentation' => 'For region ap-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-east-1']], ['documentation' => 'For region ap-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-east-1']], ['documentation' => 'For region cn-north-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.cn-north-1.api.amazonwebservices.com.cn']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'cn-north-1']], ['documentation' => 'For region cn-north-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.cn-north-1.amazonaws.com.cn']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'cn-north-1']], ['documentation' => 'For region cn-north-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.cn-north-1.api.amazonwebservices.com.cn']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'cn-north-1']], ['documentation' => 'For region cn-north-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.cn-north-1.amazonaws.com.cn']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'cn-north-1']], ['documentation' => 'For region us-gov-west-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-gov-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-gov-west-1']], ['documentation' => 'For region us-gov-west-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-gov-west-1']], ['documentation' => 'For region us-gov-west-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-west-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-gov-west-1']], ['documentation' => 'For region us-gov-west-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-gov-west-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-gov-west-1']], ['documentation' => 'For region ap-southeast-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-southeast-1']], ['documentation' => 'For region ap-southeast-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-southeast-1']], ['documentation' => 'For region ap-southeast-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-southeast-1']], ['documentation' => 'For region ap-southeast-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-southeast-1']], ['documentation' => 'For region ap-southeast-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-southeast-2']], ['documentation' => 'For region ap-southeast-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-southeast-2']], ['documentation' => 'For region ap-southeast-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-southeast-2']], ['documentation' => 'For region ap-southeast-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-southeast-2']], ['documentation' => 'For region us-iso-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['error' => 'FIPS and DualStack are enabled, but this partition does not support one or both'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-iso-east-1']], ['documentation' => 'For region us-iso-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-iso-east-1.c2s.ic.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-iso-east-1']], ['documentation' => 'For region us-iso-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['error' => 'DualStack is enabled but this partition does not support DualStack'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-iso-east-1']], ['documentation' => 'For region us-iso-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-iso-east-1.c2s.ic.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-iso-east-1']], ['documentation' => 'For region ap-southeast-3 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-southeast-3']], ['documentation' => 'For region ap-southeast-3 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-southeast-3']], ['documentation' => 'For region ap-southeast-3 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-3.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-southeast-3']], ['documentation' => 'For region ap-southeast-3 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-3.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-southeast-3']], ['documentation' => 'For region ap-southeast-4 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-4.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'ap-southeast-4']], ['documentation' => 'For region ap-southeast-4 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.ap-southeast-4.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'ap-southeast-4']], ['documentation' => 'For region ap-southeast-4 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-4.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'ap-southeast-4']], ['documentation' => 'For region ap-southeast-4 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.ap-southeast-4.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'ap-southeast-4']], ['documentation' => 'For region us-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-east-1']], ['documentation' => 'For region us-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-east-1']], ['documentation' => 'For region us-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-east-1.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-east-1']], ['documentation' => 'For region us-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-east-1.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-east-1']], ['documentation' => 'For region us-east-2 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-east-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-east-2']], ['documentation' => 'For region us-east-2 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-east-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-east-2']], ['documentation' => 'For region us-east-2 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-east-2.api.aws']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-east-2']], ['documentation' => 'For region us-east-2 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-east-2.amazonaws.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-east-2']], ['documentation' => 'For region cn-northwest-1 with FIPS enabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.cn-northwest-1.api.amazonwebservices.com.cn']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'cn-northwest-1']], ['documentation' => 'For region cn-northwest-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.cn-northwest-1.amazonaws.com.cn']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'cn-northwest-1']], ['documentation' => 'For region cn-northwest-1 with FIPS disabled and DualStack enabled', 'expect' => ['endpoint' => ['url' => 'https://logs.cn-northwest-1.api.amazonwebservices.com.cn']], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'cn-northwest-1']], ['documentation' => 'For region cn-northwest-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.cn-northwest-1.amazonaws.com.cn']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'cn-northwest-1']], ['documentation' => 'For region us-isob-east-1 with FIPS enabled and DualStack enabled', 'expect' => ['error' => 'FIPS and DualStack are enabled, but this partition does not support one or both'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \true, 'Region' => 'us-isob-east-1']], ['documentation' => 'For region us-isob-east-1 with FIPS enabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs-fips.us-isob-east-1.sc2s.sgov.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-isob-east-1']], ['documentation' => 'For region us-isob-east-1 with FIPS disabled and DualStack enabled', 'expect' => ['error' => 'DualStack is enabled but this partition does not support DualStack'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-isob-east-1']], ['documentation' => 'For region us-isob-east-1 with FIPS disabled and DualStack disabled', 'expect' => ['endpoint' => ['url' => 'https://logs.us-isob-east-1.sc2s.sgov.gov']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-isob-east-1']], ['documentation' => 'For custom endpoint with fips disabled and dualstack disabled', 'expect' => ['endpoint' => ['url' => 'https://example.com']], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \false, 'Region' => 'us-east-1', 'Endpoint' => 'https://example.com']], ['documentation' => 'For custom endpoint with fips enabled and dualstack disabled', 'expect' => ['error' => 'Invalid Configuration: FIPS and custom endpoint are not supported'], 'params' => ['UseDualStack' => \false, 'UseFIPS' => \true, 'Region' => 'us-east-1', 'Endpoint' => 'https://example.com']], ['documentation' => 'For custom endpoint with fips disabled and dualstack enabled', 'expect' => ['error' => 'Invalid Configuration: Dualstack and custom endpoint are not supported'], 'params' => ['UseDualStack' => \true, 'UseFIPS' => \false, 'Region' => 'us-east-1', 'Endpoint' => 'https://example.com']]], 'version' => '1.0']; diff --git a/wp-ses.php b/wp-ses.php index b310e92..bc2dc4b 100644 --- a/wp-ses.php +++ b/wp-ses.php @@ -3,7 +3,7 @@ Plugin Name: WP Offload SES Lite Description: Automatically send WordPress mail through Amazon SES (Simple Email Service). Author: Delicious Brains -Version: 1.6.4 +Version: 1.6.5 Author URI: https://deliciousbrains.com/ Network: True Text Domain: wp-offload-ses @@ -29,7 +29,7 @@ exit; } -$GLOBALS['wposes_meta']['wp-ses']['version'] = '1.6.4'; +$GLOBALS['wposes_meta']['wp-ses']['version'] = '1.6.5'; if ( ! class_exists( 'DeliciousBrains\WP_Offload_SES\Compatibility_Check' ) ) { require_once wposes_lite_get_plugin_dir_path() . '/classes/Compatibility-Check.php';