Mercurial > crates > nonstick
comparison README.md @ 88:c9fc7e6257d3
This is a v0.0.7 if I ever saw one.
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Tue, 10 Jun 2025 05:36:58 -0400 |
| parents | d83623951070 |
| children | 9e4ce1631bd3 |
comparison
equal
deleted
inserted
replaced
| 87:05291b601f0a | 88:c9fc7e6257d3 |
|---|---|
| 2 | 2 |
| 3 Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust without getting stuck in unsafe code. | 3 Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust without getting stuck in unsafe code. |
| 4 | 4 |
| 5 ## Status | 5 ## Status |
| 6 | 6 |
| 7 This is currently very incomplete. | 7 This is currently somewhat incomplete. |
| 8 It only provides functionality for developing your own PAM authentication module (i.e., a backend that PAM calls to authenticate a user or do something similar). | |
| 9 A very immature implementation of the PAM Conversation structure is gated behind the `experimental` feature. | |
| 10 At the moment, [Linux-PAM](https://github.com/linux-pam/linux-pam) is the only supported PAM implementation. | |
| 11 | 8 |
| 12 *If you’re looking for a library to implement a PAM client* (i.e., something that authenticates using PAM), consider the [`pam` crate](https://crates.io/crates/pam). | 9 It provides fairly robust functionality for developing PAM modules (i.e., backends that PAM calls to authenticate users or do something similar). |
| 10 [Linux-PAM](https://github.com/linux-pam/linux-pam) is the only _tested_ PAM implementation, but it compiles against OpenPAM. | |
| 13 | 11 |
| 14 APIs are likely to break before v0.1.0, and thereafter should stabilize to an eventual 1.0 release. | 12 *If you’re looking for a library to implement a PAM client* (i.e., something that authenticates using PAM), consider the [`pam` crate](https://crates.io/crates/pam) for now. |
| 13 | |
| 14 APIs are likely to break before v0.1.0, but thereafter should stabilize to an eventual 1.0 release. | |
| 15 After v0.1.0, the shape of the API should be mostly formed, and most of what happens will be adding new features. | |
| 15 | 16 |
| 16 Goals include: | 17 Goals include: |
| 17 | 18 |
| 18 - Bindings for PAM clients. | 19 - Bindings for PAM clients. |
| 19 - A robust and mature implementation of Conversation. | 20 - Additional PAM features, like environment variables. |
| 20 - Support for non–Linux-PAM implementations. | 21 - Way more documentation. |
| 21 | 22 |
| 22 ## Credits | 23 ## Credits |
| 23 | 24 |
| 24 This is a direct fork of [Anthony Nowell](http://anowell.com/)’s [`pam-rs`/`pam-bindings` crate](https://crates.io/crates/pam-bindings). | 25 This is a direct fork of [Anthony Nowell](http://anowell.com/)’s [`pam-rs`/`pam-bindings` crate](https://crates.io/crates/pam-bindings). |
| 25 `pam-rs` was in turn inspired by: | 26 `pam-rs` was in turn inspired by: |
