Name

gnutls_srp_set_server_credentials_function — Used to set a callback to retrieve the user's SRP credentials

Synopsis

#include <gnutls/gnutls.h>
void gnutls_srp_set_server_credentials_function( gnutls_srp_server_credentials_t   cred,
  gnutls_srp_server_credentials_function *   func);

ARGUMENTS

gnutls_srp_server_credentials_t cred

is a gnutls_srp_server_credentials_t structure.

gnutls_srp_server_credentials_function * func

is the callback function

DESCRIPTION

This function can be used to set a callback to retrieve the user's SRP credentials. The callback's function form is: int (*callback)(gnutls_session_t, const char* username, gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* g, gnutls_datum_t* n);

username contains the actual username. The salt, verifier, generator and prime must be filled in using the gnutls_malloc(). For convenience prime and generator may also be one of the static parameters defined in extra.h.

In case the callback returned a negative number then gnutls will assume that the username does not exist.

In order to prevent attackers from guessing valid usernames, if a user does not exist, g and n values should be filled in using a random user's parameters. In that case the callback must return the special value (1).

The callback function will only be called once per handshake. The callback function should return 0 on success, while −1 indicates an error.

REPORTING BUGS

Report bugs to <bug-gnutls@gnu.org>.

SEE ALSO

The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual.

COPYRIGHT

Copyright © 2008 Free Software Foundation.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.