Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-s3 for openSUSE:Factory checked in at 2024-06-06 12:32:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-s3 (Old) and /work/SRC/openSUSE:Factory/.aws-c-s3.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-s3" Thu Jun 6 12:32:04 2024 rev:6 rq:1178683 version:0.5.10 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-s3/aws-c-s3.changes 2024-06-03 17:41:19.890292096 +0200 +++ /work/SRC/openSUSE:Factory/.aws-c-s3.new.24587/aws-c-s3.changes 2024-06-06 12:32:20.963885516 +0200 @@ -1,0 +2,8 @@ +Tue Jun 4 13:13:31 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 0.5.10 + * Auto - Update S3 Ruleset & Partition by @waahm7 in (#434) + * Update test helper by @TingDaoK in (#431) + * Add explaination for the code that confuses me by @TingDaoK in (#433) + +------------------------------------------------------------------- Old: ---- v0.5.9.tar.gz New: ---- v0.5.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-s3.spec ++++++ --- /var/tmp/diff_new_pack.BWnhJw/_old 2024-06-06 12:32:21.555907091 +0200 +++ /var/tmp/diff_new_pack.BWnhJw/_new 2024-06-06 12:32:21.559907236 +0200 @@ -19,7 +19,7 @@ %define library_version 1.0.0 %define library_soversion 0unstable Name: aws-c-s3 -Version: 0.5.9 +Version: 0.5.10 Release: 0 Summary: AWS Cross-Platform, C99 wrapper for cryptography primitives License: Apache-2.0 ++++++ v0.5.9.tar.gz -> v0.5.10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/include/aws/s3/private/s3_util.h new/aws-c-s3-0.5.10/include/aws/s3/private/s3_util.h --- old/aws-c-s3-0.5.9/include/aws/s3/private/s3_util.h 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/include/aws/s3/private/s3_util.h 2024-06-03 17:59:04.000000000 +0200 @@ -299,9 +299,9 @@ uint64_t *out_part_range_start, uint64_t *out_part_range_end); -/* Match the S3 error code to CRT error code, return AWS_ERROR_UNKNOWN when not matched */ +/* Match the retry-able S3 error code to CRT error code, return AWS_ERROR_UNKNOWN when not matched. */ AWS_S3_API -int aws_s3_crt_error_code_from_server_error_code_string(struct aws_byte_cursor error_code_string); +int aws_s3_crt_error_code_from_recoverable_server_error_code_string(struct aws_byte_cursor error_code_string); AWS_S3_API void aws_s3_request_finish_up_metrics_synced(struct aws_s3_request *request, struct aws_s3_meta_request *meta_request); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/source/s3_endpoint_resolver/aws_s3_endpoint_resolver_partition.c new/aws-c-s3-0.5.10/source/s3_endpoint_resolver/aws_s3_endpoint_resolver_partition.c --- old/aws-c-s3-0.5.9/source/s3_endpoint_resolver/aws_s3_endpoint_resolver_partition.c 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/source/s3_endpoint_resolver/aws_s3_endpoint_resolver_partition.c 2024-06-03 17:59:04.000000000 +0200 @@ -196,23 +196,25 @@ 'P', 'S', '"', ':', 't', 'r', 'u', 'e', '}', ',', '"', 'r', 'e', 'g', 'i', 'o', 'n', 'R', 'e', 'g', 'e', 'x', '"', ':', '"', '^', 'e', 'u', '\\', '\\', '-', 'i', 's', 'o', 'e', '\\', '\\', '-', '\\', '\\', 'w', '+', '\\', '\\', '-', '\\', '\\', 'd', '+', '$', '"', ',', '"', 'r', 'e', 'g', 'i', 'o', 'n', 's', - '"', ':', '{', '}', '}', ',', '{', '"', 'i', 'd', '"', ':', '"', 'a', 'w', 's', '-', 'i', 's', 'o', - '-', 'f', '"', ',', '"', 'o', 'u', 't', 'p', 'u', 't', 's', '"', ':', '{', '"', 'd', 'n', 's', 'S', - 'u', 'f', 'f', 'i', 'x', '"', ':', '"', 'c', 's', 'p', '.', 'h', 'c', 'i', '.', 'i', 'c', '.', 'g', - 'o', 'v', '"', ',', '"', 'd', 'u', 'a', 'l', 'S', 't', 'a', 'c', 'k', 'D', 'n', 's', 'S', 'u', 'f', - 'f', 'i', 'x', '"', ':', '"', 'c', 's', 'p', '.', 'h', 'c', 'i', '.', 'i', 'c', '.', 'g', 'o', 'v', - '"', ',', '"', 'i', 'm', 'p', 'l', 'i', 'c', 'i', 't', 'G', 'l', 'o', 'b', 'a', 'l', 'R', 'e', 'g', - 'i', 'o', 'n', '"', ':', '"', 'u', 's', '-', 'i', 's', 'o', 'f', '-', 's', 'o', 'u', 't', 'h', '-', - '1', '"', ',', '"', 'n', 'a', 'm', 'e', '"', ':', '"', 'a', 'w', 's', '-', 'i', 's', 'o', '-', 'f', - '"', ',', '"', 's', 'u', 'p', 'p', 'o', 'r', 't', 's', 'D', 'u', 'a', 'l', 'S', 't', 'a', 'c', 'k', - '"', ':', 'f', 'a', 'l', 's', 'e', ',', '"', 's', 'u', 'p', 'p', 'o', 'r', 't', 's', 'F', 'I', 'P', - 'S', '"', ':', 't', 'r', 'u', 'e', '}', ',', '"', 'r', 'e', 'g', 'i', 'o', 'n', 'R', 'e', 'g', 'e', - 'x', '"', ':', '"', '^', 'u', 's', '\\', '\\', '-', 'i', 's', 'o', 'f', '\\', '\\', '-', '\\', '\\', 'w', - '+', '\\', '\\', '-', '\\', '\\', 'd', '+', '$', '"', ',', '"', 'r', 'e', 'g', 'i', 'o', 'n', 's', '"', - ':', '{', '}', '}', ']', ',', '"', 'v', 'e', 'r', 's', 'i', 'o', 'n', '"', ':', '"', '1', '.', '1', - '"', '}'}; + '"', ':', '{', '"', 'e', 'u', '-', 'i', 's', 'o', 'e', '-', 'w', 'e', 's', 't', '-', '1', '"', ':', + '{', '"', 'd', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', '"', ':', '"', 'E', 'U', ' ', 'I', + 'S', 'O', 'E', ' ', 'W', 'e', 's', 't', '"', '}', '}', '}', ',', '{', '"', 'i', 'd', '"', ':', '"', + 'a', 'w', 's', '-', 'i', 's', 'o', '-', 'f', '"', ',', '"', 'o', 'u', 't', 'p', 'u', 't', 's', '"', + ':', '{', '"', 'd', 'n', 's', 'S', 'u', 'f', 'f', 'i', 'x', '"', ':', '"', 'c', 's', 'p', '.', 'h', + 'c', 'i', '.', 'i', 'c', '.', 'g', 'o', 'v', '"', ',', '"', 'd', 'u', 'a', 'l', 'S', 't', 'a', 'c', + 'k', 'D', 'n', 's', 'S', 'u', 'f', 'f', 'i', 'x', '"', ':', '"', 'c', 's', 'p', '.', 'h', 'c', 'i', + '.', 'i', 'c', '.', 'g', 'o', 'v', '"', ',', '"', 'i', 'm', 'p', 'l', 'i', 'c', 'i', 't', 'G', 'l', + 'o', 'b', 'a', 'l', 'R', 'e', 'g', 'i', 'o', 'n', '"', ':', '"', 'u', 's', '-', 'i', 's', 'o', 'f', + '-', 's', 'o', 'u', 't', 'h', '-', '1', '"', ',', '"', 'n', 'a', 'm', 'e', '"', ':', '"', 'a', 'w', + 's', '-', 'i', 's', 'o', '-', 'f', '"', ',', '"', 's', 'u', 'p', 'p', 'o', 'r', 't', 's', 'D', 'u', + 'a', 'l', 'S', 't', 'a', 'c', 'k', '"', ':', 'f', 'a', 'l', 's', 'e', ',', '"', 's', 'u', 'p', 'p', + 'o', 'r', 't', 's', 'F', 'I', 'P', 'S', '"', ':', 't', 'r', 'u', 'e', '}', ',', '"', 'r', 'e', 'g', + 'i', 'o', 'n', 'R', 'e', 'g', 'e', 'x', '"', ':', '"', '^', 'u', 's', '\\', '\\', '-', 'i', 's', 'o', + 'f', '\\', '\\', '-', '\\', '\\', 'w', '+', '\\', '\\', '-', '\\', '\\', 'd', '+', '$', '"', ',', '"', 'r', + 'e', 'g', 'i', 'o', 'n', 's', '"', ':', '{', '}', '}', ']', ',', '"', 'v', 'e', 'r', 's', 'i', 'o', + 'n', '"', ':', '"', '1', '.', '1', '"', '}'}; const struct aws_byte_cursor aws_s3_endpoint_resolver_partitions = { - .len = 3982, + .len = 4029, .ptr = (uint8_t *) s_generated_array }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/source/s3_meta_request.c new/aws-c-s3-0.5.10/source/s3_meta_request.c --- old/aws-c-s3-0.5.9/source/s3_meta_request.c 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/source/s3_meta_request.c 2024-06-03 17:59:04.000000000 +0200 @@ -1504,6 +1504,13 @@ return true; } +/** + * Check the response detail, returns: + * - AWS_ERROR_SUCCESS for successfully response + * - AWS_ERROR_S3_NON_RECOVERABLE_ASYNC_ERROR 200 response with error in the body that is non-recoverable + * - AWS_ERROR_S3_INVALID_RESPONSE_STATUS for all other non-recoverable response. + * - Specific error code for recoverable response. + */ static int s_s3_meta_request_error_code_from_response(struct aws_s3_request *request) { AWS_PRECONDITION(request); @@ -1520,8 +1527,9 @@ struct aws_byte_cursor error_code_string = {0}; const char *xml_path[] = {"Error", "Code", NULL}; if (aws_xml_get_body_at_path(request->allocator, xml_doc, xml_path, &error_code_string) == AWS_OP_SUCCESS) { - /* Found an <Error><Code> string! Map it to CRT error code. */ - error_code_from_xml = aws_s3_crt_error_code_from_server_error_code_string(error_code_string); + /* Found an <Error><Code> string! Map it to CRT error code if retry-able. */ + error_code_from_xml = + aws_s3_crt_error_code_from_recoverable_server_error_code_string(error_code_string); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/source/s3_util.c new/aws-c-s3-0.5.10/source/s3_util.c --- old/aws-c-s3-0.5.9/source/s3_util.c 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/source/s3_util.c 2024-06-03 17:59:04.000000000 +0200 @@ -702,7 +702,7 @@ return AWS_OP_SUCCESS; } -int aws_s3_crt_error_code_from_server_error_code_string(struct aws_byte_cursor error_code_string) { +int aws_s3_crt_error_code_from_recoverable_server_error_code_string(struct aws_byte_cursor error_code_string) { if (aws_byte_cursor_eq_c_str_ignore_case(&error_code_string, "SlowDown")) { return AWS_ERROR_S3_SLOW_DOWN; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/tests/test_helper/README.md new/aws-c-s3-0.5.10/tests/test_helper/README.md --- old/aws-c-s3-0.5.9/tests/test_helper/README.md 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/tests/test_helper/README.md 2024-06-03 17:59:04.000000000 +0200 @@ -32,6 +32,11 @@ + `pre-existing-10MB` + `pre-existing-1MB` + `pre-existing-empty` + + with `--large_objects` enabled, several large objects will also be uploaded. Currently, only aws-c-s3's tests require these files, the aws-crt-*** repos do not: + - `pre-existing-256MB` + - `pre-existing-256MB-@` + - `pre-existing-2GB` + - `pre-existing-2GB-@` * Create `<BUCKET_NAME>-public` in us-west-2 * Upload files: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.5.9/tests/test_helper/test_helper.py new/aws-c-s3-0.5.10/tests/test_helper/test_helper.py --- old/aws-c-s3-0.5.9/tests/test_helper/test_helper.py 2024-05-13 17:38:43.000000000 +0200 +++ new/aws-c-s3-0.5.10/tests/test_helper/test_helper.py 2024-06-03 17:59:04.000000000 +0200 @@ -34,6 +34,11 @@ 'bucket_name', nargs='?', help='The bucket name base to use for the test buckets. If not specified, the $CRT_S3_TEST_BUCKET_NAME will be used, if set. Otherwise, a random name will be generated.') +parser.add_argument( + '--large_objects', + action='store_true', + help='enable helper to create pre-existing large objects.') + args = parser.parse_args() @@ -141,19 +146,20 @@ put_pre_existing_objects( 10*MB, 'pre-existing-10MB-kms', sse='kms', bucket=bucket_name) put_pre_existing_objects( - 256*MB, 'pre-existing-256MB', bucket=bucket_name) - put_pre_existing_objects( - 256*MB, 'pre-existing-256MB-@', bucket=bucket_name) - put_pre_existing_objects( - 2*GB, 'pre-existing-2GB', bucket=bucket_name) - put_pre_existing_objects( - 2*GB, 'pre-existing-2GB-@', bucket=bucket_name) - put_pre_existing_objects( 1*MB, 'pre-existing-1MB', bucket=bucket_name) put_pre_existing_objects( 1*MB, 'pre-existing-1MB-@', bucket=bucket_name) put_pre_existing_objects( 0, 'pre-existing-empty', bucket=bucket_name) + if args.large_objects: + put_pre_existing_objects( + 256*MB, 'pre-existing-256MB', bucket=bucket_name) + put_pre_existing_objects( + 256*MB, 'pre-existing-256MB-@', bucket=bucket_name) + put_pre_existing_objects( + 2*GB, 'pre-existing-2GB', bucket=bucket_name) + put_pre_existing_objects( + 2*GB, 'pre-existing-2GB-@', bucket=bucket_name) except botocore.exceptions.ClientError as e: # The bucket already exists. That's fine.