From 799b52accf71e86756dde738d22c1c6a500a7e29 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Fri, 24 Apr 2020 23:12:51 +0200 Subject: [PATCH] lib-http: http-client-request - Properly reset payload state upon retry/redirect. --- src/lib-http/http-client-request.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index 1b04b9ebf2..8a0cc3c662 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -1426,6 +1426,8 @@ http_client_request_send_real(struct http_client_request *req, bool pipelined) iov[2].iov_len = 2; req->state = HTTP_REQUEST_STATE_PAYLOAD_OUT; + req->payload_finished = FALSE; + req->send_attempts++; if (req->first_sent_time.tv_sec == 0) req->first_sent_time = ioloop_timeval; @@ -1698,6 +1700,10 @@ http_client_request_reset(struct http_client_request *req, bool rewind, /* Drop payload output stream from previous attempt */ o_stream_unref(&req->payload_output); + + /* Reset payload state */ + req->payload_finished = FALSE; + return 0; }