Mercurial > dovecot > core-2.2
changeset 19841:0101120789fb
lib-http: client: Gave request, connect and dns timeouts defaults that make more sense.
author | Stephan Bosch <stephan@rename-it.nl> |
---|---|
date | Fri, 26 Feb 2016 00:15:17 +0200 |
parents | 4487e5892f41 |
children | 177bf7bb8673 |
files | src/lib-http/http-client-host.c src/lib-http/http-client-private.h src/lib-http/http-client.c |
diffstat | 3 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-client-host.c Thu Feb 25 22:46:11 2016 +0100 +++ b/src/lib-http/http-client-host.c Fri Feb 26 00:15:17 2016 +0200 @@ -118,7 +118,14 @@ memset(&dns_set, 0, sizeof(dns_set)); dns_set.dns_client_socket_path = client->set.dns_client_socket_path; - dns_set.timeout_msecs = HTTP_CLIENT_DNS_LOOKUP_TIMEOUT_MSECS; + if (client->set.connect_timeout_msecs > 0) + dns_set.timeout_msecs = client->set.connect_timeout_msecs; + else if (client->set.request_timeout_msecs > 0) + dns_set.timeout_msecs = client->set.request_timeout_msecs; + else { + dns_set.timeout_msecs = + HTTP_CLIENT_DEFAULT_DNS_LOOKUP_TIMEOUT_MSECS; + } (void)dns_lookup(host->name, &dns_set, http_client_host_dns_callback, host, &host->dns_lookup); } else {
--- a/src/lib-http/http-client-private.h Thu Feb 25 22:46:11 2016 +0100 +++ b/src/lib-http/http-client-private.h Fri Feb 26 00:15:17 2016 +0200 @@ -9,10 +9,9 @@ #define HTTP_DEFAULT_PORT 80 #define HTTPS_DEFAULT_PORT 443 -#define HTTP_CLIENT_DNS_LOOKUP_TIMEOUT_MSECS (1000*30) -#define HTTP_CLIENT_CONNECT_TIMEOUT_MSECS (1000*30) #define HTTP_CLIENT_CONTINUE_TIMEOUT_MSECS (1000*2) -#define HTTP_CLIENT_DEFAULT_REQUEST_TIMEOUT_MSECS (1000*60*5) +#define HTTP_CLIENT_DEFAULT_REQUEST_TIMEOUT_MSECS (1000*60*1) +#define HTTP_CLIENT_DEFAULT_DNS_LOOKUP_TIMEOUT_MSECS (1000*10) #define HTTP_CLIENT_DEFAULT_BACKOFF_TIME_MSECS (100) #define HTTP_CLIENT_DEFAULT_BACKOFF_MAX_TIME_MSECS (1000*60)
--- a/src/lib-http/http-client.c Thu Feb 25 22:46:11 2016 +0100 +++ b/src/lib-http/http-client.c Fri Feb 26 00:15:17 2016 +0200 @@ -142,7 +142,10 @@ client->set.response_hdr_limits = set->response_hdr_limits; client->set.request_absolute_timeout_msecs = set->request_absolute_timeout_msecs; - client->set.request_timeout_msecs = set->request_timeout_msecs; + client->set.request_timeout_msecs = + set->request_timeout_msecs == 0 ? + HTTP_CLIENT_DEFAULT_REQUEST_TIMEOUT_MSECS : + set->request_timeout_msecs; client->set.connect_timeout_msecs = set->connect_timeout_msecs; client->set.soft_connect_timeout_msecs = set->soft_connect_timeout_msecs; client->set.max_auto_retry_delay = set->max_auto_retry_delay;