Mercurial > crates > nonstick
comparison README.md @ 184:42f747774d94
Really get documentation stuff squared away.
Expand READMEs and polish off module documentation.
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Thu, 31 Jul 2025 14:36:50 -0400 |
| parents | 9e4ce1631bd3 |
| children |
comparison
equal
deleted
inserted
replaced
| 183:4f46681b3f54 | 184:42f747774d94 |
|---|---|
| 1 # 🍳 nonstick | 1 # 🍳 nonstick |
| 2 | 2 |
| 3 Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust safely. | 3 Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust. |
| 4 Don't worry about getting stuck on unsafe code. | 4 Never worry about getting stuck on unsafe code. |
| 5 | 5 |
| 6 You can use nonstick for interacting with PAM from both sides: | 6 You can use nonstick for interacting with PAM from both sides: |
| 7 | 7 |
| 8 - PAM applications: call into PAM to authenticate users. | 8 - PAM applications: call into PAM to authenticate users. |
| 9 - PAM modules: write a backend that PAM uses for authentication. | 9 - PAM modules: write a backend that PAM uses for authentication. |
| 13 - Linux-PAM, used on most (all?) Linux distributions. | 13 - Linux-PAM, used on most (all?) Linux distributions. |
| 14 - OpenPAM, used on most BSDs, including Mac OS. | 14 - OpenPAM, used on most BSDs, including Mac OS. |
| 15 - Sun's PAM, used on Solaris and derivatives like Illumos. | 15 - Sun's PAM, used on Solaris and derivatives like Illumos. |
| 16 | 16 |
| 17 Further documentation can be found in the crate's rustdoc. | 17 Further documentation can be found in the crate's rustdoc. |
| 18 | |
| 19 ## Why use nonstick? | |
| 20 | |
| 21 - Safe, idiomatic Rust API. | |
| 22 - Supports both modules and client applications. | |
| 23 - Works with all PAM implementations. | |
| 24 - Does not require system headers. | |
| 25 - Few dependencies, fast builds (no `syn`!). | |
| 26 - Well-tested on multiple platforms (AMD64 Linux, FreeBSD, and Illumos). | |
| 18 | 27 |
| 19 ## Status | 28 ## Status |
| 20 | 29 |
| 21 - **Modules**: full support for all calls by PAM into modules. | 30 - **Modules**: full support for all calls by PAM into modules. |
| 22 You can use nonstick to implement a PAM module that performs any stage of the PAM lifecycle. | 31 You can use nonstick to implement a PAM module that performs any stage of the PAM lifecycle. |
