1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-10 11:35:07 -05:00
Go to file
Mike Giancola e58d9c87f7 ossl_send: SSL_write() returning 0 is an error too
We found that in specific cases if the connection is abruptly closed,
the underlying socket is listed in a close_wait state. We continue to
call the curl_multi_perform, curl_mutli_fdset etc. None of these APIs
report the socket closed / connection finished.  Since we have cases
where the multi connection is only used once, this can pose a problem
for us. I've read that if another connection was to come in, curl would
see the socket as bad and attempt to close it at that time -
unfortunately, this does not work for us.

I found that in specific situations, if SSL_write returns 0, curl did
not recognize the socket as closed (or errored out) and did not report
it to the application. I believe we need to change the code slightly, to
check if ssl_write returns 0. If so, treat it as an error - the same as
a negative return code.

For OpenSSL - the ssl_write documentation is here:
http://www.openssl.org/docs/ssl/SSL_write.html
2013-05-22 23:08:27 +02:00
CMake cmake: use standard findxxx modules for cmake v2.8+ 2012-09-17 23:22:09 +02:00
docs KNOWN_BUGS: curl -OJC- fails to resume 2013-05-21 23:58:52 +02:00
include bump version 2013-04-27 23:15:35 +02:00
lib ossl_send: SSL_write() returning 0 is an error too 2013-05-22 23:08:27 +02:00
m4 configure: use XC_LIBTOOL for portability across libtool versions 2013-03-08 13:27:45 +01:00
packages build_vms.com: use existing curlbuild.h and parsing fix 2013-03-20 20:44:57 +01:00
perl removed trailing whitespace 2011-12-30 03:36:18 +01:00
src Updated zlib version in build files. 2013-05-11 17:08:00 +02:00
tests tests: add test1394 file to the tarball 2013-05-19 12:44:44 +02:00
vs move msvc IDE related files to 'vs' directory tree 2013-02-13 17:14:21 +01:00
winbuild msvc: move Makefile.msvc.names into winbuild/ 2013-02-06 23:14:11 +01:00
.gitattributes Tell git to not convert configure-related files. 2012-07-17 20:35:23 +02:00
.gitignore repository: ignore patch files generated by git 2013-02-22 23:22:22 +01:00
acinclude.m4 CURL_CHECK_CA_BUNDLE: don't check for paths when cross-compiling 2013-04-18 23:37:56 +02:00
buildconf Revert changes relative to lib/*.[ch] recent renaming 2013-01-06 18:20:27 +01:00
buildconf.bat curl tool: renaming hugehelp files to tool_hugehelp 2012-12-26 23:30:54 +01:00
CHANGES CHANGES: move all contents from CHANGES to CHANGES.0 2010-06-21 22:27:39 +02:00
CHANGES.0 removed trailing whitespace 2011-12-30 03:36:18 +01:00
CMakeLists.txt cmake: Fix mingw build 2013-02-04 22:35:09 +01:00
configure.ac curl-config: don't output static libs when they are disabled 2013-04-16 16:07:41 +02:00
COPYING COPYING: Updated copyright year to include 2013 2013-02-05 23:05:50 +00:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
curl-config.in curl-config: don't output static libs when they are disabled 2013-04-16 16:07:41 +02:00
GIT-INFO curl tool: renaming hugehelp files to tool_hugehelp 2012-12-26 23:30:54 +01:00
install-sh install-sh: updated to support multiple source files as arguments 2013-02-13 15:47:54 +01:00
libcurl.pc.in build: prevent global LIBS from influencing src and lib build targets 2012-12-03 22:41:18 +01:00
log2changes.pl log2changes.pl: fix the Version output 2012-06-07 23:50:00 +02:00
MacOSX-Framework OS X framework: fix invalid symbolic link 2013-05-09 21:51:35 +02:00
Makefile.am move msvc IDE related files to 'vs' directory tree 2013-02-13 17:14:21 +01:00
Makefile.dist Changed some main makefile targets. 2011-09-25 17:43:50 +02:00
maketgz maketgz: make bzip2 creation work with Parallel BZIP2 too 2013-04-18 11:13:56 +02:00
missing renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
mkinstalldirs install-sh: updated to support multiple source files as arguments 2013-02-13 15:47:54 +01:00
README various changes of CVS to git 2010-03-22 00:34:09 +01:00
RELEASE-NOTES RELEASE-NOTES: synced with ae26ee3489 2013-05-12 14:36:04 +02:00
TODO-RELEASE TODO-RELEASE: cleaned up, not really maintained lately 2013-04-08 08:32:10 +02:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  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. See http://curl.haxx.se/mail/

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

WEB SITE

  Visit the curl web site for the latest news and downloads:

        http://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone git://github.com/bagder/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.