aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/libcurl-env-dbg.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libcurl/libcurl-env-dbg.md')
-rw-r--r--docs/libcurl/libcurl-env-dbg.md118
1 files changed, 118 insertions, 0 deletions
diff --git a/docs/libcurl/libcurl-env-dbg.md b/docs/libcurl/libcurl-env-dbg.md
new file mode 100644
index 000000000..21b763bb4
--- /dev/null
+++ b/docs/libcurl/libcurl-env-dbg.md
@@ -0,0 +1,118 @@
+---
+c: Copyright (C) Daniel Stenberg, <daniel.se>, et al.
+SPDX-License-Identifier: curl
+Title: libcurl-env-dbg
+Section: 3
+Source: libcurl
+See-also:
+ - libcurl-env (3)
+---
+
+# NAME
+
+libcurl-env-dbg - environment variables libcurl DEBUGBUILD understands
+
+# 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.
+
+## CURL_ALTSVC_HTTP
+
+Bypass the AltSvc HTTPS protocol restriction if this variable exists.
+
+## CURL_DBG_SOCK_RBLOCK
+
+The percentage of recv() calls that should be answered with a EAGAIN at random.
+For TCP/UNIX sockets.
+
+## 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: **CURL_DBG_SOCK_RMAX=400** means recv buffer size is limited to a
+maximum of 400 bytes.
+
+## CURL_DBG_SOCK_WBLOCK
+
+The percentage of send() calls that should be answered with a EAGAIN at random.
+For TCP/UNIX sockets.
+
+## 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: **CURL_DBG_SOCK_WPARTIAL=80** means a send with 1000 bytes would
+only send 800.
+
+## CURL_DBG_QUIC_WBLOCK
+
+The percentage of send() calls that should be answered with EAGAIN at random.
+QUIC only.
+
+## CURL_DEBUG
+
+Trace logging behavior as an alternative to calling curl_global_trace(3).
+
+Example: **CURL_DEBUG=http/2** means trace details about HTTP/2 handling.
+
+## CURL_DEBUG_SIZE
+
+Fake the size returned by CURLINFO_HEADER_SIZE and CURLINFO_REQUEST_SIZE.
+
+## CURL_GETHOSTNAME
+
+Fake the local machine's unqualified hostname for NTLM and SMTP.
+
+## CURL_HSTS_HTTP
+
+Bypass the HSTS HTTPS protocol restriction if this variable exists.
+
+## CURL_FORCETIME
+
+A time of 0 is used for AWS signatures and NTLM if this variable exists.
+
+## 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.
+
+## CURL_SMALLREQSEND
+
+An alternative size of HTTP data to be sent at a time only if smaller than the
+current.
+
+## CURL_SMALLSENDS
+
+An alternative size of socket data to be sent at a time only if smaller than
+the current.
+
+## 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.
+
+## 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.
+
+## CURL_NTLM_WB_FILE
+
+Debug-version of the *ntlm-wb* executable.
+
+## 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 *openldap.c* comments.