view README.md @ 50:171fb1171053 default tip

Added tag v0.0.2 for changeset bc5e18fa9c7a
author Paul Fisher <paul@pfish.zone>
date Wed, 16 Apr 2025 16:55:59 -0400
parents ce47901aab7a
children
line wrap: on
line source

# 🍳 nonstick

Nonstick lets you use PAM (Pluggable Authentication Modules) from Rust without having to deal with icky unsafe code.

## Status

It is currently very incomplete.
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).
At the moment, [Linux-PAM](https://github.com/linux-pam/linux-pam) is the only supported PAM implementation.

I will make an effort not to break APIs with development, but consider it alpha, pre-1.0 software.
While the code itself should be _secure_ and mostly safe, the API may not be completely stable.

Goals include:

- Bindings for PAM clients.
- Support for non–Linux-PAM implementations.

## Credits

This is a direct fork of [Anthony Nowell](http://anowell.com/)’s [`pam-rs`/`pam-bindings` crate](https://crates.io/crates/pam-bindings).
`pam-rs` was in turn inspired by:

- [`rust-pam` by tozny](https://github.com/tozny/rust-pam)
- [`pam_groupmap` by ndenev](https://github.com/ndenev/pam_groupmap)
- [`pam-http` by beatgammit](https://github.com/beatgammit/pam-http)