aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2012-04-26Updated dependency lib versions.Guenter Knauf
2012-04-23Revert "sspi: Added version information"Yang Tse
This reverts commit 2976de480808119dae08fc6f52c8d75ba1aedb1a.
2012-04-22sspi: Added version informationSteve Holme
Added version information for Windows SSPI to curl's main version string and removed SSPI from the features string.
2012-04-20Updated dependency lib versions.Guenter Knauf
2012-04-19Take in account that CURLAUTH_* bitmasks are now 'unsigned long' - follow-upYang Tse
MIPSPro compiler detected curl_easy_getinfo() related missing adjustments. SunPro compiler detected curl tool --libcurl option related missing adjustments.
2012-04-18Take in account that CURLAUTH_* bitmasks are now 'unsigned long'Yang Tse
Data type of internal vars holding CURLAUTH_* bitmasks changed from 'long' to 'unsigned long' for proper handling and operating.
2012-04-18Some explicit conversion to 'long' of curl_easy_setopt() third argumentYang Tse
Explicit conversion to 'long' of curl_easy_setopt() third argument for options CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH given that this is how its bitmasks are docummented to be used.
2012-04-17-# progress meter: avoid superfluous updates and duplicate linesDaniel Stenberg
By comparing if a different "progress point" is reached or not since the previous update, the progress function callback for this now avoids many superfluous screen updates. This has the nice side-effect that it fixes a problem that causes a second progress meter line. The second line output happened because when we use the -# progress meter, we force a newline output after the transfer in the main loop in curl, but when libcurl calls the progress callback from curl_easy_cleanup() it would then output the progress display again. Possibly the naive newline output is wrong but this optimization was suitable anyway... Reported by: Daniel Theron Bug: http://curl.haxx.se/bug/view.cgi?id=3517418
2012-04-12tool_operate.c: fix compiler warningYang Tse
2012-04-12Updated dependency lib versions (2nd try).Guenter Knauf
2012-04-12Updated dependency lib versions.Guenter Knauf
2012-04-12tool_formparse.c: rename a couple of vars to avoid declaration shadowingYang Tse
2012-04-11build adjustments: functionally revert commits 4d3fb91f and bbfe1182Yang Tse
Undefining CURL_HIDDEN_SYMBOLS in source files isn't the proper fix.
2012-04-10curl tool: make setup.h first header included in tool_setup.h againYang Tse
2012-04-09configure: Windows cross-compilation fixesYang Tse
BUILDING_LIBCURL and CURL_STATICLIB are no longer defined in curl_config.h, configure will generate appropriate conditionals so that mentioned symbols get defined and used in Makefiles at compilation time
2012-04-08curl tool: make curl.h first header included in tool_setup.hYang Tse
2012-04-06curl tool: use configuration files from lib directoryYang Tse
Configuration files such as curl_config.h and all config-*.h no longer exist nor are generated/copied into 'src' directory, now these only exist in 'lib' directory from where curl tool sources uses them. Additionally old src/setup.h has been refactored into src/tool_setup.h which now pulls lib/setup.h The possibility of a makefile needing an include path adjustment exists.
2012-04-05curl: add --post303 to set the CURL_REDIR_POST_303 optionDaniel Stenberg
2012-04-01curl tool: add filename_effective token for --write-outDave Reisner
By modifying the parameter list for ourWriteOut() and passing the OutStruct that collects data in tool_operate, we get access to the remote name that we're writing to. Shell scripters should find this useful when used in conjuntion with the --remote-header-name option.
2012-03-27tool_cb_dbg.c: fix tool_cb_dbg() to behave properly even for size 0Olaf Flebbe
curl segfault in debug callback triggered with CURLINFO_HEADER_OUT and size 0 bug: http://curl.haxx.se/bug/view.cgi?id=3511794
2012-03-18tool_easysrc.c: fix --libcurl option output file text translation modeYang Tse
Use fopen() with "w" mode instead of "wt" to fix cygwin builds.
2012-03-18build: remove tool_cb_skt.[ch] referencesYang Tse
2012-03-17tool_setopt.c: more OOM handling fixesYang Tse
2012-03-16tool_setopt.c: fix OOM handlingYang Tse
2012-03-16fix several compiler warningsYang Tse
2012-03-16fix some compiler warningsYang Tse
2012-02-23Generate lists and use symbols in --libcurl code output.Colin Hogben
This patch improves the output of curl's --libcurl option by generating code which builds curl_httppost and curl_slist lists, and uses symbolic names for enum and flag values. Variants of the my_setopt macro in tool_setopt.h are added in order to pass extra type information to the code-generation step in tool_setopt.c. If curl is configured with --disable-libcurl-option then the macros call curl_easy_setopt directly.
2012-02-16curl: Added support for --mail-authSteve Holme
Added an extra command-line argument to support the optional AUTH parameter in SMTPs MAIL FROM command.
2012-02-13configure: add option disable --libcurl outputColin Hogben
2012-02-13curl tool: allow negative numbers as option valuesAlessandro Ghedini
Fix the str2num() function to not check if the input string starts with a digit, since strtol() supports numbers prepended with '-' (and '+') too. This makes the --max-redirs option work as documented.
2012-02-09nss: add support for the CURLSSLOPT_ALLOW_BEAST optionKamil Dudka
... and fix some typos from the 62d15f1 commit.
2012-02-09--ssl-allow-beast addedDaniel Stenberg
This new option tells curl to not work around a security flaw in the SSL3 and TLS1.0 protocols. It uses the new libcurl option CURLOPT_SSL_OPTIONS with the CURLSSLOPT_ALLOW_BEAST bit set.
2012-02-09curl: use new library-side TCP_KEEPALIVE optionsDave Reisner
Use the new library CURLOPT_TCP_KEEPALIVE rather than disabling this via the sockopt callback. If --keepalive-time is used, apply the value to CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL.
2012-02-07curl tool: allow glob-loops to abort again upon critical errorsYang Tse
This prevents clobbering of non recoverable error return codes while retaining intended functionality of commit 65103efe
2012-02-06curl tool: don't abort glob-loop due to failuresDaniel Stenberg
We want to continue to the next URL to try even on failures returned from libcurl. This makes -f with ranges still get subsequent URLs even if occasional ones return error. This was a regression as it used to work and broke in the 7.23.0 release. Added test case 1328 to verify the fix. Bug: http://curl.haxx.se/bug/view.cgi?id=3481223 Reported by: Juan Barreto