SYNOPSIS

#include <gsasl.h>

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

ARGUMENTS

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.

DESCRIPTION

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).

RETURN VALUE

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

REPORTING BUGS

Report bugs to <[email protected]>. GNU SASL home page: http://www.gnu.org/software/gsasl/ General help using GNU software: http://www.gnu.org/gethelp/

COPYRIGHT

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.

RELATED TO gsasl_step…

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.