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 2025-04-07 17:37:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-s3 (Old) and /work/SRC/openSUSE:Factory/.aws-c-s3.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-s3" Mon Apr 7 17:37:52 2025 rev:20 rq:1267486 version:0.7.15 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-s3/aws-c-s3.changes 2025-04-04 17:34:31.313539493 +0200 +++ /work/SRC/openSUSE:Factory/.aws-c-s3.new.1907/aws-c-s3.changes 2025-04-07 17:37:59.872289187 +0200 @@ -1,0 +2,6 @@ +Fri Apr 4 11:00:40 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 0.7.15 + * Add request ID to debug level log by @TingDaoK in (#504) + +------------------------------------------------------------------- Old: ---- v0.7.14.tar.gz New: ---- v0.7.15.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-s3.spec ++++++ --- /var/tmp/diff_new_pack.kgKbjx/_old 2025-04-07 17:38:00.256305251 +0200 +++ /var/tmp/diff_new_pack.kgKbjx/_new 2025-04-07 17:38:00.260305418 +0200 @@ -19,7 +19,7 @@ %define library_version 1.0.0 %define library_soversion 0unstable Name: aws-c-s3 -Version: 0.7.14 +Version: 0.7.15 Release: 0 Summary: AWS Cross-Platform, C99 wrapper for cryptography primitives License: Apache-2.0 ++++++ v0.7.14.tar.gz -> v0.7.15.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.7.14/include/aws/s3/private/s3_request.h new/aws-c-s3-0.7.15/include/aws/s3/private/s3_request.h --- old/aws-c-s3-0.7.14/include/aws/s3/private/s3_request.h 2025-03-31 20:04:32.000000000 +0200 +++ new/aws-c-s3-0.7.15/include/aws/s3/private/s3_request.h 2025-04-02 00:05:14.000000000 +0200 @@ -210,6 +210,11 @@ /* Returned response status of this request. */ int response_status; + /* Returned request ID of this request. */ + struct aws_string *request_id; + /* Returned amz ID 2 of this request. */ + struct aws_string *amz_id_2; + /* The metrics for the request telemetry */ struct aws_s3_request_metrics *metrics; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.7.14/include/aws/s3/private/s3_util.h new/aws-c-s3-0.7.15/include/aws/s3/private/s3_util.h --- old/aws-c-s3-0.7.14/include/aws/s3/private/s3_util.h 2025-03-31 20:04:32.000000000 +0200 +++ new/aws-c-s3-0.7.15/include/aws/s3/private/s3_util.h 2025-04-02 00:05:14.000000000 +0200 @@ -127,6 +127,7 @@ extern const struct aws_byte_cursor g_if_match_header_name; extern const struct aws_byte_cursor g_request_id_header_name; +extern const struct aws_byte_cursor g_amz_id_2_header_name; AWS_S3_API extern const struct aws_byte_cursor g_content_range_header_name; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.7.14/source/s3_meta_request.c new/aws-c-s3-0.7.15/source/s3_meta_request.c --- old/aws-c-s3-0.7.14/source/s3_meta_request.c 2025-03-31 20:04:32.000000000 +0200 +++ new/aws-c-s3-0.7.15/source/s3_meta_request.c 2025-04-02 00:05:14.000000000 +0200 @@ -1276,6 +1276,7 @@ struct aws_s3_meta_request *meta_request = request->meta_request; AWS_PRECONDITION(meta_request); + bool collect_metrics = request->send_data.metrics != NULL; if (aws_http_stream_get_incoming_response_status(stream, &request->send_data.response_status)) { AWS_LOGF_ERROR( @@ -1284,23 +1285,13 @@ (void *)meta_request, (void *)request); } - if (request->send_data.metrics) { + + if (collect_metrics) { /* Record the headers to the metrics */ struct aws_s3_request_metrics *s3_metrics = request->send_data.metrics; if (s3_metrics->req_resp_info_metrics.response_headers == NULL) { s3_metrics->req_resp_info_metrics.response_headers = aws_http_headers_new(meta_request->allocator); } - - for (size_t i = 0; i < headers_count; ++i) { - const struct aws_byte_cursor *name = &headers[i].name; - const struct aws_byte_cursor *value = &headers[i].value; - if (aws_byte_cursor_eq(name, &g_request_id_header_name)) { - s3_metrics->req_resp_info_metrics.request_id = - aws_string_new_from_cursor(connection->request->allocator, value); - } - - aws_http_headers_add(s3_metrics->req_resp_info_metrics.response_headers, *name, *value); - } s3_metrics->req_resp_info_metrics.response_status = request->send_data.response_status; } @@ -1320,11 +1311,25 @@ if (request->send_data.response_headers == NULL) { request->send_data.response_headers = aws_http_headers_new(meta_request->allocator); } + } - for (size_t i = 0; i < headers_count; ++i) { - const struct aws_byte_cursor *name = &headers[i].name; - const struct aws_byte_cursor *value = &headers[i].value; - + for (size_t i = 0; i < headers_count; ++i) { + const struct aws_byte_cursor *name = &headers[i].name; + const struct aws_byte_cursor *value = &headers[i].value; + if (request->send_data.request_id == NULL && aws_byte_cursor_eq(name, &g_request_id_header_name)) { + request->send_data.request_id = aws_string_new_from_cursor(connection->request->allocator, value); + if (collect_metrics) { + request->send_data.metrics->req_resp_info_metrics.request_id = + aws_string_new_from_cursor(connection->request->allocator, value); + } + } + if (request->send_data.amz_id_2 == NULL && aws_byte_cursor_eq(name, &g_amz_id_2_header_name)) { + request->send_data.amz_id_2 = aws_string_new_from_cursor(connection->request->allocator, value); + } + if (collect_metrics) { + aws_http_headers_add(request->send_data.metrics->req_resp_info_metrics.response_headers, *name, *value); + } + if (should_record_headers) { aws_http_headers_add(request->send_data.response_headers, *name, *value); } } @@ -1624,12 +1629,15 @@ AWS_LOGF_DEBUG( AWS_LS_S3_META_REQUEST, - "id=%p: Request %p finished with error code %d (%s) and response status %d", + "id=%p: Request %p finished with error code %d (%s) and response status %d, x-amz-request-id: %s, x-amz-id-2: " + "%s", (void *)meta_request, (void *)request, error_code, aws_error_debug_str(error_code), - response_status); + response_status, + request->send_data.request_id ? aws_string_c_str(request->send_data.request_id) : "N/A", + request->send_data.amz_id_2 ? aws_string_c_str(request->send_data.amz_id_2) : "N/A"); enum aws_s3_connection_finish_code finish_code = AWS_S3_CONNECTION_FINISH_CODE_FAILED; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.7.14/source/s3_request.c new/aws-c-s3-0.7.15/source/s3_request.c --- old/aws-c-s3-0.7.14/source/s3_request.c 2025-03-31 20:04:32.000000000 +0200 +++ new/aws-c-s3-0.7.15/source/s3_request.c 2025-04-02 00:05:14.000000000 +0200 @@ -100,6 +100,8 @@ request->send_data.signable = NULL; aws_http_headers_release(request->send_data.response_headers); request->send_data.response_headers = NULL; + aws_string_destroy(request->send_data.request_id); + aws_string_destroy(request->send_data.amz_id_2); aws_byte_buf_clean_up(&request->send_data.response_body); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-s3-0.7.14/source/s3_util.c new/aws-c-s3-0.7.15/source/s3_util.c --- old/aws-c-s3-0.7.14/source/s3_util.c 2025-03-31 20:04:32.000000000 +0200 +++ new/aws-c-s3-0.7.15/source/s3_util.c 2025-04-02 00:05:14.000000000 +0200 @@ -29,6 +29,7 @@ const struct aws_byte_cursor g_range_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("Range"); const struct aws_byte_cursor g_if_match_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("If-Match"); const struct aws_byte_cursor g_request_id_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("x-amz-request-id"); +const struct aws_byte_cursor g_amz_id_2_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("x-amz-id-2"); const struct aws_byte_cursor g_etag_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("ETag"); const struct aws_byte_cursor g_content_range_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("Content-Range"); const struct aws_byte_cursor g_content_type_header_name = AWS_BYTE_CUR_INIT_FROM_STRING_LITERAL("Content-Type");