2021-12-31 00:11:20 +01:00
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
2020-02-15 01:27:25 +01:00
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub struct NssUser {
|
|
|
|
pub name: String,
|
|
|
|
pub gid: u32,
|
|
|
|
pub gecos: String,
|
|
|
|
pub homedir: String,
|
|
|
|
pub shell: String,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub struct NssGroup {
|
|
|
|
pub name: String,
|
|
|
|
pub gid: u32,
|
|
|
|
pub members: Vec<String>,
|
|
|
|
}
|
|
|
|
|
2020-02-13 00:43:01 +01:00
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub enum ClientRequest {
|
|
|
|
SshKey(String),
|
2020-02-15 01:27:25 +01:00
|
|
|
NssAccounts,
|
|
|
|
NssAccountByUid(u32),
|
|
|
|
NssAccountByName(String),
|
|
|
|
NssGroups,
|
|
|
|
NssGroupByGid(u32),
|
|
|
|
NssGroupByName(String),
|
2020-02-29 05:02:14 +01:00
|
|
|
PamAuthenticate(String, String),
|
|
|
|
PamAccountAllowed(String),
|
2021-03-13 03:33:15 +01:00
|
|
|
PamAccountBeginSession(String),
|
2020-02-15 01:27:25 +01:00
|
|
|
InvalidateCache,
|
|
|
|
ClearCache,
|
|
|
|
Status,
|
2020-02-13 00:43:01 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub enum ClientResponse {
|
|
|
|
SshKeys(Vec<String>),
|
2020-02-15 01:27:25 +01:00
|
|
|
NssAccounts(Vec<NssUser>),
|
|
|
|
NssAccount(Option<NssUser>),
|
|
|
|
NssGroups(Vec<NssGroup>),
|
|
|
|
NssGroup(Option<NssGroup>),
|
2020-02-29 05:02:14 +01:00
|
|
|
PamStatus(Option<bool>),
|
2020-02-15 01:27:25 +01:00
|
|
|
Ok,
|
|
|
|
Error,
|
2020-02-13 00:43:01 +01:00
|
|
|
}
|
2021-03-13 03:33:15 +01:00
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
|
|
|
pub struct HomeDirectoryInfo {
|
|
|
|
pub gid: u32,
|
|
|
|
pub name: String,
|
|
|
|
pub aliases: Vec<String>,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
|
|
|
pub enum TaskRequest {
|
|
|
|
HomeDirectory(HomeDirectoryInfo),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub enum TaskResponse {
|
|
|
|
Success,
|
|
|
|
Error(String),
|
|
|
|
}
|