Mercurial > crates > nonstick
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: |