comparison README.md @ 88:c9fc7e6257d3 default tip

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
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: