Add configurable ownership and permission defaults for shared DH parameter directories and files. Set shared DH parameter defaults to root:root, directory mode 0755, and file mode 0644 so non-root TLS services can traverse the directory and read DH parameter files. Enforce configured ownership and modes after synchronization and document the security boundary between public DH parameters and TLS private keys.
3.7 KiB
3.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Added configurable ownership and permission defaults for the shared DH parameter directory and generated DH parameter files through
tls_private_owner,tls_private_dir_mode, andtls_private_file_mode. - Added configuration documentation for shared DH parameter access and for the distinction between DH parameters and TLS private keys.
- Added deterministic ownership and permission enforcement for the shared DH parameter directory and
dh_*.pemfiles.
Changed
- Changed the default shared DH parameter directory ownership and mode to
root:rootand0755. - Changed the default shared DH parameter file ownership and mode to
root:rootand0644. - Changed the shared DH parameter defaults to allow non-root TLS services to traverse the directory and read DH parameter files.
- Changed global DH parameter synchronization to apply the configured ownership and file mode after transfer.
1.0.0 - 2026-09-06
Added
- Added configurable Diffie-Hellman parameter generation for one or more key sizes.
- Added global configuration options for temporary and persistent DH parameter directories.
- Added support for simple service definitions using the
service:ownerformat. - Added extended service definitions for per-service DH parameter deployment, destination ownership, and file permissions.
- Added support for both system-wide systemd services and per-user
systemctl --userservices. - Added support for rootless container service units by executing user service actions with the configured service owner and
XDG_RUNTIME_DIR. - Added systemd state inspection through
LoadState,ActiveState,SubState, andType. - Added automatic restart of active units after a successful optional service-specific DH parameter synchronization.
- Added automatic execution of inactive or failed
Type=oneshotunits after a successful DH parameter update. - Added explicit validation and error reporting for missing users, missing units, unavailable user managers, incomplete service definitions, missing DH files, and failed file operations.
- Added secure, explicit ownership and permission handling for created target directories and deployed DH parameter files.
- Added cleanup and failure handling for temporary DH parameter files and the global synchronization step.
Changed
- Changed service handling so that service-specific DH parameters are deployed before a service is restarted or a one-shot unit is started.
- Changed unit validation to distinguish missing services from inactive, failed, active, and transitional unit states.
- Changed reporting for per-user services to show the configured owner consistently for both status checks and service actions.
- Changed configuration parsing to preserve compatibility with
user.groupownership syntax while converting it touser:groupforchown.
Fixed
- Fixed misleading success messages for services that do not exist on a host.
- Fixed the possibility of creating or synchronizing DH parameters to a configured target path when the corresponding systemd unit is missing.
- Fixed malformed error-handling blocks around destination-directory creation and DH parameter copy operations.
- Fixed validation of the configured
user.groupownership field. - Fixed user-service restart handling so that active
systemctl --userservices are restarted as their configured owner. - Fixed handling of active
Type=oneshotunits withSubState=exitedby usingActiveStatefor action decisions.