From 7e0a9b309cce7e6ea6c0f9a4b3ed4c48e4d97351 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 20 Mar 2026 23:41:11 +0100 Subject: [PATCH] CURLOPT_HAPROXY_CLIENT_IP.md: mention assuption on data format The user is assumed to pass in correct data. I think we should start clarifying this in more places. Closes #21042 --- docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md b/docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md index 01b7156d15..f26bda7cf1 100644 --- a/docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md +++ b/docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md @@ -27,9 +27,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXY_CLIENT_IP, # DESCRIPTION -When this parameter is set to a valid IPv4 or IPv6 numerical address, the -library sends this address as client address in the HAProxy PROXY protocol v1 -header at beginning of the connection. +When this parameter is set to a valid IPv4 or IPv6 numerical address in its +printable ASCII string version, the library sends this as the client address +in the HAProxy PROXY protocol v1 header at beginning of the connection. This option is an alternative to CURLOPT_HAPROXYPROTOCOL(3) as that one cannot use a specified address. @@ -40,6 +40,9 @@ previous ones. Set it to NULL to disable its use again. The application does not have to keep the string around after setting this option. +As with most libcurl options, the user of this option must make sure that the +*correct* data (address) is passed on. libcurl does little to no verification. + Note that if you want to send a *different* HAProxy client IP in a subsequent request, you need to make sure that it is done over a fresh connection as libcurl does not send it again while reusing connections.