aboutsummaryrefslogtreecommitdiff
path: root/src/tool_getparam.c
diff options
context:
space:
mode:
authorKyle L. Huff <kyle.huff@curetheitch.com>2013-08-25 13:18:59 -0400
committerSteve Holme <steve_holme@hotmail.com>2013-08-26 20:43:02 +0100
commite7dcc454c67a2fa9069b6393b7591a3d949049b4 (patch)
treef629a458a38efa7cb5b22fad0fd492f95009745a /src/tool_getparam.c
parent84789e12fb1d6d22532bd2ce7bfae3a160648a60 (diff)
curl: added basic SASL XOAUTH2 support
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
Diffstat (limited to 'src/tool_getparam.c')
-rw-r--r--src/tool_getparam.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index d9deb3b2b..813cc70c0 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -75,6 +75,7 @@ static const struct LongShort aliases[]= {
{"*", "url", TRUE},
{"*a", "random-file", TRUE},
{"*b", "egd-file", TRUE},
+ {"*B", "bearer", TRUE},
{"*c", "connect-timeout", TRUE},
{"*d", "ciphers", TRUE},
{"*e", "disable-epsv", FALSE},
@@ -498,6 +499,9 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
case 'b': /* egd-file */
GetStr(&config->egd_file, nextarg);
break;
+ case 'B': /* XOAUTH2 Bearer */
+ GetStr(&config->xoauth2_bearer, nextarg);
+ break;
case 'c': /* connect-timeout */
err = str2udouble(&config->connecttimeout, nextarg);
if(err)
@@ -1632,9 +1636,11 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
/* user:password */
GetStr(&config->userpwd, nextarg);
cleanarg(nextarg);
- err = checkpasswd("host", &config->userpwd);
- if(err)
- return err;
+ if(!config->xoauth2_bearer) {
+ err = checkpasswd("host", &config->userpwd);
+ if(err)
+ return err;
+ }
break;
case 'U':
/* Proxy user:password */