Releases: fangfufu/httpdirfs
Releases · fangfufu/httpdirfs
Security update
Fixed
- No longer compile with UBSAN enabled by default to avoid introducing
security vulnerability.
Various bug fixes and improvements
Added
- Add
--cacert
and--proxy-cacert
options
Fixed
Link_download_full
: don'tFREE(NULL)
- Correct error message in
FREE()
- Error handling for
fs_open
andgetopt_long
- Fix IO error with funkwhale subsonic API
- Fix
--insecure-tls
in help and README
Single File Mode
Added
- Single File Mode, which allows the mounting of a single file in a virtual
directory - Manual page generation in Makefile.
Changed
- Improve log / debug output.
- Removed unnecessary mutex lock/unlocks.
Fixed
- Handling empty files from HTTP server
Various bug fixes
Fixed
- macOS uninstallation in Makefile.
- Filenames start with percentage encoding are now parsed properly
- For Apache server configured with IconsAreLinks, the duplicated link no longer
shows up.
macOS support
Added
- macOS compilation support
Subsonic support
Added
- Subsonic server support - this is dedicated to my Debian package maintainer
Jerome Charaoui - You can now specify which configuration file to use by using the
--config
flag. - Added support for turning off TLS certificate check (
--insecure_tls
flag). - Now check for server's support for HTTP range request, which can be turned off
using the--no-range-check
flag.
Changed
- Wrapped all calloc() calls with error handling functions.
- Various code refactoring
Fixed
- Remove the erroneous error messages when the user supplies wrong command line
options. - The same cache folder is used, irrespective whether the server root URL ends
with '/' - FreeBSD support
Progress Indicator and Backtrace
This is the current version available on Debian Repository.
Added
- Added a progress indicator for LinkTable_fill().
- Backtrace will now be printed when the program crashes
- Note that static functions are not included in the printed backtrace!
Changed
- Updated Makefile, fixed issue #44
- When header files get changed, the relevant object will get recompiled.
- Improved HTTP temporary failure error handling
- Now retry on the following HTTP error codes:
- 429 - Too Many Requests
- 520 - Cloudflare Unknown Error
- 524 - Cloudflare Timeout
- Now retry on the following HTTP error codes:
Cache system bug fixes and performance improvement
Changed
- Improved the performance of directory listing generation while there are
on-going file transfers - Wrapped mutex locking and unlocking functions in error checking functions.
Fixed
- Fixed issue #40 - Crashes with "API function called from within callback".
- Cache system: now keep track of the number of times a cache file has been
opened.- The on-disk cache file no longer gets opened multiple times, if
a file is opened multiple times. This used to cause inconsistencies
between two opened cache files.
- The on-disk cache file no longer gets opened multiple times, if
- Cache system: Fixed buffer over-read at the boundary.
- Say we are using a lock size of 1024k, we send a request for 128k at
1008k. It won't trigger the download, because we have already downloaded the
first 1024k at byte 0. So it would read off from the empty disk space! - This problem only occurred during the first time you download a file.
During subsequent accesses, when you are only reading from the cache, this
problem did not occur.
- Say we are using a lock size of 1024k, we send a request for 128k at
- Cache system: Previously it was possible for Cache_bgdl()'s download offset
to be modified by the parent thread after the child thread had been
launched. This used to cause permanent cache file corruption. - Cache system: Cache_bgdl() no longer prefetches beyond EOF.
- Cache system: Data_read() no longer gives warning messages when reaching the
end of the cache file.