From upstream 0.122/0.121-TRIAL:
- Adds `size` and `size_human` methods. The latter gives `ls -lh` style
output, with options to choose base2 or base10 forms.
From upstream 0.120/0.119-TRIAL:
- The `tempdir` and `tempfile` methods may be called on a Path::Tiny object
representing a directory, in which case the directory will be used as the
container for the temporary object (as if the `DIR` argument were used).
Upstream NEWS, omitting bugfixes and minor improvements:
Release 1.17.0 (2021-12-06)
'''''''''''''''''''''''''''
Security-related Changes
------------------------
- The introducer server no longer writes the sensitive introducer fURL value to its log at startup time. Instead it writes the well-known path of the file from which this value can be read. (`#3819 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3819>`_)
- The storage protocol operation ``readv`` now safely rejects attempts to read negative lengths.
Previously these read requests were satisfied with the complete contents of the share file (including trailing metadata) starting from the specified offset. (`#3822 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3822>`_)
- The storage server implementation no longer records corruption advisories about storage indexes for which it holds no shares. (`#3824 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3824>`_)
- The lease-checker now uses JSON instead of pickle to serialize its state.
tahoe will now refuse to run until you either delete all pickle files or
migrate them using the new command::
tahoe admin migrate-crawler
This will migrate all crawler-related pickle files. (`#3825 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3825>`_)
- The SFTP server no longer accepts password-based credentials for authentication.
Public/private key-based credentials are now the only supported authentication type.
This removes plaintext password storage from the SFTP credentials file.
It also removes a possible timing side-channel vulnerability which might have allowed attackers to discover an account's plaintext password. (`#3827 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3827>`_)
- The storage server now keeps hashes of lease renew and cancel secrets for immutable share files instead of keeping the original secrets. (`#3839 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3839>`_)
- The storage server now keeps hashes of lease renew and cancel secrets for mutable share files instead of keeping the original secrets. (`#3841 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3841>`_)
Features
--------
- Tahoe-LAFS releases now have just a .tar.gz source release and a (universal) wheel (`#3735 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3735>`_)
- tahoe-lafs now provides its statistics also in OpenMetrics format (for Prometheus et. al.) at `/statistics?t=openmetrics`. (`#3786 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3786>`_)
- If uploading an immutable hasn't had a write for 30 minutes, the storage server will abort the upload. (`#3807 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3807>`_)
Removed Features
----------------
- The little-used "control port" has been removed from all node types. (`#3814 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3814>`_)
2.4.16
Changed
- Make `fs.zipfs._ZipExtFile` use the seeking mechanism implemented
in the Python standard library in Python version 3.7 and later
- Mark `fs.zipfs.ReadZipFS` as a case-sensitive filesystem
- Optimized moving files between filesystems with syspaths.
- Fixed `fs.move.move_file` to clean up the copy on the destination in case of errors.
- `fs.opener.manage_fs` with `writeable=True` will now raise a `ResourceReadOnly`
exception if the managed filesystem is not writeable.
- Marked filesystems wrapped with `fs.wrap.WrapReadOnly` as read-only.
NetBSD has a base system fuse_opt.h with an error. see
http://mail-index.netbsd.org/tech-userlevel/2022/03/23/msg013349.html
Pull pkgsrc's FUSE buildlink3.mk to make sure we link with the right header
cVS: ----------------------------------------------------------------------
2.4.15
Changed
- Support more lenient usernames and group names in FTP servers
Fixed
- Fixed `MemoryFS.move` and `MemoryFS.movedir` not updating the name of moved
resources, causing `MemoryFS.scandir` to use the old name.
- Make `WrapFS.move` and `WrapFS.movedir` use the delegate FS methods instead
of `fs.move` functions, which was causing optimized implementation of
`movedir` to be always skipped.
The restriction to python 2.7 was noted being current as of an ancient
version. Dropping that line and building (therefore with 3.9)
succeeded, and the upstream configure.ac searches for python3 and
accepts it. Thus, even without testing, this seems ok.
This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.
Set this flag for packages that need it and bump PKGREVISION.
I have added a lot of unpleasant hacks to the code in order to make it
work with NetBSD librefuse. We really should fix it. I will probably
do it later. Release notes from the upstream are as follows:
Release 3.7.2 (2021-06-08)
--------------------------
* Added a secondary check so if a mkdir request fails with EPERM an access request will be
tried - returning EEXIST if the access was successful.
Fixes: https://github.com/libfuse/sshfs/issues/243
Release 3.7.1 (2020-11-09)
--------------------------
* Minor bugfixes.
Release 3.7.0 (2020-01-03)
--------------------------
* New max_conns option enables the use of multiple connections to improve responsiveness
during large file transfers. Thanks to Timo Savola for doing most of the implementation
work, and thanks to CEA.fr for sponsoring remaining bugfixes and cleanups!
* The `buflimit` workaround is now disabled by default. The corresponding bug in OpenSSH
has been fixed in 2007
(cf. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365541#37), so this shouldn't be
needed anymore. If you depend on this workaround, please let the SSHFS maintainers know,
otherwise support for the workaround will be removed completely in a future version.
Release 3.6.0 (2019-11-03)
--------------------------
* Added "-o direct_io" option.
This option disables the use of page cache in kernel.
This is useful for example if the file size is not known before reading it.
For example if you mount /proc dir from a remote host without the direct_io
option, the read always will return zero bytes instead of actual data.
* Added --verbose option.
* Fixed a number of compiler warnings.
* Improved performance under OS X.
Release 3.5.2 (2019-04-13)
--------------------------
* Fixed "-o idmap=user" to map both UID and GID on all OSs.
* Fixed improper handling of sequential spaces spaces in "ssh_command" option
Release 3.5.1 (2018-12-22)
--------------------------
* Documentation updates
* Build system updates
* Added "BindInterface" as valid "-o" option.
Release 3.5.0 (2018-08-28)
--------------------------
* Fixed error code returned by rename(), allowing proper fallback.
* Port to Cygwin.
Release 3.4.0 (2018-06-29)
--------------------------
* Make utimens(NULL) result in timestamp "now" -- no more touched files
dated 1970-01-01
* New `createmode` workaround.
* Fix `fstat` workaround regression.
Release 3.3.2 (2018-04-29)
--------------------------
* New `renamexdev` workaround.
Release 3.3.1 (2017-10-25)
--------------------------
* Manpage is now installed in correct directory.
* SSHFS now supports (or rather: ignores) some options that it may
receive as result of being mounted from ``/etc/mtab``. This includes
things like ``user``, ``netdev``, or ``auto``.
SSHFS 3.3.0 (2017-09-20)
------------------------
* Dropped support for writeback caching (and, as a consequence,
"unreliable append" operation). As of kernel 4.14, the FUSE module's
writeback implementation is not compatible with network filesystems
and there are no imminent plans to change that.
* Add support for mounting from /etc/fstab
* Dropped support for building with autotools.
* Added missing options to man page.
Release 3.2.0 (2017-08-06)
--------------------------
* Re-enabled writeback cache.
* SSHFS now supports O_APPEND.
Release 3.1.0 (2017-08-04)
--------------------------
* Temporarily disabled the writeback cache feature, since there
have been reports of dataloss when appending to files when
writeback caching is enabled.
* Fixed a crash due to a race condition when listing
directory contents.
* For improved backwards compatibility, SSHFS now also silently
accepts the old ``-o cache_*`` options.
Release 3.0.0 (2017-07-08)
--------------------------
* sshfs now requires libfuse 3.1.0 or newer.
* When supported by the kernel, sshfs now uses writeback caching.
* The `cache` option has been renamed to `dir_cache` for clarity.
* Added unit tests
* --debug now behaves like -o debug_sshfs, i.e. it enables sshfs
debugging messages rather than libfuse debugging messages.
* Documented limited hardlink support.
* Added support for building with Meson.
* Added support for more SSH options.
* Dropped support for the *nodelay* workaround - the last OpenSSH
version for which this was useful was released in 2006.
* Dropped support for the *nodelaysrv* workaround. The same effect
(enabling NODELAY on the server side *and* enabling X11 forwarding)
can be achieved by explicitly passing `-o ForwardX11`
* Removed support for `-o workaround=all`. Workarounds should always
enabled explicitly and only when needed. There is no point in always
enabling a potentially changing set of workarounds.
Release 2.9 (2017-04-17)
------------------------
* Improved support for Cygwin.
* Various small bugfixes.
Release 2.8 (2016-06-22)
------------------------
* Added support for the "fsync" extension.
* Fixed a build problem with bitbake
## Important changes in 1.1.1 (2021-03-08)
The only change in this release is a fix for an issue with filenames containing
square brackets.
## Important changes in 1.1 (2021-01-30)
This contains various bug fixes, mostly.
Fixes/improvements:
- Recognize upper/mixed case in input filenames
- Fix file size handling with and without cache
- Various code simplifications/cleanup
New features:
- Log lines now include thread ID and can be customized.
## Important changes in 1.0 (2020-05-24)
mp3fs 1.0 is finally here\!
Fixes/code improvements:
- Many, many bug fixes (buffer overflows, memory leaks, and others)
- Memory handling improvements (using RAII with C++ nearly everywhere)
- Adopting C++11 and modernizing code
- Static tests for code (e.g. clang-format, clang-tidy, IWYU)
New features:
- Ogg Vorbis decoding support
- MP3 VBR encoding support
- Improved, much more customizable logging
Other:
- Docs licensed under GPL 3+ (now entire codebase is distributable as GPL 3)
- All docs switched to Markdown (including manpage, using pandoc)
- Docker image now available
## Important changes in 0.91 (2014-05-14)
This contains mainly bug fixes.
Changes in this release:
- Fixed a segfault caused by an overflow reading the list of available
decoders.
- A number of problems with the previous distribution tar are now fixed.
- The output of `mp3fs --version` has been made more complete.
## Important changes in 0.9 (2014-04-06)
This is a major new release, and brings us very close to a 1.0 release\!
Changes in this release:
- All transcoding code has been completely rewritten. Encoding and decoding
have been abstracted out into base classes defining interfaces that can be
implemented by different codec classes, with just a FLAC decoder and MP3
encoder at the moment.
- The build system has been modified as well to support this usage.
- A number of small bugs or code inefficiencies have been fixed.
## Important changes in 0.32 (2012-06-18)
This release has a lot of bug fixes and some code cleanup.
Changes in this release:
- The file size calculation should always be correct.
- A crash affecting programs like scp that might try to access past the end
of the file has been fixed.
- Too many other little fixes were made to list here. See the ChangeLog for
full details.
## Important changes in 0.31 (2011-12-04)
This is a minor update, with bug fixes and a new feature.
Changes in this release:
- The ReplayGain support added earlier now can be configured through the
command line.
- Filename translation (from .flac to .mp3) is now fixed on filesystems such
as XFS that do not populate dirent.d\_type.
- A couple other minor bugs fixes and changes were made.
## Important changes in 0.30 (2010-12-01)
This is a major new release, and brings mp3fs much closer to an eventual 1.0
release.
Changes in this release:
- Support for additional metadata tags has been added. (From Gregor Zurowski)
- Documentation improvements: the help message is more useful, and a man page
has been added.
- Choosing bitrate is now done with a command-line or mount option, rather
than the old comma syntax.
- A new option to select LAME encoding quality is now available. (From Gregor
Zurowski)
- Debug output can be enabled at runtime.
- Old external libraries included in distribution (StringIO, talloc) have
been removed and replaced.
- Numerous bug fixes have been made. (Some from Gregor Zurowski)
v1.9.5 / 2018-04-27
===================
* Correct a int/off_t buffer overflow in getSize()
* Correct a possible write crash
* Correct encfsctl cat and add reverse cat
* Add -c & -u cmdline options
* Add --noattrcache & --nodatacache cmdline options
* Ignore .encfs6.xml file in reverse mode
* Do not count usage on root path (to avoid resetting the --idle option)
* Use stderr instead of stdout for error messages
* Add the ability to disable data encryption (absolutely discouraged)
* Add Cygwin support
* 0.9.1 - Incorporated fixes for compilation problems with newer gcc
versions. Contributed by Niels de Vos
* 0.9.0 - Make sure the written archive's format is the same or as
close as possible to the original. Due to a bug written files
were always in ustar format. Contributed by Jeff Ebert.
- Add AM_PROG_CC_C_O macro to configure.ac, contributed by
Jeff Ebert
- added option -o password, contributed by Scott Worley
- Pass REG_ENHANCED to regcomp where available (Mac and BSD).
Otherwise \? has no special meaning. Contributed by Michael
J. Walsh
- Removed magic number for block size, it's a constant now.
Contributed by John Delgado
* 0.8.12 - changed naming scheme of temporary files to avoid running
into too long names for the filesystem in /tmp
- fixed renaming a newly created file (it got saved under its
original name)
- activated code for creating symlinks; in old versions, symlinks
were not saved, presumably due to a bug in libarchive, but it
seems to work now.
* 0.8.11 - fixed accidentally broken renaming of files
* 0.8.10 - fixed renaming of directories, it did not work at all anymore
* 0.8.9 - fixed wrong insert into tree when a subdir had the same name as its
parent dir
* 0.8.8 - fixed bug when creating a new file and moving it over an old one,
happens e.g. when saving a file from the geany editor
* 0.8.7 - contribution by KAICHO:
* fixup to 0.8.6: corrected an ifdef
* 0.8.6 - contribution by KAICHO:
* adaptions for CentOS, RHEL and Scientific Linux
* 0.8.5 - fixed stat'ing of hardlinks in ar_readdir
- contributions by Alain Parmentier:
* FormatRaw optimization
* bugfix : use of off_t to support 64bits
* 0.8.4 - added option -o formatraw for readonly support of the FormatRaw
archive files supported by libarchive (kudos to Lee Leahu)
- bugfix: do not do the fuse mount when the archive cannot be read
(also kudos to Lee Leahu)
* 0.8.3 - do not call fuse_main anymore
- force fuse into single-threaded mode due to libarchive not being
thread-safe
Both patches contributed by Timothy Hobbs <timothyhobbs@seznam.cz>,
who found them in the Fedora RPM.
* 0.8.2 - added nosave option, contributed by
Timothy Hobbs <timothyhobbs@seznam.cz>
* 0.8.1 - added missing header file
* 0.8.0 - contributions by Tomáš Čech <sleep_walker@suse.cz>:
* Allow mounting only subtree of archive, strip common part of
path in that case.
* 0.7.0 - contributions by Andrew Brampton:
* simplifications in the code
* speedup by using hashes
* 0.6.2 - contributions by Niels de Vos:
* exchanged posix_rwlocks against mutexes to finally get rid of
the crashes
* replaced some accidental indentations with space against proper tabs
* 0.6.1 - clarified licensing issue (thanks to Niels de Vos for pointing it out)
* 0.6.0 - contributions by Thomas J. Duck:
* autoconf/automake support
* bug reports and fixes for mac-fuse
many thanks for this!