Trait pamsm::PamData [−][src]
Expand description
Trait to implement for data stored with pam using PamLibExt::send_data
in order to provide a cleanup callback.
Example
extern crate pamsm; use pamsm::{Pam, PamData, PamError, PamFlag}; use std::fs::write; struct Token([u8; 32]); impl PamData for Token { fn cleanup(&self, _pam: Pam, flags: i32, status: PamError) { if PamFlag::DATA_REPLACE as i32 & flags == 0 && status == PamError::SUCCESS { match write(".token.bin", self.0) { Ok(_) => (), Err(err) => { if PamFlag::SILENT as i32 & flags == 0 { println!("Error persisting token : {:?}", err); } } }; } } }