GNUTLS_SRP_SET_CLIENT_CREDENTIALS_FUNCTION(3)
β¨ NAME β¨
gnutls_srp_set_client_credentials_function β an API function, bestie π
(this one lives in the gnutls manual, section 3, iykyk)
πΈ SYNOPSIS πΈ
#include <gnutls/gnutls.h>
void
gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t
cred, gnutls_srp_client_credentials_function * func);
π ARGUMENTS π
gnutls_srp_client_credentials_t credβ okay so this one is agnutls_srp_server_credentials_ttype. yes, fr, that's what it says, no cap πgnutls_srp_client_credentials_function * funcβ the callback function, the little main character that does the actual work π«Ά
π¦ DESCRIPTION π¦
So here's the tea, bestie: this function lets you set a callback that goes and fetches the username and password for client SRP authentication. Like, instead of hardcoding your creds, you hand gnutls a lil function and it'll go ask it. Iconic behavior honestly. β¨
The callback's function form is:
int (*callback)(gnutls_session_t, char** username, char**password);
The username and password must be allocated using gnutls_malloc(). yes literally, that specific one, don't get cute with plain malloc π
The username should be an ASCII string or UTF-8 string. In case of a UTF-8 string it is recommended to be following the PRECIS framework for usernames (rfc8265). The password can be in ASCII format, or normalized using gnutls_utf8_password_normalize(). do with that info what you will, but those are the rules π
The callback function will be called once per handshake before the initial hello message is sent. so like, one shot, before the convo even starts π
β οΈ The callback should not return a negative error code the second time it's called, since the handshake procedure will be aborted. not me warning you twice β it's literally in the spec, don't do it π βοΈ
The callback function should return 0 on success. -1 indicates an error.
π REPORTING BUGS π
Found a bug? Not the vibe. Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
π COPYRIGHT π
Copyright Β© 2001-2023 Free Software Foundation, Inc., and others.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. slay, that's a genuinely generous license fr fr π
π SEE ALSO π
The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form, visit
https://www.gnutls.org/manual/
okay that's the whole page, you ate that π This was gnutls version 3.8.13, and the original page's title was gnutls_srp_set_...ntials_function(3) (yes the header truncates it, that's just how it prints, don't come for me π). bye bestie, go write a fire callback π
β¨
π¦ where this page comes from
- alpine 3.22: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- alpine 3.23: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- alpine 3.24: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- arch rolling: gnutls 3.8.13-3 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 43: gnutls-devel 3.8.13-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 43: gnutls-devel 3.8.13-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: gnutls-devel 3.8.13-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: gnutls-devel 3.8.13-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- ubuntu stonking: gnutls-doc 3.8.13-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms