mirror of
https://github.com/curl/curl.git
synced 2026-04-26 11:32:13 +03:00
- asyn-thrdd.c: scope an include. - apply more clang-format suggestions. - tidy-up PP guard comments. - delete empty line from the top of headers. - add empty line after `curl_setup.h` include where missing. - fix indent. - CODE_STYLE.md: add `strcpy`. Follow-up to8636ad55df#20088 - lib1901.c: drop unnecessary line. Follow-up to436e67f65b#20076 Closes #20070
80 lines
1.6 KiB
Markdown
80 lines
1.6 KiB
Markdown
---
|
|
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
SPDX-License-Identifier: curl
|
|
Title: CURLOPT_HSTS_CTRL
|
|
Section: 3
|
|
Source: libcurl
|
|
Protocol:
|
|
- HTTP
|
|
See-also:
|
|
- CURLOPT_ALTSVC (3)
|
|
- CURLOPT_CONNECT_TO (3)
|
|
- CURLOPT_HSTS (3)
|
|
- CURLOPT_RESOLVE (3)
|
|
Added-in: 7.74.0
|
|
---
|
|
|
|
# NAME
|
|
|
|
CURLOPT_HSTS_CTRL - control HSTS behavior
|
|
|
|
# SYNOPSIS
|
|
|
|
~~~c
|
|
#include <curl/curl.h>
|
|
|
|
#define CURLHSTS_ENABLE (1L << 0)
|
|
#define CURLHSTS_READONLYFILE (1L << 1)
|
|
|
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HSTS_CTRL, long bitmask);
|
|
~~~
|
|
|
|
# DESCRIPTION
|
|
|
|
HSTS (HTTP Strict Transport Security) means that an HTTPS server can instruct
|
|
the client to not contact it again over clear-text HTTP for a certain period
|
|
into the future. libcurl then automatically redirects HTTP attempts to such
|
|
hosts to instead use HTTPS. This is done by libcurl retaining this knowledge
|
|
in an in-memory cache.
|
|
|
|
Populate the long *bitmask* with the correct set of features to instruct
|
|
libcurl how to handle HSTS for the transfers using this handle.
|
|
|
|
# BITS
|
|
|
|
## CURLHSTS_ENABLE
|
|
|
|
Enable the in-memory HSTS cache for this handle.
|
|
|
|
## CURLHSTS_READONLYFILE
|
|
|
|
Make the HSTS file (if specified) read-only - makes libcurl not save the cache
|
|
to the file when closing the handle.
|
|
|
|
# DEFAULT
|
|
|
|
0
|
|
|
|
# %PROTOCOLS%
|
|
|
|
# EXAMPLE
|
|
|
|
~~~c
|
|
int main(void)
|
|
{
|
|
CURL *curl = curl_easy_init();
|
|
if(curl) {
|
|
curl_easy_setopt(curl, CURLOPT_HSTS_CTRL, CURLHSTS_ENABLE);
|
|
curl_easy_perform(curl);
|
|
}
|
|
}
|
|
~~~
|
|
|
|
# %AVAILABILITY%
|
|
|
|
# RETURN VALUE
|
|
|
|
curl_easy_setopt(3) returns a CURLcode indicating success or error.
|
|
|
|
CURLE_OK (0) means everything was OK, non-zero means an error occurred, see
|
|
libcurl-errors(3).
|