From: Timo Sirainen Date: Thu, 22 Apr 2021 17:27:45 +0000 (+0300) Subject: lib-http: http-client-request - Preserve global events' reason_code in request events X-Git-Tag: 2.3.18~360 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b6e14ce5e787be0795f0d552ee771be2c8e9ca5;p=thirdparty%2Fdovecot%2Fcore.git lib-http: http-client-request - Preserve global events' reason_code in request events Since HTTP requests are asynchronous, it's possible that the global events go away before the HTTP request is finished. This way the reason_code will be preserved in http_request_finished event. --- diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index 0a471f7f5d..8453294cae 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -119,6 +119,8 @@ http_client_request_new(struct http_client *client, const char *method, req->context = context; req->date = (time_t)-1; req->event = event_create(client->event); + event_strlist_copy_recursive(req->event, event_get_global(), + EVENT_REASON_CODE); /* Default to client-wide settings: */ req->max_attempts = client->set.max_attempts; @@ -242,6 +244,8 @@ void http_client_request_set_event(struct http_client_request *req, event_unref(&req->event); req->event = event_create(event); event_set_forced_debug(req->event, req->client->set.debug); + event_strlist_copy_recursive(req->event, event_get_global(), + EVENT_REASON_CODE); http_client_request_update_event(req); }