Scroll to navigation

gsasl_step(3) gsasl gsasl_step(3)


gsasl_step - API function


#include <gsasl.h>

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


libgsasl session handle.
input byte array.
size of input byte array.
newly allocated output byte array.
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 gsasl_free( output ).

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


Report bugs to <>.
General guidelines for reporting bugs:
GNU SASL home page:


Copyright © 2002-2022 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.


The full documentation for gsasl is maintained as a Texinfo manual. If the info and gsasl programs are properly installed at your site, the command

info gsasl

should give you access to the complete manual. As an alternative you may obtain the manual from: gsasl