diff --git a/include/curl/curl.h b/include/curl/curl.h index c7a052d1e..e8ec9eee6 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 b1ba8f1df..e116a5b68 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 092398b28..55f4884f9 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 */