The following are the general error codes that may be returned by
calls into the SASL library, and their meanings (that may vary
slightly based on context):
Common Result Codes
SASL_OK
Success
SASL_CONTINUE
Another step is needed in authentication
SASL_FAIL
Generic Failure
SASL_NOMEM
Memory shortage failure
SASL_BUFOVER
Overflowed buffer
SASL_NOMECH
Mechanism not supported / No mechanisms matched requirements
SASL_BADPROT
Bad / Invalid Protocol or Protocol cancel
SASL_NOTDONE
Can't request information / Not applicable until later in exchange
SASL_BADPARAM
Invalid Parameter Supplied
SASL_TRYAGAIN
Transient Failure (e.g. weak key)
SASL_BADMAC
Integrity Check Failed
SASL_NOTINIT
SASL library not initialized
Client-only Result Codes
SASL_INTERACT
Needs user interaction
SASL_BADSERV
Server failed mutual authentication step
SASL_WRONGMECH
Mechanism does not support requested feature
Server-only Result Codes
SASL_BADAUTH
Authentication Failure
SASL_NOAUTHZ
Authorization Failure
SASL_TOOWEAK
Mechanism too weak for this user
SASL_ENCRYPT
Encryption needed to use mechanism
SASL_TRANS
One time use of a plaintext password will enable requested mechanism for user