Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libfshfs for openSUSE:Factory checked in at 2026-08-27 18:52:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libfshfs (Old) and /work/SRC/openSUSE:Factory/.libfshfs.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfshfs" Thu Aug 27 18:52:05 2026 rev:22 rq:1373885 version:20260826 Changes: -------- --- /work/SRC/openSUSE:Factory/libfshfs/libfshfs.changes 2026-08-03 17:16:41.365451931 +0200 +++ /work/SRC/openSUSE:Factory/.libfshfs.new.1265/libfshfs.changes 2026-08-27 18:55:28.456164306 +0200 @@ -1,0 +2,6 @@ +Wed Aug 26 18:43:51 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 20260826 + * Recognize compressed data streams + +------------------------------------------------------------------- Old: ---- libfshfs-experimental-20260802.tar.gz libfshfs-experimental-20260802.tar.gz.asc New: ---- libfshfs-experimental-20260826.tar.gz libfshfs-experimental-20260826.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfshfs.spec ++++++ --- /var/tmp/diff_new_pack.XLYmvp/_old 2026-08-27 18:55:29.220190980 +0200 +++ /var/tmp/diff_new_pack.XLYmvp/_new 2026-08-27 18:55:29.222191050 +0200 @@ -21,7 +21,7 @@ %define lname libfshfs1 Name: libfshfs -Version: 20260802 +Version: 20260826 Release: 0 Summary: Library and tools to access the Mac OS Hierarchical File System (HFS) License: GFDL-1.3-or-later AND LGPL-3.0-or-later ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.XLYmvp/_old 2026-08-27 18:55:29.252192097 +0200 +++ /var/tmp/diff_new_pack.XLYmvp/_new 2026-08-27 18:55:29.255192202 +0200 @@ -1,5 +1,5 @@ -mtime: 1785692462 -commit: 8ba8f21d4271347f141ceadb3393e2fb9bd75f0e687e195539d466c7047508dc +mtime: 1787769890 +commit: 9c8e67f1ab274dc1c1c2ec08a12325219dbf4ea026a623a9e0295b7f3e4d08a4 url: https://src.opensuse.org/security-forensics/libfshfs revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-26 20:44:50.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ libfshfs-experimental-20260802.tar.gz -> libfshfs-experimental-20260826.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/common/config.h new/libfshfs-20260826/common/config.h --- old/libfshfs-20260802/common/config.h 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/common/config.h 2026-08-26 15:35:42.000000000 +0200 @@ -629,7 +629,7 @@ #define PACKAGE_NAME "libfshfs" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libfshfs 20260802" +#define PACKAGE_STRING "libfshfs 20260826" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libfshfs" @@ -638,7 +638,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "20260802" +#define PACKAGE_VERSION "20260826" /* The size of 'int', as computed by sizeof. */ #define SIZEOF_INT 4 @@ -667,7 +667,7 @@ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "20260802" +#define VERSION "20260826" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/configure new/libfshfs-20260826/configure --- old/libfshfs-20260802/configure 2026-08-02 15:35:48.000000000 +0200 +++ new/libfshfs-20260826/configure 2026-08-26 15:35:34.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for libfshfs 20260802. +# Generated by GNU Autoconf 2.72 for libfshfs 20260826. # # Report bugs to <https://github.com/libyal/libfshfs/issues>. # @@ -614,8 +614,8 @@ # Identity of this package. PACKAGE_NAME='libfshfs' PACKAGE_TARNAME='libfshfs' -PACKAGE_VERSION='20260802' -PACKAGE_STRING='libfshfs 20260802' +PACKAGE_VERSION='20260826' +PACKAGE_STRING='libfshfs 20260826' PACKAGE_BUGREPORT='https://github.com/libyal/libfshfs/issues' PACKAGE_URL='' @@ -1727,7 +1727,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures libfshfs 20260802 to adapt to many kinds of systems. +'configure' configures libfshfs 20260826 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1798,7 +1798,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libfshfs 20260802:";; + short | recursive ) echo "Configuration of libfshfs 20260826:";; esac cat <<\_ACEOF @@ -2087,7 +2087,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libfshfs configure 20260802 +libfshfs configure 20260826 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -2829,7 +2829,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libfshfs $as_me 20260802, which was +It was created by libfshfs $as_me 20260826, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -4526,7 +4526,7 @@ # Define the identity of the package. PACKAGE='libfshfs' - VERSION='20260802' + VERSION='20260826' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -73313,7 +73313,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libfshfs $as_me 20260802, which was +This file was extended by libfshfs $as_me 20260826, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -73381,7 +73381,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -libfshfs config.status 20260802 +libfshfs config.status 20260826 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/configure.ac new/libfshfs-20260826/configure.ac --- old/libfshfs-20260802/configure.ac 2026-08-02 09:59:49.000000000 +0200 +++ new/libfshfs-20260826/configure.ac 2026-08-26 15:26:30.000000000 +0200 @@ -2,7 +2,7 @@ AC_INIT( [libfshfs], - [20260802], + [20260826], [https://github.com/libyal/libfshfs/issues]) AC_CONFIG_SRCDIR( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/dpkg/changelog new/libfshfs-20260826/dpkg/changelog --- old/libfshfs-20260802/dpkg/changelog 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/dpkg/changelog 2026-08-26 15:35:42.000000000 +0200 @@ -1,5 +1,5 @@ -libfshfs (20260802-1) unstable; urgency=low +libfshfs (20260826-1) unstable; urgency=low * Auto-generated - -- Joachim Metz <[email protected]> Sun, 02 Aug 2026 15:35:55 +0200 + -- Joachim Metz <[email protected]> Wed, 26 Aug 2026 15:35:42 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/fshfstools/fshfsmount.c new/libfshfs-20260826/fshfstools/fshfsmount.c --- old/libfshfs-20260802/fshfstools/fshfsmount.c 2026-07-30 08:00:16.000000000 +0200 +++ new/libfshfs-20260826/fshfstools/fshfsmount.c 2026-08-26 15:25:59.000000000 +0200 @@ -488,9 +488,14 @@ goto on_error; } +#if defined( HAVE_LIBFUSE3 ) fuse_unmount( fshfsmount_fuse_handle ); - +#else + fuse_unmount( + mount_point, + fshfsmount_fuse_channel ); +#endif fuse_destroy( fshfsmount_fuse_handle ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/include/libfshfs/definitions.h new/libfshfs-20260826/include/libfshfs/definitions.h --- old/libfshfs-20260802/include/libfshfs/definitions.h 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/include/libfshfs/definitions.h 2026-08-26 15:35:42.000000000 +0200 @@ -24,11 +24,11 @@ #include <libfshfs/types.h> -#define LIBFSHFS_VERSION 20260802 +#define LIBFSHFS_VERSION 20260826 /* The version string */ -#define LIBFSHFS_VERSION_STRING "20260802" +#define LIBFSHFS_VERSION_STRING "20260826" /* The file access * bit 1 set to 1 for read access diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/libfshfs/libfshfs.rc new/libfshfs-20260826/libfshfs/libfshfs.rc --- old/libfshfs-20260802/libfshfs/libfshfs.rc 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/libfshfs/libfshfs.rc 2026-08-26 15:35:42.000000000 +0200 @@ -22,12 +22,12 @@ BLOCK "040904E4" BEGIN VALUE "FileDescription", "Library to access the Hierarchical File System (HFS) format\0" - VALUE "FileVersion", "20260802" "\0" + VALUE "FileVersion", "20260826" "\0" VALUE "InternalName", "libfshfs.dll\0" VALUE "LegalCopyright", "(C) 2009-2026, Joachim Metz <[email protected]>\0" VALUE "OriginalFilename", "libfshfs.dll\0" VALUE "ProductName", "libfshfs\0" - VALUE "ProductVersion", "20260802" "\0" + VALUE "ProductVersion", "20260826" "\0" VALUE "Comments", "For more information visit https://github.com/libyal/libfshfs/\0" END END diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/libfshfs/libfshfs_allocation_block_stream.c new/libfshfs-20260826/libfshfs/libfshfs_allocation_block_stream.c --- old/libfshfs-20260802/libfshfs/libfshfs_allocation_block_stream.c 2026-07-30 07:53:15.000000000 +0200 +++ new/libfshfs-20260826/libfshfs/libfshfs_allocation_block_stream.c 2026-08-26 15:23:20.000000000 +0200 @@ -343,6 +343,7 @@ libfshfs_extent_t *extent = NULL; static char *function = "libfshfs_allocation_block_stream_initialize_from_extents"; size64_t segment_size = 0; + off64_t data_offset = 0; off64_t segment_offset = 0; int extent_index = 0; int number_of_extents = 0; @@ -475,6 +476,10 @@ segment_offset = (off64_t) extent->block_number * io_handle->block_size; segment_size = (size64_t) extent->number_of_blocks * io_handle->block_size; + if( segment_size > ( data_size - data_offset ) ) + { + segment_size = data_size - data_offset; + } if( libfdata_stream_append_segment( safe_allocation_block_stream, &segment_index, @@ -494,20 +499,12 @@ goto on_error; } - } - if( libfdata_stream_set_mapped_size( - safe_allocation_block_stream, - data_size, - error ) != 1 ) - { - libcerror_error_set( - error, - LIBCERROR_ERROR_DOMAIN_RUNTIME, - LIBCERROR_RUNTIME_ERROR_SET_FAILED, - "%s: unable to set mapped size of allocation block stream.", - function ); + data_offset += segment_size; - goto on_error; + if( (size64_t) data_offset >= data_size ) + { + break; + } } *allocation_block_stream = safe_allocation_block_stream; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/libfshfs/libfshfs_definitions.h new/libfshfs-20260826/libfshfs/libfshfs_definitions.h --- old/libfshfs-20260802/libfshfs/libfshfs_definitions.h 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/libfshfs/libfshfs_definitions.h 2026-08-26 15:35:42.000000000 +0200 @@ -37,11 +37,11 @@ * for local use of libfshfs */ #else -#define LIBFSHFS_VERSION 20260802 +#define LIBFSHFS_VERSION 20260826 /* The version string */ -#define LIBFSHFS_VERSION_STRING "20260802" +#define LIBFSHFS_VERSION_STRING "20260826" /* The file access * bit 1 set to 1 for read access diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/libfshfs/libfshfs_file_entry.c new/libfshfs-20260826/libfshfs/libfshfs_file_entry.c --- old/libfshfs-20260802/libfshfs/libfshfs_file_entry.c 2026-08-02 13:19:40.000000000 +0200 +++ new/libfshfs-20260826/libfshfs/libfshfs_file_entry.c 2026-08-26 15:23:20.000000000 +0200 @@ -3203,38 +3203,67 @@ return( -1 ); } #endif - if( libfshfs_internal_file_entry_get_directory_entry( - internal_file_entry, - &directory_entry, - error ) != 1 ) + /* Make sure internal_file_entry->compressed_data_header has been initialized + */ + if( internal_file_entry->data_size == (size64_t) -1 ) { - libcerror_error_set( - error, - LIBCERROR_ERROR_DOMAIN_RUNTIME, - LIBCERROR_RUNTIME_ERROR_GET_FAILED, - "%s: unable to retrieve directory entry.", - function ); + if( libfshfs_internal_file_entry_get_data_size( + internal_file_entry, + error ) != 1 ) + { + libcerror_error_set( + error, + LIBCERROR_ERROR_DOMAIN_RUNTIME, + LIBCERROR_RUNTIME_ERROR_GET_FAILED, + "%s: unable to retrieve data size.", + function ); - result = -1; + result = -1; + } } - else + if( result == 0 ) { - result = libfshfs_directory_entry_get_resource_fork_descriptor( - directory_entry, - &fork_descriptor, - error ); - - if( result == -1 ) + if( ( internal_file_entry->compressed_data_header != NULL ) + && ( ( internal_file_entry->compressed_data_header->compression_method == 4 ) + || ( internal_file_entry->compressed_data_header->compression_method == 8 ) + || ( internal_file_entry->compressed_data_header->compression_method == 10 ) + || ( internal_file_entry->compressed_data_header->compression_method == 12 ) ) ) + { + result = 0; + } + else if( libfshfs_internal_file_entry_get_directory_entry( + internal_file_entry, + &directory_entry, + error ) != 1 ) { libcerror_error_set( error, LIBCERROR_ERROR_DOMAIN_RUNTIME, LIBCERROR_RUNTIME_ERROR_GET_FAILED, - "%s: unable to retrieve resource fork descriptor from directory entry.", + "%s: unable to retrieve directory entry.", function ); result = -1; } + else + { + result = libfshfs_directory_entry_get_resource_fork_descriptor( + directory_entry, + &fork_descriptor, + error ); + + if( result == -1 ) + { + libcerror_error_set( + error, + LIBCERROR_ERROR_DOMAIN_RUNTIME, + LIBCERROR_RUNTIME_ERROR_GET_FAILED, + "%s: unable to retrieve resource fork descriptor from directory entry.", + function ); + + result = -1; + } + } } #if defined( HAVE_LIBFSHFS_MULTI_THREAD_SUPPORT ) if( libcthreads_read_write_lock_release_for_write( @@ -3296,59 +3325,88 @@ return( -1 ); } #endif - if( libfshfs_internal_file_entry_get_directory_entry( - internal_file_entry, - &directory_entry, - error ) != 1 ) + /* Make sure internal_file_entry->compressed_data_header has been initialized + */ + if( internal_file_entry->data_size == (size64_t) -1 ) { - libcerror_error_set( - error, - LIBCERROR_ERROR_DOMAIN_RUNTIME, - LIBCERROR_RUNTIME_ERROR_GET_FAILED, - "%s: unable to retrieve directory entry.", - function ); + if( libfshfs_internal_file_entry_get_data_size( + internal_file_entry, + error ) != 1 ) + { + libcerror_error_set( + error, + LIBCERROR_ERROR_DOMAIN_RUNTIME, + LIBCERROR_RUNTIME_ERROR_GET_FAILED, + "%s: unable to retrieve data size.", + function ); - result = -1; + result = -1; + } } - else + if( result == 0 ) { - result = libfshfs_directory_entry_get_resource_fork_descriptor( - directory_entry, - &fork_descriptor, - error ); - - if( result == -1 ) + if( ( internal_file_entry->compressed_data_header != NULL ) + && ( ( internal_file_entry->compressed_data_header->compression_method == 4 ) + || ( internal_file_entry->compressed_data_header->compression_method == 8 ) + || ( internal_file_entry->compressed_data_header->compression_method == 10 ) + || ( internal_file_entry->compressed_data_header->compression_method == 12 ) ) ) + { + result = 0; + } + else if( libfshfs_internal_file_entry_get_directory_entry( + internal_file_entry, + &directory_entry, + error ) != 1 ) { libcerror_error_set( error, LIBCERROR_ERROR_DOMAIN_RUNTIME, LIBCERROR_RUNTIME_ERROR_GET_FAILED, - "%s: unable to retrieve resource fork descriptor from directory entry.", + "%s: unable to retrieve directory entry.", function ); result = -1; } - else if( result != 0 ) + else { - if( libfshfs_data_stream_initialize( - data_stream, - internal_file_entry->io_handle, - internal_file_entry->file_io_handle, - internal_file_entry->file_system, - internal_file_entry->identifier, - fork_descriptor, - LIBFSHFS_FORK_TYPE_RESOURCE, - error ) != 1 ) + result = libfshfs_directory_entry_get_resource_fork_descriptor( + directory_entry, + &fork_descriptor, + error ); + + if( result == -1 ) { libcerror_error_set( error, LIBCERROR_ERROR_DOMAIN_RUNTIME, - LIBCERROR_RUNTIME_ERROR_INITIALIZE_FAILED, - "%s: unable to create resource fork data stream.", + LIBCERROR_RUNTIME_ERROR_GET_FAILED, + "%s: unable to retrieve resource fork descriptor from directory entry.", function ); result = -1; } + else if( result != 0 ) + { + if( libfshfs_data_stream_initialize( + data_stream, + internal_file_entry->io_handle, + internal_file_entry->file_io_handle, + internal_file_entry->file_system, + internal_file_entry->identifier, + fork_descriptor, + LIBFSHFS_FORK_TYPE_RESOURCE, + error ) != 1 ) + { + libcerror_error_set( + error, + LIBCERROR_ERROR_DOMAIN_RUNTIME, + LIBCERROR_RUNTIME_ERROR_INITIALIZE_FAILED, + "%s: unable to create resource fork data stream.", + function ); + + result = -1; + } + } } } #if defined( HAVE_LIBFSHFS_MULTI_THREAD_SUPPORT ) @@ -5391,6 +5449,17 @@ } else if( result != 0 ) { + if( data_fork_descriptor->size != 0 ) + { + libcerror_error_set( + error, + LIBCERROR_ERROR_DOMAIN_RUNTIME, + LIBCERROR_RUNTIME_ERROR_VALUE_MISSING, + "%s: unsupported non-empty data fork.", + function ); + + goto on_error; + } data_size = internal_file_entry->compressed_data_header->uncompressed_data_size; } else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/libfshfs.spec new/libfshfs-20260826/libfshfs.spec --- old/libfshfs-20260802/libfshfs.spec 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/libfshfs.spec 2026-08-26 15:35:42.000000000 +0200 @@ -1,5 +1,5 @@ Name: libfshfs -Version: 20260802 +Version: 20260826 Release: 1 Summary: Library to access the Hierarchical File System (HFS) format Group: System Environment/Libraries @@ -95,6 +95,6 @@ %{_mandir}/man1/* %changelog -* Sun Aug 2 2026 Joachim Metz <[email protected]> 20260802-1 +* Wed Aug 26 2026 Joachim Metz <[email protected]> 20260826-1 - Auto-generated diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/pyproject.toml new/libfshfs-20260826/pyproject.toml --- old/libfshfs-20260802/pyproject.toml 2026-08-02 15:35:56.000000000 +0200 +++ new/libfshfs-20260826/pyproject.toml 2026-08-26 15:35:42.000000000 +0200 @@ -4,7 +4,7 @@ [project] name = "libfshfs-python" -version = "20260802" +version = "20260826" description = "Python bindings for libfshfs" maintainers = [ { name = "Joachim Metz", email = "[email protected]" }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfshfs-20260802/tests/package.m4 new/libfshfs-20260826/tests/package.m4 --- old/libfshfs-20260802/tests/package.m4 2026-08-02 10:00:19.000000000 +0200 +++ new/libfshfs-20260826/tests/package.m4 2026-08-26 15:29:06.000000000 +0200 @@ -1,5 +1,5 @@ m4_define([AT_PACKAGE_NAME], [libfshfs]) m4_define([AT_PACKAGE_TARNAME], [libfshfs]) -m4_define([AT_PACKAGE_VERSION], [20260802]) -m4_define([AT_PACKAGE_STRING], [libfshfs 20260802]) +m4_define([AT_PACKAGE_VERSION], [20260826]) +m4_define([AT_PACKAGE_STRING], [libfshfs 20260826]) m4_define([AT_PACKAGE_BUGREPORT], [https://github.com/libyal/libfshfs/issues])
