gsasl_step(3) API function


#include <gsasl.h>

int gsasl_step(Gsasl_session * sctx, const char * input, size_t input_len, char ** output, size_t * output_len);


Gsasl_session * sctx
libgsasl session handle.
const char * input
input byte array.
size_t input_len
size of input byte array.
char ** output
newly allocated output byte array.
size_t * output_len
pointer to output variable with size of output byte array.


Perform one step of SASL authentication. This reads data from the other end (from input and input_len), processes it (potentially invoking callbacks to the application), and writes data to server (into newly allocated variable output and output_len that indicate the length of output).

The contents of the output buffer is unspecified if this functions returns anything other than GSASL_OK or GSASL_NEEDS_MORE. If this function return GSASL_OK or GSASL_NEEDS_MORE, however, the output buffer is allocated by this function, and it is the responsibility of caller to deallocate it by calling free (output).


Returns GSASL_OK if authenticated terminated successfully, GSASL_NEEDS_MORE if more data is needed, or error code.


Report bugs to <[email protected]>. GNU SASL home page: General help using GNU software:


Copyright © 2002-2012 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.