user: create default root user as typed struct
we added a userid attribute to the User struct, but missed that we created the default user without that attribuet via the json! macro which lead to a runtime panic on the deserialization by using the struct directly, such errors will be caught by the compiler in the future with this change, we can remove the serde_json import here Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
7d4e362993
commit
9c5c383bff
|
@ -4,7 +4,6 @@ use std::sync::{Arc, RwLock};
|
|||
use anyhow::{bail, Error};
|
||||
use lazy_static::lazy_static;
|
||||
use serde::{Serialize, Deserialize};
|
||||
use serde_json::json;
|
||||
|
||||
use proxmox::api::{
|
||||
api,
|
||||
|
@ -136,9 +135,15 @@ pub fn config() -> Result<(SectionConfigData, [u8;32]), Error> {
|
|||
let mut data = CONFIG.parse(USER_CFG_FILENAME, &content)?;
|
||||
|
||||
if data.sections.get("root@pam").is_none() {
|
||||
let user: User = serde_json::from_value(json!({
|
||||
"comment": "Superuser",
|
||||
})).unwrap();
|
||||
let user: User = User {
|
||||
userid: "root@pam".to_string(),
|
||||
comment: Some("Superuser".to_string()),
|
||||
enable: None,
|
||||
expire: None,
|
||||
firstname: None,
|
||||
lastname: None,
|
||||
email: None,
|
||||
};
|
||||
data.set_data("root@pam", "user", &user).unwrap();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue