cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Development > Recent Source Code Activity

Recent Activity in the repo

The 100 latest commits in curl's git repository

KNOWN_BUGS: curl -OJC- fails to resumeDaniel Stenberg

Bug: http://curl.haxx.se/bug/view.cgi?id=1169

M docs/KNOWN_BUGS
Curl_cookie_add: handle IPv6 hostsDaniel Stenberg

1 - don't skip host names with a colon in them in an attempt to bail out on HTTP headers in the cookie file parser. It was only a shortcut anyway and trying to parse a file with HTTP headers will still be handled, only slightly slower.

2 - don't skip domain names based on number of dots. The original netscape cookie spec had this oddity mentioned and while our code decreased the check to only check for two, the existing cookie spec has no such dot counting required.

Bug: http://curl.haxx.se/bug/view.cgi?id=1221 Reported-by: Stefan Neis

M lib/cookie.c
curl_easy_setopt.3: expand the PROGRESSFUNCTION sectionDaniel Stenberg

Explain the callback and its arguments better and with more descriptive text.

M docs/libcurl/curl_easy_setopt.3
tests: add test1394 file to the tarballDaniel Stenberg
M tests/data/Makefile.am
tarball: include the xmlstream exampleDaniel Stenberg
M docs/examples/Makefile.inc
xmlstream: XML stream parsing example source codeDavid Strauss

Add an XML stream parsing example using Expat. Add missing ignore for the binary from an unrelated example.

M docs/examples/.gitignore
M docs/examples/README
A docs/examples/xmlstream.c
cookies: only consider full path matchesYAMADA Yasuharu

I found a bug which cURL sends cookies to the path not to aim at. For example: - cURL sends a request to http://example.fake/hoge/ - server returns cookie which with path=/hoge; the point is there is NOT the '/' end of path string. - cURL sends a request to http://example.fake/hogege/ with the cookie.

The reason for this old "feature" is because that behavior is what is described in the original netscape cookie spec: http://curl.haxx.se/rfc/cookie_spec.html

The current cookie spec (RFC6265) clarifies the situation: http://tools.ietf.org/html/rfc6265#section-5.2.4

M lib/cookie.c
M tests/data/Makefile.am
A tests/data/test1228
M tests/data/test46
M tests/data/test8
axtls: prevent memleaks on SSL handshake failuresEric Hu
M lib/axtls.c
Revert "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage"Daniel Stenberg

This reverts commit 8ec2cb5544b86306b702484ea785b6b9596562ab.

We don't have any code anywhere in libcurl (or the curl tool) that use wcsdup so there's no such memory use to track. It seems to cause mild problems with the Borland compiler though that we may avoid by reverting this change again.

Bug: http://curl.haxx.se/mail/lib-2013-05/0070.html

M lib/curl_memory.h
M lib/curl_setup.h
M lib/easy.c
M lib/memdebug.c
M lib/memdebug.h
M tests/memanalyze.pl
M tests/server/getpart.c
RELEASE-NOTES: synced with ae26ee3489588f0Daniel Stenberg
M RELEASE-NOTES
Updated zlib version in build files.Guenter Knauf
M docs/INSTALL
M docs/examples/Makefile.m32
M docs/examples/Makefile.netware
M lib/Makefile.Watcom
M lib/Makefile.b32
M lib/Makefile.m32
M lib/Makefile.netware
M lib/Makefile.vc6
M lib/Makefile.vxworks
M src/Makefile.Watcom
M src/Makefile.b32
M src/Makefile.m32
M src/Makefile.netware
M src/Makefile.vc6
OS X framework: fix invalid symbolic linkRenaud Guillard
M MacOSX-Framework
nss: give PR_INTERVAL_NO_WAIT instead of -1 to PR_Recv/PR_SendDaniel Stenberg

Reported by: David Strauss Bug: http://curl.haxx.se/mail/lib-2013-05/0088.html

M lib/nss.c
libtest: gitignore more binary filesDaniel Stenberg
M tests/libtest/.gitignore
servercert: allow empty subjectDaniel Stenberg

Bug: http://curl.haxx.se/bug/view.cgi?id=1220 Patch by: John Gardiner Myers

M lib/ssluse.c
tests: Added new SMTP tests to verify commit 99b40451836dSteve Holme
M tests/data/Makefile.am
A tests/data/test910
A tests/data/test911
runtests.pl: support nonewline="yes" in client/stdin sectionsDaniel Stenberg
M tests/FILEFORMAT
M tests/runtests.pl
build: fixed unit1394 for debug and metlink buildsDaniel Stenberg
M src/Makefile.am
M tests/unit/Makefile.inc
unit1394.c: plug the curl tool unit test inKamil Dudka
M src/tool_getparam.c
M src/tool_getparam.h
A tests/data/test1394
M tests/unit/Makefile.inc
M tests/unit/unit1394.c
unit1394.c: basis of a unit test for parse_cert_parameter()Jared Jennings
A tests/unit/unit1394.c
src/Makefile.am: build static lib for unit tests if enabledKamil Dudka
M src/Makefile.am
M src/tool_main.c
M tests/unit/Makefile.am
tool_getparam: ensure string termination in parse_cert_parameter()Kamil Dudka
M src/tool_getparam.c
tool_getparam: fix memleak in handling the -E optionKamil Dudka
M src/tool_getparam.c
tool_getparam: describe what parse_cert_parameter() doesKamil Dudka

... and de-duplicate the code initializing *passphrase

M src/tool_getparam.c
curl.1: document escape sequences recognized by -EKamil Dudka
M docs/curl.1
curl -E: allow to escape ':' in cert nicknameJared Jennings
M RELEASE-NOTES
M src/tool_getparam.c
curl_schannel.c: Fixed invalid memory access during SSL shutdownMarc Hoersken
M lib/curl_schannel.c
M lib/urldata.h
smtp: Fix trailing whitespace warningSteve Holme
M lib/smtp.c
smtp: Fix compilation warningSteve Holme

comparison between signed and unsigned integer expressions

M lib/smtp.c
RELEASE-NOTES: synced with 92ef5f19c801Steve Holme
M RELEASE-NOTES
smtp: Updated RFC-2821 references to RFC-5321Steve Holme
M lib/smtp.c
smtp: Fixed sending of double CRLF caused by first in EOBSteve Holme

If the mail sent during the transfer contains a terminating <CRLF> then we should not send the first <CRLF> of the EOB as specified in RFC-5321.

Additionally don't send the <CRLF> if there is "no mail data" as the DATA command already includes it.

M lib/smtp.c
M lib/smtp.h
M tests/data/test1320
M tests/data/test1406
M tests/data/test900
M tests/data/test901
M tests/data/test902
M tests/data/test903
M tests/data/test904
M tests/data/test905
M tests/data/test906
M tests/data/test907
M tests/data/test908
M tests/data/test909
tests: Corrected MAIL SIZE for CRLF line endingsSteve Holme

... which was missed in commit: f5c3d9538452

M tests/data/test1406
tests: Corrected infilesize for CRLF line endingsSteve Holme

... which was missed in commit: f5c3d9538452

M tests/data/test1406
tests: Corrected test1406 to be RFC2821 compliantSteve Holme
M tests/data/test1406
tests: Corrected test1320 to be RFC2821 compliantSteve Holme
M tests/data/test1320
tests: Corrected typo in test909Steve Holme

Introduced in commit: 514817669e9e

M tests/data/test909
tests: Corrected test909 to be RFC2821 compliantSteve Holme
M tests/data/test909
tests: Updated test references to 909 from 1411Steve Holme

...and removed references to libcurl and test1406.

M tests/data/test909
tests: Renamed test1411 to test909 as this is a main SMTP testSteve Holme
M tests/data/Makefile.am
D tests/data/test1411
A tests/data/test909
bindlocal: move brace out of #ifdefLars Johannesen

The code within #ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID wrongly had two closing braces when it should only have one, so builds without that define would fail.

Bug: http://curl.haxx.se/mail/lib-2013-05/0000.html

M lib/connect.c
smtp: Tidy up to move the eob counter to the per-request structureSteve Holme

Move the eob counter from the smtp_conn structure to the SMTP structure as it is associated with a SMTP payload on a per-request basis.

M lib/smtp.c
M lib/smtp.h
TODO: Updated following the addition of CURLOPT_SASL_IRSteve Holme
M docs/TODO
smtp: Fixed unknown percentage complete in progress barSteve Holme

The curl command line utility would display the the completed progress bar with a percentage of zero as the progress routines didn't know the size of the transfer.

M RELEASE-NOTES
M lib/smtp.c
ftpserver: silence warningsDaniel Stenberg

Fix regressions in commit b56e3d43e5d. Make @data local and filter off non-numerical digits from $testno in STATUS_imap.

M tests/ftpserver.pl
ftpserver.pl: Corrected the imap LOGIN responseSteve Holme

...to be more realistic and consistent with the other imap responses.

M tests/ftpserver.pl
tests: Added imap STATUS command testSteve Holme
M tests/data/Makefile.am
A tests/data/test809
M tests/ftpserver.pl
tests: Corrected the SMTP tests to be RFC2821 compliantSteve Holme

The emails that are sent to the server during these tests were incorrectly formatted as they contained one or more LF terminated lines rather than being CRLF terminated as per Section 2.3.7 of RFC-2821.

This wasn't a problem for the test suite as the <stdin> data matched the <upload> data but anyone using these tests as reference would be sending incorrect data to a server.

M tests/data/test900
M tests/data/test901
M tests/data/test902
M tests/data/test903
M tests/data/test904
M tests/data/test905
M tests/data/test906
M tests/data/test907
M tests/data/test908
email: Tidy up of *_perform_authenticate()Steve Holme

Removed the hard returns from imap and pop3 by using the same style for sending the authentication string as smtp. Moved the "Other mechanisms not supported" check in smtp to match that of imap and pop3 to provide consistency between the three email protocols.

M lib/imap.c
M lib/pop3.c
M lib/smtp.c
smtp: Updated limit check to be more readable like the check in pop3Steve Holme
M lib/smtp.c
pop3: Added 255 octet limit check when sending initial responseSteve Holme

Added 255 octet limit check as per Section 4. Paragraph 8 of RFC-5034.

M lib/pop3.c
DOCS: Corrected line length of recent Secure Transport changesSteve Holme
M docs/libcurl/curl_easy_setopt.3
darwinssl: add TLS crypto authenticationNick Zitzmann

Users using the Secure Transport (darwinssl) back-end can now use a certificate and private key to authenticate with a site using TLS. Because Apple's security system is based around the keychain and does not have any non-public function to create a SecIdentityRef data structure from data loaded outside of the Keychain, the certificate and private key have to be loaded into the Keychain first (using the certtool command line tool or the Security framework's C API) before we can find it and use it.

M RELEASE-NOTES
M docs/curl.1
M docs/libcurl/curl_easy_setopt.3
M lib/curl_darwinssl.c
Corrected version numbers after bumpSteve Holme
M docs/libcurl/curl_easy_setopt.3
M docs/libcurl/symbols-in-versions
M src/tool_operate.c
bump versionDaniel Stenberg

Since we're adding new stuff, the next release will bump the minor version and we're looking forward to 7.31.0

M RELEASE-NOTES
M include/curl/curlver.h
RELEASE-NOTES: synced with f4e6e201b146Steve Holme
M RELEASE-NOTES
DOCS: Updated following the addition of CURLOPT_SASL_IRSteve Holme

Documented the the option in curl_easy_setopt() and added it to symbols-in-versions.

M docs/libcurl/curl_easy_setopt.3
M docs/libcurl/symbols-in-versions
tests: Corrected command line arguments in test907 and test908Steve Holme
M tests/data/test907
M tests/data/test908
tests: Added SMTP AUTH with initial response testsSteve Holme
M tests/data/Makefile.am
A tests/data/test907
A tests/data/test908
tests: Updated SMTP tests to decouple client initial responseSteve Holme

Updated test903 and test904 following the addition of CURLOPT_SASL_IR as the default behaviour of SMTP AUTH responses is now to not include the initial response. New tests with --sasl-ir support to follow.

M tests/data/test903
M tests/data/test904
imap: Added support for overriding the SASL initial responseSteve Holme

In addition to checking for the SASL-IR capability the user can override the sending of the client's initial response in the AUTHENTICATION command with the use of CURLOPT_SASL_IR should the server erroneously not report SASL-IR when it does support it.

M lib/imap.c
smtp: Added support for disabling the SASL initial responseSteve Holme

Updated the default behaviour of sending the client's initial response in the AUTH command to not send it and added support for CURLOPT_SASL_IR to allow the user to specify including the response.

Related Bug: http://curl.haxx.se/mail/lib-2012-03/0114.html Reported-by: Gokhan Sengun

M lib/smtp.c
pop3: Added support for enabling the SASL initial responseSteve Holme

Allowed the user to specify whether to send the client's intial response in the AUTH command via CURLOPT_SASL_IR.

M lib/pop3.c
sasl-ir: Added --sasl-ir option to curl command line toolSteve Holme
M src/tool_cfgable.h
M src/tool_getparam.c
M src/tool_help.c
M src/tool_operate.c
sasl-ir: Added CURLOPT_SASL_IR to enable/disable the SASL initial responseSteve Holme
M include/curl/curl.h
M lib/url.c
M lib/urldata.h
curl_easy_init: use less mallocsDaniel Stenberg

By introducing an internal alternative to curl_multi_init() that accepts parameters to set the hash sizes, easy handles will now use tiny socket and connection hash tables since it will only ever add a single easy handle to that multi handle.

This decreased the number mallocs in test 40 (which is a rather simple and typical easy interface use case) from 1142 to 138. The maximum amount of memory allocated used went down from 118969 to 78805.

M lib/conncache.c
M lib/conncache.h
M lib/easy.c
M lib/multi.c
M lib/multiif.h
ftpserver.pl: Fixed imap logout confirmation dataSteve Holme

An IMAP server should response with the BYE continuation response before confirming the LOGOUT command was successful.

M tests/ftpserver.pl
ftp_state_pasv_resp: connect through proxy also when set by envDaniel Stenberg

When connecting back to an FTP server after having sent PASV/EPSV, libcurl sometimes didn't use the proxy properly even though the proxy was used for the initial connect.

The function wrongly checked for the CURLOPT_PROXY variable to be set, which made it act wrongly if the proxy information was set with an environment variable.

Added test case 711 to verify (based on 707 which uses --socks5). Also added test712 to verify another variation of setting the proxy: with --proxy socks5://

Bug: http://curl.haxx.se/bug/view.cgi?id=1218 Reported-by: Zekun Ni

M lib/ftp.c
M tests/data/Makefile.am
A tests/data/test711
A tests/data/test712
url: initialize speed-check data for file:// protocolZdenek Pavlas

... in order to prevent an artificial timeout event based on stale speed-check data from a previous network transfer. This commit fixes a regression caused by 9dd85bced56f6951107f69e581c872c1e7e3e58e.

Bug: https://bugzilla.redhat.com/906031

M RELEASE-NOTES
M lib/url.c
test709: clarify the test in the nameDaniel Stenberg
M tests/data/test709
sshserver: disable StrictHostKeyCheckingDaniel Stenberg

I couldn't figure out why the host key logic isn't working, but having it set to yes prevents my SSH-based test cases to run. I also don't see a strong need to use strict host key checking on this test server.

So I disabled it.

M tests/sshserver.pl
runtests: log more commands in verbose modeDaniel Stenberg

... to aid tracking down failures

M tests/runtests.pl
TODO: Corrected copy/paste typoSteve Holme
M docs/TODO
TODO: Added new ideas for future SMTP, POP3 and IMAP featuresSteve Holme
M docs/TODO
TODO: Updated following the addition of ;auth=<MECH> supportSteve Holme
M docs/TODO
DOCS: Minor rewording / clarification of host name protocol detectionSteve Holme
M docs/libcurl/curl_easy_setopt.3
RELEASE-NOTES: synced with a8c92cb60890Steve Holme
M RELEASE-NOTES
DOCS: Added reference to IETF draft for SMTP URL InterfaceSteve Holme

...when mentioning login options. Additional minor clarification of "Windows builds" to be "Windows builds with SSPI"as a way of enabling NTLM as Windows builds may be built with OpenSSL to enable NTLM or without NTLM support altogether.

M docs/libcurl/curl_easy_setopt.3
HISTORY: Fix spelling error.Linus Nielsen Feltzing
M docs/HISTORY
DOCS: Reworked the scheme calculation explanation under CURLOPT_URLSteve Holme
M docs/libcurl/curl_easy_setopt.3
url: Added smtp and pop3 hostnames to the protocol detection listSteve Holme
M lib/url.c
HISTORY: correct some years/datesDaniel Stenberg

Thanks to archive.org's wayback machine I updated this document with some facts from the early httpget/urlget web page:

http://web.archive.org/web/19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html

M docs/HISTORY
tests: add test1511 to check timecond clean-upAlessandro Ghedini

Verifies the timecond fix in commit c49ed0b6c0f

M tests/data/Makefile.am
A tests/data/test1511
M tests/libtest/Makefile.inc
A tests/libtest/lib1511.c
getinfo.c: reset timecond when clearing session-info variablesAlessandro Ghedini

Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705783 Reported-by: Ludovico Cavedon <cavedon@debian.org>

M lib/getinfo.c
DOCS: Added information about login options to CURLOPT_USERPWDSteve Holme
M docs/libcurl/curl_easy_setopt.3
DOCS: Added information about login options in the URLSteve Holme
M docs/libcurl/curl_easy_setopt.3
url: Fixed missing length check in parse_proxy()Steve Holme

Commit 11332577b3cb removed the length check that was performed by the old scanf() code.

M lib/url.c
url: Fixed crash when no username or password supplied for proxySteve Holme

Fixed an issue in parse_proxy(), introduced in commit 11332577b3cb, where an empty username or password (For example: http://:@example.com) would cause a crash.

M lib/url.c
url: Removed unused text length constantsSteve Holme
M lib/urldata.h
url: Updated proxy URL parsing to use parse_login_details()Steve Holme
M lib/url.c
url: Tidy up of setstropt_userpwd() parametersSteve Holme

Updated the naming convention of the login parameters to match those of other functions.

M lib/url.c
url: Tidy up of code and comments following recent changesSteve Holme

Tidy up of variable names and comments in setstropt_userpwd() and parse_login_details().

M lib/url.c
url: Simplified setstropt_userpwd() following recent changesSteve Holme

There is no need to perform separate clearing of data if a NULL option pointer is passed in. Instead this operation can be performed by simply not calling parse_login_details() and letting the rest of the code do the work.

M lib/url.c
url: Correction to scope of if statements when setting dataSteve Holme
M lib/url.c
url: Fixed memory leak in setstropt_userpwd()Steve Holme

setstropt_userpwd() was calling setstropt() in commit fddb7b44a79d to set each of the login details which would duplicate the strings and subsequently cause a memory leak.

M lib/url.c
RELEASE-NOTES: synced with d535c4a2e1f7Steve Holme
M RELEASE-NOTES
url: Added overriding of URL login options from CURLOPT_USERPWDSteve Holme
M lib/url.c
tool_paramhlp: Fixed options being included in usernameSteve Holme

Fix to prevent the options from being displayed when curl requests the user's password if the following command line is specified:

--user username;options

M src/tool_paramhlp.c
url: Added support for parsing login options from the CURLOPT_USERPWDSteve Holme

In addition to parsing the optional login options from the URL, added support for parsing them from CURLOPT_USERPWD, to allow the following supported command line:

--user username:password;options

M lib/url.c
M lib/urldata.h
url: Added bounds checking to parse_login_details()Steve Holme

Added bounds checking when searching for the separator characters within the login string as this string may not be NULL terminated (For example it is the login part of a URL). We do this in preference to allocating a new string to copy the login details into which could then be passed to parse_login_details() for performance reasons.

M lib/url.c

donate! Page updated May 22, 2013.
web site info

File upload with ASP.NET