fix(daemon): name the directory that actually refused, not the one after it - #1646
Merged
Conversation
…ter it posix_directory_parent_secure(current_fd) validates the directory we are ALREADY IN, but the refusal message printed `component` - the child about to be entered. Every reporter has therefore been sent to inspect the wrong directory: #1537 read "ancestor '.cache'" when /Users/<user> was refusing #1621 read "ancestor 'cbm-daemon-501'" when /private/tmp was refusing Both inspected the named directory, found it clean, and said so. They were right. #1537 has been open for weeks with the reporter repeatedly confirming a correct `.cache` - including on v0.10.4 today - because we kept pointing at it. The message now names the CONTAINING directory and says explicitly not to check the component itself. This fixes no permission logic. It changes weeks of talking past each other into a report someone can act on in a minute, which for this class of bug is the whole game: the refusal is invisible from outside, so the message IS the diagnosis. Found while reviewing the CBM_RUNTIME_DIR work; the original detail was added in the earlier half of #1537 and named the wrong variable from the start. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
fix(daemon): name the directory that actually refused, not the one after it
posix_directory_parent_secure(current_fd) validates the directory we are ALREADY
IN, but the refusal message printed
component- the child about to be entered.Every reporter has therefore been sent to inspect the wrong directory:
#1537 read "ancestor '.cache'" when /Users/ was refusing
#1621 read "ancestor 'cbm-daemon-501'" when /private/tmp was refusing
Both inspected the named directory, found it clean, and said so. They were
right. #1537 has been open for weeks with the reporter repeatedly confirming a
correct
.cache- including on v0.10.4 today - because we kept pointing at it.The message now names the CONTAINING directory and says explicitly not to check
the component itself.
This fixes no permission logic. It changes weeks of talking past each other into
a report someone can act on in a minute, which for this class of bug is the
whole game: the refusal is invisible from outside, so the message IS the
diagnosis.
Found while reviewing the CBM_RUNTIME_DIR work; the original detail was added in
the earlier half of #1537 and named the wrong variable from the start.