docs::a...R::Util(3)

πŸ“¦ version 2.0.13, in nixos 26.05, nixpkgs unstable

🌸 NAME 🌸

APR::Util β€” Perl API for Various APR Utilities. Okay so this is the docs::a...R::Util(3) manual page, bestie, filed under User Contributed Perl Documentation πŸ’–

✨ Synopsis ✨

use APR::Util ();

$ok = password_validate($passwd, $hash);

πŸ’– Description πŸ’–

Various APR utilities that don't fit into any other group. That's literally the whole vibe ✨

πŸ‘‘ API πŸ‘‘

APR::Util provides the following functions and/or methods β€” periodt πŸ‘‘

πŸ’… "password_validate"

Validate an encrypted password hash against a plain text password (with lots of restrictions and peculiarities). The way this one has so many caveats is giving main character energy 😭

$ok = password_validate($passwd, $hash);
  • arg1: $passwd ( string ) β€” plain text password string
  • arg2: $hash ( string ) β€” encrypted or encoded hash. See below for supported hash formats.
  • ret: $ok ( boolean ) β€” the password either matches or not.
  • since: 2.0.00

The function handles the output of the following functions (it knows to tell md5 and sha1 from the others, since they have a special pattern recognized by apr):

  • md5 β€” generated by apr_md5_encode() (for which at the moment we have no perl glue, ask if you need it).
  • sha1 β€” generated by apr_sha1_base64() (for which at the moment we have no perl glue, ask if you need it). And it's available only since Apache 2.0.50 β€” noted, bestie.
  • crypt β€” on all but the following platforms: MSWin32, beos and NetWare. Therefore you probably don't want to use that feature, unless you know that your code will never end up running on those listed platforms. lowkey risky 🫣
    • Moreover, on these three platforms, if that function sees that the hash is not of md5 and sha1 formats, it'll do a clear to clear text matching, always returning success, no matter what the hashed value is.
Warning: double check that you understand what this function does and does not before using it. fr fr, do not skip this vibe check 🫢

🌈 Unsupported API 🌈

APR::Socket also provides auto-generated Perl interface for a few other methods which aren't tested at the moment and therefore their API is a subject to change. These methods will be finalized later as a need arises. If you want to rely on any of the following methods please contact the mod_perl development mailing list so we can help each other take the steps necessary to shift the method to an officially supported API.

πŸ¦‹ "filepath_name_get"

META: Autogenerated - needs to be reviewed/completed

[We have File::Spec and File::Basename for this purpose, I can't see why this api is needed]

return the final element of the pathname

$ret = filepath_name_get($pathname);
  • arg1: $pathname ( string ) β€” the path to get the final element of
  • ret: $ret ( string ) β€” the final element of the path

For example:

"/foo/bar/gum"    => "gum"
"/foo/bar/gum/"   => ""
"gum"             => "gum"
"bs\\path\\stuff" => "stuff"
  • since: subject to change

πŸŽ€ "password_get"

META: Autogenerated - needs to be reviewed/completed

Display a prompt and read in the password from stdin.

$ret = password_get($prompt, $pwbuf, $bufsize);
  • arg1: $prompt ( string ) β€” the prompt to display
  • arg2: $pwbuf ( string ) β€” buffer to store the password
  • arg3: $bufsize (number) β€” the length of the password buffer.
  • ret: $ret (integer)
  • since: subject to change

⭐ See Also ⭐

mod_perl 2.0 documentation.

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

🫢 Authors 🫢

The mod_perl development team and numerous contributors.


okay that's the whole page, bestie πŸ’– source/version is perl v5.42.3, dated 2023-10-21, from docs::a...R::Util(3). bye and slay βœ¨πŸŽ€

πŸ“¦ where this page comes from