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
Returns GSASL_OK if authenticated terminated
successfully, GSASL_NEEDS_MORE if more data is needed, or error