aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-12-16glob_next_url: make the loop count upwardsDaniel Stenberg
As the former contruct apparently caused a compiler warning, mentioned in d8efde07e556c.
2014-12-16tool_operate: we prefer 'CURLcode result'Daniel Stenberg
2014-12-16tool_urlglob: unify return codes to use CURLcodeDaniel Stenberg
There was a mix of GlobCode, CURLcode and ints and they were mostly passing around CURLcode errors. This change makes the functions use only CURLcode and removes the GlobCode type completely.
2014-12-16tool_urlglob.c: partly reverse dc19789444Daniel Stenberg
The loop in glob_next_url() needs to be done backwards to maintain the logic. dc19789444 caused test 1235 to fail.
2014-12-14copyright: Updated the copyright year following recent updatesSteve Holme
2014-12-14tool_urlglob.c: reverse two loopsDaniel Stenberg
By counting from 0 and up instead of backwards like before, we remove the need for the "funny" check of the unsigned variable when decreased passed zero. Easier to read and less risk for compiler warnings.
2014-12-14tool_urlglob.c: Added braces to clarify the conditionsMarc Hoersken
2014-12-14tool_urlglob.c: Silence warning C6293: Ill-defined for-loopMarc Hoersken
The >= 0 is actually not required, since i underflows and the for-loop is stopped using the < condition, but this makes the VS2012 compiler and code analysis happy.
2014-12-14tool_binmode.c: Explicitly ignore the return code of setmodeMarc Hoersken
Fixes code analysis warning C6031: return value ignored: <function> could return unexpected value
2014-12-14tool_util.c: Use GetTickCount64 if it is availableMarc Hoersken
2014-12-07get_url_file_name: Fixed crash on OOM on debug buildDan Fandrich
This caused a null-pointer dereference which caused a few dozen torture tests to fail.
2014-12-05build: updated dependencies in makefiles.Guenter Knauf
2014-12-04tool: fix CURLOPT_UNIX_SOCKET_PATH in --libcurl outputPeter Wu
Mark CURLOPT_UNIX_SOCKET_PATH as string to ensure that it ends up as option in the file generated by --libcurl. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04tool: add --unix-socket optionPeter Wu
Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04libcurl: add UNIX domain sockets supportPeter Wu
The ability to do HTTP requests over a UNIX domain socket has been requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a discussion happened, no patch seems to get through. I decided to give it a go since I need to test a nginx HTTP server which listens on a UNIX domain socket. One patch [3] seems to make it possible to use the CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket. Another person wrote a Go program which can do HTTP over a UNIX socket for Docker[4] which uses a special URL scheme (though the name contains cURL, it has no relation to the cURL library). This patch considers support for UNIX domain sockets at the same level as HTTP proxies / IPv6, it acts as an intermediate socket provider and not as a separate protocol. Since this feature affects network operations, a new feature flag was added ("unix-sockets") with a corresponding CURL_VERSION_UNIX_SOCKETS macro. A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This option enables UNIX domain sockets support for all requests on the handle (replacing IP sockets and skipping proxies). A new configure option (--enable-unix-sockets) and CMake option (ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I deliberately did not mark this feature as advanced, this is a feature/component that should easily be available. [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/ [2]: http://sourceforge.net/p/curl/feature-requests/53/ [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html [4]: https://github.com/Soulou/curl-unix-socket Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-01build: in Makefile.m32 simplified autodetection.Guenter Knauf
2014-11-30curl tool: Exclude SMB from the protocol redirectSteve Holme
As local files could be accessed through \\localhost\c$.
2014-11-30curl tool: Enable support for the SMB protocolBill Nagel
This patch enables SMB/CIFS support in the curl command-line tool.
2014-11-24SSL: Add PEM format support for public key pinningmoparisthebest
2014-11-19build: in Makefile.m32 moved target autodetection.Guenter Knauf
Moved target autodetection block after defining CC macro.
2014-11-19build: in Makefile.m32 simplify platform flags.Guenter Knauf
2014-11-19build: in Makefile.m32 try to detect 64bit target.Guenter Knauf
2014-11-18build: in Makefile.m32 add -m32 flag for 32bit.Guenter Knauf
2014-11-18build: in Makefile.m32 pass -F flag to windres.Guenter Knauf
2014-11-15tool: Removed krb4 from the supported featuresSteve Holme
Although libcurl would never return CURL_VERSION_KERBEROS4 after 7.33, so would not be output with --version, removed krb4 from the supported features output.
2014-11-15tool: Use Kerberos for supported featuresMichael Osipov
2014-11-08Makefile.vc6: Added support for WinIDNSteve Holme
2014-11-07curl_tool: Added krb5 to the supported featuresSteve Holme
2014-11-05tool_strdup.c: include the tool strdup.hDaniel Stenberg
... not the lib/ one that the tool no longer uses!
2014-11-05curl_easy_duphandle: CURLOPT_COPYPOSTFIELDS read out of boundsDaniel Stenberg
When duplicating a handle, the data to post was duplicated using strdup() when it could be binary and contain zeroes and it was not even zero terminated! This caused read out of bounds crashes/segfaults. Since the lib/strdup.c file no longer is easily shared with the curl tool with this change, it now uses its own version instead. Bug: http://curl.haxx.se/docs/adv_20141105.html CVE: CVE-2014-3707 Reported-By: Symeon Paraschoudis
2014-10-29Added NetWare support to build with nghttp2.Guenter Knauf
2014-10-26src/: remove version.h.dist from gitignoreDaniel Stenberg
It has not been used since commit f7bfdbab in 2011
2014-10-24Added MinGW support to build with nghttp2.Guenter Knauf
2014-10-12cmake: build tool_hugehelp (ENABLE_MANUAL)Peter Wu
Rather than always outputting an empty manual page for the '-M' option, generate a full manual page as done by autotools. For simplicity in CMake, always generate the gzipped page as it will not be used anyway when zlib is not available. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-10-09get_url_file_name: make no slash equal empty stringDaniel Stenberg
2014-10-09get_url_file_name: never return a NULL string *and* OKDaniel Stenberg
Change 987a4a73 assumes that as it simplifies life in the calling function. Reported-by: Fabian Keil
2014-10-09Cmake: Got rid of setup_curl_dependenciesJakub Zakrzewski
There is no need for such function. Include_directories propagate by themselves and having a function with one simple link statement makes little sense.
2014-10-08operate: avoid NULL dereferenceDaniel Stenberg
Coverity CID 1241948. dumpeasysrc() would get called with config->current set to NULL which could be dereferenced by a warnf() call.
2014-10-08operate_do: skip superfluous check for NULL pointerDaniel Stenberg
Coverity CID 1243583. get_url_file_name() cannot fail and return a NULL file name pointer so skip the check for that - it tricks coverity into believing it can happen and it then warns later on when we use 'outfile' without checking for NULL.
2014-10-07SSL: implement public key pinningmoparisthebest
Option --pinnedpubkey takes a path to a public key in DER format and only connect if it matches (currently only implemented with OpenSSL). Provides CURLOPT_PINNEDPUBLICKEY for curl_easy_setopt(). Extract a public RSA key from a website like so: openssl s_client -connect google.com:443 2>&1 < /dev/null | \ sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -pubkey \ | openssl rsa -pubin -outform DER > google.com.der
2014-10-07parseconfig: skip a NULL checkDaniel Stenberg
Coverity CID 1154198. This NULL check implies that the pointer _can_ be NULL at this point, which it can't. Thus it is dead code. It tricks static analyzers to warn about dereferencing the pointer since the code seems to imply it can be NULL.
2014-10-06tool_go_sleep: use (void) to spell out we ignore the return valueDaniel Stenberg
Coverity CID 1222080.
2014-10-04getparameter: remove dead codeDaniel Stenberg
Coverity CID 1061126. 'parse' will always be non-NULL here.
2014-10-04getparameter: comment a switch FALLTHROUGHDaniel Stenberg
Coverity CID 1061118. Point out that it is on purpose.
2014-08-19help output: minor whitespace editsDaniel Stenberg
Should've been amended in the previous commit but wasn't due to a mistake.
2014-08-19help output: use ≥2 spaces between option and descriptionZearin
... and some other cleanups
2014-08-10tool_hugehelp.c.cvs: Added copyrightSteve Holme
Added copyright due to warning from checksrc.pl.
2014-08-08tool_getparam.c: Fixed compilation warningSteve Holme
warning: `orig_opt' might be used uninitialized in this function
2014-07-23docs: Improve inline GSS-API naming in code documentationMichael Osipov
2014-07-23curl.h/features: Deprecate GSS-Negotiate macros due to bad namingMichael Osipov
- Replace CURLAUTH_GSSNEGOTIATE with CURLAUTH_NEGOTIATE - CURL_VERSION_GSSNEGOTIATE is deprecated which is served by CURL_VERSION_SSPI, CURL_VERSION_GSSAPI and CURUL_VERSION_SPNEGO now. - Remove display of feature 'GSS-Negotiate'