1.. saslman:: sasl_server_start(3) 2 3.. _sasl-reference-manpages-library-sasl_server_start: 4 5 6=========================================================== 7**sasl_server_start** - Begin an authentication negotiation 8=========================================================== 9 10Synopsis 11======== 12 13.. code-block:: C 14 15 #include <sasl/sasl.h> 16 17 int sasl_server_start(sasl_conn_t * conn, 18 const char * mech, 19 const char * clientin, 20 unsigned clientinlen, 21 const char ** serverout, 22 unsigned * serveroutlen); 23 24Description 25=========== 26 27.. c:function:: int sasl_server_start(sasl_conn_t * conn, 28 const char * mech, 29 const char * clientin, 30 unsigned * clientinlen, 31 const char ** serverout, 32 unsigned * serveroutlen); 33 34 **sasl_server_start()** begins the authentication with the 35 mechanism specified with mech. This fails if the mechanism 36 is not supported. 37 38 :param conn: is the SASL connection context 39 :param mech: is the mechanism name that the client requested 40 :param clientin: is the client initial response, NULL if the protocol 41 lacks support for client‐send‐first or if the other 42 end did not have an initial send. Note that no initial 43 client send is distinct from an initial send of a null 44 string, and the protocol MUST account for this difference. 45 :param clientinlen: is the length of initial response 46 :param serverout: is created by the plugin library. It is the initial 47 server response to send to the client. This is allocated/freed by the 48 library and it is the job of the client 49 to send it over the network to the server. Also protocol 50 specific encoding (such as base64 encoding) must needs to 51 be done by the server. 52 :param serveroutlen: is set to the length of initial server challenge 53 54Return Value 55============ 56 57SASL callback functions should return SASL return codes. See sasl.h for a 58complete list. :c:macro:`SASL_OK` is returned if the authentication is complete 59and the user is authenticated. :c:macro:`SASL_CONTINUE` is returned if one or 60more steps are still required in the authentication. 61 62All other return values indicate errors and should be handled or the 63authentication session should be quit. 64 65See Also 66======== 67 68:rfc:`4422`,:saslman:`sasl(3)`, 69:saslman:`sasl_server_init(3)`, :saslman:`sasl_server_new(3)`, 70:saslman:`sasl_server_step(3)`, :saslman:`sasl_errors(3)` 71