Sync with TP.
[gsasl.git] / doc / gsasl-callback-securid.texi
blobc0a38334c2865f4e19dfd0ce62bb3aa74dbcdeff
1 @deftypefn Prototype int (*Gsasl_server_callback_validate) (Gsasl_session_ctx * @var{ctx}, char * @var{authentication_id}, char * @var{authorization_id}, char * @var{passcode}, char * @var{pin}, char * @var{suggestpin}, size_t * @var{suggestpinlen})
3 @var{ctx}:  libgsasl handle.
5 @var{authorization_id}:  input array with authorization identity.
7 @var{authentication_id}:  input array with authentication identity.
9 @var{passcode}:  input array with passcode.
11 @var{pin}:  input array with new pin (this may be NULL).
13 @var{suggestpin}:  output array with new suggested PIN.
15 @var{suggestpinlen}: on input the maximum size of the output array, on
16 output contains the actual size of the output array.
18 Type of callback function the application implements.  It should
19 return GSASL_OK if and only if the validation of the provided
20 credential was succesful.  GSASL_AUTHENTICATION_ERROR is a good
21 failure if authentication failed, but any available return code may be
22 used.
24 Two SECURID specific error codes also exists.  The function can return
25 GSASL_SECURID_SERVER_NEED_ADDITIONAL_PASSCODE to request that the
26 client generate a new passcode.  It can also return
27 GSASL_SECURID_SERVER_NEED_NEW_PIN to request that the client generate
28 a new PIN.  If the server wishes to suggest a new PIN it can populate
29 the SUGGESTPIN field.
31 If SUGGESTPIN is NULL, the function should only populate the output
32 length field with the length, and return GSASL_OK.  This usage may be
33 used by the caller to allocate the proper buffer size.
35 @end deftypefn