Ensure XPath for ConfigDaemon matches exactly one element #1224
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
ConfigDaemon always uses the first matched element from specified XPath https://github.com/Froxlor/Froxlor/blob/87409473231f7f928ae36bff02362a7e034b9e4f/lib/Froxlor/Config/ConfigDaemon.php#L94 but didn't check if specified XPath matched exactly one element.
The Gentoo config XML has two different versions for the daemon
postfix_dovecot
specified:The second version in line 1705 is missing the
version
attribute. This causes the XPath (based only on thename
attribute) to match both elements and results in a broken output for service configuration (version from line 1557 is displayed twice).Type of change
How Has This Been Tested?
name
attributes for daemons -> none found -> only Gentoo affected