KRB5PLUGIN_AN2LN_FTABLE_DESC(3)

πŸ“¦
version 7.8.0 Β· 2 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, epel 10, epel 9, fedora 43, fedora 44

πŸ’– krb5plugin_an2ln_ftable_desc β€” bestie edition πŸ’–

okay so this is a page straight out of the Heimdal Kerberos 5 library manual, and we're talking about krb5plugin_an2ln_ftable_desc β€” literally the description of the krb5_aname_to_lname(3) plugin facility. yes bestie, it's a whole plugin situation. buckle up. πŸŽ€


✨ NAME ✨

krb5plugin_an2ln_ftable_desc β€” the lowdown on the krb5_aname_to_lname(3) plugin facility. it's giving "here's how you plug into the name-mapping machine." πŸ’…


🌸 SYNOPSIS 🌸

#include <an2ln_plugin.h>

πŸ¦‹ Detailed Description πŸ¦‹

so. the whole tea: this is the description of the krb5_aname_to_lname(3) plugin facility. 🫢

krb5_aname_to_lname(3) is pluggable. the plugin is named KRB5_PLUGIN_AN2LN (and its lil nickname is 'an2ln', cute), and it has exactly one minor version: KRB5_PLUGIN_AN2LN_VERSION_0, which is 0. one version, no chaos, periodt.

the plugin for krb5_aname_to_lname(3) is made of a data symbol that points at a structure of type krb5plugin_an2ln_ftable, and that struct has four fields:

🧚 Parameters 🧚

  • init β€” the plugin initialization function (go peek at krb5-plugin(7) for the deets, iykyk)
  • minor_version β€” the plugin minor version number, which is 0
  • fini β€” the plugin finalization function
  • an2ln β€” the plugin's aname_to_lname function

the an2ln field is the moment β€” it's the plugin entry point that does the traditional aname_to_lname operation, and it can do it however the plugin wants, honestly, main character energy, do your thing. πŸ’…

BUT. and this is important bestie. it gets invoked in no particular order relative to the other an2ln plugins. none. zero. so instead, it gets a 'rule' argument that says which plugin is actually supposed to act on that rule. and if the rule is not applicable to this plugin? the plugin's an2ln function must return KRB5_PLUGIN_NO_HANDLE. no cap. that's the vibe check. 🌈


πŸ’œ the arguments, in this exact order πŸ’œ

  1. plug_ctx β€” the context value that the plugin's init function output
  2. context β€” a krb5_context
  3. rule β€” the aname_to_lname rule currently being evaluated (this one comes from krb5.conf(5), bestie)
  4. aname β€” the krb5_principal that's getting mapped to an lname
  5. set_res_f β€” a function the plugin must call to set its result πŸ‘‘
  6. set_res_ctx β€” the first argument you hand to set_res_f (the second one is the result lname string, fyi)

⭐ Author ⭐

generated automatically by Doxygen for the Heimdal Kerberos 5 library, straight from the source code. it's iconic, it's hands-off, it's literally a robot doing the writing for us. πŸ’–


πŸŽ€ okay that's the whole page bestie, go forth and plug in responsibly πŸŽ€

signing off with the deets: Version 7.8.0, dated Tue Nov 15 2022, from your friends at the Heimdal Kerberos 5 library manual, krb5plugin...table_desc(3) βœ¨πŸ¦‹

πŸ“¦ where this page comes from