diff libpam-sys/README.md @ 136:efbc235f01d3

Separate libpam-sys-helpers from libpam-sys. This separates the parts of libpam-sys that don't need linking against libpam from the parts that do need to link against libpam.
author Paul Fisher <paul@pfish.zone>
date Thu, 03 Jul 2025 14:28:04 -0400
parents 5b2de52dd8b2
children
line wrap: on
line diff
--- a/libpam-sys/README.md	Thu Jul 03 11:14:49 2025 -0400
+++ b/libpam-sys/README.md	Thu Jul 03 14:28:04 2025 -0400
@@ -5,27 +5,17 @@
 
 If you're looking for a nice, safe, Rusty API to PAM, may I recommend [nonstick][nonstick]?
 
-## Configuration
-
-By default, this crate guesses your system's PAM implementation based upon your OS.
+## PAM implementations
 
-- Linux: `LinuxPam`
-- BSDs, including Mac OS: `OpenPam`
-- Illumos/Solaris: `Sun`
-- Unknown: `XSso`
+This crate detects the PAM implementation you have installed, or guesses based on the OS if that's unavailable.
+Supported PAM implementations are defined in the `pam_impl::PamImpl` enum.
+
+You can also explicitly specify the PAM implementation you want (if not detected correctly) by setting the `LIBPAMSYS_IMPL` environment variable **at build time**.
+All build-time configuration is performed by the build script of the [`libpam-sys-helpers` crate](https://crates.io/crates/libpam-sys-helpers).
 
 Each implementation exports all the functionality available in its respective PAM library.
 `XSso` exports only what is in the [X/SSO specification][xsso].
 
-## Cargo Features
-
-The `helpers` feature (optional, but on by default) exports two helpers for PAM memory management.
-
-- A struct for managing the difference in memory management between Linux-PAM and all other implementations.
-- A struct for handling the Linux-PAM–specific binary data payload structure.
-
-Neither are directly referenced elsewhere, and both allow you to bring your own storage abstractions.
-
 ## Testing
 
 Tests are mostly run through `libpam-sys-test`, which lives in the crate's workspace in its repository (along with [nonstick]).