Age | Commit message (Collapse) | Author | Lines | |
---|---|---|---|---|
2015-09-11 | Better handle symlinks with destructive system calls. | Henry Stern | -29/+42 | |
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. | ||||
2015-09-11 | Don't resolve broken symbolic links. | Henry Stern | -4/+9 | |
This commit offers an alternative behaviour of not resolving broken symbolic links in case returning ENOENT is undesirable behaviour. | ||||
2015-09-11 | Add functionality to transparently resolve symbolic links. | Henry Stern | -82/+247 | |
There exist use cases where you would want bindfs to transparently resolve symbolic links, such as when you are creating a chroot environment with a bound fs. This change adds an option, --resolve-symlinks, that modifies the behaviour of the process_path and bindfs_symlink functions. The process_path function is modified to return a mutable char* that must be freed. When settings.resolve_symlinks is enabled the process_path function calls realpath on the relative path to transparently resolve the symbolic link. A side effect of this change is that broken symbolic links will appear in directory listings but any attempt to access the file of that name will return the ENOENT error code. A subsequent commit offers an alternative behaviour of not resolving broken symbolic links. All callers of process_path are modified to check the return value of process_path to make sure realpath and strdup were successful. They also free the result after use to prevent memory leakage. The bindfs_symlink function is modified to return EPERM when resolve-symlinks is enabled. This must be done to prevent access to arbitrary files on the filesystem. | ||||
2015-09-09 | Added recommended osxfuse options to readme and man page. | Martin Pärtel | -0/+3 | |
As recommended by @retrography in #21. | ||||
2015-09-03 | Put Apple-specific includes and definitions inside an #ifdef __APPLE__. | Martin Pärtel | -2/+2 | |
2015-09-01 | Minor patches for MacOSX compilation | Mahmood Shafeie Zargar | -0/+10 | |
2015-08-26 | Add apple-specific *xattr implementations. Untested. | Martin Pärtel | -18/+95 | |
Copied from https://github.com/osxfuse/fuse/blob/master/example/fusexmp_fh.c | ||||
2014-06-30 | Implemented rate limiter. | Martin Pärtel | -14/+276 | |
Fixes #12. | ||||
2014-06-11 | Fix caching of group members | Andrej Lajovic | -1/+0 | |
2014-06-05 | Released 1.12.4. | Martin Pärtel | -0/+1 | |
2014-06-03 | Fix --ctime-from-mtime accuracy. | Martin Pärtel | -3/+7 | |
Use struct stat's st_mtim instead of st_mtime when available. Fixes #16 | ||||
2014-05-10 | Use lutimes() when utimensat() unavailable (#6). | Martin Pärtel | -18/+19 | |
2014-05-10 | Fix tests (#14) | Martin Pärtel | -2/+0 | |
2014-05-10 | (removed trailing spaces) | Martin Pärtel | -67/+66 | |
2014-05-09 | Remove fuse utimens dependency for OSX | Lee Hanxue | -0/+19 | |
2014-01-22 | man page: use newer fstab syntax (issue #9). | Martin Pärtel | -1/+6 | |
2013-09-23 | Implement fuse_utimens instead of fuse_utime. | Martin Pärtel | -7/+7 | |
Fixes utime'ing symlinks. Seems to also fix an attribute caching problem. | ||||
2013-07-22 | Changed home page to http://bindfs.org/ | Martin Pärtel | -5/+3 | |
2013-07-22 | Document chmod-filter on man-page. | Martin Pärtel | -0/+6 | |
2013-07-22 | Rename chmod-perms to chmod-filter. | Martin Pärtel | -8/+7 | |
2013-07-22 | (free chmod_permchain in at_exit) | Martin Pärtel | -0/+2 | |
2013-07-22 | Alter chmod permissions when using --chmod-perms | Anton Ageev | -0/+14 | |
2013-05-07 | Add -pthread to LDFLAGS | Martin Pärtel | -1/+1 | |
fuse's pkg-config no longer includes it. | ||||
2013-03-01 | Rename --user/group to --force-user/group. | Martin Pärtel | -9/+49 | |
The previous names were deprecated as they conflicted with standard mount options. --owner was also deprecated for consistency. The shorthands -u and -g were not deprecated. This fixes issue 25. | ||||
2012-09-15 | Be single-threaded by default. Documented a race condition. | Martin Pärtel | -9/+29 | |
2012-09-14 | Added a note about a race condition when creating new files. | Martin Pärtel | -0/+2 | |
2012-09-14 | Use my_dirname instead of dirname for thread-safety. | Martin Pärtel | -3/+3 | |
2012-09-14 | Implemented my_dirname and added unit tests for it. | Martin Pärtel | -0/+34 | |
2012-09-14 | Respect setgid bit on directories when using --create-as-user | Jonathan Dieter | -1/+11 | |
Signed-off-by: Jonathan Dieter <jdieter@lesbg.com> | ||||
2012-07-15 | process_path in readdir | Martin Pärtel | -0/+2 | |
2012-07-15 | Fix DPRINTF | Martin Pärtel | -1/+1 | |
2012-07-04 | Cache user data for user_belongs_to_group(). | Martin Pärtel | -55/+377 | |
This considerably speeds up --mirror @group. | ||||
2012-07-03 | Use NAME_MAX if pathconf fails. | Martin Pärtel | -3/+1 | |
Apparently it's not rare. | ||||
2012-07-03 | Fixed permchain.operands size and reordered it a bit. | Martin Pärtel | -3/+3 | |
2012-07-03 | Fail readdir() if pathconf fails. | Martin Pärtel | -3/+7 | |
2012-07-03 | Made strerror() safe to use in DPRINTF. | Martin Pärtel | -3/+35 | |
2012-07-03 | bindfs: avoid crash due to too-short allocation | Jan Engelhardt | -3/+8 | |
pathconf() can return negative values to indicate an error. Using the result of pathconf naïvely in arithmetic is therefore inappropriate. | ||||
2012-07-03 | bindfs: reduce memory holes in struct permchain | Jan Engelhardt | -2/+2 | |
Reduce holes in struct permchain by appropriately sizing and reordering members. | ||||
2012-07-03 | build: better placement of variables | Jan Engelhardt | -2/+2 | |
automake options are best set in configure.ac, so they apply not just to the directory, but the whole project. Also move fuse_CFLAGS into AM_CPPFLAGS, because it actually consists of preprocessor directives. (pkgconfig misnamed CFLAGS.) | ||||
2012-07-03 | build: do not change CFLAGS | Jan Engelhardt | -1/+2 | |
CFLAGS must not be touched: it is a user variable. Your previous way of doing it meant that `export CFLAGS="-O1"; ./configure;` never had any effect. | ||||
2012-06-18 | Fixed a memory error in src/usermap.c. | Martin Pärtel | -3/+10 | |
2012-05-18 | Use readdir_r() for thread-safety. | Martin Pärtel | -4/+18 | |
2012-05-18 | Fixed --create-as-user. | Martin Pärtel | -118/+51 | |
2012-04-05 | Made -ouse_ino and -oreaddir_ino the default to mirror inodes. | Martin Pärtel | -0/+4 | |
2012-03-26 | Made --map affect chown/chgrp results. | Martin Pärtel | -4/+8 | |
2012-03-13 | (oops) | Martin Pärtel | -1/+1 | |
2012-03-13 | Added root check for --map. | Martin Pärtel | -0/+6 | |
2012-03-13 | Added --map. | Martin Pärtel | -64/+431 | |
2012-03-02 | A little cleanup. | Martin Pärtel | -10/+6 | |
2012-03-02 | Cleaned up main() a little. | Martin Pärtel | -45/+56 | |