diff libpam-sys/README.md @ 106:49d9e2b5c189

An irresponsible mix of implementing libpam-sys and other stuff.
author Paul Fisher <paul@pfish.zone>
date Thu, 26 Jun 2025 22:41:28 -0400
parents
children e97534be35e3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpam-sys/README.md	Thu Jun 26 22:41:28 2025 -0400
@@ -0,0 +1,35 @@
+# libpam-sys
+
+This crate provides low-level access to PAM.
+
+## Options
+
+With no features at all enabled, only the functions specified by the [X/SSO PAM specification][xsso] are available.
+
+- `extras` (enabled by default): Common extensions to PAM, shared by both OpenPAM and Linux-PAM.
+  This includes, most notably, `pam_get_authtok`.
+  *Illumos does not provide this.*
+- `illumos-ext`: Extensions provided only by Illumos.
+- `linux-pam-ext`: Extensions provided only by Linux-PAM.
+- `openpam-ext`: Extensions provided by OpenPAM.
+- `use-system-headers`: Source constants from your PAM system headers.
+
+## References
+
+- [X/SSO PAM specification][xsso]: This 1997 document laid out the original specification for PAM.
+- [Linux-PAM repository][linux-pam]: The Linux-PAM implementation, used by most (all?) Linux distributions. Contains many extensions.
+  - [Linux-PAM man page][man7]: Root man page for Linux-PAM, with links to additional PAM man pages.
+  - [Linux-PAM guides][linux-guides]: Documentation for developers using PAM and sysadmins.
+- [OpenPAM repository][openpam]: The OpenPAM implementation, used by many BSD varieties. This hews very close to the spec.
+  - [OpenPAM man page][manbsd]: NetBSD's root man page for OpenPAM.
+- [Illumos PAM repository][illumos-pam]: Illumos's implementation of PAM. Even more basic than OpenPAM.
+  - [Illumos PAM man page][manillumos]: Illumos's root man page for its PAM implementation.
+
+[xsso]: https://pubs.opengroup.org/onlinepubs/8329799/toc.htm
+[linux-pam]: https://github.com/linux-pam/linux-pam
+[man7]: https://www.man7.org/linux/man-pages/man8/pam.8.html
+[linux-guides]: https://www.chiark.greenend.org.uk/doc/libpam-doc/html/
+[openpam]: https://git.des.dev/OpenPAM/OpenPAM
+[manbsd]: https://man.netbsd.org/pam.8
+[illumos-pam]: https://code.illumos.org/plugins/gitiles/illumos-gate/+/refs/heads/master/usr/src/lib/libpam/
+[manillumos]: https://illumos.org/man/3PAM/pam
\ No newline at end of file