3 Commits

Author SHA256 Message Date
91c90103fd Accepting request 1325600 from filesystems
OBS-URL: https://build.opensuse.org/request/show/1325600
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diod?expand=0&rev=6
2026-01-08 14:25:59 +00:00
bced0694f6 - attempt to workaround gcc-15 -Werror=stringop-overflow failure
* add libnpclient-noinline-npc_gets.patch (boo#1255799)
- Track dropped configs as ghost files
- Specify --with-systemdsystemunitdir during configure
- Drop diodmount rename, unneeded following upstream commit a6a077e
- Add libcap dependency and drop unused libpcap
- Rebase harden_diod.service.patch
- Upgrade Lua version dependency to 1.3 (boo#1255720)
- Drop optional tcmalloc dependency
- Update to version 1.1.0+0.ga32f5a4:
  * protocol.md: fix document links
  * update README.md for 1.1.0
  * scripts: add missing debian dependency
  * NEWS.md: add release notes for 1.1.0
  * add script to generate release notes
  * testsuite: fix test output typo
  * reorganize project metadata
  * testsuite: temporarily disable security XATTR test
  * diodcli: fix compliation issue on aarch64
  * git: drop check in tests/kern
  * .gitignore: remove ancient paths
  * testsuite: drop third party tests
  * testsuite: drop duplicate mode test
  * testsuite: drop duplicate fsync test
  * testsuite: migrate atomic create test to sharness
  * testsuite: migrate create test to sharness
  * testsuite: migrate xattr tests to sharness
  * testsuite: migrate flock tests to sharness
  * testsuite: drop duplicate rename test
  * testsuite: migrate sgid dir test to sharness

OBS-URL: https://build.opensuse.org/package/show/filesystems/diod?expand=0&rev=11
2026-01-06 12:46:23 +00:00
David Sterba
b2b84223a2 Accepting request 1172936 from home:dsterba:branches:filesystems
- Update to version 1.0.24+164.gb4b5e8e00ed11b:

OBS-URL: https://build.opensuse.org/request/show/1172936
OBS-URL: https://build.opensuse.org/package/show/filesystems/diod?expand=0&rev=10
2024-05-09 12:16:58 +00:00
8 changed files with 312 additions and 23 deletions

View File

@@ -3,7 +3,8 @@
<param name="scm">git</param>
<param name="url">https://github.com/chaos/diod.git</param>
<param name="filename">diod</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@.g%h</param>
<param name="revision">v1.1.0</param>
<param name="versionformat">1.1.0+@TAG_OFFSET@.g%h</param>
<param name="changesgenerate">enable</param>
<param name="package-meta">yes</param>
</service>
@@ -11,5 +12,7 @@
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
<service name="set_version" mode="disabled">
<param name="basename">diod</param>
</service>
</services>

View File

@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/chaos/diod.git</param>
<param name="changesrevision">f0f7d0d3ac82f2f082631fd5511b00f86f0ffa7a</param></service></servicedata>
<param name="changesrevision">a32f5a41d7e042d7251f69135eb88fc8a6da1e72</param></service></servicedata>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d182769e5f0285806290a39c079bc8415e13f215b8faa942b11b5b46a4a7c27d
size 7447512

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a5ad965a76d1cd0052d92b9338c4311b610a852d6204f41813f6bf7f7fec20e2
size 6603956

View File

@@ -1,3 +1,250 @@
-------------------------------------------------------------------
Wed Dec 31 09:03:18 UTC 2025 - David Disseldorp <ddiss@suse.de>
- attempt to workaround gcc-15 -Werror=stringop-overflow failure
* add libnpclient-noinline-npc_gets.patch (boo#1255799)
- Track dropped configs as ghost files
- Specify --with-systemdsystemunitdir during configure
- Drop diodmount rename, unneeded following upstream commit a6a077e
- Add libcap dependency and drop unused libpcap
- Rebase harden_diod.service.patch
- Upgrade Lua version dependency to 1.3 (boo#1255720)
- Drop optional tcmalloc dependency
- Update to version 1.1.0+0.ga32f5a4:
* protocol.md: fix document links
* update README.md for 1.1.0
* scripts: add missing debian dependency
* NEWS.md: add release notes for 1.1.0
* add script to generate release notes
* testsuite: fix test output typo
* reorganize project metadata
* testsuite: temporarily disable security XATTR test
* diodcli: fix compliation issue on aarch64
* git: drop check in tests/kern
* .gitignore: remove ancient paths
* testsuite: drop third party tests
* testsuite: drop duplicate mode test
* testsuite: drop duplicate fsync test
* testsuite: migrate atomic create test to sharness
* testsuite: migrate create test to sharness
* testsuite: migrate xattr tests to sharness
* testsuite: migrate flock tests to sharness
* testsuite: drop duplicate rename test
* testsuite: migrate sgid dir test to sharness
* testsuite: drop unused suppl groups test program
* testsuite: drop duplicate stat test
* testsuite: migrate pathwalk test to sharness
* testsuite: drop duplicate statfs test
* testsuite: update mount options
* mount.diod(8): update mount options
* mount.diod: use access=client as the default
* diod(8): add SECURITY description
* testsuite: convert POSIX ACL test to sharness
* testsuite: fix POSIX ACL test
* demote diodload to an internal test program
* dioddate: drop old command
* diodcli(8): add date subcommand
* diodcli: add date subcommand
* diodshowmount: drop old command
* diodcli(8): add showmount subcommand
* diodcli: add showmount subcommand
* diodls: drop old command
* testsuite: use diodcli ls
* diodcli(8): add ls subcommand
* diodcli: add ls subcommand
* diodcli(8): fix typo
* diodcli(8): add man page, drop diodcat man page
* diodcat: drop redundant utility
* testsuite: use diodcli read instead of diodcat
* sharness: export DIOD_SOCKET in diod_start()
* diodcli: use "ctl" as the default aname
* diodcli: add --trace option
* diodcli: use DIOD_SOCKET, if set
* diodcli: make test-only subcommands invisible
* diodcli: drop sysgetattr subcommand
* diodcli: drop sysstat subcommand
* libnpclient: add NPC_TRACE flag
* diodcli: rename from npclient test program
* scripts: update install-deps-deb.sh
* diodrun: call setsid() in client fork
* libdiod: clean up inconsistent tab use
* fix typo in sharness scripts
* testsuite: add self-hosting test
* drop diod.conf, auto.diod
* mount.diod: rename from diodmount
* diod.spec: drop RPM spec file
* testsuite: cover mount helper
* diodmount(8): update v9fs mount options
* diodmount: allow more control over mount options
* libnpfs: fix access denied message
* diod: drop incorrect assertion
* libnpclient: implement npc_rename()
* libnpclient: drop NPC_MULTI_RPC
* testsuite: drop old tests
* github: add new test dependencies
* testsuite: add dbench, postmark, scrub, rsync tests
* testsuite: cover v9fs + diod in multiuser mode
* testsuite: cover v9fs + diod in allsquash mode
* testsuite: cover v9fs + diod in runasuser mode
* testsuite: define built-in prerequisites
* testsuite: add diodrun --socketpair
* testsuite: add method argument to test_under_diod
* libnpfs: fix unallocated free error
* drop extra comment from test script
* mergify: disable temporary PR branches
* ci: run tests with minimal config
* ci: get test results on failure
* testsuite: remove old "user" test
* testsuite: add t0006-npclient-issues.t
* testsuite: add t0005-npclient-xattr.t
* testsuite: add t0004-npclient-basic.t
* testsuite: add sharness test_under_diod()
* testsuite: make tattach look like other test progs
* testsuite: relocate tattachmt test program
* testsuite: make tflush look like other test progs
* testsuite: relocate tflush test program
* testsuite: add npclient test program
* testsuite: add diodrun test program
* ci: allow the nobody user into home directory
* testsuite: add t0003-basic-multiuser.t
* testsuite: add t0002-basic-allsquash.t
* testsuite: add t0001-basic-runasuser.t
* testsuite: create t1000-valgrind from old test
* testsuite: add diod-specific helper script
* diod: add --version option
* testsuite: add sudo prereq
* testsuite: add sharness test driver
* Fix autogen if autoconf-archive > 2023.02.20 (#142)
* diod: Implement Trenameat and Tunlinkat
* libnpfs: Fix assert failure when receiving R-type messages
* diod: Fix uint32 overflow when Tread/Twrite count > UINT32_MAX-IOHDRSZ
* diod: keep --foreground option for compatibility
* build: don't just warn if libcap is missing
* build: don't just warn if munge is missing
* diod: require --no-auth if not build with munge
* diod: make multi-user initialization errors fatal
* diod: refactor startup logic for clarity
* build: adjust multi-user configuration options
* diod: log access policy
* diod: use setgroups() on linux for transition
* diod: log user transition and simplify code
* diod: don't cache effective uid
* systemd: support systemctl reload diod
* diod: log listen addresses
* diod: drop program prefix from logs
* testsuite: fix test server TAP logging
* diod: initialize rdma after user transitions
* ci: add build-only check for RDMA
* ci: cull package dependencies
* build: fix rdma configure logic
* rdma: fix include paths
* systemd: switch to Type=exec from Type=forking
* man: drop --foreground from diod(8)
* diod: always run in the foreground
* man: drop syslog from diod(8), diod.conf(5)
* diod: drop --logdest=syslog[options]
* libdiod: drop leftover TCP Wrappers stuff
* testsuite: drop setgroups unit test
* diod: make SYS_setgroups test safer
* diod: improve supplementary group warning + comments
* build: drop FreeBSD automatic --disable-diodmount
* build: drop configure --disable-tests option
* build: drop checks for vsprintf(), vsscanf()
* drop TCP Wrappers support
* build: drop conditional getopt stuff
* build: drop libpopt references
* tests: Handle various time_t sizes in printf (#124)
* testsuite: drop unused tests
* testsuite: skip FALLOC_FL_PUNCH_HOLE in fsx
* testsuite: drop record locking kernel tests
* testsuite: drop fcntl locking test
* testsuite: add locking unit test
* libnpclient: add npc_lock() and npc_getlock()
* libnpfs: replace kernel 9p.h header
* don't include 9p.h directly
* testsuite: reduce unnecessary include directives
* headers include the headers they depend on
* add header guards
* testsuite: factor out duplicated server code
* testsuite: factor out duplicated thread code
* eliminate src/daemon directory
* testsuite: enable parallel test harness
* build: fix Makefile.am typo
* testsuite: make unit tests work w/parallel harness
* liblsd: clean up source directory dependencies
* ci: valgrind and sudo some unit tests
* testsuite: convert multiuser cli/srv test to TAP
* testsuite: convert dir/file cli/srv test to TAP
* testsuite: convert simple np cli/srv test to TAP
* testsuite: convert config file test to TAP
* testsuite: convert setreuid test to TAP
* testsuite: convert setgroups groups test to TAP
* testsuite: convert setfsuid test to TAP
* testsuite: convert fcntl locking test to TAP
* testsuite: convert capability test to TAP
* testsuite: convert list test to TAP
* testsuite: convert opt test to TAP
* testsuite: convert fidpool test to TAP
* testsuite: convert encoding test to TAP
* testsuite: add TAP unit test framework
* diodmount: drop --9nbd-attach, --9nbd-detach opts
* fix fsid in Rstatfs result
* doc: update Rstatfs description
* implement Tfsync datasync
* doc: Tfsync is missing 'datasync'
* libnpfs: catch overflow in np_deserialize_p9dirent
* build: add make deb target for debian package
* src: move source code to one directory
* man: move all man pages to one directory
* simplify autogen.sh script
* build: combine and simplify etc and scripts
* configure: normalize systemd unit install
* configure: drop AC_HEADER_STDC
* configure: use AC_CONFIG_HEADERS
* libnpfs: fix off by one buffer check
* diod: check offset in xattr read/write
* diod: handle xattr write errors properly
* ci: run kernel tests in CI
* testsuite: fix racy test looking for old bug
* ci: add scrub to github workflow
* testsuite: drop subversion test
* testsuite: remove security xattr XFAIL
* testsuite: add setfattr prereq to t46,t47
* testsuite: drop internal copy of dbench
* testsuite: remove dbench XFAIL
* testsuite: set root mount propagation to private
* Shutdown all connection threads when applications is terminated
* Signal that connection is done after all cleanup has finished
* Use a pthread_cleanup callback function in connection thread
* signal refcond in connection under lock
* tests: Skip kern tests t35 and t40 unless there is enough disk space
* Mark kernel tests t19 t23 t32 t37 t43 and t47 as XFAIL
* tests/kern/runtest: Delete PATH_EXPDIR and PATH_MNTDIR on failure
* tests/user/runtest: Delete PATH_EXPDIR when it is a file
* tests/user/t16: Delete the tempfile on failure
* Don't use pushd/popd in kern test t33
* Use grep -E instead of egrep in kern test t28
* kern test t28 requires rsync, skip if it not available
* Handle various time_t sizes in printf and scanf
* ci: drop deprecated 18.04 actions runner
* add mergify support
-------------------------------------------------------------------
Thu May 9 00:00:00 CEST 2024 - dsterba@suse.cz
- Update to version 1.0.24+164.gb4b5e8e00ed11b:
* Add option to disable hostname lookups
* build: Install diod.service and auto.diod without install-data-local
* diod: Add support for IPv6 addresses
* diodmount: Add option to set privport
* diodmount: Add support for IPv6 addresses
* diodmount: update man page with privport option
* Document IPv6 address format
* Increase diod server maximum msize setting to 1MB
* libdiod: Set global options on exports specified on
* libdiod: Support ipv6 in diod_sock_connect
* libdiod: support privport on ipv6
-------------------------------------------------------------------
Mon Feb 26 08:06:38 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@@ -1,7 +1,7 @@
#
# spec file for package diod
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: diod
Version: 1.0.24+53.g0d87511
Version: 1.1.0+0.ga32f5a4
Release: 0
Summary: Distributed I/O Daemon - a 9P file server
License: GPL-2.0-or-later
@@ -25,6 +25,7 @@ Group: System/Filesystems
URL: https://github.com/chaos/diod
Source0: %{name}-%{version}.tar.xz
Patch0: harden_diod.service.patch
Patch1: libnpclient-noinline-npc_gets.patch
BuildRequires: autogen
BuildRequires: automake
BuildRequires: c_compiler
@@ -32,9 +33,8 @@ BuildRequires: git-core
BuildRequires: pkgconfig
BuildRequires: tcpd-devel
BuildRequires: pkgconfig(libattr)
BuildRequires: pkgconfig(libpcap)
BuildRequires: pkgconfig(libtcmalloc)
BuildRequires: pkgconfig(lua5.1)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(lua5.3)
BuildRequires: pkgconfig(munge)
BuildRequires: pkgconfig(ncurses)
Recommends: munge
@@ -48,14 +48,12 @@ that speaks 9P2000.L protocol.
%build
autoreconf -fiv
export CPPFLAGS=-I%{_includedir}/lua5.1
%configure
export CPPFLAGS=-I%{_includedir}/lua5.3
%configure --with-systemdsystemunitdir=%{_unitdir}
make %{?_smp_mflags}
%install
%make_install
mv %{buildroot}%{_sbindir}/diodmount %{buildroot}%{_sbindir}/mount.diod
mv %{buildroot}%{_mandir}/man8/diodmount.8 %{buildroot}%{_mandir}/man8/mount.diod.8
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcdiod
%if 0%{?suse_version} < 1550
mkdir %{buildroot}/sbin
@@ -76,7 +74,7 @@ ln -s %{_sbindir}/mount.diod %{buildroot}/sbin/mount.diod
%files
%license COPYING
%doc README.md AUTHORS NEWS
%doc README.md NEWS.md
%if 0%{?suse_version} < 1550
/sbin/*
@@ -84,8 +82,8 @@ ln -s %{_sbindir}/mount.diod %{buildroot}/sbin/mount.diod
%{_sbindir}/*
%{_unitdir}/diod.service
%config(noreplace) %{_sysconfdir}/diod.conf
%config(noreplace) %{_sysconfdir}/auto.diod
%ghost %{_sysconfdir}/diod.conf
%ghost %{_sysconfdir}/auto.diod
%{_mandir}/man8/*
%{_mandir}/man5/*

View File

@@ -1,7 +1,7 @@
Index: diod-1.0.24+53.g0d87511/scripts/diod.service.in
Index: diod/etc/diod.service.in
===================================================================
--- diod-1.0.24+53.g0d87511.orig/scripts/diod.service.in
+++ diod-1.0.24+53.g0d87511/scripts/diod.service.in
--- diod.orig/etc/diod.service.in
+++ diod/etc/diod.service.in
@@ -2,6 +2,18 @@
Description=9P File Server
@@ -18,6 +18,6 @@ Index: diod-1.0.24+53.g0d87511/scripts/diod.service.in
+ProtectControlGroups=true
+RestrictRealtime=true
+# end of automatic additions
Type=forking
Type=exec
ExecStart=@X_SBINDIR@/diod
ExecReload=kill -HUP $MAINPID

View File

@@ -0,0 +1,41 @@
From 600c3c3002bb3e2c1a6516943486eb94fe62d9f5 Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Wed, 31 Dec 2025 13:07:12 +0100
Subject: [PATCH] libnpclient: noinline npc_gets
gcc-15 Factory builds are failing with:
[ 20s] In function 'npc_gets',
[ 20s] inlined from 'cmd_showmount' at diodcli.c:496:12:
[ 20s] ../libnpclient/read.c:218:19: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
[ 20s] 218 | buf[done] = '\0';
[ 20s] | ^
[ 20s] diodcli.c: In function 'cmd_showmount':
[ 20s] diodcli.c:465:10: note: at offset [-2147483648, -1] into destination object 'buf' of size 80
[ 20s] 465 | char buf[80], *host, *p;
[ 20s] | ^
[ 21s] lto1: all warnings being treated as errors
I've taken a quick look, and don't think that 'done' can cause a 'buf'
overrun here, but I may be wrong (the code is pretty hairy).
Attempt to workaround the compiler error by avoiding npc_gets inlining.
---
src/libnpclient/read.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libnpclient/read.c b/src/libnpclient/read.c
index cbc78bc..e94ef09 100644
--- a/src/libnpclient/read.c
+++ b/src/libnpclient/read.c
@@ -190,7 +190,7 @@ _strnchr (char *s, char c, int len)
return NULL;
}
-char *
+char * __attribute__ ((noinline))
npc_gets(Npcfid *fid, char *buf, u32 count)
{
int n = 0, done = 0, extra = 0;
--
2.52.0