@@ -900,12 +900,12 @@ static int s_meta_request_resolve_signing_config(
900900 return AWS_OP_SUCCESS ;
901901}
902902
903- /* Handles signing a message for the caller. */
904- void aws_s3_meta_request_sign_request_default (
903+ void aws_s3_meta_request_sign_request_default_impl (
905904 struct aws_s3_meta_request * meta_request ,
906905 struct aws_s3_request * request ,
907906 aws_signing_complete_fn * on_signing_complete ,
908- void * user_data ) {
907+ void * user_data ,
908+ bool disable_s3_express_signing ) {
909909 AWS_PRECONDITION (meta_request );
910910 AWS_PRECONDITION (request );
911911 AWS_PRECONDITION (on_signing_complete );
@@ -947,7 +947,7 @@ void aws_s3_meta_request_sign_request_default(
947947 return ;
948948 }
949949
950- if (signing_config .algorithm == AWS_SIGNING_ALGORITHM_V4_S3EXPRESS ) {
950+ if (signing_config .algorithm == AWS_SIGNING_ALGORITHM_V4_S3EXPRESS && ! disable_s3_express_signing ) {
951951 /* Fetch credentials from S3 Express provider. */
952952 struct aws_get_s3express_credentials_user_data * context =
953953 aws_mem_calloc (meta_request -> allocator , 1 , sizeof (struct aws_get_s3express_credentials_user_data ));
@@ -998,6 +998,9 @@ void aws_s3_meta_request_sign_request_default(
998998 }
999999 } else {
10001000 /* Regular signing. */
1001+ if (disable_s3_express_signing ) {
1002+ signing_config .algorithm = AWS_SIGNING_ALGORITHM_V4 ;
1003+ }
10011004 s_s3_meta_request_init_signing_date_time (meta_request , & signing_config .date );
10021005 if (aws_sign_request_aws (
10031006 meta_request -> allocator ,
@@ -1015,6 +1018,15 @@ void aws_s3_meta_request_sign_request_default(
10151018 }
10161019}
10171020
1021+ /* Handles signing a message for the caller. */
1022+ void aws_s3_meta_request_sign_request_default (
1023+ struct aws_s3_meta_request * meta_request ,
1024+ struct aws_s3_request * request ,
1025+ aws_signing_complete_fn * on_signing_complete ,
1026+ void * user_data ) {
1027+ aws_s3_meta_request_sign_request_default_impl (meta_request , request , on_signing_complete , user_data , false);
1028+ }
1029+
10181030/* Handle the signing result */
10191031static void s_s3_meta_request_request_on_signed (
10201032 struct aws_signing_result * signing_result ,
0 commit comments