2023-11-10 Martin Pärtel * Fixed undefined behaviour on platforms where `uid_t` or `gid_t` is signed (issue #143, thanks @hartwork!) * Released 1.17.6 2023-11-09 Martin Pärtel * Support negative --{uid,gid}-offset (issue #142) * Released 1.17.5 2023-09-22 Martin Pärtel * Support `mount -t bindfs` on MacOS (PR #140, thanks @Kentzo) 2023-07-15 Martin Pärtel * MacOS and FreeBSD socket file support (PR #132, thanks @slonopotamus) * MacOS fuse-t support (thanks @slonopotamus) * Released 1.17.4 2023-06-03 Martin Pärtel * Added MacOS statfs_x implementation (issue #130, thanks @ohayetechnology) * Released 1.17.3 2023-02-08 Martin Pärtel * Released 1.17.2 2023-02-07 Martin Pärtel * Fixed FD leak when using --block-devices-as-files (issue #125, thanks @mafanasyev-tri) 2022-10-17 Martin Pärtel * Fixed --resolve-symlinks when mountpoint name starts with source dir name (issue #122, thanks @1-eric) * Released 1.17.1 2022-10-06 Martin Pärtel * Basic OpenBSD support. The test suite does not pass yet. 2022-07-12 Martin Pärtel * Reverted change in 1.16.0 that made direct_io the default. It turned out to be more problematic than not having it. (issue #117, thanks @DUOLabs333 and @Misterio77) * Released 1.17.0 2022-06-24 Martin Pärtel * Added --map-{passwd,group}-rev (PR #113 by @sshilovsky, thanks!) * Fixed build on FreeBSD * Released 1.16.1 2022-06-18 Martin Pärtel * Released 1.16.0 2022-04-03 Martin Pärtel * Added --no-direct-io and enabled FUSE's direct_io by default (issue #110, thanks @DUOLabs333) 2021-02-15 Martin Pärtel * Fixed build on old compilers by adhering more strictly to C99. * Released 1.15.1 2021-02-14 Martin Pärtel * Support for libfuse3 - huge thanks to @McBane87 (PR #95) * Released 1.15.0 2021-01-24 Martin Pärtel * Non-zero exit code when unable to chdir into source dir (issue #93). * Pass through "-o fsname" to FUSE (issue #94). * Released 1.14.9 2020-09-23 Martin Pärtel * Added missing include for "sys/file.h". * Added flock copy-pasta needed by XCode 12 (issue #88). * Released 1.14.8 2020-05-13 Martin Pärtel * Fixed missing newlines bug with --map-passwd and --map-group (my fault). * Released 1.14.7 2020-05-10 Martin Pärtel * Added --map-passwd and --map-group (PR #85 by Cybso@, thanks!) * Released 1.14.6 2020-04-13 Martin Pärtel * Fixed tests with Ruby 2.7.1 or newer. * Released 1.14.5 2020-03-22 Martin Pärtel * Defined _DARWIN_BETTER_REALPATH to get a non-broken realpath() on Catalina (issue #83). * Released 1.14.4 2020-02-12 Martin Pärtel * Added --fuse-version. 2020-01-08 Martin Pärtel * Fixed build with -fno-common, which is the default in GCC 10 (PR #81, thanks jengelh@!). * Released 1.14.3 2019-12-21 Martin Pärtel * No longer check that numeric UIDs and GIDs exist, since /etc/passwd etc are not always available (issue #79). * Released 1.14.2 2019-06-26 Martin Pärtel * Resolve symlinks in readdir() so correct attributes are returned (issue #76). * Released 1.14.1 2019-04-29 Martin Pärtel * Added --forward-odirect. Bindfs now clears O_DIRECT by default (PR #74, thanks barp@!). * Released 1.14.0 2019-03-31 Martin Pärtel * Fixes to --gid-offset when used with a setgid bit or with --create-as-mounter (PR #73, thanks ehmm@!). * Released 1.13.11 2018-10-09 Martin Pärtel * Don't call realpath() on source dirs starting with "/proc/". See #66. * Released 1.13.10 2017-11-30 Martin Pärtel * Added options --delete-deny and --rename-deny as suggested by @roojs. * Released 1.13.9 2017-10-26 Martin Pärtel * Released 1.13.8 2017-06-17 Martin Pärtel * Work around `pathconf(..., _PC_NAME_MAX)` erroneously returning 0 for some source filesystems (issue #54). 2017-04-19 Martin Pärtel * Added --block-devices-as-files (issue #53). * Released 1.13.7. 2017-03-14 Martin Pärtel * Added Vagrantfile for FreeBSD 10.3 and fixed build and test suite to work with it. 2017-03-12 Martin Pärtel * Made tests work with Ruby 1.8.7 and FUSE 2.8 again (issue #49). * Added Vagrant test runner, initially running some Ubuntus and CentOSes. 2017-02-04 Martin Pärtel * Deprecated -n as an alias to --no-allow-other (issue #48). 2017-01-29 Martin Pärtel * Fixed option parsing failure when source dir has a comma (issue #47). * Released 1.13.6. 2016-10-30 Martin Pärtel * Removed ./configure --enable-debug, which has done nothing for some time. 2016-10-29 Martin Pärtel * Fixed compilation of tests on some non-x86 platforms. * Removed extra debug/optimization CFLAGS. Defaults to -g -O2. * Released 1.13.5. 2016-10-15 Martin Pärtel * Fixed #41 (directory handle reuse). * Released 1.13.4 2016-10-02 Martin Pärtel * Require FUSE 2.9 at compile-time. * Also compile with FUSE 2.8, but without support for lock forwarding. * Released 1.13.3 2016-09-25 Martin Pärtel * Fix bug in readdir() introduced with 1.13.1. This fixes a bug when a bindfs mount is exported over NFS (issue #39). * Released 1.13.2 2016-07-31 Martin Pärtel * Added --enable-ioctl to address issue #37. * Added --enable-lock-forwarding to address issue #36. 2016-05-03 Martin Pärtel * @chenhaiq added --uid-offset and --gid-offset (PR #31). Thanks! 2016-02-17 Martin Pärtel * Fixed an issue that some users had with reading large directories (#28). Thanks to reporters! * Source directory now shown in /etc/mtab. * Fixed some test suite compatibility issues with Fedora. Thanks @tyll! * Rate limits are now expressed as 64-bit ints. * Released 1.13.1 2015-09-26 Martin Pärtel * Merged --resolve-symlinks by @hstern (#23). Thanks! * Implemented --resolved-symlink-deletion. * Released 1.13.0 2015-09-09 Martin Pärtel * OS X xattr fixes prompted, assisted and tested by @retrography (#21). * Released 1.12.7 2014-06-30 Martin Pärtel * Implemented rate limiter, an idea by @illuusio (#12). * Released 1.12.6 2014-06-11 Martin Pärtel * Merged patch to fix GID cache by @alajovic. Thanks! This fixes a problem with group membership checks and a potential crash. * Released 1.12.5 2014-06-05 Martin Pärtel * Use `lutimes` when `utimensat` is unavailable, as it is on OS X (#6). * Copy nanoseconds with --ctime-from-mtime if struct stat.st_mtim etc. are present (#16). * Released 1.12.4 2013-09-23 Martin Pärtel * Use `utimensat` to support settings mtime/atime on symlinks, and with nanosecond precision. * Any "utime" errors when untarring with a modern version of `tar` should now be fixed. * Time modifications seem to no longer get caught in FUSE's attribute cache. * Now using FUSE API version 26. * Released 1.12.3 2013-07-22 Martin Pärtel * Added --chmod-filter, contributed by Anton Ageev. Thanks! * Released 1.12.2 * Project home page is now bindfs.org 2013-05-08 Martin Pärtel * Fixed building against latest FUSE e.g. on Ubuntu 13.04. * Released 1.12.1 2013-03-01 Martin Pärtel * Deprecated --user, --owner and --group in favor of --force-user and --force-group to avoid conflict with standard mount options (issue 25). * Released 1.12 2012-09-15 Martin Pärtel * Fix for setgid directories by Jonathan Dieter. Thanks! * Run in singlethreaded mode by default. * Added --multithreaded option. * Documented a race condition in multithreaded mode. * Released 1.11 2012-07-15 Martin Pärtel * Fix readdir() yet again, though this only matters in exceedingly rare cases. * Fix --enable-debug-output. * Released 1.10.7 2012-07-04 Martin Pärtel * Use NAME_MAX when pathconf fails. Thanks again to Jan Engelhardt. * Fixed slow user account checks when using --mirror @group as suggested by Jan Engelhardt. * Released 1.10.6 2012-07-03 Martin Pärtel * Build system improvements from Jan Engelhardt. * readdir_r() bugfix from Jan Engelhardt. * Released 1.10.5 2012-06-18 Martin Pärtel * Added --valgrind support to tests/test_bindfs.rb. * Fixed a memory error. * Released 1.10.4 2012-05-18 Martin Pärtel * Fixed regression of --create-as-user. Added test case. * Use the reentrant readdir_r(). * Released 1.10.3 2012-04-05 Martin Pärtel * Made -ouse_ino and -oreaddir_ino the default to mirror inodes. * Released 1.10.2 2012-03-26 Martin Pärtel * Made --map affect chown/chgrp results. * Released 1.10.1 2012-03-13 Martin Pärtel * Added --map. * Released 1.10 2012-01-24 Martin Pärtel * Added --hide-hard-links. * Moved some questionable default behavior to new option --realistic-permissions. 2010-08-07 Martin Pärtel * Improved --help and manpage. * Disabled FUSE attribute cache when using mirroring to avoid caching the owner of files when observed by a mirrored user. * Added a testcase for the above. * Released 1.9 2010-01-17 Martin Pärtel * Added options to control the behavior of chown and chgrp. * Released 1.8.4 2009-03-28 Martin Pärtel * Added --ctime-from-mtime. Contributed by Shez. * Added --chmod-allow-x. * Released 1.8.3 2008-12-14 Martin Pärtel * Converted ChangeLog to UTF-8. 2008-12-13 Martin Pärtel * Specified that the license is GPL v2 or later in all source files and in the README file. * Released 1.8.2 with no functional changes. 2008-12-12 Martin Pärtel * Made xattr-rw the default instead of xattr-ro, which returned a "permission denied" that could mislead some programs. * Released 1.8.1 2008-08-17 Martin Pärtel * Fixed segfault in option parsing on platforms where sizeof(int) != sizeof(long), such as amd64. * Released 1.8 2008-07-08 Martin Pärtel * Symlinks to absolute paths didn't work. Now they do. Reported by rpfuller. Thanks! * Ownership of symlinks weren't set. Now they are. Again, reported by rpfuller. Thanks again! * Released 1.7 2008-06-26 Martin Pärtel * --create-as-* and --create-for-* weren't applied for mknod(). Bug report and patch by rpfuller. Thanks! * Released 1.6.2 2008-06-25 Martin Pärtel * Added copyright messages to each source file. * Escaped man-page dashes, since unescaped dashes are treated as hyphens. 2008-06-19 Martin Pärtel * Fixed missing '=' signs in the man-page. 2008-05-14 Martin Pärtel * If the mount source and destination directories are the same then we no longer require that the directory be empty. (-ononempty is added implicitly) * Released 1.6.1 2008-05-10 Martin Pärtel * Added --create-with-perms. * Added a little automated test suite. * Moved the project to code.google.com. * Released 1.6 2008-01-26 Martin Pärtel * Fixed an embarrassing segfault while parsing --mirror arguments. Thanks to Stefan Kost for reporting it! * Released 1.5 2007-12-31 Martin Pärtel * Made compatible with Mac OS X with the help of Theocharis Athanasakis. * Released 1.4.2 2007-11-09 Martin Pärtel * Fixed a bug in userinfo.c that could prevent using numeric user or group IDs when /etc/passwd or /etc/group have long records. * Released 1.4.1 2007-10-31 Martin Pärtel * Applied another patch from Joel Daniels to fix a bug that occurred when /etc/passwd or /etc/group had long records. Thanks! * Released 1.4 2007-07-17 Martin Pärtel * Renamed the new options added by Joel to --create-for-user and --create-for-group. * Made it an error to use --create-as-user as non-root. * Released 1.3 2007-07-17 Joel Daniels * Added the user_for_create and group_for_create options 2007-03-24 Martin Pärtel * Fixed minor errors in man-page. * Released 1.2.1 2007-03-03 Martin Pärtel * Michael Roitzsch pointed out incorrect permission checks for symlinks and fixed unlink() to correctly check for write permission to the the directory (instead of the file). Thanks! * Removed check_access() altogether. Will now rely on the kernel for all permission checks by always enabling -o default_permissions. * Released 1.2 2007-01-14 Martin Pärtel * Changed -o no_allow_others to -o no_allow_other. * Added a way to specify group members in -m and -M. * Released 1.1