All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Migrate from
users
touzers
to mitigate RUSTSEC-2023-0059
0.8.0 - 2023-11-01
- Add Cargo features for
auth
(default) andmodule
- Add internal
pam-macros
crate (experimental for now) - Reexport
pam_sys
at crate root - Add experimental support for modules via
PamModule
trait andimpl_pam_module
macro - Add Client::{change_authentication_token,get_user}
- Bump
pam-sys
to1.0.0-alpha5
- Possibly breaking: make
conv::PasswordConv
public - Change
Authenticator::get_handler
toAuthenticator::handler_mut
and addAuthenticator::handler
for immutable access to the handler - Move CI to azure pipelines (and remove
.travis.yml
) - Make
PamReturnCode
field inPamError
public to allow matching on it - Generate enums via proc macro
#[pam_enum]
(experimental)- Make variants capitalized snake_case
- Automatically implement
std::convert::From<i32>
to cast return values
- Add
include
setting inCargo.toml
- Export
pam_sys
atcrate::ffi
- Add untested(!) missing drop implementation for PamEnvList in non-linux builds
- Remove
Conversation::username
as this should be done by theClient
itself
0.7.0 - 2019-02-07
- Add
Converse
trait to handle conversation with pam - Add example:
spawn_bash
to demonstrate simple authentication - Add dev-dependency
rpassword
- RENAME from
pam-auth
topam
- Update to rust edition 2018
- Change Authenticator to be generic over a
Converse
and addwith_password
function for username/password authentication - Update
users
dependency (0.5.3 -> ^0.8)
- Do not set response on errors in pam conversation function (PR #12)
- Removed deprecated
simple
module
0.5.5 - 2018-07-04
- Updated
libc
dependency (0.2.39 -> 0.2.42) - Updated
pam-sys
dependency (0.5.5 -> 0.5.6)
0.5.4 - 2018-03-21
- Updated
libc
dependency (0.2.33 -> 0.2.39) - Updated
pam-sys
dependency (0.5.4 -> 0.5.5) - Updated
users
dependency (0.5.2 -> 0.5.3)
- Fix build on OSX and linux-arm
0.5.3 - 2017-12-04
- Only provide official support for Rust stable, beta and nightly (mainly through travis)
- Updated
libc
dependency (0.2.20 -> 0.2.33) - Updated
pam-sys
dependency (0.5.3 -> 0.5.4) - Addded
cache: cargo
directive to speedup CI
0.5.2 - 2017-06-19
- Fixed missing null terminations in PAM
converse
function (Pull request #6)
0.5.1 - 2017-05-25
- Removed use of unstable feature
ptr_as_ref
to build on 1.5.0 again
0.5.0 - 2017-02-18
- Add travis-ci badge to
Cargo.toml
- Added custom error type
PamError
and result type - Added
env
module for PAM environment modules
- Moved
Authenticator
to its own module - Removed custom
strdup
function inffi
and replaced it with thelibc
version - Tracked
pam-sys
- Use of Rust types where applicable
- Removal of obsolete
unsafe
blocks
- Changed
Authenticator::open_session
to also insert the PAM environment variables into the process environment
0.4.1 2017-01-20
- Added license badge to
README.md
- Updated
libc
dependency (0.2.9 -> 0.2.20) - Updated
pam-sys
dependency (0.4.0 -> 0.4.3) - Updated
users
dependency (0.5.1 -> 0.5.2) - Moved call to
pam_setcred
fromAuthenticator::authenticate()
toAuthenticator::open_session
- Moved documentation to docs.rs
- Fixed possibly undefined behaviour (taking a pointer of a dropped
CString
) inAuthenticator::new(..)
- Removed
.travis-update-gh-pages.sh
and obsolete rust versions from.travis.yml
0.4.0 - 2016-04-11
- Improved travis-ci integration to test against 1.5.0 and above
- Updated
libc
dependency (0.2.2 -> 0.2.9) - Updated
pam-sys
dependency (0.3.0 -> 0.4.0) - Updated
users
dependency (0.4.4 -> 0.5.1)
0.3.1 - 2016-01-14
- Relicensed to dual MIT/Apache-2.0
- Improved travis-ci integration to use container based builds
0.3.0 - 2015-12-08
- CHANGELOG.md
pam-auth
now builds on Rust stable (and beta)!- Better travis-ci integration (test on stable, beta and nightly)
- Updated
libc
dependency (0.1.8 -> 0.2.2) - Updated
pam-sys
dependency (0.2.1 -> 0.3.0) - Updated
users
dependency (0.4.2 -> 0.4.4)