diff options
author | Henry Stern <stern@fsi.io> | 2015-09-11 13:11:12 -0300 |
---|---|---|
committer | Henry Stern <stern@fsi.io> | 2015-09-11 13:11:12 -0300 |
commit | db20a1bfae369f619f9ee2afcafffb27b9897fa4 (patch) | |
tree | 1cbcea879be2a7d6e53d41d92855cd7ca63294c1 /src/debug.c | |
parent | 5922a236d0ce7fcf911fce6ff7a52b11ddcf2142 (diff) | |
download | bindfs-db20a1bfae369f619f9ee2afcafffb27b9897fa4.tar.gz |
Better handle symlinks with destructive system calls.
The unlink, rmdir, and rename system calls behave unexpectedly
if you resolve the symbolic link and perform the operation on that
instead. It would leave a dangling symlink and delete the original
instead which is probably not the intention.
This commit adds another parameter to process_path to enable or disable
the symlink resolution. The bindfs_unlink, bindfs_rmdir and
bindfs_rename functions use this parameter to produce the expected
result. rm -rf will still behave differently, deleting the contents of
the symlinked directory before removing the symlink and not the
linked directory.
Diffstat (limited to 'src/debug.c')
0 files changed, 0 insertions, 0 deletions