Hello community,

here is the log from the commit of package pam-config for openSUSE:Factory
checked in at Thu Aug 18 09:53:26 CEST 2011.



--------
--- pam-config/pam-config.changes       2011-05-10 13:46:40.000000000 +0200
+++ /mounts/work_src_done/STABLE/pam-config/pam-config.changes  2011-08-17 
13:38:51.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Aug 17 09:51:02 UTC 2011 - fcro...@suse.com
+
+- Add pam_systemd.patch: Add pam_systemd support
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  pam_systemd.patch

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

Other differences:
------------------
++++++ pam-config.spec ++++++
--- /var/tmp/diff_new_pack.o6mX86/_old  2011-08-18 09:53:06.000000000 +0200
+++ /var/tmp/diff_new_pack.o6mX86/_new  2011-08-18 09:53:06.000000000 +0200
@@ -21,13 +21,14 @@
 Name:           pam-config
 Summary:        Modify common PAM configuration files
 Version:        0.79
-Release:        1
+Release:        3
 License:        GPLv2
 AutoReqProv:    on
 PreReq:         pam >= 0.99
 Requires:       pam-modules >= 10.2
 Group:          System/Management
 Source:         %{name}-%{version}.tar.bz2
+Patch0:         pam_systemd.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -41,8 +42,11 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
+#needed by patch0
+autoreconf
 %configure
 make %{?jobs:-j%jobs};
 

++++++ pam_systemd.patch ++++++
Index: pam-config-0.79/src/Makefile.am
===================================================================
--- pam-config-0.79.orig/src/Makefile.am
+++ pam-config-0.79/src/Makefile.am
@@ -30,7 +30,7 @@ pam_config_SOURCES = pam-config.c load_c
        mod_pam_group.c mod_pam_time.c mod_pam_ssh.c mod_pam_succeed_if.c \
        mod_pam_csync.c mod_pam_fp.c mod_pam_fprint.c mod_pam_pwhistory.c \
        mod_pam_selinux.c mod_pam_gnome_keyring.c mod_pam_passwdqc.c \
-       mod_pam_exec.c mod_pam_sss.c mod_pam_fprintd.c
+       mod_pam_exec.c mod_pam_sss.c mod_pam_fprintd.c mod_pam_systemd.c
 
 noinst_HEADERS = pam-config.h pam-module.h
 
Index: pam-config-0.79/src/mod_pam_systemd.c
===================================================================
--- /dev/null
+++ pam-config-0.79/src/mod_pam_systemd.c
@@ -0,0 +1,120 @@
+/* Copyright (C) 2011 Frederic Crozat
+   Author: Frederic Crozat <fcro...@suse.com>
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License version 2 as
+   published by the Free Software Foundation.
+
+   This program 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 this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdlib.h>
+
+#include "pam-config.h"
+#include "pam-module.h"
+
+static int
+write_config_systemd (pam_module_t *this, enum write_type op, FILE *fp)
+{
+  option_set_t *opt_set = this->get_opt_set (this, op);
+  char *opt;
+
+  if (debug)
+    debug_write_call (this, op);
+
+  if (op != SESSION || !opt_set->is_enabled (opt_set, "is_enabled"))
+    return 0;
+
+  fprintf (fp, "session\toptional\tpam_systemd.so");
+
+  if (opt_set->is_enabled (opt_set, "debug"))
+    fprintf(fp, " debug");
+  if ((opt = opt_set->get_opt (opt_set, "kill_session_processes")))
+    fprintf(fp, " kill-session-processes=%s",opt);
+  if ((opt = opt_set->get_opt (opt_set, "kill_only_users")))
+    fprintf(fp, " kill-only-users=%s",opt);
+  if ((opt = opt_set->get_opt (opt_set, "kill_exclude_users")))
+    fprintf(fp, " kill-exclude-users=%s",opt);
+  if ((opt = opt_set->get_opt (opt_set, "controllers")))
+    fprintf(fp, " controllers=%s",opt);
+  if ((opt = opt_set->get_opt (opt_set, "reset_controllers")))
+    fprintf(fp, " reset-controllers=%s",opt);
+
+  fprintf(fp, "\n");
+  return 0;
+
+}
+
+static int
+parse_config_systemd (pam_module_t *this, char *args, write_type_t type)
+{
+  option_set_t *opt_set = this->get_opt_set (this, type);
+
+  if (debug)
+    printf ("**** parse_config_%s (%s): '%s'\n", this->name,
+           type2string (type), args ? args : "");
+
+  opt_set->enable (opt_set, "is_enabled", TRUE);
+
+  while (args && strlen (args) > 0)
+    {
+      char *cp = strsep (&args, " \t");
+
+      if (args)
+       while (isspace ((int) *args))
+         ++args;
+
+      if (strcmp (cp, "debug") == 0)
+          opt_set->enable (opt_set, "debug", TRUE);
+      else if (strncmp (cp, "kill-session-processes=", 13) == 0)
+          opt_set->set_opt (opt_set, "kill_session_processes", 
strdup(&cp[13]));
+      else if (strncmp (cp, "kill-only-users=", 16) == 0)
+          opt_set->set_opt (opt_set, "kill_only_users", strdup (&cp[16]));
+      else if (strncmp (cp, "kill-exclude-users=", 19) == 0)
+          opt_set->set_opt (opt_set, "kill_exclude_users", strdup (&cp[19]));
+      else if (strncmp (cp, "controllers=", 12) == 0)
+          opt_set->set_opt (opt_set, "controllers", strdup (&cp[12]));
+      else if (strncmp (cp, "reset-controllers=", 18) == 0)
+          opt_set->set_opt (opt_set, "reset_controllers", strdup (&cp[18]));
+      else
+          print_unknown_option_error ("pam_systemd.so", cp);
+    }
+  return 1;
+}
+
+GETOPT_START_1(SESSION)
+GETOPT_END_1(SESSION)
+
+PRINT_ARGS("systemd")
+PRINT_XMLHELP("systemd")
+
+/* ---- contruct module object ---- */
+DECLARE_BOOL_OPTS_2 (is_enabled, debug);
+DECLARE_STRING_OPTS_5 (kill_session_processes, kill_only_users, 
kill_exclude_users, controllers, reset_controllers);
+DECLARE_OPT_SETS;
+
+static module_helptext_t helptext[] = {{NULL, NULL, NULL}};
+
+
+/* at last construct the complete module object */
+pam_module_t mod_pam_systemd = { "pam_systemd.so", opt_sets, helptext,
+                                    &parse_config_systemd,
+                                    &def_print_module,
+                                    &write_config_systemd,
+                                    &get_opt_set,
+                                    &getopt,
+                                    &print_args,
+                                    &print_xmlhelp};
Index: pam-config-0.79/src/supported-modules.h
===================================================================
--- pam-config-0.79.orig/src/supported-modules.h
+++ pam-config-0.79/src/supported-modules.h
@@ -39,6 +39,7 @@ extern pam_module_t mod_pam_cryptpass;
 extern pam_module_t mod_pam_csync;
 extern pam_module_t mod_pam_loginuid;
 extern pam_module_t mod_pam_mount;
+extern pam_module_t mod_pam_systemd;
 
 pam_module_t *common_module_list[] = {
   &mod_pam_apparmor,
@@ -67,6 +68,7 @@ pam_module_t *common_module_list[] = {
   &mod_pam_ssh,
   &mod_pam_sss,
   &mod_pam_succeed_if,
+  &mod_pam_systemd,
   &mod_pam_thinkfinger,
   &mod_pam_umask,
   &mod_pam_unix,
@@ -143,6 +145,7 @@ static pam_module_t *module_list_session
   &mod_pam_nam,
   &mod_pam_umask,
   &mod_pam_ssh,
+  &mod_pam_systemd,
   &mod_pam_selinux,
   &mod_pam_gnome_keyring,
   &mod_pam_exec,

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



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to