Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hfsfuse for openSUSE:Factory checked in at 2026-03-02 17:40:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hfsfuse (Old) and /work/SRC/openSUSE:Factory/.hfsfuse.new.29461 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hfsfuse" Mon Mar 2 17:40:45 2026 rev:6 rq:1335736 version:0.406 Changes: -------- --- /work/SRC/openSUSE:Factory/hfsfuse/hfsfuse.changes 2026-02-26 18:59:39.857082263 +0100 +++ /work/SRC/openSUSE:Factory/.hfsfuse.new.29461/hfsfuse.changes 2026-03-02 17:41:31.522325302 +0100 @@ -1,0 +2,7 @@ +Thu Feb 26 12:46:20 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- Update to 0.406 + * Fixes mounting with -o allow_other, which was broken in the previous + release (thanks to li20034 for finding this and the quick patch.) + +------------------------------------------------------------------- Old: ---- hfsfuse-0.400.tar.gz New: ---- hfsfuse-0.406.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hfsfuse.spec ++++++ --- /var/tmp/diff_new_pack.OOyXKW/_old 2026-03-02 17:41:32.382360871 +0100 +++ /var/tmp/diff_new_pack.OOyXKW/_new 2026-03-02 17:41:32.382360871 +0100 @@ -17,7 +17,7 @@ Name: hfsfuse -Version: 0.400 +Version: 0.406 Release: 0 Summary: FUSE driver for HFS+ filesystems License: BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND MIT ++++++ hfsfuse-0.400.tar.gz -> hfsfuse-0.406.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hfsfuse-0.400/AUTHORS new/hfsfuse-0.406/AUTHORS --- old/hfsfuse-0.400/AUTHORS 2026-02-16 21:32:16.000000000 +0100 +++ new/hfsfuse-0.406/AUTHORS 2026-02-21 22:10:21.000000000 +0100 @@ -3,3 +3,4 @@ Dustin L. Howett <[email protected]> Morgan Aldridge <[email protected]> Vladimir Serbinenko <[email protected]> +Zonggao Li <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hfsfuse-0.400/README.md new/hfsfuse-0.406/README.md --- old/hfsfuse-0.400/README.md 2026-02-16 21:32:16.000000000 +0100 +++ new/hfsfuse-0.406/README.md 2026-02-21 22:10:21.000000000 +0100 @@ -81,7 +81,6 @@ HFS+ options: --force force mount volumes with dirty journal -o rsrc_only only mount the resource forks of files - -o noallow_other restrict filesystem access to mounting user -o cache_size=N size of lookup cache (1024) -o blksize=N set a custom read size/alignment in bytes you should only set this if you are sure it is being misdetected diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hfsfuse-0.400/src/hfsdump.c new/hfsfuse-0.406/src/hfsdump.c --- old/hfsfuse-0.400/src/hfsdump.c 2026-02-16 21:32:16.000000000 +0100 +++ new/hfsfuse-0.406/src/hfsdump.c 2026-02-21 22:10:21.000000000 +0100 @@ -205,7 +205,7 @@ } else if((ret = hfs_lookup(&vol,argv[3],&rec,NULL,&fork))) { fprintf(stderr,"Path lookup failure: %s\n", argv[3]); - fputs(strerror(-ret),stderr); + fprintf(stderr,"%s\n",strerror(-ret)); goto end; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hfsfuse-0.400/src/hfsfuse.c new/hfsfuse-0.406/src/hfsfuse.c --- old/hfsfuse-0.400/src/hfsfuse.c 2026-02-16 21:32:16.000000000 +0100 +++ new/hfsfuse-0.406/src/hfsfuse.c 2026-02-21 22:10:21.000000000 +0100 @@ -210,7 +210,7 @@ return ret; hfs_file_stat(f->file,&st); - rec = hfs_file_get_catalog_record(f); + rec = hfs_file_get_catalog_record(f->file); pthread_rwlock_unlock(&f->lock); } else { @@ -711,13 +711,14 @@ enum { HFSFUSE_OPT_KEY_HELP, HFSFUSE_OPT_KEY_FULLHELP, - HFSFUSE_OPT_KEY_VERSION + HFSFUSE_OPT_KEY_VERSION, + HFSFUSE_OPT_KEY_NOALLOW_OTHER, }; struct hfsfuse_config { struct hfs_volume_config volume_config; char* device; - int noallow_other; + int allow_other_set; int force; }; @@ -731,7 +732,8 @@ FUSE_OPT_KEY("-v", HFSFUSE_OPT_KEY_VERSION), FUSE_OPT_KEY("--version", HFSFUSE_OPT_KEY_VERSION), HFSFUSE_OPTION("--force",force), - HFSFUSE_OPTION("noallow_other",noallow_other), + HFSFUSE_OPTION("allow_other",allow_other_set), + FUSE_OPT_KEY("noallow_other",HFSFUSE_OPT_KEY_NOALLOW_OTHER), HFS_OPTION("cache_size=%zu",cache_size), HFS_OPTION("blksize=%" SCNu32,blksize), HFS_OPTION("noublio", noublio), @@ -747,14 +749,14 @@ FUSE_OPT_END }; -static void usage(const char* self) { - fprintf(stderr,"usage: %s [-hHv] [-o options] volume mountpoint\n\n",self); +static void usage(const char* self,FILE* stream) { + fprintf(stream,"usage: %s [-hHv] [-o options] volume mountpoint\n\n",self); } static void help(const char* self, struct hfsfuse_config* cfg) { - usage(self); + usage(self,stdout); fprintf( - stderr, + stdout, "general options:\n" " -o opt,[opt...] mount options\n" " -h, --help this help\n" @@ -764,7 +766,6 @@ "HFS+ options:\n" " --force force mount volumes with dirty journal\n" " -o rsrc_only only mount the resource forks of files\n" - " -o noallow_other restrict filesystem access to mounting user\n" " -o cache_size=N size of lookup cache (%zu)\n" " -o blksize=N set a custom read size/alignment in bytes\n" " you should only set this if you are sure it is being misdetected\n" @@ -787,7 +788,7 @@ ); if(hfs_get_lib_features() & HFS_LIB_FEATURES_UBLIO) { fprintf( - stderr, + stdout, " -o noublio disable ublio read layer\n" " -o ublio_items=N number of ublio cache entries, 0 for no caching (%" PRId32 ")\n" " -o ublio_grace=N reclaim cache entries only after N requests (%" PRIu64 ")\n" @@ -800,7 +801,7 @@ static void version(void) { fprintf( - stderr, + stdout, "hfsfuse version " HFSFUSE_VERSION_STRING "\n" "Built with:\n" " FUSE API v%d.%d\n" @@ -872,6 +873,9 @@ fuse_opt_free_args(args); exit(0); } + case HFSFUSE_OPT_KEY_NOALLOW_OTHER: + fputs("Warning: the noallow_other option is deprecated, allow_other is now off by default.\n", stderr); + return 0; case FUSE_OPT_KEY_NONOPT: if(!cfg->device) { cfg->device = strdup(arg); @@ -911,7 +915,7 @@ goto opt_err; if(!cfg.device) { - usage(args.argv[0]); + usage(args.argv[0],stderr); goto opt_err; } @@ -921,6 +925,9 @@ goto opt_err; } + if(getenv("SUDO_COMMAND") && !cfg.allow_other_set) + fputs("Warning: mounting with sudo without -o allow_other. Previously hfsfuse set this by default, you may want to enable it.\n", stderr); + char* fsname = malloc(strlen("fsname=") + strlen(cfg.device) + 1); if(!fsname) goto opt_err; @@ -930,7 +937,8 @@ char* opts = NULL; fuse_opt_add_opt(&opts, "ro"); - if(!cfg.noallow_other) + // passthrough allow_other to fuse; otherwise our opt parser consumed it + if (cfg.allow_other_set) fuse_opt_add_opt(&opts, "allow_other"); #if FUSE_VERSION < 30 fuse_opt_add_opt(&opts, "use_ino"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hfsfuse-0.400/src/version.h new/hfsfuse-0.406/src/version.h --- old/hfsfuse-0.400/src/version.h 2026-02-16 21:32:16.000000000 +0100 +++ new/hfsfuse-0.406/src/version.h 2026-02-21 22:10:21.000000000 +0100 @@ -1 +1 @@ -#define HFSFUSE_VERSION_STRING "0.400-765e606" +#define HFSFUSE_VERSION_STRING "0.406-06deec6"
