From: Florian Forster Date: Tue, 19 Dec 2023 08:51:55 +0000 (+0100) Subject: src/nginx.c: Importing changes from `main`. X-Git-Tag: 6.0.0-rc0~2^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a61e04ddd8250146a9e9860d8259ee08a58f023;p=thirdparty%2Fcollectd.git src/nginx.c: Importing changes from `main`. Changes: dd7e4fd34042483cc90ee2762f4b507fd6637d37 nginx: add support for unix domain sockets --- diff --git a/src/nginx.c b/src/nginx.c index 0da66ce2e..08293a506 100644 --- a/src/nginx.c +++ b/src/nginx.c @@ -40,6 +40,7 @@ static char *verify_peer; static char *verify_host; static char *cacert; static char *timeout; +static char *sock; static CURL *curl; @@ -47,8 +48,9 @@ static char nginx_buffer[16384]; static size_t nginx_buffer_len; static char nginx_curl_error[CURL_ERROR_SIZE]; -static const char *config_keys[] = { - "URL", "User", "Password", "VerifyPeer", "VerifyHost", "CACert", "Timeout"}; +static const char *config_keys[] = {"URL", "User", "Password", + "VerifyPeer", "VerifyHost", "CACert", + "Timeout", "Socket"}; static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); static size_t nginx_curl_callback(void *buf, size_t size, size_t nmemb, @@ -98,6 +100,8 @@ static int config(const char *key, const char *value) { return config_set(&cacert, value); else if (strcasecmp(key, "timeout") == 0) return config_set(&timeout, value); + else if (strcasecmp(key, "socket") == 0) + return config_set(&sock, value); else return -1; } /* int config */ @@ -161,6 +165,12 @@ static int init(void) { } #endif +#ifdef HAVE_CURLOPT_UNIX_SOCKET_PATH + if (sock != NULL) { + curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, sock); + } +#endif + return 0; } /* void init */