CURLOPT_SASL_IR(3) Introduction to Library Functions CURLOPT_SASL_IR(3)
CURLOPT_SASL_IR - send initial response in first packet
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable);
Pass a long. If the value is 1, curl sends the initial response to
the server in the first authentication packet in order to reduce the
number of ping pong requests. Only applicable to the following
supporting SASL authentication mechanisms:
* Login * Plain * GSSAPI * NTLM * OAuth 2.0
Note: Whilst IMAP supports this option there is no need to explicitly
set it, as libcurl can determine the feature itself when the server
supports the SASL-IR CAPABILITY.
0
This functionality affects imap and smtp
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "smtp://example.com/");
curl_easy_setopt(curl, CURLOPT_SASL_IR, 1L);
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
Added in curl 7.31.0
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3).
CURLOPT_MAIL_AUTH(3), CURLOPT_MAIL_FROM(3), CURLOPT_SASL_AUTHZID(3)
libcurl 2026-01-08 CURLOPT_SASL_IR(3)
NAME
CURLOPT_SASL_IR - send initial response in first packet
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable);
DESCRIPTION
Pass a long. If the value is 1, curl sends the initial response to
the server in the first authentication packet in order to reduce the
number of ping pong requests. Only applicable to the following
supporting SASL authentication mechanisms:
* Login * Plain * GSSAPI * NTLM * OAuth 2.0
Note: Whilst IMAP supports this option there is no need to explicitly
set it, as libcurl can determine the feature itself when the server
supports the SASL-IR CAPABILITY.
DEFAULT
0
PROTOCOLS
This functionality affects imap and smtp
EXAMPLE
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "smtp://example.com/");
curl_easy_setopt(curl, CURLOPT_SASL_IR, 1L);
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
AVAILABILITY
Added in curl 7.31.0
RETURN VALUE
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3).
SEE ALSO
CURLOPT_MAIL_AUTH(3), CURLOPT_MAIL_FROM(3), CURLOPT_SASL_AUTHZID(3)
libcurl 2026-01-08 CURLOPT_SASL_IR(3)