comparison README.md @ 62:d83623951070

Further improve docs and put `conv` behind a feature gate.
author Paul Fisher <paul@pfish.zone>
date Wed, 21 May 2025 23:10:09 -0400
parents 2a5c83d04b93
children
comparison
equal deleted inserted replaced
61:5eecd797fc69 62:d83623951070
1 # 🍳 nonstick 1 # 🍳 nonstick
2 2
3 Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust without having to deal with icky 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 It is currently very incomplete. 7 This is currently very 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). 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 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 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. 10 At the moment, [Linux-PAM](https://github.com/linux-pam/linux-pam) is the only supported PAM implementation.
11 11
12 An earlier version of this suggested that I would try not to break APIs. 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).
13 This was optimistic on my part; it is likely APIs will break before v0.1.0, after which I _will_ try to break things _less_. 13
14 APIs are likely to break before v0.1.0, and thereafter should stabilize to an eventual 1.0 release.
14 15
15 Goals include: 16 Goals include:
16 17
17 - Bindings for PAM clients. 18 - Bindings for PAM clients.
19 - A robust and mature implementation of Conversation.
18 - Support for non–Linux-PAM implementations. 20 - Support for non–Linux-PAM implementations.
19 21
20 ## Credits 22 ## Credits
21 23
22 This is a direct fork of [Anthony Nowell](http://anowell.com/)’s [`pam-rs`/`pam-bindings` crate](https://crates.io/crates/pam-bindings). 24 This is a direct fork of [Anthony Nowell](http://anowell.com/)’s [`pam-rs`/`pam-bindings` crate](https://crates.io/crates/pam-bindings).