aboutsummaryrefslogtreecommitdiff
path: root/src/tool_operate.c
AgeCommit message (Collapse)Author
2014-02-23tool_getparam: Moved tool_help() call into operate()Steve Holme
2014-02-23tool_getparam: Moved hugehelp() call into operate()Steve Holme
2014-02-23tool_getparam: Moved tool_version_info() call into operate()Steve Holme
2014-02-22tool_cfgable: Removed list_engine flag from config structureSteve Holme
In preparation for separating the global config options from the per operation config options, reworked the list engines code to not use a member variable in the Configurable structure.
2014-02-22tool_operate: Start to use CURLcode rather than int for return codesSteve Holme
To help assist with the detection of incorrect return codes, as per commits ee23d13a79, 33b8960dc8 and aba98991a5, updated the operate based functions to return CURLcode error codes.
2014-02-22tool: Fixed incorrect return code when setting HTTP request failsSteve Holme
During initialisation SetHTTPrequest() may fail and cURL would return PARAM_BAD_USE, which is equivalent to CURLE_NOT_BUILT_IN in cURL error terms. Instead, return CURLE_FAILED_INIT as we do for other functions that may fail during initialisation.
2014-02-22tool_operate: Moved list engines into separate function in tool_helpSteve Holme
2014-02-16tool_paramhlp: Added URL index to password prompt for multiple operationsSteve Holme
2014-02-15tool_operate: Changed the required argument check/get to be upfrontSteve Holme
Rather than check for required arguments, and prompt for any host and proxy passwords, as each operation is performed, changed the code so all configurations are checked before any operations are performed. This allows the user to input all the required passwords, for example, upfront rather than wait for each operation.
2014-02-15tool_operate: Moved required argument getting into separate functionSteve Holme
2014-02-14curl: output protocol headers using binary modeMarc Hoersken
Since protocol headers contain explicit line-endings there should be no automatic conversion to ASCII text or CRLF line-endings. This might break third party tools that already depend on this behaviour. We might need to introduce an option to make this optional.
2014-02-10tool_cfgable: Moved easy handle cleanup to fix pingpong logout issuesSteve Holme
Commmit c5f8e2f5f4 removed the easy handle clean-up from tool_operate, letting the code that was already present in free_config_fields() perform the task. Unfortunately, this wasn't the correct place to do this as it broke protocols, that would perform a logout, as the main clean-up in tool_main had already been called.
2014-02-10NPN/ALPN: allow disabling via command lineFabian Frank
when using --http2 one can now selectively disable NPN or ALPN with --no-alpn and --no-npn. for now honored with NSS only. TODO: honor this option with GnuTLS and OpenSSL
2014-02-09tool_operate: Move the trace and error file closure to tool_cfgableSteve Holme
2014-02-09tool_operate: Added support for performing URL specific operationsSteve Holme
2014-02-09tool_operate: Let curl handle cleanup take place in config_free()Steve Holme
2014-02-06tool_operate: Removed unused argument parameters from operate_do()Steve Holme
2014-02-06tool_operate: Moved list SSL engines code into operate()Steve Holme
2014-02-06tool_operate: Moved argument parsing into operate()Steve Holme
2014-02-05tool_operate: Moved .curlrc parsing code into operate()Steve Holme
2014-02-05tool_operate: Moved locale setup code into operate_init()Steve Holme
2014-02-04tool_operate: shortened too-long source lineDan Fandrich
2014-02-04tool_operate: Introduced operate_free() functionSteve Holme
2014-02-04tool_operate: Introduced operate_init() functionSteve Holme
2014-02-04tool_operate: Introduced new operate() functionSteve Holme
2014-02-03tool_operate: Moved libcurl information gathering to tool_mainSteve Holme
2014-02-03tool_operate: Moved command line argument parsing into separate functionSteve Holme
2014-02-03tool_operate: Simplified parse .curlrc decision logicSteve Holme
2014-02-03tool_operate: Moved main initialisation and cleanup code into tool_mainSteve Holme
2014-02-02tool_operate: Moved memory tracking initialisation into tool_mainSteve Holme
2014-02-02tool_operate: Moved initial config setup into new init_config() functionSteve Holme
2014-01-19tool: Fixed incorrect return code if command line parser runs out of memorySteve Holme
In the rare instance where getparameter() may return PARAM_NO_MEM whilst parsing a URL, cURL would return this error code, which is equivalent to CURLE_FTP_ACCEPT_FAILED in cURL error codes terms. Instead, return CURLE_FAILED_INIT and output the failure reason as per the other usage of getparameter().
2013-12-14login options: remove the ;[options] support from CURLOPT_USERPWDDaniel Stenberg
To avoid the regression when users pass in passwords containing semi- colons, we now drop the ability to set the login options with the same options. Support for login options in CURLOPT_USERPWD was added in 7.31.0. Test case 83 was modified to verify that colons and semi-colons can be used as part of the password when using -u (CURLOPT_USERPWD). Bug: http://curl.haxx.se/bug/view.cgi?id=1311 Reported-by: Petr Bahula Assisted-by: Steve Holme Signed-off-by: Daniel Stenberg <daniel@haxx.se>
2013-10-15tool: use XFERFUNCTION to save some castsDave Reisner
2013-09-13curl: Fixed usage of DNS options when not using c-ares resolverSteve Holme
Commit 32352ed6adddcb introduced various DNS options, however, these would cause curl to exit with CURLE_NOT_BUILT_IN when c-ares wasn't being used as the backend resolver even if the options weren't set by the user. Additionally corrected some minor coding style errors from the same commit.
2013-09-12curl: Add support for various DNS binding options.Ben Greear
(Passed on to c-ares.) Allows something like this: curl --dns-interface sta8 --dns-ipv4-addr 8.8.1.111 --interface sta8 \ --localaddr 8.8.1.111 --dns-servers 8.8.8.1 www.google.com Signed-off-by: Ben Greear <greearb@candelatech.com>
2013-08-27tool_operate.c: Fixed compilation warningSteve Holme
warning: implicit declaration of function 'checkpasswd'
2013-08-27curl: Moved check for password out of get parameter loopSteve Holme
Moved the calls to checkpasswd() out of the getparameter() function which allows for any related arguments to be specified on the command line before or after --user (and --proxy-user). For example: --bearer doesn't need to be specified before --user to prevent curl from asking for an unnecessary password as is the case with commit e7dcc454c67a2f.
2013-08-26curl: added basic SASL XOAUTH2 supportKyle L. Huff
Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the --bearer option. Example usage: curl --url "imaps://imap.gmail.com:993/INBOX/;UID=1" --ssl-reqd --bearer ya29.AHES6Z...OMfsHYI --user username@example.com
2013-08-20curl_easy_perform_ev: debug/test functionDaniel Stenberg
This function is meant to work *exactly* as curl_easy_perform() but will use the event-based libcurl API internally instead of curl_multi_perform(). To avoid relying on an actual event-based library and to not use non-portable functions (like epoll or similar), there's a rather inefficient emulation layer implemented on top of Curl_poll() instead. There's currently some convenience logging done in curl_easy_perform_ev which helps when tracking down problems. They may be suitable to remove or change once things seem to be fine enough. curl has a new --test-event option when built with debug enabled that then uses curl_easy_perform_ev() instead of curl_easy_perform(). If built without debug, using --test-event will only output a warning message. NOTE: curl_easy_perform_ev() is not part if the public API on purpose. It is only present in debug builds of libcurl and MUST NOT be considered stable even then. Use it for libcurl-testing purposes only. runtests.pl now features an -e command line option that makes it use --test-event for all curl command line tests. The man page is updated.
2013-08-16urlglob: better detect unclosed braces, empty lists and overflowsDaniel Stenberg
A rather big overhaul and cleanup. 1 - curl wouldn't properly detect and reject globbing that ended with an open brace if there were brackets or braces before it. Like "{}{" or "[0-1]{" 2 - curl wouldn't properly reject empty lists so that "{}{}" would result in curl getting (nil) strings in the output. 3 - By using strtoul() instead of sscanf() the code will now detected over and underflows. It now also better parses the step argument to only accept positive numbers and only step counters that is smaller than the delta between the maximum and minimum numbers. 4 - By switching to unsigned longs instead of signed ints for the counters, the max values for []-ranges are now very large (on 64bit machines). 5 - Bumped the maximum number of globs in a single URL to 100 (from 10) 6 - Simplified the code somewhat and now it stores fixed strings as single- entry lists. That's also one of the reasons why I did (5) as now all strings between "globs" will take a slot in the array. Added test 1234 and 1235 to verify. Updated test 87. This commit fixes three separate bug reports. Bug: http://curl.haxx.se/bug/view.cgi?id=1264 Bug: http://curl.haxx.se/bug/view.cgi?id=1265 Bug: http://curl.haxx.se/bug/view.cgi?id=1266 Reported-by: Will Dietz
2013-07-29tool_operate.c: fix brace placement for vi/emacs delimiter matchingYang Tse
2013-07-29tool_operate.c: move <fabdef.h> header inclusion locationYang Tse
2013-07-22curl: fix upload of a zip file in OpenVMSJohn E. Malmberg
Two fixes: 1. Force output file format to be stream-lf so that partial downloads can be continued. This should have minor impact as if the file does not exist, it was created with stream-lf format. The only time this was an issue is if there was already an existing file with a different format. 2. Fix file uploads are now fixed. a. VMS binary files such as ZIP archives are now uploaded correctly. b. VMS text files are read once to get the correct size and then converted to line-feed terminated records as they are read into curl. The default VMS text formats do not contain either line-feed or carriage-return terminated records. Those delimiters are added by the operating system file read calls if the application requests them. Bug: http://curl.haxx.se/bug/view.cgi?id=496
2013-07-22curl: fix symbolic names for CURL_NETRC_* enum in --libcurl outputYang Tse
2013-07-22curl: fix symbolic names for CURLUSESSL_* enum in --libcurl outputYang Tse
2013-07-22tool_operate.c: fix passing curl_easy_setopt long arg on some x64 ABIsYang Tse
We no longer pass our 'bool' data type variables nor constants as an argument to my_setopt(), instead we use proper 1L or 0L values. This also fixes macro used to pass string argument for CURLOPT_SSLCERT, CURLOPT_SSLKEY and CURLOPT_EGDSOCKET using my_setopt_str() instead of my_setopt(). This also casts enum or int argument data types to long when passed to my_setopt_enum().
2013-07-14src/tool: allow timeouts to accept decimal valuesDave Reisner
Implement wrappers around strtod to convert the user argument to a double with sane error checking. Use this to allow --max-time and --connect-timeout to accept decimal values instead of strictly integers. The manpage is updated to make mention of this feature and, additionally, forewarn that the actual timeout of the operation can vary in its precision (particularly as the value increases in its decimal precision).
2013-04-27Corrected version numbers after bumpSteve Holme
2013-04-27sasl-ir: Added --sasl-ir option to curl command line toolSteve Holme