aboutsummaryrefslogtreecommitdiffstats
path: root/src/access/registry.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-09 02:49:25 +0000
committertv <tv@krebsco.de>2026-11-09 02:49:25 +0000
commitc2e566599aed088973b5a5be2bb04ee69cee5c7a (patch)
tree11fb923c99318f6e927bcaff65ed918865b6ab54 /src/access/registry.rs
parent51c7a4c2588b3f4064ba116276796741b3170de6 (diff)
access: keep an SSH key's comment
A key's line was stored as the key alone (`ssh-ed25519 <base64>`), whatever comment it came with, both from `PUT /auth/keys/<name>` and from `--bootstrap-keys`. Now its comment is kept after it (`PublicKey::kept_line`), the spaces between its words made one. The comment checks nothing: every use of a key parses the line, and the parse reads the key alone.
Diffstat (limited to 'src/access/registry.rs')
-rw-r--r--src/access/registry.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/access/registry.rs b/src/access/registry.rs
index 4ee51ff..01e6ba9 100644
--- a/src/access/registry.rs
+++ b/src/access/registry.rs
@@ -206,7 +206,7 @@ pub(crate) fn first_users(
let keys = users
.get_mut(name)
.ok_or_else(|| format!("bootstrap-keys: {name:?} isn't among bootstrap-users"))?;
- let key = super::sshsig::PublicKey::parse(line)
+ let kept = super::sshsig::PublicKey::kept_line(line)
.map_err(|why| format!("bootstrap-keys: {name}'s key: {why}"))?;
let comment = line
.split_whitespace()
@@ -219,7 +219,7 @@ pub(crate) fn first_users(
.find(|id| !keys.contains_key(id))
.expect("a free name"),
};
- keys.insert(id, key.line());
+ keys.insert(id, kept);
}
Ok(users)
}