Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package seatd for openSUSE:Factory checked 
in at 2026-01-20 21:03:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seatd (Old)
 and      /work/SRC/openSUSE:Factory/.seatd.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seatd"

Tue Jan 20 21:03:45 2026 rev:12 rq:1328188 version:0.9.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/seatd/seatd.changes      2024-11-22 
23:52:20.043420740 +0100
+++ /work/SRC/openSUSE:Factory/.seatd.new.1928/seatd.changes    2026-01-20 
21:03:53.726443943 +0100
@@ -1,0 +2,12 @@
+Tue Jan 20 08:11:19 UTC 2026 - Michael Vetter <[email protected]>
+
+- Update to 0.9.2:
+  * libseat/seatd: Remove read_and_execute
+  * libseat/seatd: Read remaining events after processing responses
+  * libseat/seatd: Cleanup of request error handling
+  * libseat/seatd: Set EINVAL if target session is invalid
+  * libseat/seatd: Set backend error if poll fails
+  * seatd: Add validation of device path libseat/seatd: Add validation of 
seat_name
+  * seatd: Add strict message size comparison
+
+-------------------------------------------------------------------

Old:
----
  seatd-0.9.1.obscpio

New:
----
  seatd-0.9.2.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seatd.spec ++++++
--- /var/tmp/diff_new_pack.je2t8I/_old  2026-01-20 21:03:54.378470931 +0100
+++ /var/tmp/diff_new_pack.je2t8I/_new  2026-01-20 21:03:54.382471097 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package seatd
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 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:           seatd
-Version:        0.9.1
+Version:        0.9.2
 Release:        0
 Summary:        Seat management daemon
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.je2t8I/_old  2026-01-20 21:03:54.442473580 +0100
+++ /var/tmp/diff_new_pack.je2t8I/_new  2026-01-20 21:03:54.462474407 +0100
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="disabled">
     <param name="url">https://git.sr.ht/~kennylevinsen/seatd</param>
     <param name="scm">git</param>
-    <param name="revision">0.9.1</param>
+    <param name="revision">0.9.2</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ seatd-0.9.1.obscpio -> seatd-0.9.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/.builds/alpine.yml 
new/seatd-0.9.2/.builds/alpine.yml
--- old/seatd-0.9.1/.builds/alpine.yml  2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/.builds/alpine.yml  2026-01-05 10:44:28.000000000 +0100
@@ -10,7 +10,7 @@
    - https://git.sr.ht/~kennylevinsen/seatd
 tasks:
    - prepare: |
-      meson -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled -Dexamples=enabled build seatd
+      meson setup -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled -Dexamples=enabled build seatd
    - build: |
       ninja -C build
       sudo ninja -C build install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/.builds/archlinux.yml 
new/seatd-0.9.2/.builds/archlinux.yml
--- old/seatd-0.9.1/.builds/archlinux.yml       2024-10-30 20:43:26.000000000 
+0100
+++ new/seatd-0.9.2/.builds/archlinux.yml       2026-01-05 10:44:28.000000000 
+0100
@@ -9,7 +9,7 @@
    - https://git.sr.ht/~kennylevinsen/seatd
 tasks:
    - prepare: |
-      meson -Db_sanitize=address -Dlibseat-logind=auto -Dlibseat-seatd=enabled 
-Dlibseat-builtin=enabled -Dexamples=enabled build seatd
+      meson setup -Db_sanitize=address -Dlibseat-logind=auto 
-Dlibseat-seatd=enabled -Dlibseat-builtin=enabled -Dexamples=enabled build seatd
    - build: |
       ninja -C build
       sudo ninja -C build install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/.builds/freebsd.yml 
new/seatd-0.9.2/.builds/freebsd.yml
--- old/seatd-0.9.1/.builds/freebsd.yml 2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/.builds/freebsd.yml 2026-01-05 10:44:28.000000000 +0100
@@ -5,14 +5,14 @@
    - https://git.sr.ht/~kennylevinsen/seatd
 tasks:
    - prepare: |
-      meson -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled build seatd
+      meson setup -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled build seatd
    - build: |
       ninja -C build
    - unittest: |
       ninja -C build test
    - smoketest: |
       rm -rf build
-      meson -Db_lundef=false -Db_sanitize=address -Dlibseat-seatd=enabled 
-Dlibseat-builtin=enabled -Dexamples=enabled -Dlibseat-logind=disabled build 
seatd
+      meson setup -Db_lundef=false -Db_sanitize=address 
-Dlibseat-seatd=enabled -Dlibseat-builtin=enabled -Dexamples=enabled 
-Dlibseat-logind=disabled build seatd
       ninja -C build
       sudo ninja -C build install
       timeout -s KILL 30s sudo ./build/seatd-launch -l debug -- 
./build/simpletest /dev/input/event0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/.builds/netbsd.yml 
new/seatd-0.9.2/.builds/netbsd.yml
--- old/seatd-0.9.1/.builds/netbsd.yml  2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/.builds/netbsd.yml  2026-01-05 10:44:28.000000000 +0100
@@ -9,14 +9,14 @@
       sudo /etc/rc.d/wscons start
       sudo /etc/rc.d/ttys restart
    - prepare: |
-      meson -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled build seatd
+      meson setup -Dlibseat-seatd=enabled -Dlibseat-builtin=enabled 
-Dlibseat-logind=disabled build seatd
    - build: |
       ninja -C build
    - unittest: |
       ninja -C build test
    - smoketest: |
       rm -rf build
-      meson -Db_lundef=false -Db_sanitize=address -Dlibseat-seatd=enabled 
-Dlibseat-builtin=enabled -Dexamples=enabled -Dlibseat-logind=disabled build 
seatd
+      meson setup -Db_lundef=false -Db_sanitize=address 
-Dlibseat-seatd=enabled -Dlibseat-builtin=enabled -Dexamples=enabled 
-Dlibseat-logind=disabled build seatd
       ninja -C build
       sudo ninja -C build install
       timeout -s SIGKILL 30s sudo SEATD_LOGLEVEL=debug ./build/seatd-launch 
./build/simpletest /dev/wskbd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/README.md new/seatd-0.9.2/README.md
--- old/seatd-0.9.1/README.md   2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/README.md   2026-01-05 10:44:28.000000000 +0100
@@ -29,9 +29,9 @@
 
 ## Why not (e)logind?
 
-systemd-logind is not portable, and being part of the systemd project, it 
cannot be used in an environment not based on systemd. Furthermore, "simple" is 
definitely not within the set of adjectives that can be used to describe 
logind. For those in the dark, [take a glance at its 
API](https://www.freedesktop.org/wiki/Software/systemd/logind/). Plus, 
competition is healthy.
+systemd-logind is not portable, and being part of the systemd project, it 
cannot be used in an environment not based on or compatible with systemd.
 
-elogind tries to isolate systemd-logind form systemd through brute-force. This 
requires actively fighting against upstream design decisions for deep 
integration, and the efforts must be repeated every time one syncs with 
upstream. And even after all this work, one is left with nothing but a hackjob.
+elogind tries to isolate systemd-logind from systemd through brute-force. This 
requires actively fighting against upstream design decisions for deep 
integration, and the efforts must be repeated every time one syncs with 
upstream. And even after all this work, one is left with nothing but a hackjob.
 
 Why spend time isolating logind and keeping up with upstream when we could 
instead create something better with less work?
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/common/evdev.c 
new/seatd-0.9.2/common/evdev.c
--- old/seatd-0.9.1/common/evdev.c      2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/common/evdev.c      2026-01-05 10:44:28.000000000 +0100
@@ -23,7 +23,7 @@
 }
 
 int evdev_revoke(int fd) {
-       return ioctl(fd, EVIOCREVOKE, NULL);
+       return ioctl(fd, (int)EVIOCREVOKE, NULL);
 }
 #else
 int path_is_evdev(const char *path) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/libseat/backend/logind.c 
new/seatd-0.9.2/libseat/backend/logind.c
--- old/seatd-0.9.1/libseat/backend/logind.c    2024-10-30 20:43:26.000000000 
+0100
+++ new/seatd-0.9.2/libseat/backend/logind.c    2026-01-05 10:44:28.000000000 
+0100
@@ -429,6 +429,7 @@
                }
                if (strcmp(s, "Active") == 0) {
                        int ret;
+                       const char *field = "Active";
                        ret = sd_bus_message_enter_container(msg, 'v', "b");
                        if (ret < 0) {
                                goto error;
@@ -440,7 +441,7 @@
                                goto error;
                        }
 
-                       log_debugf("%s state changed: %d", s, value);
+                       log_debugf("%s state changed: %d", field, value);
                        set_active(session, value);
                        ret = sd_bus_message_exit_container(msg);
                        if (ret < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/libseat/backend/seatd.c 
new/seatd-0.9.2/libseat/backend/seatd.c
--- old/seatd-0.9.1/libseat/backend/seatd.c     2024-10-30 20:43:26.000000000 
+0100
+++ new/seatd-0.9.2/libseat/backend/seatd.c     2026-01-05 10:44:28.000000000 
+0100
@@ -83,8 +83,7 @@
 
 static void cleanup(struct backend_seatd *backend) {
        if (backend->connection.fd != -1) {
-               close(backend->connection.fd);
-               backend->connection.fd = -1;
+               shutdown(backend->connection.fd, SHUT_RDWR);
        }
        connection_close_fds(&backend->connection);
        while (!linked_list_empty(&backend->pending_events)) {
@@ -95,6 +94,11 @@
 }
 
 static void destroy(struct backend_seatd *backend) {
+       if (backend->connection.fd != -1) {
+               close(backend->connection.fd);
+               backend->connection.fd = -1;
+       }
+
        cleanup(backend);
        free(backend);
 }
@@ -155,12 +159,12 @@
        }
        if (header.opcode != expected_opcode) {
                struct proto_server_error msg;
-               if (header.opcode != SERVER_ERROR) {
-                       log_errorf("Unexpected response: expected opcode %d, 
received opcode %d",
-                                  expected_opcode, header.opcode);
+               if (header.opcode != SERVER_ERROR || header.size != sizeof msg) 
{
+                       log_errorf("Unexpected response: expected opcode %d of 
length %zd, received opcode %d of length %d",
+                                  expected_opcode, sizeof msg, header.opcode, 
header.size);
                        set_error(backend);
                        errno = EBADMSG;
-               } else if (header.size != sizeof msg || conn_get(backend, &msg, 
sizeof msg) == -1) {
+               } else if (conn_get(backend, &msg, sizeof msg) == -1) {
                        set_error(backend);
                        errno = EBADMSG;
                } else {
@@ -338,7 +342,8 @@
        // caller might be waiting for the result. However, we'd also
        // like to read anything pending.
        int read = 0;
-       if (predispatch > 0 || timeout == 0) {
+       bool immediate_read = predispatch > 0 || timeout == 0;
+       if (immediate_read) {
                read = connection_read(&backend->connection);
        } else {
                read = poll_connection(backend, timeout);
@@ -347,7 +352,8 @@
        if (read == 0) {
                return predispatch;
        } else if (read == -1 && errno != EAGAIN) {
-               log_errorf("Could not read from connection: %s", 
strerror(errno));
+               log_errorf("Could not %s from connection: %s", immediate_read ? 
"read" : "poll",
+                          strerror(errno));
                goto error;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seatd-0.9.1/meson.build new/seatd-0.9.2/meson.build
--- old/seatd-0.9.1/meson.build 2024-10-30 20:43:26.000000000 +0100
+++ new/seatd-0.9.2/meson.build 2026-01-05 10:44:28.000000000 +0100
@@ -1,7 +1,7 @@
 project(
        'seatd',
        'c',
-       version: '0.9.1',
+       version: '0.9.2',
        license: 'MIT',
        meson_version: '>=0.60.0',
        default_options: [
@@ -46,12 +46,16 @@
                '-Wmissing-include-dirs',
                '-Wold-style-definition', # nop
                '-Wpointer-arith',
+               '-Wstrict-aliasing',
                '-Wstrict-prototypes',
                '-Wimplicit-fallthrough',
                '-Wmissing-prototypes',
                '-Wno-unknown-warning-option',
                '-Wno-unused-command-line-argument',
                '-Wvla',
+               # GCC warns if hardened is used without optimization
+               '-Wno-hardened',
+               '-fhardened',
        ]),
        language: 'c',
 )
@@ -63,10 +67,6 @@
        language: 'c',
 )
 
-if ['debugoptimized', 'release', 'minsize'].contains(get_option('buildtype'))
-       add_project_arguments('-D_FORTIFY_SOURCE=2', language: 'c')
-endif
-
 if get_option('buildtype').startswith('debug')
        add_project_arguments('-DDEBUG', language : 'c')
 endif

++++++ seatd.obsinfo ++++++
--- /var/tmp/diff_new_pack.je2t8I/_old  2026-01-20 21:03:54.746486164 +0100
+++ /var/tmp/diff_new_pack.je2t8I/_new  2026-01-20 21:03:54.762486825 +0100
@@ -1,5 +1,5 @@
 name: seatd
-version: 0.9.1
-mtime: 1730317406
-commit: 566ffeb032af42865dc1210e48cec08368059bb9
+version: 0.9.2
+mtime: 1767606268
+commit: a3c56c324c3a84474cc1615d94ccd6a6255d0c10
 

Reply via email to