Wallet...L::Base(3pm)
π Wallet::ACL::Base β the manual, but make it make sense π
okay bestie, you found your way into the Wallet::ACL::Base page (that's the <pink>Wallet...L::Base(3pm)</pink> one, from the User Contributed Perl Documentation section, iykyk) and honestly? it's giving β¨backboneβ¨. let's get into it π«Ά
β¨ NAME β¨
Wallet::ACL::Base β the generic parent class for wallet ACL verifiers, no cap π
π¦ SYNOPSIS π¦
package Wallet::ACL::Simple
@ISA = qw(Wallet::ACL::Base);
sub check {
my ($self, $principal, $acl) = @_;
return ($principal eq $acl) ? 1 : 0;
}
that's the whole vibe. inherit, override check, done. slay π₯
πΈ DESCRIPTION πΈ
Wallet::ACL::Base is the generic parent class for wallet ACL verifiers. it hands out default functions and default behavior, and literally every ACL verifier is supposed to inherit from it. π
but here's the thing β it is not used directly. it's the parent, the blueprint, the main character that never actually shows up on screen. if you're using this class by itself, bestie, what are you doing π
π METHODS π
new()
creates a new ACL verifier. the generic version provided right here? it literally just creates an object and blesses it. that's it. that's the function. π
syntax_check(PRINCIPAL, ACL)
this one should be overridden by any child class that wants to implement validating the name of an ACL before creation. want to check that ACL names look right before they exist? this is your moment, go off π
the default implementation? it allows any name for an ACL. no notes, no checks, just vibes. β¨
check(PRINCIPAL, ACL, TYPE, NAME)
β οΈ this method should always be overridden by child classes. always. not optional. periodt.
the default implementation just declines all access π β so if you forgot to override it, congrats, nobody gets in, the door is locked forever, iconic behavior honestly.
TYPE and NAME are the type and name of the object being accessed. some ACL schemes use them, some schemes ignore them entirely. their choice, their journey π¦
error([ERROR ...])
returns the error of the last failing operation β or undef if no operations have failed. so if any other instance method hands you back an undef, call this function to grab the error message. that's the move π
and for the convenience of child classes, this method can also be called with one or more error strings. when you do that:
- the strings get concatenated together
- trailing newlines are removed
- any text of the form
" at \S+ line \d+\.?"at the end of the message is stripped off π§Ή - and the result gets stored as the error
π only child classes should call this method with an error string. that's a you-and-your-subclass thing, not a public thing. respect the boundary 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 legend, the icon, the moment β
and that's the whole page, bestie π this was perl v5.40.0, dated 2024-11-12, and that's the Wallet...L::Base(3pm) era of your life officially understood. go override check and make good choices πβ¨π¦
π¦ where this page comes from
- debian trixie: krb5-wallet-server 1.7 Β· MIT
- ubuntu resolute: krb5-wallet-server 1.7 Β· MIT
- ubuntu stonking: krb5-wallet-server 1.7 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms