[systemd-commits] 4 commits - Makefile.am man/pam_systemd.xml man/systemd-logind.conf.xml src/logind.c src/logind-dbus.c src/logind.h src/pam-module.c src/systemd-logind.conf src/user.conf

Lennart Poettering lennart at kemper.freedesktop.org
Tue Jun 28 17:48:36 PDT 2011


 Makefile.am                 |    1 
 man/pam_systemd.xml         |  154 ++++++++++----------------------------
 man/systemd-logind.conf.xml |  174 ++++++++++++++++++++++++++++++++++++++++++++
 src/logind-dbus.c           |    6 +
 src/logind.c                |   11 ++
 src/logind.h                |    3 
 src/pam-module.c            |   40 ----------
 src/systemd-logind.conf     |   16 ++++
 src/user.conf               |   17 ++++
 9 files changed, 268 insertions(+), 154 deletions(-)

New commits:
commit 4fa4c2ac6ecb064c2a6c8677f7660534002f8cfe
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jun 29 02:48:29 2011 +0200

    logind: fix typo in config parser

diff --git a/src/logind.c b/src/logind.c
index 28ba58b..d7d04a2 100644
--- a/src/logind.c
+++ b/src/logind.c
@@ -1158,7 +1158,7 @@ static int manager_parse_config_file(Manager *m) {
         const ConfigItem items[] = {
                 { "NAutoVTs",          config_parse_unsigned, 0, &m->n_autovts,           "Login" },
                 { "KillUserProcesses", config_parse_bool,     0, &m->kill_user_processes, "Login" },
-                { "KilOnlyUsers",      config_parse_strv,     0, &m->kill_only_users,     "Login" },
+                { "KillOnlyUsers",     config_parse_strv,     0, &m->kill_only_users,     "Login" },
                 { "KillExcludeUsers",  config_parse_strv,     0, &m->kill_exclude_users,  "Login" },
                 { "Controllers",       config_parse_strv,     0, &m->controllers,         "Login" },
                 { "ResetControllers",  config_parse_strv,     0, &m->reset_controllers,   "Login" },

commit c36eecdfcb4afa09850002fbb81a95a24ffde599
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jun 29 02:46:20 2011 +0200

    man: update pam_systemd page to document new behaviour

diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index 7d5fcad..883b50b 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -69,8 +69,7 @@
                         created and its ownership changed to the user
                         that is logging in.</para></listitem>
 
-                        <listitem><para>If
-                        <option>create-session=1</option> is set, the
+                        <listitem><para>The
                         <varname>$XDG_SESSION_ID</varname> environment
                         variable is initialized. If auditing is
                         available and
@@ -82,20 +81,10 @@
                         an independent session counter is
                         used.</para></listitem>
 
-                        <listitem><para>If
-                        <option>create-session=1</option> is set, a new
-                        control group
+                        <listitem><para>A new control group
                         <filename>/user/$USER/$XDG_SESSION_ID</filename>
                         is created and the login process moved into
                         it.</para></listitem>
-
-                        <listitem><para>If
-                        <option>create-session=0</option> is set, a new
-                        control group
-                        <filename>/user/$USER/user</filename>
-                        is created and the login process moved into
-                        it.</para></listitem>
-
                 </orderedlist>
 
                 <para>On logout, this module ensures the following:</para>
@@ -103,38 +92,13 @@
                 <orderedlist>
                         <listitem><para>If
                         <varname>$XDG_SESSION_ID</varname> is set and
-                        <option>kill-session=1</option> specified, all
+                        <option>kill-session-processes=1</option> specified, all
                         remaining processes in the
                         <filename>/user/$USER/$XDG_SESSION_ID</filename>
                         control group are killed and the control group
                         is removed.</para></listitem>
 
-                        <listitem><para>If
-                        <varname>$XDG_SESSION_ID</varname> is set and
-                        <option>kill-session=0</option> specified, all
-                        remaining processes in the
-                        <filename>/user/$USER/$XDG_SESSION_ID</filename>
-                        control group are migrated to
-                        <filename>/user/$USER/user</filename> and
-                        the original control group is
-                        removed.</para></listitem>
-
-                        <listitem><para>If
-                        <option>kill-user=1</option> is specified, and
-                        no other user session control group remains,
-                        except
-                        <filename>/user/$USER/user</filename>,
-                        all remaining processes in the
-                        <filename>/user/$USER</filename> hierarchy
-                        are killed and the control group is removed.</para></listitem>
-
-                        <listitem><para>If
-                        <option>kill-user=0</option> is specified, and
-                        no process remains in the
-                        <filename>/user/$USER</filename> hierarchy the
-                        control group is removed.</para></listitem>
-
-                        <listitem><para>If the
+                        <listitem><para>If last subgroup of the
                         <filename>/user/$USER</filename> control group
                         was removed the
                         <varname>$XDG_RUNTIME_DIR</varname> directory
@@ -155,27 +119,7 @@
 
                 <variablelist>
                         <varlistentry>
-                                <term><option>create-session=</option></term>
-
-                                <listitem><para>Takes a boolean
-                                argument. If true, a new session is
-                                created: the
-                                <varname>$XDG_SESSION_ID</varname>
-                                environment variable is set and the
-                                login process moved to the
-                                <filename>/user/$USER/$XDG_SESSION_ID</filename>
-                                control group. It is recommended that
-                                all services which are directly created
-                                on the user's behalf set this
-                                option. Only for services that shall
-                                automatically be terminated when the
-                                user logs out completely, otherwise
-                                <varname>create-session=0</varname>
-                                should be set.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>kill-session=</option></term>
+                                <term><option>kill-session-processes=</option></term>
 
                                 <listitem><para>Takes a boolean
                                 argument. If true, all processes
@@ -186,30 +130,13 @@
                         </varlistentry>
 
                         <varlistentry>
-                                <term><option>kill-user=</option></term>
-
-                                <listitem><para>Takes a boolean
-                                argument. If true, all processes
-                                created by the user during his session
-                                and from his session will be
-                                terminated after he logged out
-                                completely. This is a weaker version
-                                of <option>kill-session=1</option> and is
-                                more friendly for users logged in more
-                                than once, as their processes are
-                                terminated only on their complete
-                                logout.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
                                 <term><option>kill-only-users=</option></term>
 
                                 <listitem><para>Takes a comma
                                 separated list of user names or
                                 numeric user ids as argument. If this
                                 option is used the effect of the
-                                <option>kill-session=</option> and
-                                <option>kill-user=</option> options
+                                <option>kill-session-processes=</option> options
                                 will apply only to the listed
                                 users. If this option is not used the
                                 option applies to all local
@@ -228,8 +155,7 @@
                                 numeric user ids as argument. Users
                                 listed in this argument will not be
                                 subject to the effect of
-                                <option>kill-session=</option> or
-                                <option>kill-user=</option>.  Note
+                                <option>kill-session-processes=</option>.  Note
                                 that that this option takes precedence
                                 over
                                 <option>kill-only-users=</option>, and
@@ -245,56 +171,59 @@
                                 <term><option>controllers=</option></term>
 
                                 <listitem><para>Takes a comma
-                                separated list of cgroup controllers
-                                in which hierarchies a user/session
-                                cgroup will be created by default for
-                                each user logging in, in addition to
-                                the cgroup in the named 'name=systemd'
+                                separated list of control group
+                                controllers in which hierarchies a
+                                user/session control group will be
+                                created by default for each user
+                                logging in, in addition to the control
+                                group in the named 'name=systemd'
                                 hierarchy. If omitted, defaults to an
-                                empty list. This may be used to move
-                                user sessions into their own groups in
-                                the 'cpu' hierarchy which ensures that
-                                every logged in user gets an equal
-                                amount of CPU time regardless how many
-                                processes he has
-                                started.</para></listitem>
+                                empty list.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>reset-controllers=</option></term>
 
                                 <listitem><para>Takes a comma
-                                separated list of cgroup controllers
-                                in which hierarchies the logged in
-                                processes will be reset to the root
-                                cgroup. If omitted, defaults to 'cpu',
-                                meaning that a 'cpu' cgroup grouping
-                                inherited from the login manager will
-                                be reset for the processes of the
-                                logged in user.</para></listitem>
+                                separated list of control group
+                                controllers in which hierarchies the
+                                logged in processes will be reset to
+                                the root control
+                                group.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>debug=</option></term>
 
                                 <listitem><para>Takes a boolean
-                                argument. If true, logs debugging
-                                information.</para></listitem>
+                                argument. If yes, the module will log
+                                debugging information as it
+                                operates.</para></listitem>
                         </varlistentry>
                 </variablelist>
 
-                <para>Note that setting <varname>kill-user=1</varname>
-                or even <varname>kill-session=1</varname> will break
-                tools like
+                <para>Note that setting
+                <varname>kill-session-processes=1</varname> will break tools
+                like
                 <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
 
+                <para>Note that
+                <varname>kill-session-processes=1</varname> is a
+                stricter version of
+                <varname>KillUserProcesses=1</varname> which may be
+                configured system-wide in
+                <citerefentry><refentrytitle>systemd-logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
+                former kills processes of a session as soon as it
+                ends, the latter kills processes as soon as the last
+                session of the user ends.</para>
+
                 <para>If the options are omitted they default to
-                <option>create-session=1</option>,
-                <option>kill-session=0</option>,
-                <option>kill-user=0</option>,
-                <option>reset-controllers=cpu</option>,
+                <option>kill-session-processes=0</option>,
                 <option>kill-only-users=</option>,
-                <option>kill-exclude-users=root</option>.</para>
+                <option>kill-exclude-users=</option>,
+                <option>controllers=</option>,
+                <option>reset-controllers=</option>,
+                <option>debug=no</option>.</para>
         </refsect1>
 
         <refsect1>
@@ -369,7 +298,7 @@ account    required     pam_unix.so
 password   required     pam_unix.so
 session    required     pam_unix.so
 session    required     pam_loginuid.so
-session    required     pam_systemd.so kill-user=1</programlisting>
+session    required     pam_systemd.so kill-session-processes=1</programlisting>
         </refsect1>
 
         <refsect1>
@@ -379,6 +308,7 @@ session    required     pam_systemd.so kill-user=1</programlisting>
                         <citerefentry><refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>pam_loginuid</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd-logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                 </para>
         </refsect1>
diff --git a/man/systemd-logind.conf.xml b/man/systemd-logind.conf.xml
index 889bd15..2dc9994 100644
--- a/man/systemd-logind.conf.xml
+++ b/man/systemd-logind.conf.xml
@@ -147,6 +147,20 @@
                                 <literal>cpu</literal>.</para></listitem>
                         </varlistentry>
                 </variablelist>
+
+                <para>Note that setting
+                <varname>KillUserProcesses=1</varname> will break tools
+                like
+                <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
+
+                <para>Note that <varname>KillUserProcesses=1</varname>
+                is a weaker version of
+                <varname>kill-session-processes=1</varname> which may
+                be configured per-service for
+                <citerefentry><refentrytitle>pam_systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The
+                latter kills processes of a session as soon as it
+                ends, the former kills processes as soon as the last
+                session of the user ends.</para>
         </refsect1>
 
         <refsect1>
diff --git a/src/logind.h b/src/logind.h
index df1364f..59ea799 100644
--- a/src/logind.h
+++ b/src/logind.h
@@ -36,9 +36,9 @@
  *
  * spawn user systemd
  * direct client API
- * add configuration file man page
  * verify access to SetIdleHint
  * add FlushDevices bus call
+ * hook up ACL tool for udev
  *
  * udev:
  * drop redundant udev_device_get_is_initialized() use as soon as libudev is fixed
diff --git a/src/pam-module.c b/src/pam-module.c
index 90da898..a15b4ca 100644
--- a/src/pam-module.c
+++ b/src/pam-module.c
@@ -57,9 +57,9 @@ static int parse_argv(pam_handle_t *handle,
         for (i = 0; i < (unsigned) argc; i++) {
                 int k;
 
-                if (startswith(argv[i], "kill-processes=")) {
-                        if ((k = parse_boolean(argv[i] + 15)) < 0) {
-                                pam_syslog(handle, LOG_ERR, "Failed to parse kill-processes= argument.");
+                if (startswith(argv[i], "kill-session-processes=")) {
+                        if ((k = parse_boolean(argv[i] + 23)) < 0) {
+                                pam_syslog(handle, LOG_ERR, "Failed to parse kill-session-processes= argument.");
                                 return k;
                         }
 

commit 8fa365e5864c85bae31207c4c2ece4dc7b5b9136
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jun 29 02:27:53 2011 +0200

    logind: add man page for configuration file

diff --git a/Makefile.am b/Makefile.am
index c288ad4..940892c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -626,6 +626,7 @@ MANPAGES = \
 	man/shutdown.8 \
 	man/pam_systemd.8 \
 	man/systemd.conf.5 \
+	man/systemd-logind.conf.5 \
 	man/tmpfiles.d.5 \
 	man/hostname.5 \
 	man/machine-id.5 \
diff --git a/man/systemd-logind.conf.xml b/man/systemd-logind.conf.xml
new file mode 100644
index 0000000..889bd15
--- /dev/null
+++ b/man/systemd-logind.conf.xml
@@ -0,0 +1,160 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+  This file is part of systemd.
+
+  Copyright 2010 Lennart Poettering
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-logind.conf">
+        <refentryinfo>
+                <title>systemd-logind.conf</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Lennart</firstname>
+                                <surname>Poettering</surname>
+                                <email>lennart at poettering.net</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd-logind.conf</refentrytitle>
+                <manvolnum>5</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd-logind.conf</refname>
+                <refpurpose>login manager configuration file</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename>systemd-login.conf</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para>This files configures various parameters of the systemd login manager.</para>
+
+        </refsect1>
+
+        <refsect1>
+                <title>Options</title>
+
+                <para>All options are configured in the
+                <literal>[Login]</literal> section:</para>
+
+                <variablelist>
+
+                        <varlistentry>
+                                <term><varname>NAutoVTs=</varname></term>
+
+                                <listitem><para>Takes a positive
+                                integer. How many virtual terminals to
+                                allocate by default and when switched
+                                to autospawn <literal>autovt</literal>
+                                services on (if they are otherwise
+                                unused). These services are
+                                instantiated from a template of
+                                <filename>autovt at .service</filename>
+                                with the virtual terminal TTY name,
+                                e.g. <filename>autovt at tty4.service</filename>. By
+                                default
+                                <filename>autovt at .service</filename>
+                                is linked to
+                                <filename>getty at .service</filename>,
+                                i.e. login prompts are started
+                                dynamically as the user switches to
+                                unused virtual terminals, and this
+                                parameter hence controls how many
+                                gettys are available on the virtual
+                                terminals. Defaults to 6. When set to
+                                0, automatic spawning of
+                                <literal>autovt</literal> services is
+                                disabled.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>KillUserProcesses=</varname></term>
+
+                                <listitem><para>Takes a boolean
+                                argument. Configures whether the
+                                processes of a user should be killed
+                                when she or he completely logs out (i.e. after
+                                her/his last session ended). Defaults to
+                                <literal>no</literal>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>KillOnlyUsers=</varname></term>
+                                <term><varname>KillExcludeUsers=</varname></term>
+
+                                <listitem><para>These settings take
+                                space separated lists of user names
+                                that influence the effect of
+                                <varname>KillUserProcesses=</varname>. If
+                                not empty only processes of users
+                                listed in
+                                <varname>KillOnlyUsers</varname> will
+                                be killed when they log out
+                                entirely. Processes of users listed in
+                                <varname>KillExcludeUsers=</varname>
+                                are excluded from being
+                                killed. <varname>KillExcludeUsers=</varname>
+                                defaults to <literal>root</literal>
+                                and takes precedence over
+                                <varname>KillOnlyUsers=</varname>
+                                which defaults to the empty list.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>Controllers=</varname></term>
+                                <term><varname>ResetControllers=</varname></term>
+
+                                <listitem><para>These settings control
+                                the default control group hierarchies
+                                users logging are added to. When
+                                logging in users will get private
+                                control groups in all hierarchies
+                                listed in
+                                <varname>Controllers=</varname> and be
+                                reset to the root control group in all
+                                hierarchies listed in
+                                <varname>ResetControllers=</varname>. <varname>Controllers=</varname>
+                                defaults to the empty list,
+                                <varname>ResetControllers=</varname>
+                                defaults to
+                                <literal>cpu</literal>.</para></listitem>
+                        </varlistentry>
+                </variablelist>
+        </refsect1>
+
+        <refsect1>
+                  <title>See Also</title>
+                  <para>
+                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                  </para>
+        </refsect1>
+
+</refentry>
diff --git a/src/systemd-logind.conf b/src/systemd-logind.conf
new file mode 100644
index 0000000..9909804
--- /dev/null
+++ b/src/systemd-logind.conf
@@ -0,0 +1,16 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+# See system-logind.conf(5) for details
+
+[Login]
+#NAutoVTs=6
+#KillUserProcesses=no
+#KillOnlyUsers=
+#KillExcludeUsers=root
+#Controllers=
+#ResetControllers=cpu
diff --git a/src/user.conf b/src/user.conf
new file mode 100644
index 0000000..9508a02
--- /dev/null
+++ b/src/user.conf
@@ -0,0 +1,17 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+# See systemd.conf(5) for details
+
+[Manager]
+#LogLevel=info
+#LogTarget=console
+#LogColor=yes
+#LogLocation=no
+#DefaultControllers=cpu
+#DefaultStandardOutput=inherit
+#DefaultStandardError=inherit

commit 25d934917d3dd2ab10e8acc9a6bacd8c7f2f1067
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jun 29 02:27:16 2011 +0200

    logind: move default reset controller/kill exclude list into logind

diff --git a/src/logind-dbus.c b/src/logind-dbus.c
index 69e6b18..9352598 100644
--- a/src/logind-dbus.c
+++ b/src/logind-dbus.c
@@ -316,7 +316,8 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
         if (r < 0)
                 return -EINVAL;
 
-        if (!dbus_message_iter_next(&iter) ||
+        if (strv_contains(controllers, "systemd") ||
+            !dbus_message_iter_next(&iter) ||
             dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
             dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_STRING) {
                 r = -EINVAL;
@@ -327,7 +328,8 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
         if (r < 0)
                 goto fail;
 
-        if (!dbus_message_iter_next(&iter) ||
+        if (strv_contains(reset_controllers, "systemd") ||
+            !dbus_message_iter_next(&iter) ||
             dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN) {
                 r = -EINVAL;
                 goto fail;
diff --git a/src/logind.c b/src/logind.c
index 94cb6cd..28ba58b 100644
--- a/src/logind.c
+++ b/src/logind.c
@@ -56,7 +56,14 @@ Manager *manager_new(void) {
         m->cgroups = hashmap_new(string_hash_func, string_compare_func);
         m->fifo_fds = hashmap_new(trivial_hash_func, trivial_compare_func);
 
-        if (!m->devices || !m->seats || !m->sessions || !m->users) {
+        if (!m->devices || !m->seats || !m->sessions || !m->users || !m->cgroups || !m->fifo_fds) {
+                manager_free(m);
+                return NULL;
+        }
+
+        m->reset_controllers = strv_new("cpu", NULL);
+        m->kill_exclude_users = strv_new("root", NULL);
+        if (!m->reset_controllers || !m->kill_exclude_users) {
                 manager_free(m);
                 return NULL;
         }
diff --git a/src/logind.h b/src/logind.h
index 8da409b..df1364f 100644
--- a/src/logind.h
+++ b/src/logind.h
@@ -36,8 +36,9 @@
  *
  * spawn user systemd
  * direct client API
- * add configuration file
+ * add configuration file man page
  * verify access to SetIdleHint
+ * add FlushDevices bus call
  *
  * udev:
  * drop redundant udev_device_get_is_initialized() use as soon as libudev is fixed
diff --git a/src/pam-module.c b/src/pam-module.c
index e1ad8c9..90da898 100644
--- a/src/pam-module.c
+++ b/src/pam-module.c
@@ -50,8 +50,6 @@ static int parse_argv(pam_handle_t *handle,
                       bool *debug) {
 
         unsigned i;
-        bool reset_controller_set = false;
-        bool kill_exclude_users_set = false;
 
         assert(argc >= 0);
         assert(argc == 0 || argv);
@@ -107,8 +105,6 @@ static int parse_argv(pam_handle_t *handle,
                                 *reset_controllers = l;
                         }
 
-                        reset_controller_set = true;
-
                 } else if (startswith(argv[i], "kill-only-users=")) {
 
                         if (kill_only_users) {
@@ -137,8 +133,6 @@ static int parse_argv(pam_handle_t *handle,
                                 *kill_exclude_users = l;
                         }
 
-                        kill_exclude_users_set = true;
-
                 } else if (startswith(argv[i], "debug=")) {
                         if ((k = parse_boolean(argv[i] + 6)) < 0) {
                                 pam_syslog(handle, LOG_ERR, "Failed to parse debug= argument.");
@@ -159,34 +153,6 @@ static int parse_argv(pam_handle_t *handle,
                 }
         }
 
-        if (!reset_controller_set && reset_controllers) {
-                char **l;
-
-                if (!(l = strv_new("cpu", NULL))) {
-                        pam_syslog(handle, LOG_ERR, "Out of memory");
-                        return -ENOMEM;
-                }
-
-                *reset_controllers = l;
-        }
-
-        if (controllers)
-                strv_remove(*controllers, SYSTEMD_CGROUP_CONTROLLER);
-
-        if (reset_controllers)
-                strv_remove(*reset_controllers, SYSTEMD_CGROUP_CONTROLLER);
-
-        if (!kill_exclude_users_set && kill_exclude_users) {
-                char **l;
-
-                if (!(l = strv_new("root", NULL))) {
-                        pam_syslog(handle, LOG_ERR, "Out of memory");
-                        return -ENOMEM;
-                }
-
-                *kill_exclude_users = l;
-        }
-
         return 0;
 }
 



More information about the systemd-commits mailing list