libsasl uses a SASL connection context to maintain the state of each SASL session for both SASL clients and SASL servers. Each context can be used for only one authentication and security session at a time.
The maintained state includes the following information:
Connection information, such as service, naming and address information, and protocol flags
Callbacks specific to the connection
Security properties for negotiating the SASL SSF
State of the authentication along with security layer information