Skip to content

Commit d69b1d4

Browse files
committed
Harden ACME ownership and key generation
1 parent dcf8cc5 commit d69b1d4

11 files changed

Lines changed: 365 additions & 37 deletions

File tree

Cargo.lock

Lines changed: 225 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/fluxheim-acme/src/acme_certificate_install_fs.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,14 @@ pub(super) fn ensure_safe_directory(
9797
) -> Result<(), AcmeCertificateInstallError> {
9898
#[cfg(unix)]
9999
{
100-
let directory_fd =
101-
crate::acme_directory::create_private_directory_all(directory).map_err(|error| {
102-
AcmeCertificateInstallError::Io {
103-
path: directory.to_path_buf(),
104-
error,
105-
}
106-
})?;
100+
let directory_fd = crate::acme_directory::create_private_directory_all_with_owner(
101+
directory,
102+
owner.map(|owner| (owner.uid, owner.gid)),
103+
)
104+
.map_err(|error| AcmeCertificateInstallError::Io {
105+
path: directory.to_path_buf(),
106+
error,
107+
})?;
107108
let directory_file = fs::File::from(directory_fd);
108109
apply_owner_to_file(&directory_file, directory, owner)?;
109110
Ok(())

0 commit comments

Comments
 (0)