|SASL_CLIENT_STEP(3SASL)||Simple Authentication Security Layer Library Functions||SASL_CLIENT_STEP(3SASL)|
sasl_client_step - acquire an auxiliary property context
cc [ flag ... ] file ... -lsasl [ library ... ] #include <sasl/sasl.h> int sasl_client_step(sasl_conn_t *conn, const char *serverin,
sasl_interact_t **unsigned serverinlen, prompt_need,
const char **clientout, sasl_interact_t **unsigned *clientoutlen);
Use the sasl_client_step() interface performs a step in the authentication negotiation. sasl_client_step() returns SASL_OK if the complete negotiation is successful. If the negotiation on step is completed successfully, but at least one more step is required, sasl_client_step() returns SASL_CONTINUE. A client should not assume an authentication negotiaion is successful because the server signaled success through the protocol. For example, if the server signaled OK Authentication succeeded in IMAP, sasl_client_step() should be called one more time with a serverinlen of zero.
If a call to sasl_client_step() returns SASL_INTERACT, the library requires some values before sasl_client_step() can proceed. The prompt_need structure will be filled with the requests. The application should fulfull these requests and call sasl_client_step() again with identical parameters. The prompt_need parameter will be the same pointer as before, but it will have been filled in by the application.
sasl_client_step() returns an integer that corresponds to a SASL error code.
All other error codes indicate an error situation that must be handled, or the authentication session should be quit. See sasl_errors(3SASL) for information on SASL error codes.
See attributes(7) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|November 26, 2017||OmniOS|