Module: kamailio
Branch: master
Commit: 4a2f5334e898b0c1aaffdd73cae205c9fee43f37
URL:
https://github.com/kamailio/kamailio/commit/4a2f5334e898b0c1aaffdd73cae205c…
Author: Federico Cabiddu <federico.cabiddu(a)gmail.com>
Committer: Federico Cabiddu <federico.cabiddu(a)gmail.com>
Date: 2019-02-09T16:16:50+01:00
http_async_client: add ifdef/endif block for tcp_keepalive
---
Modified: src/modules/http_async_client/doc/http_async_client_admin.xml
Modified: src/modules/http_async_client/http_multi.c
---
Diff:
https://github.com/kamailio/kamailio/commit/4a2f5334e898b0c1aaffdd73cae205c…
Patch:
https://github.com/kamailio/kamailio/commit/4a2f5334e898b0c1aaffdd73cae205c…
---
diff --git a/src/modules/http_async_client/doc/http_async_client_admin.xml
b/src/modules/http_async_client/doc/http_async_client_admin.xml
index 73fdf32841..5a050bf424 100644
--- a/src/modules/http_async_client/doc/http_async_client_admin.xml
+++ b/src/modules/http_async_client/doc/http_async_client_admin.xml
@@ -299,6 +299,11 @@ modparam("http_async_client", "tls_ca_path",
"/etc/kamailio/ssl/ca/")
<para>
If defined to a non-zero value, TCP keepalive will be enabled on cURL connections.
</para>
+ <para>
+ <emphasis>
+ Requires libcurl >= 7.25.0
+ </emphasis>
+ </para>
<para>
<emphasis>
Default value is 0 (disabled).
diff --git a/src/modules/http_async_client/http_multi.c
b/src/modules/http_async_client/http_multi.c
index 43936a78de..948171b519 100644
--- a/src/modules/http_async_client/http_multi.c
+++ b/src/modules/http_async_client/http_multi.c
@@ -529,6 +529,7 @@ int new_request(str *query, http_m_params_t *query_params,
http_multi_cbe_t cb,
/* enable tcp keepalives for the handler */
if (cell->params.tcp_keepalive) {
+#ifdef CURLOPT_TCP_KEEPALIVE
LM_DBG("Enabling TCP keepalives\n");
curl_easy_setopt(cell->easy, CURLOPT_TCP_KEEPALIVE, 1L);
@@ -541,6 +542,9 @@ int new_request(str *query, http_m_params_t *query_params,
http_multi_cbe_t cb,
curl_easy_setopt(cell->easy, CURLOPT_TCP_KEEPINTVL,
cell->params.tcp_ka_interval);
LM_DBG("CURLOPT_TCP_KEEPINTERVAL set to %d\n",
cell->params.tcp_ka_interval);
}
+#else
+ LM_DBG("tcp_keepalive configured, but installed cURL version doesn't include
CURLOPT_TCP_KEEPINTERVAL.\n");
+#endif
}
LM_DBG("Adding easy %p to multi %p (%.*s)\n", cell->easy, g->multi,
query->len, query->s);