libcurl-env.3 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. .\" **************************************************************************
  2. .\" * _ _ ____ _
  3. .\" * Project ___| | | | _ \| |
  4. .\" * / __| | | | |_) | |
  5. .\" * | (__| |_| | _ <| |___
  6. .\" * \___|\___/|_| \_\_____|
  7. .\" *
  8. .\" * Copyright (C) 2018 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  9. .\" *
  10. .\" * This software is licensed as described in the file COPYING, which
  11. .\" * you should have received as part of this distribution. The terms
  12. .\" * are also available at https://curl.se/docs/copyright.html.
  13. .\" *
  14. .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  15. .\" * copies of the Software, and permit persons to whom the Software is
  16. .\" * furnished to do so, under the terms of the COPYING file.
  17. .\" *
  18. .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
  19. .\" * KIND, either express or implied.
  20. .\" *
  21. .\" **************************************************************************
  22. .TH libcurl-env 3 "20 January 2018" "libcurl 7.58.0" "libcurl environment variables"
  23. .SH NAME
  24. libcurl-env \- environment variables libcurl understands
  25. .SH DESCRIPTION
  26. libcurl reads and understands a set of environment variables that if set will
  27. control and change behaviors. This is the full list of variables to set and
  28. description of what they do. Also note that curl, the command line tool,
  29. supports a set of additional environment variables independently of this.
  30. .IP "[scheme]_proxy"
  31. When libcurl is given a URL to use in a transfer, it first extracts the
  32. "scheme" part from the URL and checks if there is a given proxy set for that
  33. in its corresponding environment variable. A URL like "https://example.com"
  34. will hence use the "http_proxy" variable, while a URL like "ftp://example.com"
  35. will use the "ftp_proxy" variable.
  36. These proxy variables are also checked for in their uppercase versions, except
  37. the "http_proxy" one which is only used lowercase. Note also that some systems
  38. actually have a case insensitive handling of environment variables and then of
  39. course "HTTP_PROXY" will still work...
  40. .IP ALL_PROXY
  41. This is a setting to set proxy for all URLs, independently of what scheme is
  42. being used. Note that the scheme specific variables will override this one if
  43. set.
  44. .IP CURL_SSL_BACKEND
  45. When libcurl is built to support multiple SSL backends, it will select a
  46. specific backend at first use. If no selection is done by the program using
  47. libcurl, this variable's selection will be used. It should be set to the full
  48. SSL backend name to use (case insensitive).
  49. .IP HOME
  50. When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is
  51. checked as the primary way to find the "current" home directory in which
  52. the .netrc file is likely to exist.
  53. .IP LOGNAME
  54. User name to use when invoking the ntlm-wb tool, if NTLMUSER wasn't set.
  55. .IP NO_PROXY
  56. This has the same functionality as the \fICURLOPT_NOPROXY(3)\fP option: it
  57. gives libcurl a comma-separated list of host name patterns for which libcurl
  58. should not use a proxy.
  59. .IP NTLMUSER
  60. User name to use when invoking the ntlm-wb tool.
  61. .IP SSLKEYLOGFILE
  62. When set and libcurl runs with a SSL backend that supports this feature,
  63. libcurl will save SSL secrets into the given file name. Using those SSL
  64. secrets, other tools (such as Wireshark) can decrypt the SSL communication and
  65. analyze/view the traffic.
  66. .IP SSL_DIR
  67. When libcurl runs with the NSS backends for TLS features, this variable is
  68. used to find the directory for NSS PKI database instead of the built-in.
  69. .IP USER
  70. User name to use when invoking the ntlm-wb tool, if NTLMUSER and LOGNAME
  71. weren't set.
  72. .SH "Debug Variables"
  73. There's a set of variables only recognized and used if libcurl was built
  74. "debug enabled", which should never be true for a library used in production.
  75. .IP "CURL_GETHOSTNAME"
  76. Debug-only variable.
  77. .IP "CURL_FORCETIME"
  78. Debug-only variable.
  79. .IP "CURL_ENTROPY"
  80. Debug-only variable. Used to set a fixed faked value to use instead of a
  81. proper random number so that functions in libcurl that are otherwise getting
  82. random outputs can be tested for what they generate.
  83. .IP "CURL_TRACE"
  84. Debug-only variable. Used for debugging the lib/ldap implementation.
  85. .IP "CURL_NTLM_WB_FILE"
  86. Debug-only variable. Used to set to a debug-version of the ntlm-wb executable.
  87. .IP "CURL_OPENLDAP_TRACE"
  88. Debug-only variable. Used for debugging the lib/openldap.c implementation.