Validate configured systemd units before applying service-specific DH parameter synchronization. Synchronize per-service DH parameters before restarting active units. Query system-wide and per-user systemd managers with LoadState, ActiveState, SubState, and Type. Restart active units, start inactive or failed Type=oneshot units, and leave inactive or failed non-oneshot units without a service action. Skip missing units, unavailable user managers, and invalid or incomplete service definitions without creating misleading synchronization messages. Add robust error handling for DH parameter generation, permission changes, directory creation, global synchronization, and temporary file cleanup.
2.8 KiB
2.8 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.
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.