@Nikratio Nikratio released this Jul 25, 2018 · 563 commits to master since this release

Assets 4

Changes:

  • SECURITY UPDATE: In previous versions of libfuse it was possible to for unprivileged users to specify the allow_other option even when this was forbidden in /etc/fuse.conf. The vulnerability is present only on systems where SELinux is active (including in permissive mode).
  • libfuse no longer segfaults when fuse_interrupted() is called outside the event loop.
  • The fusermount binary has been hardened in several ways to reduce potential attack surface. Most importantly, mountpoints and mount options must now match a hard-coded whitelist. It is expected that this whitelist covers all regular use-cases.
  • Fixed rename deadlock on FreeBSD.

@Nikratio Nikratio released this Jul 24, 2018 · 5 commits to master since this release

Assets 4

Changes:

  • SECURITY UPDATE: In previous versions of libfuse it was possible to for unprivileged users to specify the allow_other option even when this was forbidden in /etc/fuse.conf. The vulnerability is present only on systems where SELinux is active (including in permissive mode).
  • The fusermount binary has been hardened in several ways to reduce potential attack surface. Most importantly, mountpoints and mount options must now match a hard-coded whitelist. It is expected that this whitelist covers all regular use-cases.
  • Added a test of seekdir to test_syscalls.
  • Fixed readdir bug when non-zero offsets are given to filler and the filesystem client, after reading a whole directory, re-reads it from a non-zero offset e. g. by calling seekdir followed by readdir.

@Nikratio Nikratio released this Jul 11, 2018 · 17 commits to master since this release

Assets 4
  • Fixed rename deadlock on FreeBSD.
  • Small bugfixes.

@Nikratio Nikratio released this May 11, 2018 · 28 commits to master since this release

Assets 4
  • Fixed a number of compiler warnings.

@Nikratio Nikratio released this Mar 31, 2018 · 38 commits to master since this release

Assets 4
  • Added example fuse.conf file.
  • Added "support" for -o nofail mount option (the option is accepted and ignored).
  • Various small bugfixes.

@Nikratio Nikratio released this Nov 14, 2017 · 46 commits to master since this release

Assets 4
  • Various small bugfixes.

@Nikratio Nikratio released this Sep 12, 2017 · 65 commits to master since this release

Assets 4
  • Support for building with autotools has been dropped.

  • Added new fuse_invalidate_path() routine for cache invalidation from the high-level FUSE API, along with an example and tests.

  • There's a new printcap example that can be used to determine the capabilities of the running kernel.

  • fuse_loop_mt() now returns the minus the actual errno if there was an error (instead of just -1).

  • fuse_loop() no longer returns a positive value if the filesystem loop was terminated without errors or signals.

  • Improved documentation of fuse_lowlevel_notify_* functions.

  • fuse_lowlevel_notify_inval_inode() and fuse_lowlevel_notify_inval_entry() now return -ENOSYS instead of an undefined error if the function is not supported by the kernel.

  • Documented the special meaning of the zero offset for the fuse_fill_dir_t function.

  • The passthrough_fh example now works under FreeBSD.

  • libfuse can now be build without libiconv.

  • Fixed support for FUSE_CAP_POSIX_ACL: setting this capability flag had no effect in the previous versions of libfuse 3.x; now ACLs should actually work.

  • Fixed a number of compilation problems under FreeBSD.

  • Fixed installation directory for udev rules.

  • Fixed compilation with LTO.

@Nikratio Nikratio released this Aug 6, 2017 · 105 commits to master since this release

Assets 4
  • Documentation: clarified how filesystems are supposed to process open() and create() flags (see include/fuse_lowlevel.h).

  • Fixed a compilation problem of the passthrough_ll example on 32 bit systems (wrong check and wrong error message).

  • pkg-config is now used to determine the proper directory for udev rules.

  • Fixed a symbol versioning problem that resulted in very strange failures (segfaults, unexpected behavior) in different situations.

  • Fixed a test failure when /tmp is on btrfs.

  • Incorporated several patches from the FreeBSD port. libfuse should now compile under FreeBSD without the need for patches.

  • The passthrough_ll example now supports writeback caching.

@Nikratio Nikratio released this Jul 8, 2017 · 131 commits to master since this release

Assets 4
  • Added new fuse_lib_help() function. File-systems that previously passed a --help option to fuse_new() must now process the --help option internally and call fuse_lib_help() to print the help for generic FUSE options.
  • Fixed description of the fuse_conn_info->time_gran. The default value of zero actually corresponds to full nanosecond resolution, not one second resolution.
  • The init script is now installed into the right location ($DESTDIR/etc/init.d rather than $prefix/$sysconfdir/init.d)
  • The example/passthrough_ll filesystem now supports creating and writing to files.
  • fuse_main() / fuse_remove_signal_handlers(): do not reset SIGPIPE handler to SIG_DFL if it was not set by us.
  • Documented the RENAME_EXCHANGE and RENAME_NOREPLACE flags that may be passed to the rename handler of both the high- and low-level API. Filesystem authors are strongly encouraged to check that these flags are handled correctly.

@Nikratio Nikratio released this May 24, 2017 · 165 commits to master since this release

Assets 4

This is a bugfix release with no major new features.

Full list of changes (from ChangeLog.rst):

  • Option parsing for the high-level API now works correctly
    (previously, default values would override specified values).
  • Tests should now build (and run) under FreeBSD.
  • Improved documentation of struct fuse_context
  • Internal: calculate request buffer size from page size and kernel
    page limit instead of using hardcoded 128 kB limit.