sasl_encode(3) Encode data for transport to authenticated host


#include <sasl/sasl.h>

int sasl_encode(sasl_conn_t *conn,
const char * input,
unsigned inputlen,
const char ** output,
unsigned * outputlen);
int sasl_encodev(sasl_conn_t *conn,
const struct iovec * invec,
unsigned numiov,
const char ** output,
unsigned * outputlen);


sasl_encode encodes data to be sent to be sent to a remote host who we've had a successful authentication session with. If there is a negotiated security the data in signed/encrypted and the output should be sent without modification to the remote host. If there is no security layer the output is identical to the input.

sasl_encodev does the same, but for a struct iovec instead of a character buffer.

output contains the encoded data and is allocated/freed by the library.


Returns SASL_OK on success. See sasl_errors(3) for meanings of other return codes.


RFC 4422