aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-07-02curl: Added runtime version check for libmetalinkTatsuhiro Tsujikawa
2012-07-02Include metalink/metalink.h for libmetalink functionsTatsuhiro Tsujikawa
2012-06-28Metalink: message updatesTatsuhiro Tsujikawa
Print "parsing (...) OK" only when no warnings are generated. If no file is found in Metalink, treat it FAILED. If no digest is provided, print WARNING in parse_metalink(). Also print validating FAILED after download. These changes make tests 2012 to 2016 pass.
2012-06-27Metalink: updated message formatTatsuhiro Tsujikawa
2012-06-22Metalink: ignore --include if --metalink is used.Tatsuhiro Tsujikawa
Including headers in response body will break Metalink XML parser. If it is included in the file described in Metalink XML, hash check will fail. Therefore, --include should be ignored if --metalink is used.
2012-06-21curl: Prefixed all Metalink related messages with "Metalink: "Tatsuhiro Tsujikawa
2012-06-21curl: Restore noprogress and isatty config values.Tatsuhiro Tsujikawa
The noprogress and isatty in Configurable are global, in a sense that they persist in one curl invocation. Currently once one download writes its response data to tty, they are set to FALSE and they are not restored on successive downloads. This change first backups the current noprogress and isatty, and restores them when download does not write its data to tty.
2012-06-21curl: Made --metalink option toggle Metalink functionalityTatsuhiro Tsujikawa
In this change, --metalink option no longer takes argument. If it is specified, given URIs are processed as Metalink XML file. If given URIs are remote (e.g., http URI), curl downloads it first. Regardless URI is local file (e.g., file URI scheme) or remote, Metalink XML file is not written to local file system and the received data is fed into Metalink XML parser directly. This means with --metalink option, filename related options like -O and -o are ignored. Usage examples: $ curl --metalink http://example.org/foo.metalink This will download foo.metalink and parse it and then download the URI described there. $ curl --metalink file://foo.metalink This will parse local file foo.metalink and then download the URI described there.
2012-06-21curl: Refactored metalink_checksumTatsuhiro Tsujikawa
When creating metalink_checksum from metalink_checksum_t, first check hex digest is valid for the given hash function. We do this check in the order of digest_aliases so that first good match will be chosen (strongest hash function available). As a result, the metalinkfile now only contains at most one metalink_checksum because other entries are just redundant.
2012-06-20tool_doswin.c: fix djgpp function _use_lfn() used without a prototypeGisle Vanem
http://curl.haxx.se/mail/archive-2012-06/0028.html
2012-06-19Fixed NetWare makefile broken from last commit.Guenter Knauf
2012-06-18Some more NetWare makefile tweaks for metalink.Guenter Knauf
2012-06-18tool_cb_see.c: WinCE build adjustmentYang Tse
2012-06-13schannel: remove version number and identify its use with 'schannel' literalYang Tse
Version number is removed in order to make this info consistent with how we do it with other MS and Linux system libraries for which we don't provide this info. Identifier changed from 'WinSSPI' to 'schannel' given that this is the actual provider of the SSL/TLS support. libcurl can still be built with SSPI and without SCHANNEL support.
2012-06-11Revert: 634f7cfee40d4658 partiallyDaniel Stenberg
Make sure CURL_VERSION_SSPI is present and works as in previous releases for ABI and API compatibility reasons.
2012-06-11Makefile.vc6: Added version.lib if built with SSPISteve Holme
2012-06-11mingw32: Fixed warning of USE_SSL being redefinedMarc Hoersken
2012-06-11version: Replaced SSPI feature information with version string detailsMarc Hoersken
Added Windows SSPI version information to the curl version string when SCHANNEL SSL is not enabled, as the version of the library should also be included when SSPI is used to generate security contexts. Removed SSPI from the feature list as the features are GSS-Negotiate, NTLM and SSL depending on the usage of the SSPI library.
2012-06-11curl_sspi: Added Curl_sspi_version functionMarc Hoersken
Added new function to get SSPI version as string. Added required library version.lib to makefiles. Changed curl_schannel.c to use Curl_sspi_version.
2012-06-11schannel: Updated mingw32 makefilesGuenter Knauf
2012-06-09Added metalink support to NetWare builds.Guenter Knauf
2012-06-09Fixes allowing 26 more test cases in 1334 to 1393 range to succeedYang Tse
2012-06-08tool_getparam.h: fix compiler errorDaniel Stenberg
forward declare the Configurable struct
2012-06-08metalink: restore some includesDaniel Stenberg
Commit eeeba1496cbca removed them and thus broke my Linux build
2012-06-08metalink: build fixes and adjustments IIYang Tse
Additionally, make hash checking ability mandatory in order to allow metalink support in curl. A command line option could be introduced to skip hash checking at runtime, but the ability to check hashes should always be built-in when providing metalink support.
2012-06-08Added metalink support to MinGW builds.Guenter Knauf
2012-06-07metalink: build fixes and adjustments IYang Tse
2012-06-07Fixes allowing HTTP test cases 1338, 1339, 1368 and 1369 to succeedYang Tse
2012-05-27Enabled OpenSSL static linkage.Guenter Knauf
2012-05-27Try to detect OpenSSL build type automatically.Guenter Knauf
2012-05-26metalink: fix build errors when disabledDaniel Stenberg
2012-05-26Reduced #ifdef HAVE_METALINKTatsuhiro Tsujikawa
2012-05-26Disable hash check if neither OpenSSL nor GNUTLS is installed.Tatsuhiro Tsujikawa
2012-05-26Format GETOUT_METALINK nicelyTatsuhiro Tsujikawa
2012-05-26Minimize usage of structs from libmetalinkTatsuhiro Tsujikawa
2012-05-26Check checksum of downloaded file if checksum is availableTatsuhiro Tsujikawa
Metalink file contains several hash types of checksums, such as md5, sha-1, sha-256, etc. To deal with these checksums, I created abstraction layer based on lib/curl_md5.h and lib/md5.c. Basically, they are almost the same but I changed the code so that it is not hash type dependent. Currently, GNUTLS(nettle or gcrypt) and OpenSSL functions are supported. Checksum checking is done by reopening download file. If there is an I/O error, the current implementation just prints error message and does not try next resource. In this patch, the supported hash types are: md5, sha-1 and sha-256.
2012-05-26Always create directory hierarchy for Metalink.Tatsuhiro Tsujikawa
Filenames contained in Metalink file can include directory information. Filenames are unique in Metalink file, taking into account the directory information. So we need to create the directory hierarchy. Curl has --create-dirs option, but we create directory hierarchy for Metalink downloads regardless of the option value. This patch also put metalink int variable outside of HAVE_LIBMETALINK guard. This reduces the number of #ifdefs.
2012-05-26Fixed segmentation fault when Metalink has no valid file or no resource.Tatsuhiro Tsujikawa
2012-05-26Support media-type parameter in Content-TypeTatsuhiro Tsujikawa
2012-05-26Print "Metalink" in Features if Metalink support is enabled.Tatsuhiro Tsujikawa
2012-05-26Add --metalink to --helpant
2012-05-26--metalink option is available regardless of Metalink support.Tatsuhiro Tsujikawa
2012-05-26metalink: parse downloaded Metalink fileTatsuhiro Tsujikawa
Parse downloaded Metalink file and add downloads described there. Fixed compile error without metalink support.
2012-05-26metalink: minor metalinkfile fixTatsuhiro Tsujikawa
Don't update config->metalinkfile_last in operate(). Use local variable to point to the current metalinkfile.
2012-05-26metalink: show help message even if disabledTatsuhiro Tsujikawa
Print message if --metalink is used while metalink support is not enabled. Migrated Metalink support in tool_operate.c and removed operatemetalink().
2012-05-26Applied patches from DanielTatsuhiro Tsujikawa
2012-05-26Support Metalink.Tatsuhiro Tsujikawa
This change adds experimental Metalink support to curl. To enable Metalink support, run configure with --with-libmetalink. To feed Metalink file to curl, use --metalink option like this: $ curl -O --metalink foo.metalink We use libmetalink to parse Metalink files.
2012-05-25Made -D option work with -O and -J.Tatsuhiro Tsujikawa
To achieve this, first new structure HeaderData is defined to hold necessary data to perform header-related work. Then tool_header_cb now receives HeaderData pointer as userdata. All header-related work (currently, dumping header and Content-Disposition inspection) are done in this callback function. HeaderData.outs->config is used to determine whether each work is done. Unit tests were also updated because after this change, curl code always sets CURLOPT_HEADERFUNCTION and CURLOPT_HEADERDATA. Tested with -O -J -D, -O -J -i and -O -J -D -i and all worked fine.
2012-05-22Updated dependency libary versions.Guenter Knauf
2012-05-12my_useragent: shorten user-agentDaniel Stenberg
The built-in user-agent will now only say curl/[version] and nothing else in an attempt to decrease overhead in HTTP requests.