Skip to content

Commit fd69b5e

Browse files
pfefferlematticbot
andauthored
Fix a Undefined array key "headers" issue (#1594)
* Fix a `Undefined array key "headers"` issue * Add changelog --------- Co-authored-by: Automattic Bot <[email protected]>
1 parent 8d54455 commit fd69b5e

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Significance: patch
2+
Type: fixed
3+
4+
Better check for an empty `headers` array key in the Signature class.

includes/class-signature.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,6 @@ public static function verify_http_signature( $request ) {
276276
}
277277

278278
$signed_headers = $signature_block['headers'];
279-
if ( ! $signed_headers ) {
280-
$signed_headers = array( 'date' );
281-
}
282279

283280
$signed_data = self::get_signed_data( $signed_headers, $signature_block, $headers );
284281
if ( ! $signed_data ) {
@@ -401,11 +398,7 @@ public static function parse_signature_header( $signature ) {
401398
$parsed_header['signature'] = \base64_decode( preg_replace( '/\s+/', '', trim( $matches[1] ) ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
402399
}
403400

404-
if (
405-
! empty( $parsed_header['signature'] ) &&
406-
! empty( $parsed_header['algorithm'] ) &&
407-
empty( $parsed_header['headers'] )
408-
) {
401+
if ( empty( $parsed_header['headers'] ) ) {
409402
$parsed_header['headers'] = array( 'date' );
410403
}
411404

0 commit comments

Comments
 (0)