Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package account-utils for openSUSE:Factory 
checked in at 2026-01-13 21:26:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/account-utils (Old)
 and      /work/SRC/openSUSE:Factory/.account-utils.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "account-utils"

Tue Jan 13 21:26:55 2026 rev:2 rq:1326796 version:1.0+git20260112.87262b5

Changes:
--------
--- /work/SRC/openSUSE:Factory/account-utils/account-utils.changes      
2025-12-17 17:44:13.475465206 +0100
+++ /work/SRC/openSUSE:Factory/.account-utils.new.1928/account-utils.changes    
2026-01-13 21:27:25.662269249 +0100
@@ -1,0 +2,8 @@
+Mon Jan 12 14:43:26 UTC 2026 - Thorsten Kukuk <[email protected]>
+
+- Update to version 1.0+git20260112.87262b5:
+  * Add pwaccessd and pwupdd manual pages
+  * check_caller_perms: rework function description
+  * map_range.h: add missing stdint include
+
+-------------------------------------------------------------------

Old:
----
  account-utils-1.0+git20251216.774fa6e.tar.xz

New:
----
  account-utils-1.0+git20260112.87262b5.tar.xz

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

Other differences:
------------------
++++++ account-utils.spec ++++++
--- /var/tmp/diff_new_pack.C04tzA/_old  2026-01-13 21:27:29.362421967 +0100
+++ /var/tmp/diff_new_pack.C04tzA/_new  2026-01-13 21:27:29.374422463 +0100
@@ -17,7 +17,7 @@
 
 %define lname   libpwaccess0
 Name:           account-utils
-Version:        1.0+git20251216.774fa6e
+Version:        1.0+git20260112.87262b5
 Release:        0
 Summary:        Service for authentication and account management
 License:        GPL-2.0-or-later AND BSD-2-Clause AND LGPL-2.1-or-later
@@ -147,6 +147,8 @@
 %{_mandir}/man1/passwd.1%{?ext_man}
 %{_mandir}/man8/pam_debuginfo.8%{?ext_man}
 %{_mandir}/man8/pam_unix_ng.8%{?ext_man}
+%{_mandir}/man8/pwaccessd.8%{?ext_man}
+%{_mandir}/man8/pwupdd.8%{?ext_man}
 %{_datadir}/permissions/permissions.d/account-utils
 
 %files -n %{lname}

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.C04tzA/_old  2026-01-13 21:27:29.682435173 +0100
+++ /var/tmp/diff_new_pack.C04tzA/_new  2026-01-13 21:27:29.714436493 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/thkukuk/account-utils.git</param>
-<param 
name="changesrevision">774fa6e933bd4a6d4c231578d28bdd719399ccc7</param></service></servicedata>
+<param 
name="changesrevision">87262b535050421fb237334df0614c6e72105287</param></service></servicedata>
 (No newline at EOF)
 

++++++ account-utils-1.0+git20251216.774fa6e.tar.xz -> 
account-utils-1.0+git20260112.87262b5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/account-utils-1.0+git20251216.774fa6e/libcommon/check_caller_perms.c 
new/account-utils-1.0+git20260112.87262b5/libcommon/check_caller_perms.c
--- old/account-utils-1.0+git20251216.774fa6e/libcommon/check_caller_perms.c    
2025-12-16 16:38:59.000000000 +0100
+++ new/account-utils-1.0+git20260112.87262b5/libcommon/check_caller_perms.c    
2026-01-12 15:25:38.000000000 +0100
@@ -6,11 +6,12 @@
 
 #include "check_caller_perms.h"
 
-/* Don't allow access if query does not come from root
-   and the result is not the one of the calling user.
-   Exception: if the peer uid is in the list of exceptions.
-   "Lex mariadb": user mysql/mariadb needs to authenticate other
-   users to allow access to the database. */
+/*  Do not allow access if the query does not originate from root
+    or the entry does not belong to the calling user.
+    Exception: if the peer uid is in the list of exceptions.
+    "Lex mariadb": user mysql/mariadb needs to authenticate as
+    database user so that the database user can get access to the
+    database. */
 bool
 check_caller_perms(uid_t peer_uid, uid_t target_uid, uid_t *allowed)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/account-utils-1.0+git20251216.774fa6e/man/meson.build 
new/account-utils-1.0+git20260112.87262b5/man/meson.build
--- old/account-utils-1.0+git20251216.774fa6e/man/meson.build   2025-12-16 
16:38:59.000000000 +0100
+++ new/account-utils-1.0+git20260112.87262b5/man/meson.build   2026-01-12 
15:25:38.000000000 +0100
@@ -57,4 +57,16 @@
               command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
               install : want_man,
               install_dir : mandir8)
+custom_target('pwaccessd.8',
+              input : 'pwaccessd.8.xml',
+              output : 'pwaccessd.8',
+              command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
+              install : want_man,
+              install_dir : mandir8)
+custom_target('pwupdd.8',
+              input : 'pwupdd.8.xml',
+              output : 'pwupdd.8',
+              command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
+              install : want_man,
+              install_dir : mandir8)
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/account-utils-1.0+git20251216.774fa6e/man/pwaccessd.8.xml 
new/account-utils-1.0+git20260112.87262b5/man/pwaccessd.8.xml
--- old/account-utils-1.0+git20251216.774fa6e/man/pwaccessd.8.xml       
1970-01-01 01:00:00.000000000 +0100
+++ new/account-utils-1.0+git20260112.87262b5/man/pwaccessd.8.xml       
2026-01-12 15:25:38.000000000 +0100
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook"; version="5.0" 
xml:id="pwaccessd">
+  <refmeta>
+    <refentrytitle>pwaccessd</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class="source">account-utils %version%</refmiscinfo>
+    <refmiscinfo class="manual">pwaccessd</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pwaccessd</refname>
+    <refname>pwaccessd.service</refname>
+    <refname>pwaccessd.socket</refname>
+    <refpurpose>manage passwd and shadow information</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>pwaccessd.service</command>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>pwaccessd.socket</command>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>/usr/libexec/pwaccessd</command>
+      <arg choice="opt">OPTIONS</arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <command>pwaccessd</command> is a 
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
 socket-activated service
+      which provides account information in <structname>struct 
passwd</structname> and <structname>struct shadow</structname> format.
+      It is capable of checking if a password or account has expired and 
verifies passwords.
+    </para>
+    <para>
+      By default, normal users only have access to their own 
<filename>passwd</filename> and <filename>shadow</filename> entries.
+      The <systemitem class="username">root</systemitem> user has access to 
all accounts.
+      Specific users can be granted extended access via configuration.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Options</title>
+    <variablelist>
+      <varlistentry>
+        <term><option>-s</option></term>
+        <term><option>--socket</option></term>
+        <listitem>
+          <para>Activation through socket. This is the standard mode when 
running under systemd.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-d</option></term>
+        <term><option>--debug</option></term>
+        <listitem>
+          <para>Enable debug mode.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-v</option></term>
+        <term><option>--verbose</option></term>
+        <listitem>
+          <para>Enable verbose logging.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-?</option></term>
+        <term><option>--help</option></term>
+        <listitem>
+          <para>Give the help list.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Print program version.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Varlink Interfaces</title>
+    <para>
+      The <command>pwaccessd</command> daemon exposes the following 
functionality via Varlink interfaces:
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term><function>GetAccountName</function></term>
+        <listitem>
+          <para>Provides the user name corresponding to a given UID.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><function>GetUserRecord</function></term>
+        <listitem>
+          <para>Provides the <structname>passwd</structname> and 
<structname>shadow</structname> entry for a given UID or account name.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><function>GetGroupRecord</function></term>
+        <listitem>
+          <para>Provides the group entry for a given GID or group name.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><function>VerifyPassword</function></term>
+        <listitem>
+          <para>Validates a password for a specific user.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><function>ExpiredCheck</function></term>
+        <listitem>
+          <para>Checks if a user account or password is expired.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Configuration</title>
+    <para>
+      <command>pwaccessd</command> reads its configuration from 
<filename>pwaccessd.conf</filename>.
+      It follows the UAPI Configuration Files Specification, meaning it 
searches for configuration files in directories such as
+      <filename>/usr/share/account-utils/</filename>, 
<filename>/run/account-utils/</filename>, and 
<filename>/etc/account-utils/</filename>.
+      Files in <filename>/etc/account-utils/</filename> take precedence.
+    </para>
+    <para>
+      The configuration format is INI-style. The primary configuration key is 
<varname>allow</varname>.
+      This key accepts a list of user accounts that are allowed to read all 
passwd and shadow entries, in addition to root.
+    </para>
+    <para>
+      The <varname>allow</varname> key can be defined within specific sections 
(groups) corresponding to the Varlink interface methods:
+    </para>
+    <itemizedlist>
+      <listitem><para><literal>[GetUserRecord]</literal></para></listitem>
+      <listitem><para><literal>[VerifyPassword]</literal></para></listitem>
+      <listitem><para><literal>[ExpiredCheck]</literal></para></listitem>
+    </itemizedlist>
+    <para>
+      If the key is not found in the specific section, 
<command>pwaccessd</command> will fall back to looking in the 
<literal>[global]</literal> section.
+    </para>
+
+    <example>
+      <title>Example pwaccessd.conf</title>
+      <programlisting>
+[global]
+# Allow user 'admin' to perform all actions
+allow = admin
+
+[VerifyPassword]
+# Allow 'auth-service' to verify passwords, overriding global
+allow = auth-service
+      </programlisting>
+    </example>
+  </refsect1>
+
+  <refsect1>
+    <title>Files</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/usr/libexec/pwaccessd</filename></term>
+        <listitem>
+          <para>The daemon binary.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/account-utils/pwaccessd.conf</filename></term>
+        <listitem>
+          <para>The main configuration file.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>expiry</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>pam_unix_ng</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    </para>
+  </refsect1>
+</refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/account-utils-1.0+git20251216.774fa6e/man/pwupdd.8.xml 
new/account-utils-1.0+git20260112.87262b5/man/pwupdd.8.xml
--- old/account-utils-1.0+git20251216.774fa6e/man/pwupdd.8.xml  1970-01-01 
01:00:00.000000000 +0100
+++ new/account-utils-1.0+git20260112.87262b5/man/pwupdd.8.xml  2026-01-12 
15:25:38.000000000 +0100
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook"; version="5.0" xml:id="pwupdd" 
xml:lang="en">
+  <refmeta>
+    <refentrytitle>pwupdd</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class="source">account-utils %version%</refmiscinfo>
+    <refmiscinfo class="manual">pwupdd</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pwupdd</refname>
+    <refname>pwupdd.service</refname>
+    <refname>pwupdd.socket</refname>
+    <refpurpose>update passwd and shadow entries</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>pwupdd.service</command>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>pwupdd.socket</command>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>/usr/libexec/pwupdd</command>
+      <arg choice="opt" rep="repeat">OPTIONS</arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <command>pwupdd</command> is an 
<citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 style
+      socket-activated service. A new instance of the daemon is started for 
every incoming request.
+    </para>
+    <para>
+      It exposes a Varlink interface to allow authorized users to modify their 
own account data, including passwords,
+      login shells, and GECOS field information. Authentication is handled via 
<citerefentry><refentrytitle>PAM</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+      Additionally, the root user can utilize specific methods to update any 
<filename>/etc/passwd</filename> or
+      <filename>/etc/shadow</filename> entry.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Options</title>
+    <variablelist>
+      <varlistentry>
+        <term><option>-d</option>, <option>--debug</option></term>
+        <listitem>
+          <para>Enable debug mode.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-v</option>, <option>--verbose</option></term>
+        <listitem>
+          <para>Enable verbose logging.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-?</option>, <option>--help</option></term>
+        <listitem>
+          <para>Give the help list.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Print program version.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Varlink Interfaces</title>
+    <para>
+      The service exposes the following methods via Varlink:
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term><function>Chauthtok</function></term>
+        <listitem>
+          <para>
+            Changes the password for a provided user. Authentication is 
performed via PAM using the
+            configuration <filename>pwupd-passwd</filename>. This method may 
be called by the root user
+            or the user owning the record.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><function>Chfn</function></term>
+        <listitem>
+          <para>
+            Changes the finger (GECOS) information of a user. Authentication 
is performed via PAM using the
+            configuration <filename>pwupd-chfn</filename>. This method may be 
called by the root user
+            or the user owning the record.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><function>Chsh</function></term>
+        <listitem>
+          <para>
+            Changes the login shell of an account. Authentication is performed 
via PAM using the
+            configuration <filename>pwupd-chsh</filename>. This method may be 
called by the root user
+            or the user owning the record.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><function>UpdatePasswdShadow</function></term>
+        <listitem>
+          <para>
+            Updates the <filename>passwd</filename> and 
<filename>shadow</filename> entry of a specified user.
+            <emphasis role="bold">Only root is allowed to call this 
method.</emphasis>
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      
<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      
<citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    </para>
+  </refsect1>
+
+</refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/account-utils-1.0+git20251216.774fa6e/src/map_range.h 
new/account-utils-1.0+git20260112.87262b5/src/map_range.h
--- old/account-utils-1.0+git20251216.774fa6e/src/map_range.h   2025-12-16 
16:38:59.000000000 +0100
+++ new/account-utils-1.0+git20260112.87262b5/src/map_range.h   2026-01-12 
15:25:38.000000000 +0100
@@ -2,6 +2,8 @@
 
 #pragma once
 
+#include <stdint.h>
+
 struct map_range {
   int64_t upper; /* first ID inside the namespace */
   int64_t lower; /* first ID outside the namespace */

Reply via email to