]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Back port CURL version fixes from 3.2
authorNick Porter <nick@portercomputing.co.uk>
Thu, 23 Jan 2025 11:33:38 +0000 (11:33 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 23 Jan 2025 11:33:38 +0000 (11:33 +0000)
src/modules/rlm_rest/rest.c

index dc6346943bbb6f9cc53d78f8bbed38fe25217567..649a76b66383519b4327ba7c933e2d4aa07736b0 100644 (file)
@@ -480,10 +480,15 @@ int mod_conn_alive(void *instance, void *handle)
        rlm_rest_handle_t       *randle = handle;
        CURL                    *candle = randle->handle;
 
-       long last_socket;
        CURLcode ret;
 
-       ret = curl_easy_getinfo(candle, CURLINFO_LASTSOCKET, &last_socket);
+#if CURL_AT_LEAST_VERSION(7,45,0)
+       curl_socket_t   socket;
+       ret = curl_easy_getinfo(candle, CURLINFO_ACTIVESOCKET, &socket);
+#else
+       long    socket;
+       ret = curl_easy_getinfo(candle, CURLINFO_LASTSOCKET, &socket);
+#endif
        if (ret != CURLE_OK) {
                ERROR("rlm_rest (%s): Couldn't determine socket state: %i - %s", inst->xlat_name, ret,
                      curl_easy_strerror(ret));
@@ -491,7 +496,7 @@ int mod_conn_alive(void *instance, void *handle)
                return false;
        }
 
-       if (last_socket == -1) {
+       if (socket == -1) {
                return false;
        }
 
@@ -2237,9 +2242,11 @@ int rest_request_config(rlm_rest_t *instance, rlm_rest_section_t *section,
                SET_OPTION(CURLOPT_CAPATH, section->tls_ca_path);
        }
 
+#if !CURL_AT_LEAST_VERSION(7,84,0)
        if (section->tls_random_file) {
                SET_OPTION(CURLOPT_RANDOM_FILE, section->tls_random_file);
        }
+#endif
 
        SET_OPTION(CURLOPT_SSL_VERIFYPEER, (section->tls_check_cert == true) ? 1 : 0);
        SET_OPTION(CURLOPT_SSL_VERIFYHOST, (section->tls_check_cert_cn == true) ? 2 : 0);