Wallet...L::Krb5(3pm)

πŸ“¦ version 1.7, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– Wallet::ACL::Krb5 πŸ’–

okay bestie so this page lives in the User Contributed Perl Documentation section of your man pages, and it's filed under the (slightly truncated, she's shy) name Wallet...L::Krb5(3pm). it's a Perl module, it's a whole vibe, and it's about as simple as ACL verifiers get. let's go πŸ¦‹


✨ NAME ✨

Wallet::ACL::Krb5 β€” the simplest wallet ACL verifier, here to check Kerberos principals. no cap.


✨ SYNOPSIS ✨

my $verifier = Wallet::ACL::Krb5->new;
my $status = $verifier->check ($principal, $acl);
if (not defined $status) {
    die "Something failed: ", $verifier->error, "\n";
} elsif ($status) {
    print "Access granted\n";
} else {
    print "Access denied\n";
}

✨ DESCRIPTION ✨

so Wallet::ACL::Krb5 is literally the most straightforward wallet ACL verifier in the whole system. its entire job? verify ACL lines of type "krb5". that's it. that's the gig. πŸ’…

the value of one of those ACLs is just a plain old Kerberos principal, written out in its text display form. and here's the rule, bestie, listen close: the ACL grants access to a given principal if and only if the principal matches the ACL exactly. exact match. no fuzzy energy. no "close enough". it's giving strict, and honestly? iconic. πŸ‘‘


🌸 METHODS 🌸

new()

creates a new ACL verifier. for this particular verifier there is, and I quote, no setup work. zero. none. she comes fully assembled. πŸŽ€

check(PRINCIPAL, ACL)

returns true if PRINCIPAL matches ACL, false if it doesn't, and undef when something goes sideways (peep "DIAGNOSTICS" below for the tea β˜•).

error()

hands you back the error, but only if check() returned undef. that's the deal. πŸ™ˆ


πŸ’€ DIAGNOSTICS πŸ’€

  • malformed krb5 ACL β€” the ACL parameter you passed to check() was malformed. and rn, that error only pops up if ACL is undefined or the empty string. so basically: don't hand her nothing. 😭
  • no principal specified β€” the PRINCIPAL parameter to check() was undefined or the empty string. same energy. she needs something to work with, bestie.

🫢 SEE ALSO 🫢

this module is part of the wallet system. the current version is available from <https://www.eyrie.org/~eagle/software/wallet/>. 🌈


πŸ‘‘ AUTHOR πŸ‘‘

Russ Allbery <eagle@eyrie.org> β€” the one who wrote her, we stan. ⭐


and that's the whole page, bestie!! this was perl v5.40.0, dated 2024-11-12, and honestly? she ate. πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from