SASL_CALLBACKS(3)
π SASL_CALLBACKS π
okay bestie, so this is the Cyrus SASL manual page for SASL_CALLBACKS(3), and honestly? it's giving "the library needs to ask you stuff" energy. let's get into it π«Ά
β¨ NAME β¨
sasl_callbacks β Cyrus SASL documentation
β¨ SYNOPSIS β¨
#include <sasl/sasl.h>
β¨ DESCRIPTION β¨
so like. sasl_callbacks are what you pull out when the application needs some information from the application. yes that's the whole bit. the most common reasons are getting usernames and passwords, because of course they are π
A client MUST specify what callbacks they support in the sasl_client_init(3)/sasl_server_init(3) or sasl_client_new(3)/sasl_server_new(3) calls. no cap, it's required. and if an authentication mechanism needs a callback that the application does not state it supports, then it cannot be used. that's it, that's the rule, no exceptions, periodt π
If a callback has an id parameter, that should be checked to make sure you are giving the appropriate value. like, vibe check your id, bestie π
If an application is using the client side of the library, functions to handle the callbacks are not necessary. instead the application may deal with callbacks via SASL_INTERACT's. see sasl_client_start(3)/sasl_client_step(3) for more information. slay, you've got options β¨
πΈ Common Callbacks πΈ
these ones are for everyone, main character callbacks fr fr:
sasl_getopt_tβ Get an option valuesasl_log_tβ Log message handlersasl_getpath_tβ Get path to search for plugins (e.g. SASL mechanisms)sasl_verifyfile_tβ Verify files for use by SASLsasl_canon_user_t(3)β Username canonicalization function
π¦ Client-only Callbacks π¦
client side only, iykyk:
sasl_getsimple_tβ Get user/language listsasl_getsecret_tβ Get authentication secretsasl_chalprompt_t(3)β Display challenge and prompt for responsesasl_getrealm_tβ Get the realm for authentication
π Server-only Callbacks π
server girlies, this section is yours:
sasl_authorize_t(3)β Authorize policy callbacksasl_server_userdb_checkpass_tβ verify plaintext passwordsasl_server_userdb_setpass_tβ set plaintext passwordsasl_getconfpath_tβ Get path to search for SASL configuration file (server side only). New in SASL 2.1.22. β
β¨ RETURN VALUE β¨
SASL callback functions should return SASL return codes. see sasl_errors(3) for a complete list. SASL_OK typically indicates success β like when everything just works and you feel like the moment is iconic π
β¨ CONFORMING TO β¨
RFC 4422 β we stay compliant, we stay cute π
β¨ SEE ALSO β¨
sasl(3), sasl_errors(3), sasl_authorize_t(3), sasl_log_t(3), sasl_getpath_t(3), sasl_getconfpath_t(3), sasl_verifyfile_t(3), sasl_canon_user_t(3), sasl_getsimple_t(3), sasl_getsecret_t(3), sasl_chalprompt_t(3), sasl_getrealm_t(3), sasl_server_userdb_checkpass_t(3), sasl_server_userdb_setpass_t(3)
β¨ AUTHOR β¨
The Cyrus Team β absolute legends, no notes π
β¨ COPYRIGHT β¨
1993-2016, The Cyrus Team
okay that's the whole page bestie, you ate that π β¨
version 2.1.28, dated February 18, 2022 β shoutout to the Cyrus Team for this one, ily, bye ππ¦π
π¦ where this page comes from
- alpine 3.22: cyrus-sasl-doc 2.1.28-r8 Β· BSD-3-Clause-Attribution AND BSD-4-Clause
- alpine 3.23: cyrus-sasl-doc 2.1.28-r9 Β· BSD-3-Clause-Attribution AND BSD-4-Clause
- alpine 3.24: cyrus-sasl-doc 2.1.28-r9 Β· BSD-3-Clause-Attribution AND BSD-4-Clause
- centos-stream 10: cyrus-sasl-devel 2.1.28-27.el10 Β· BSD-Attribution-HPND-disclaimer
- fedora 43: cyrus-sasl-devel 2.1.28-33.fc43 Β· BSD-Attribution-HPND-disclaimer
- fedora 43: cyrus-sasl-devel 2.1.28-33.fc43 Β· BSD-Attribution-HPND-disclaimer
- fedora 44: cyrus-sasl-devel 2.1.28-35.fc44 Β· BSD-Attribution-HPND-disclaimer
- fedora 44: cyrus-sasl-devel 2.1.28-35.fc44 Β· BSD-Attribution-HPND-disclaimer
- opensuse-leap 16.0: cyrus-sasl-bdb-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-bdb-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-bdb-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-bdb-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- opensuse-leap 16.0: cyrus-sasl-devel 2.1.28-160000.4.1 Β· BSD-4-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms