0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 04:02:15 +02:00

aws: fix ReplaceRoute error handling

Commit 5b524b1f ("WS::ClientSet: added new TransactionSet flag
retry_on_http_4xx") sets E_BAD_REQUEST transport status in case of
HTTP 400. This breaks replace_create_route() behavior, which
doesn't expect transport error for ReplaceRoute and fails the
whole transaction set.

Fix by setting retry_on_http_4xx flag to false before executing
ReplaceRoute. We expect to get 400 if route doesn't exist, so no
need to retry.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
This commit is contained in:
Lev Stipakov 2023-06-29 11:13:45 +00:00
parent 44f9cc447c
commit 528ec40c11

View File

@ -376,6 +376,9 @@ class Route
add_transaction(ctx, std::move(q));
}
// we expect to get 400 if route doesn't exist, so no need to retry
ctx.ts->retry_on_http_4xx = false;
// do transaction
execute_transaction(ctx);
@ -420,6 +423,8 @@ class Route
add_transaction(ctx, std::move(q));
}
ctx.ts->retry_on_http_4xx = true;
// do transaction
execute_transaction(ctx);