Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple fixes for PlaintextNames mode #178

Merged
merged 8 commits into from
Nov 28, 2017

Conversation

slackner
Copy link
Contributor

This set fixes:

In addition the set introduces a openBackingPath helper to do path conversion and open a handle to the directory. This could be especially useful later for fixing issue #165.

Please let me know what you think. Also feel free to cherry-pick certain patches if you want to solve certain issues in a different way.

* Acquire the lock before reading the current directory
* Fix a file descriptor leak
In PlaintextNames mode the "gocryptfs.longname." prefix does not have any
special meaning. We should not attempt to read the directory IV or to
create special .name files.

Partially fixes rfjakob#174
This is already done in regular mode, but was missing when PlaintextNames mode
is enabled. As a result, symlinks created by non-root users were still owned
by root afterwards.

Fixes rfjakob#176
Fixes the same problem as described in 72b9758,
except for symlinks instead of device nodes.
In PlaintextNames mode the "gocryptfs.longname." prefix does not have any
special meaning. We should not attempt to delete any .name files.

Partially fixes rfjakob#174
@rfjakob
Copy link
Owner

rfjakob commented Nov 28, 2017

Looks good to me, thanks!

@rfjakob rfjakob merged commit 5d44a31 into rfjakob:master Nov 28, 2017
@rfjakob
Copy link
Owner

rfjakob commented Nov 28, 2017

PS: About the MacOS syscall wrappers: the plan is to make them testable under Linux. Testing on MacOS is too much hassle.

@slackner
Copy link
Contributor Author

Thanks for reviewing! Offering a way to test the MacOS code path on Linux definitely sounds like a good idea. Those syscall wrappers are already pretty complicated, would be nice to integrate them into the automated testing framework.

@slackner slackner deleted the syscallcompat branch November 29, 2017 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants