Skip to content

Commit 7f6ca86

Browse files
committed
system-reinstall-bootc: Parse sshd config case-insensitive
Fixes: #2319 Signed-off-by: John Eckersberg <jeckersb@redhat.com>
1 parent 20d17fc commit 7f6ca86

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

  • crates/system-reinstall-bootc/src

crates/system-reinstall-bootc/src/users.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ impl<'a> SshdConfig<'a> {
125125
let config = sshd_output
126126
.lines()
127127
.filter_map(|line| line.split_once(' '))
128-
.collect::<BTreeMap<&str, &str>>();
128+
.map(|(k, v)| (k.to_ascii_lowercase(), v))
129+
.collect::<BTreeMap<String, &str>>();
129130

130131
let authorized_keys_files: Vec<&str> = config
131132
.get("authorizedkeysfile")
@@ -259,6 +260,20 @@ pub(crate) fn get_all_users_keys() -> Result<Vec<UserKeys>> {
259260
mod test {
260261
use super::*;
261262

263+
#[test]
264+
fn test_parse_sshd_config_lowercase() {
265+
let input = "authorizedkeysfile .ssh/authorized_keys";
266+
let config = SshdConfig::parse(input).unwrap();
267+
assert_eq!(config.authorized_keys_files, vec![".ssh/authorized_keys"]);
268+
}
269+
270+
#[test]
271+
fn test_parse_sshd_config_mixedcase() {
272+
let input = "AuthorizedKeysFile .ssh/authorized_keys";
273+
let config = SshdConfig::parse(input).unwrap();
274+
assert_eq!(config.authorized_keys_files, vec![".ssh/authorized_keys"]);
275+
}
276+
262277
#[test]
263278
pub(crate) fn test_parse_lsblk() {
264279
let fixture = include_str!("../tests/fixtures/loginctl.json");

0 commit comments

Comments
 (0)