Go to file
Daniel Stenberg 54f6d836d8
hsts: handle unlimited expiry
When setting a blank expire string, meaning unlimited, curl would pass
TIME_T_MAX to getime_r() when creating the output, while on 64 bit
systems such a large value cannot be convetered to a tm struct making
curl to exit the loop with an error instead. It can't be converted
because the year it would represent doesn't fit in the 'int tm_year'
field!

Starting now, unlimited expiry is instead handled differently by using a
human readable expiry date spelled out as "unlimited" instead of trying
to use a distant actual date.

Test 1660 and 1915 have been updated to help verify this change.

Reported-by: Jonathan Cardoso
Fixes #7720
Closes #7721
2021-09-15 14:37:36 +02:00
.circleci copyright: add boiler-plate headers to CI config files 2021-06-29 17:44:03 +02:00
.github codeql: fix error "Resource not accessible by integration" 2021-08-17 03:32:10 -04:00
.muse
CMake cmake: avoid poll() on macOS 2021-08-24 17:44:29 +02:00
docs FAQ: add GOPHERS + curl works on data, not files 2021-09-15 14:33:05 +02:00
include mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
lib hsts: handle unlimited expiry 2021-09-15 14:37:36 +02:00
m4 mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
packages metalink: remove 2021-06-07 08:14:25 +02:00
plan9
projects docs: Fix typos 2021-07-03 22:11:26 +02:00
scripts scripts: invoke interpreters through /usr/bin/env 2021-08-23 15:59:34 +02:00
src parse_args: redo the warnings for --remote-header-name combos 2021-09-10 17:02:21 +02:00
tests hsts: handle unlimited expiry 2021-09-15 14:37:36 +02:00
winbuild winbuild/README.md: clarify GEN_PDB option 2021-08-09 13:02:52 -04:00
zuul.d zuul.d/jobs: disable three tests for *-openssl-disable-proxy 2021-09-13 17:28:41 +02:00
.azure-pipelines.yml runtests: add option -u to error on server unexpectedly alive 2021-09-09 21:28:26 +02:00
.cirrus.yml runtests: add option -u to error on server unexpectedly alive 2021-09-09 21:28:26 +02:00
.dcignore
.dir-locals.el
.gitattributes
.gitignore
.lgtm.yml metalink: remove 2021-06-07 08:14:25 +02:00
.mailmap mailmap: add Gleb Ivanovsky 2021-08-21 16:38:06 +02:00
acinclude.m4 Get rid of the unused HAVE_SIG_ATOMIC_T et. al. 2021-07-23 12:40:42 -07:00
appveyor.yml runtests: add option -u to error on server unexpectedly alive 2021-09-09 21:28:26 +02:00
buildconf
buildconf.bat
CHANGES
CMakeLists.txt cmake: sync CURL_DISABLE options 2021-08-25 13:05:50 +02:00
configure.ac ngtcp2: fix build with ngtcp2 and nghttp3 2021-09-12 12:34:32 +02:00
COPYING
curl-config.in
GIT-INFO GIT-INFO: suggest using autoreconf instead of buildconf 2021-05-08 10:55:34 +02:00
libcurl.pc.in
MacOSX-Framework copyrights: update copyright year ranges 2021-09-08 09:36:49 +02:00
Makefile.am
Makefile.dist configure: provide --with-openssl, deprecate --with-ssl 2021-04-15 09:08:34 +02:00
maketgz
README
README.md CI: remove travis details 2021-06-29 17:42:57 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2021-09-14 09:02:52 +02:00
SECURITY.md

curl logo

CII Best Practices Coverity passed AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge Fuzzing Status

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You can find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl: https://curl.se/support.html

Website

Visit the curl website for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Security problems

Report suspected security problems via our HackerOne page and not in public!

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]