Go to file
Daniel Stenberg eb43338941
cookies: only save the cookie file if the engine is enabled
Follow-up to 8eddb8f425.

If the cookieinfo pointer is NULL there really is nothing to save.

Without this fix, we got a problem when a handle was using shared object
with cookies and is told to "FLUSH" it to file (which worked) and then
the share object was removed and when the easy handle was closed just
afterwards it has no cookieinfo and no cookies so it decided to save an
empty jar (overwriting the file just flushed).

Test 1905 now verifies that this works.

Assisted-by: Michael Wallner
Assisted-by: Marcel Raad

Closes #3621
2019-02-27 21:59:40 +01:00
.github github/lock: auto-lock closed issues after 90 days of inactivity 2018-05-05 14:05:57 +02:00
CMake cmake: updated check for HAVE_POLL_FINE to match autotools 2019-01-16 11:39:34 +03:00
docs cacertinmem.c: use multiple certificates for loading CA-chain 2019-02-27 09:33:03 +01:00
include curl.h: use __has_declspec_attribute for shared builds 2019-02-27 08:35:43 +01:00
lib cookies: only save the cookie file if the engine is enabled 2019-02-27 21:59:40 +01:00
m4 configure: remove the unused fdopen macro 2019-02-22 22:38:33 +01:00
packages os400: add a missing closing bracket 2019-01-10 12:04:35 +01:00
projects VS projects: fix build warning 2019-01-06 23:16:05 +01:00
scripts scripts/singleuse: script to use to track single-use functions 2019-02-11 08:55:47 +01:00
src curl: display --version features sorted alphabetically 2019-02-27 08:14:07 +01:00
tests cookies: only save the cookie file if the engine is enabled 2019-02-27 21:59:40 +01:00
winbuild winbuild: conditionally use /DZLIB_WINAPI 2019-01-14 10:14:06 +01:00
.cirrus.yml cirrus: Added FreeBSD builds using Cirrus CI. 2019-02-10 16:00:25 +01:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes .gitattributes: make tabs in indentation a visible error 2018-12-06 20:21:17 +01:00
.gitignore checksrc: add COPYRIGHTYEAR check 2018-12-03 23:13:40 +01:00
.lgtm.yml CI: add lgtm.yml for tweaking lgtm.com analysis 2018-03-22 00:04:55 +01:00
.mailmap URL and mailmap updates, remove an obsolete directory [ci skip] 2018-09-22 07:58:32 +00:00
.travis-iconv-env.sh travis: add build with iconv enabled 2018-02-15 14:18:34 +01:00
.travis.yml travis: enable valgrind for the iconv tests too 2019-02-15 09:11:20 +01:00
acinclude.m4 acinclude: add additional libraries to check for LDAP support 2019-02-25 01:48:00 -05:00
appveyor.yml AppVeyor: update to Visual Studio 2017 2019-02-26 16:51:26 +01:00
buildconf includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
buildconf.bat whitespace fixes 2018-09-23 22:24:02 +00:00
CHANGES CHANGES: spell fix, use correct path to script 2017-02-07 08:22:37 +01:00
CMakeLists.txt cmake: updated check for HAVE_POLL_FINE to match autotools 2019-01-16 11:39:34 +03:00
configure.ac configure: remove CURL_CHECK_FUNC_FDOPEN call 2019-02-23 21:43:56 +01:00
COPYING COPYING: it's 2019 2019-01-19 20:26:31 +01:00
curl-config.in curl-config.in: remove dependency on bc 2018-10-26 00:06:19 +02:00
GIT-INFO CHANGES.0: removed 2017-02-07 08:20:10 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
MacOSX-Framework includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
Makefile.am Makefile: add 'tidy' target that runs clang-tidy 2018-10-27 15:59:38 +02:00
Makefile.dist build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
maketgz maketgz: delete .bak files, fix indentation 2018-06-15 23:28:34 +00:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
README.md cirrus: Added FreeBSD builds using Cirrus CI. 2019-02-10 16:00:25 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2019-02-25 23:19:32 +01:00

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Cirrus Build Status Coverage Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge

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 find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

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.

Website

Visit the curl web site 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)

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]