Skip to content

Releases: salass00/filesysbox

Version 54.5

21 Jul 16:36
Compare
Choose a tag to compare
  • Added the FbxGetUpTime() function to the jumptable.

  • Made FbxLockName2Path() return FALSE for any paths containing "." or ".." as
    a file or directory name.

  • AmigaOS 3: Added a version compiled for the 68060 CPU.

Version 54.4

23 Jun 15:59
Compare
Choose a tag to compare
  • When setting fib_Size/ed_Size clamp file size to (INT32_MAX-1) if the field
    is 32-bit (LONG/ULONG).

  • Fixed a memory leak in the ExNext directory scanning implementation (nodes
    are removed from the dirdatalist but not freed) that was already there in
    the 0.730 version of the library.

  • Implemented a lock handler process to allow file systems to be unmounted
    even if there are outstanding locks/notifications.

  • AmigaOS 3 versions are now compiled with -mregparm enabling the use of
    registers d0/d1 and a0/a1 for parameter passing in internal function
    calls.

Version 54.3

18 Jan 10:19
Compare
Choose a tag to compare
  • AllocFuseFileInfo() did not clear the allocated fuse_file_info structure
    which resulted in randomly occurring bugs like otherwise legal ACTION_SEEK
    packets failing with ERROR_ACTION_NOT_KNOWN if the nonseekable flag happened
    to be set. This has now been fixed by explicitly clearing the memory before
    it is used.

  • Changed to use ULONGs for the uptime timestamps used in FbxEventLoop() to
    save some CPU cycles.

  • Rewrote the FbxExamineAll() function to not make assumptions about the sizes
    of the various ExAllData fields.

Version 54.2

16 Jan 10:43
Compare
Choose a tag to compare
  • Fixed support for codesets other than ISO-8859-1/latin-1 (was not working
    before due to size and attributes parameters being switched around in the
    AllocMem() call).

  • Now ignores the ".language" extension when looking for a codeset based on
    loc_LanguageName.

  • UTF-8 to local charset conversion now uses an AVL tree instead of iterating
    over the maptable array to find a match.

  • Added experimental ACTION_DIE packet support.

Version 54.1

14 Jan 11:53
Compare
Choose a tag to compare

Changes since version 54.0:

  • A rename operation with exactly the same source and destination is now
    treated as a no-op and returns success rather than ERROR_OBJECT_EXISTS.

  • Rename operations where the the only change is in letter casing (e.g.
    "rename tmp TMP") no longer fail with ERROR_OBJECT_EXISTS on case
    insensitive file system implementations.

  • Advance the file position in FSWrite() also if write() returns a lower
    number of bytes written than was specified.

  • Implemented the same charset conversion system that is used in the latest
    AmigaOS 4 filesysbox versions. Internally filesysbox still uses UTF-8 for
    all strings and conversion only happens when strings are passed to or from
    the AmigaDOS API. In order for the conversion to be reversible any UTF-8
    characters that do not have an equivalent in the local charset will be
    converted into URL-style escape sequences where the character is specified
    as a base32 encoded character sequence preceded by a percent symbol.

Changes since version 53.7:

  • Added timezone conversion code using locale.library.

  • Calculate a path hash for fib_DiskKey unless FBXF_USE_INO flag is set.

  • Added FBXF_USE_FILL_DIR_STAT flag to avoid unnecessary getattr() calls for
    filesystems like ssh2-handler that already provide all the stat data in
    readdir().

  • Don't treat ENOSYS return value from FbxSetAmigaProtectionFlags() as an
    error.

  • Rewrote the FbxFillInfoData() function and made it set id_BytesPerBlock to
    512 instead of zero if a volume is not available.

  • Modified path handling for Ext2FileSystem which only accepts "/" as path
    argument for the file system root directory and not "".

  • Rewrote FbxReturnMountMsg() using ReplyPkt() and added a NULL msg safety
    check.

  • Added some more validity checks when reading FSSM from device node in
    FbxSetupFS().

  • Added validity checks in code for getting FSSM in FbxQueryMountMsg().

  • Changed CHECKVOLUME() macro to return ERROR_NOT_A_DOS_DISK instead of
    ERROR_OBJECT_IN_USE when the filesystem is inhibited.

  • Added semaphore protection in FbxHandleTimerEvent().

  • Added the FbxQueryFS() and FbxQueryFSTags() functions.

  • Added the FbxGetSysTime() function.

Version 53.6

26 Dec 09:22
Compare
Choose a tag to compare
  • FbxSameLock() now returns DOSTRUE if entry pointers are the same.
  • Removed the now useless path comparison in FbxSameLock().

Version 53.5

25 Dec 10:52
Compare
Choose a tag to compare
  • FbxExamineAll() now only returns DOSTRUE when there are more entries
    available.
  • Fixed a bad pointer access in FbxExamineAllEnd() introduced by a change in
    the last version.