110 lines
4.8 KiB
Groff
110 lines
4.8 KiB
Groff
.\" generated by cd2nroff 0.1 from libcurl-env-dbg.md
|
|
.TH libcurl-env-dbg 3 "2025-08-14" libcurl
|
|
.SH NAME
|
|
libcurl\-env\-dbg \- environment variables libcurl DEBUGBUILD understands
|
|
.SH DESCRIPTION
|
|
This is a set of variables only recognized and used if libcurl was built
|
|
\&"debug enabled", which should never be true for a library used in production.
|
|
These variables are intended for internal use only, subject to change and have
|
|
many effects on the behavior of libcurl. Refer to the source code to determine
|
|
how exactly they are being used.
|
|
.IP CURL_ALTSVC_HTTP
|
|
Bypass the AltSvc HTTPS protocol restriction if this variable exists.
|
|
.IP CURL_DBG_SOCK_RBLOCK
|
|
The percentage of recv() calls that should be answered with an EAGAIN at
|
|
random. For TCP/UNIX sockets.
|
|
.IP CURL_DBG_SOCK_RMAX
|
|
The maximum data that shall be received from the network in one recv() call.
|
|
For TCP/UNIX sockets. This is applied to every recv.
|
|
|
|
Example: \fBCURL_DBG_SOCK_RMAX=400\fP means recv buffer size is limited to a
|
|
maximum of 400 bytes.
|
|
.IP CURL_DBG_SOCK_WBLOCK
|
|
The percentage of send() calls that should be answered with an EAGAIN at
|
|
random. For TCP/UNIX sockets.
|
|
.IP CURL_DBG_SOCK_WPARTIAL
|
|
The percentage of data that shall be written to the network. For TCP/UNIX
|
|
sockets. This is applied to every send.
|
|
|
|
Example: \fBCURL_DBG_SOCK_WPARTIAL=80\fP means a send with 1000 bytes would
|
|
only send 800.
|
|
.IP CURL_DBG_QUIC_WBLOCK
|
|
The percentage of send() calls that should be answered with EAGAIN at random.
|
|
QUIC only.
|
|
.IP CURL_DEBUG
|
|
Trace logging behavior as an alternative to calling \fIcurl_global_trace(3)\fP.
|
|
|
|
Example: \fBCURL_DEBUG=http/2\fP means trace details about HTTP/2 handling.
|
|
|
|
In the curl command line tool, built with \fI\--enable\-debug\fP, this environment
|
|
variable adds to arguments like \fI\--verbose\fP, \fI\-vvv\fP. At least a single \fI\-v\fP
|
|
is needed to make the run emit trace output, but when it does, the contents
|
|
of \fICURL_DEBUG\fP are added and can override existing options.
|
|
|
|
Example: \fBCURL_DEBUG=tcp,\-http/2 curl \-vv url\fP means trace protocol details,
|
|
triggered by \fI\-vv\fP, add tracing of TCP in addition and remove tracing of
|
|
HTTP/2.
|
|
.IP CURL_DEBUG_SIZE
|
|
Fake the size returned by CURLINFO_HEADER_SIZE and CURLINFO_REQUEST_SIZE.
|
|
.IP CURL_DNS_SERVER
|
|
When built with c\-ares for name resolving, setting this environment variable
|
|
to \fI[IP:port]\fP makes libcurl use that DNS server instead of the system
|
|
default. This is used by the curl test suite.
|
|
.IP CURL_FTP_PWD_STOP
|
|
When set, the first transfer \- when using ftp: \- returns before sending
|
|
the \fIPWD\fP command and stop any further progress. This is used to test
|
|
an edge case
|
|
.IP CURL_GETHOSTNAME
|
|
Fake the local machine\(aqs unqualified hostname for NTLM and SMTP.
|
|
.IP CURL_HSTS_HTTP
|
|
Bypass the HSTS HTTPS protocol restriction if this variable exists.
|
|
.IP CURL_FORCETIME
|
|
A time of 0 is used for AWS signatures and NTLM if this variable exists.
|
|
.IP CURL_ENTROPY
|
|
A fixed faked value to use instead of a proper random number so that functions
|
|
in libcurl that are otherwise getting random outputs can be tested for what
|
|
they generate.
|
|
.IP CURL_SMALLREQSEND
|
|
An alternative size of HTTP data to be sent at a time only if smaller than the
|
|
current.
|
|
.IP CURL_SMALLSENDS
|
|
An alternative size of socket data to be sent at a time only if smaller than
|
|
the current.
|
|
.IP CURL_TIME
|
|
Fake Unix timestamp to use for AltSvc, HSTS and CURLINFO variables that are
|
|
time related.
|
|
|
|
This variable can also be used to fake the data returned by some CURLINFO
|
|
variables that are not time\-related (such as CURLINFO_LOCAL_PORT), and in that
|
|
case the value is not a timestamp.
|
|
.IP CURL_TRACE
|
|
LDAP tracing is enabled if this variable exists and its value is 1 or greater.
|
|
|
|
OpenLDAP tracing is separate. Refer to CURL_OPENLDAP_TRACE.
|
|
.IP CURL_OPENLDAP_TRACE
|
|
OpenLDAP tracing is enabled if this variable exists and its value is 1 or
|
|
greater. There is a number of debug levels, refer to \fIopenldap.c\fP comments.
|
|
.IP CURL_WS_CHUNK_SIZE
|
|
Used to influence the buffer chunk size used for WebSocket encoding and
|
|
decoding.
|
|
.IP CURL_WS_CHUNK_EAGAIN
|
|
Used to simulate blocking sends after this chunk size for WebSocket
|
|
connections.
|
|
.IP CURL_WS_FORCE_ZERO_MASK
|
|
Used to set the bitmask of all sent WebSocket frames to zero. The value of the
|
|
environment variable does not matter.
|
|
.IP CURL_FORBID_REUSE
|
|
Used to set the CURLOPT_FORBID_REUSE flag on each transfer initiated
|
|
by the curl command line tool. The value of the environment variable
|
|
does not matter.
|
|
.IP CURL_GRACEFUL_SHUTDOWN
|
|
Make a blocking, graceful shutdown of all remaining connections when
|
|
a multi handle is destroyed. This implicitly triggers for easy handles
|
|
that are run via easy_perform. The value of the environment variable
|
|
gives the shutdown timeout in milliseconds.
|
|
.IP CURL_H2_STREAM_WIN_MAX
|
|
Set to a positive 32\-bit number to override the HTTP/2 stream window\(aqs
|
|
default of 10MB. Used in testing to verify correct window update handling.
|
|
.SH SEE ALSO
|
|
.BR libcurl-env (3)
|