1sasl_client_sStiamrptl(e3SAAuStLh)entication Security Layer LibrarsyasFlu_nccltiieonnts_start(3SASL)
2
3
4

NAME

6       sasl_client_start - perform a step in the authentication negotiation
7

SYNOPSIS

9       cc [ flag ... ] file ... -lsasl   [ library ... ]
10       #include <sasl/sasl.h>
11
12       int sasl_client_start(sasl_conn_t *conn, const char *mechlist,
13            sasl_interact_t **prompt_need, const char **clientout,
14            unsigned *clientoutlen, const char **mech);
15
16

DESCRIPTION

18       Use the sasl_client_start() interface to select a mechanism for authen‐
19       tication and start the authentication session. The  mechlist  parameter
20       holds  the  list  of  mechanisms that the client might like to use. The
21       mechanisms in the list are not necessarily supported by the client, nor
22       are  the  mechanisms  necessarily  valid.  SASL determines which of the
23       mechanisms to use based upon the security  preferences  specified  ear‐
24       lier. The list of mechanisms is typically a list of mechanisms that the
25       server supports, acquired from a capability request.
26
27
28       If SASL_INTERACT is returned, the  library  needs  some  values  to  be
29       filled in before it can proceed. The prompt_need structure is filled in
30       with requests. The  application  fullfills  these  requests  and  calls
31       sasl_client_start()  again  with  identical parameters. The prompt_need
32       parameter is the same pointer as before, but it is  filled  in  by  the
33       application.
34

PARAMETERS

36       conn            The SASL connection context.
37
38
39       mechlist        A  list  of  mechanism  that  the server has available.
40                       Punctuation is ignored.
41
42
43       prompt_need     A list of prompts that are needed to continue, if  nec‐
44                       essary.
45
46
47       clientout       clientout  and  clientoutlen  are created. They contain
48       clientoutlen    the initial client response to send to the  server.  It
49                       is  the job of the client to send them over the network
50                       to the server. Any protocol  specific  encodingthat  is
51                       necessary, for example base64 encoding, must be done by
52                       the client.
53
54                       If the  protocol  lacks  client-send-first  capability,
55                       then  set  clientout  to  NULL.  If there is no initial
56                       client-send, then *clientout will be  set  to  NULL  on
57                       return.
58
59
60       mech            Contains  the  name  of the chosen SASL mechanism, upon
61                       success.
62
63

RETURN VALUES

65       sasl_client_start() returns an integer that corresponds to a SASL error
66       code.
67

ERRORS

69       SASL_CONTINUE    The  call  to  sasl_client_start() was successful, and
70                        more steps are needed in the authentication.
71
72
73
74       All other error codes indicate an error situation that must be handled,
75       or  the  authentication  session should be quit. See sasl_errors(3SASL)
76       for information on SASL error codes.
77

ATTRIBUTES

79       See attributes(5) for descriptions of the following attributes:
80
81
82
83
84       ┌─────────────────────────────┬─────────────────────────────┐
85       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
86       ├─────────────────────────────┼─────────────────────────────┤
87       │Availablity                  │SUNWlibsasl                  │
88       ├─────────────────────────────┼─────────────────────────────┤
89       │Interface Stability          │Evolving                     │
90       ├─────────────────────────────┼─────────────────────────────┤
91       │MT-Level                     │Safe                         │
92       └─────────────────────────────┴─────────────────────────────┘
93

SEE ALSO

95       sasl_errors(3SASL), attributes(5)
96
97
98
99SunOS 5.11                        26 Aug 2003         sasl_client_start(3SASL)
Impressum