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