comparison libpam-sys/README.md @ 108:e97534be35e3

Make some proc macros for doing cfg-like stuff for PAM impls.
author Paul Fisher <paul@pfish.zone>
date Sat, 28 Jun 2025 00:34:45 -0400
parents 49d9e2b5c189
children 2346fd501b7a
comparison
equal deleted inserted replaced
107:49c6633f6fd2 108:e97534be35e3
1 # libpam-sys 1 # libpam-sys
2 2
3 This crate provides low-level access to PAM. 3 This crate provides low-level access to PAM.
4 4
5 ## Options 5 ## Configuration
6 6
7 With no features at all enabled, only the functions specified by the [X/SSO PAM specification][xsso] are available. 7 By default, this crate guesses your system's PAM implementation based upon your OS.
8 8
9 - `extras` (enabled by default): Common extensions to PAM, shared by both OpenPAM and Linux-PAM. 9 - Linux: `LinuxPam`
10 This includes, most notably, `pam_get_authtok`. 10 - BSDs, including Mac OS: `OpenPam`
11 *Illumos does not provide this.* 11 - Illumos/Solaris: `Illumos`
12 - `illumos-ext`: Extensions provided only by Illumos. 12 - Unknown: `OpenPamMinimal`
13 - `linux-pam-ext`: Extensions provided only by Linux-PAM. 13
14 - `openpam-ext`: Extensions provided by OpenPAM. 14 Each implementation exports all the functionality available in its respective PAM library.
15 - `use-system-headers`: Source constants from your PAM system headers. 15 `OpenPamMinimal` is a subset that includes only the functions available in the spec, and the constants shared in common between OpenPAM and Illumos' implementation.
16 16
17 ## References 17 ## References
18 18
19 - [X/SSO PAM specification][xsso]: This 1997 document laid out the original specification for PAM. 19 - [X/SSO PAM specification][xsso]: This 1997 document laid out the original specification for PAM.
20 - [Linux-PAM repository][linux-pam]: The Linux-PAM implementation, used by most (all?) Linux distributions. Contains many extensions. 20 - [Linux-PAM repository][linux-pam]: The Linux-PAM implementation, used by most (all?) Linux distributions. Contains many extensions.