[PATCH] Document that sasl_client_start() can return SASL_OK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


sasl_client_start() can return SASL_OK with some authentication methods
(PLAIN for example), but the documentation is not very consistent about it.
Sometimes it implies that client code only needs to deal with SASL_CONTINUE
and SASL_INTERACT, sometimes it handles SASL_OK in addition to these 2 values.

This commit tries to make the documentation for this return value
 doc/programming.html    | 6 +++---
 man/sasl_client_start.3 | 9 ++++++---
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/doc/programming.html b/doc/programming.html
index 00fac38..bd30b1c 100644
--- a/doc/programming.html
+++ b/doc/programming.html
@@ -340,7 +340,7 @@ begin the authentication process.
            } while (result==SASL_INTERACT); /* the mechanism may ask us to fill
                                                in things many times. result is 
                                                SASL_CONTINUE on success */
-           if (result!=SASL_CONTINUE) [failure]
+           if (result!=SASL_CONTINUE && result!=SASL_OK) [failure]
@@ -391,8 +391,8 @@ in IMAP.</li>
 Convert the continuation data to binary format (for example, this
-may include base64 decoding it). Perform another step in the
+may include base64 decoding it). If sasl_client_start() returned
+SASL_CONTINUE, perform another step in the authentication.
               do {
diff --git a/man/sasl_client_start.3 b/man/sasl_client_start.3
index a37cff7..533abb5 100644
--- a/man/sasl_client_start.3
+++ b/man/sasl_client_start.3
@@ -64,6 +64,9 @@ upon the security preferences specified earlier. The list of
 mechanisms is typically a list of mechanisms the server supports
 acquired from a capability request.
+It returns SASL_OK if no more authentication steps are needed, and
+SASL_CONTINUE if at least one more step is needed.
 If SASL_INTERACT is returned the library needs some values to be
 filled in before it can proceed. The prompt_need structure will be
 filled in with requests. The application should fulfill these requests
@@ -102,9 +105,9 @@ contains the name of the chosen SASL mechanism (on success)
 sasl_client_start returns an integer which corresponds to one of the
 following codes. SASL_CONTINUE indicates success and that there are
-more steps needed in the authentication. All other return codes
-indicate errors and should either be handled or the authentication
-session should be quit.
+more steps needed in the authentication. SASL_OK indicates that the
+authentication is complete. All other return codes indicate errors and
+should either be handled or the authentication session should be quit.
 RFC 4422

[Index of Archives]     [Info Cyrus]     [Squirrel Mail]     [Linux Media]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux