]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Fix using larger dns ttl/timeout settings than defaults
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 25 Jul 2023 06:58:52 +0000 (09:58 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:09 +0000 (12:34 +0200)
src/lib-http/http-client.c

index 97baf26c86ac4cc626ad69c1e7e3dfbeb2be178c..15da5ccba6914c199db0f9dd58b2c74e6ec51631 100644 (file)
@@ -519,9 +519,8 @@ http_client_context_update_settings(struct http_client_context *cctx)
        /* Revert back to default settings */
        cctx->dns_client = NULL;
        cctx->dns_client_socket_path = NULL;
-       cctx->dns_ttl_msecs = HTTP_CLIENT_DEFAULT_DNS_TTL_MSECS;
-       cctx->dns_lookup_timeout_msecs =
-               HTTP_CLIENT_DEFAULT_DNS_LOOKUP_TIMEOUT_MSECS;
+       cctx->dns_ttl_msecs = UINT_MAX;
+       cctx->dns_lookup_timeout_msecs = UINT_MAX;
 
        /* Override with available client settings */
        for (client = cctx->clients_list; client != NULL;
@@ -546,6 +545,13 @@ http_client_context_update_settings(struct http_client_context *cctx)
                debug = debug || client->set.debug;
        }
 
+       if (cctx->dns_ttl_msecs == UINT_MAX)
+               cctx->dns_ttl_msecs = HTTP_CLIENT_DEFAULT_DNS_TTL_MSECS;
+       if (cctx->dns_lookup_timeout_msecs == UINT_MAX) {
+               cctx->dns_lookup_timeout_msecs =
+                       HTTP_CLIENT_DEFAULT_DNS_LOOKUP_TIMEOUT_MSECS;
+       }
+
        event_set_forced_debug(cctx->event, debug);
 }