diff --git a/include/curl/curl.h b/include/curl/curl.h index c7a052d1e1d20df044c3941b876e7675f2c1911d..e8ec9eee664c565eb7f80552221294e8756c01fa 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -1527,9 +1527,12 @@ typedef enum { /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */ CINIT(SSL_OPTIONS, LONG, 216), - /* set the SMTP auth originator */ + /* Set the SMTP auth originator */ CINIT(MAIL_AUTH, OBJECTPOINT, 217), + /* Enable/disable SASL initial response */ + CINIT(SASL_IR, LONG, 218), + CURLOPT_LASTENTRY /* the last unused */ } CURLoption; diff --git a/lib/url.c b/lib/url.c index b1ba8f1df851261239fe7c0ff4b20d2b93651a33..e116a5b6801181e7471e05e7c2a9c7a8c8a1d4f5 100644 --- a/lib/url.c +++ b/lib/url.c @@ -2246,20 +2246,27 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, break; case CURLOPT_MAIL_FROM: + /* Set the SMTP mail originator */ result = setstropt(&data->set.str[STRING_MAIL_FROM], va_arg(param, char *)); break; case CURLOPT_MAIL_AUTH: + /* Set the SMTP auth originator */ result = setstropt(&data->set.str[STRING_MAIL_AUTH], va_arg(param, char *)); break; case CURLOPT_MAIL_RCPT: - /* get a list of mail recipients */ + /* Set the list of mail recipients */ data->set.mail_rcpt = va_arg(param, struct curl_slist *); break; + case CURLOPT_SASL_IR: + /* Enable/disable SASL initial response */ + data->set.sasl_ir = (0 != va_arg(param, long)) ? TRUE : FALSE; + break; + case CURLOPT_RTSP_REQUEST: { /* diff --git a/lib/urldata.h b/lib/urldata.h index 092398b284984b94efe4f891e3eddb327653bb4d..55f4884f98539c4d504434ad212360201ffb5067 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -1563,6 +1563,7 @@ struct UserDefined { long socks5_gssapi_nec; /* flag to support nec socks5 server */ #endif struct curl_slist *mail_rcpt; /* linked list of mail recipients */ + bool sasl_ir; /* Enable/disable SASL initial response */ /* Common RTSP header options */ Curl_RtspReq rtspreq; /* RTSP request type */ long rtspversion; /* like httpversion, for RTSP */