forked from pool/pam-config
Accepting request 898637 from Linux-PAM
OBS-URL: https://build.opensuse.org/request/show/898637 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pam-config?expand=0&rev=84
This commit is contained in:
commit
4dce58607f
42
pam-config-fix-pam_keyinit-options.patch
Normal file
42
pam-config-fix-pam_keyinit-options.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
Index: pam-config-1.3/src/mod_pam_keyinit.c
|
||||||
|
===================================================================
|
||||||
|
--- pam-config-1.3.orig/src/mod_pam_keyinit.c
|
||||||
|
+++ pam-config-1.3/src/mod_pam_keyinit.c
|
||||||
|
@@ -47,20 +47,15 @@ write_config_keyinit (pam_module_t *this
|
||||||
|
fp = create_service_file (gl_service);
|
||||||
|
if (!fp) return 0;
|
||||||
|
|
||||||
|
- fprintf(stderr, "writeit=%d, is_written=%d\n", writeit, is_written);
|
||||||
|
while (cfg_content != NULL)
|
||||||
|
{
|
||||||
|
- fprintf(stderr, "cfg_content->line = >>%s", cfg_content->line);
|
||||||
|
if (writeit)
|
||||||
|
{
|
||||||
|
- fprintf(stderr, "writeit=%d\n", writeit);
|
||||||
|
if (!is_written)
|
||||||
|
{
|
||||||
|
- fprintf(stderr, "is_written=%d\n", is_written);
|
||||||
|
/* write this entry as the first in the session part */
|
||||||
|
if (strstr(cfg_content->line, "session") != NULL)
|
||||||
|
{
|
||||||
|
- fprintf(stderr, "strstr(cfg_content->line, \"session\") != NULL\n");
|
||||||
|
write_entry(fp, opt_set);
|
||||||
|
is_written = 1;
|
||||||
|
}
|
||||||
|
@@ -97,7 +92,6 @@ write_config_keyinit (pam_module_t *this
|
||||||
|
static void
|
||||||
|
write_entry(FILE *fp, option_set_t *opt_set)
|
||||||
|
{
|
||||||
|
- fprintf(stderr, "write_entry(fp, opt_set)\n");
|
||||||
|
fprintf (fp, "session optional\tpam_keyinit.so revoke ");
|
||||||
|
if (opt_set->is_enabled (opt_set, "force"))
|
||||||
|
fprintf (fp, "force ");
|
||||||
|
@@ -121,7 +115,7 @@ PRINT_ARGS("keyinit")
|
||||||
|
PRINT_XMLHELP("keyinit")
|
||||||
|
|
||||||
|
/* ---- contruct module object ---- */
|
||||||
|
-DECLARE_BOOL_OPTS_3 (is_enabled, debug, force);
|
||||||
|
+DECLARE_BOOL_OPTS_4 (is_enabled, debug, force, revoke);
|
||||||
|
DECLARE_STRING_OPTS_0;
|
||||||
|
DECLARE_OPT_SETS;
|
||||||
|
|
54
pam-config-remove-bad-access-call.patch
Normal file
54
pam-config-remove-bad-access-call.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
Index: pam-config-1.3/src/pam-config.c
|
||||||
|
===================================================================
|
||||||
|
--- pam-config-1.3.orig/src/pam-config.c
|
||||||
|
+++ pam-config-1.3/src/pam-config.c
|
||||||
|
@@ -1075,19 +1075,10 @@ main (int argc, char *argv[])
|
||||||
|
if (debug)
|
||||||
|
printf ("*** write_config (%s/pam.d/%s)\n", confdir, gl_service);
|
||||||
|
|
||||||
|
- /* Check if service file exists */
|
||||||
|
- char *conffile;
|
||||||
|
- if (asprintf (&conffile, "%s/pam.d/%s", confdir, gl_service) < 0)
|
||||||
|
- return 1;
|
||||||
|
-
|
||||||
|
- if (access (conffile, R_OK) != 0)
|
||||||
|
- {
|
||||||
|
- fprintf (stderr, _("Cannot access '%s': %m\n"), conffile);
|
||||||
|
- free (conffile);
|
||||||
|
- return 1;
|
||||||
|
- }
|
||||||
|
- free (conffile);
|
||||||
|
-
|
||||||
|
+ /*
|
||||||
|
+ * Note that the modules in service_module_list[]
|
||||||
|
+ * do not use the "op" and the "fp" parameters.
|
||||||
|
+ */
|
||||||
|
while (*modptr != NULL)
|
||||||
|
{
|
||||||
|
retval |= (*modptr)->write_config (*modptr, -1, NULL);
|
||||||
|
Index: pam-config-1.3/src/single_config.c
|
||||||
|
===================================================================
|
||||||
|
--- pam-config-1.3.orig/src/single_config.c
|
||||||
|
+++ pam-config-1.3/src/single_config.c
|
||||||
|
@@ -245,12 +245,15 @@ create_service_file (const char *service
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (stat (conffile, &f_stat) != 0)
|
||||||
|
- {
|
||||||
|
- fprintf (stderr, _("Cannot stat '%s': %m\n"), conffile);
|
||||||
|
- free (tmp_file);
|
||||||
|
- free (conffile);
|
||||||
|
- return NULL;
|
||||||
|
- }
|
||||||
|
+ {
|
||||||
|
+ /* Make them owned by root and writable only by root */
|
||||||
|
+ fprintf (stderr, _("Cannot stat '%s': %m\n"), conffile);
|
||||||
|
+
|
||||||
|
+ memset(&f_stat, 0, sizeof(struct stat)); /* To be on the safe side ... */
|
||||||
|
+ f_stat.st_mode = 0644;
|
||||||
|
+ f_stat.st_uid = 0;
|
||||||
|
+ f_stat.st_gid = 0;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
free (conffile);
|
||||||
|
fd = mkstemp (tmp_file);
|
@ -1,3 +1,23 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 8 12:46:00 UTC 2021 - Josef Möllers <josef.moellers@suse.com>
|
||||||
|
|
||||||
|
- Add "revoke" to the option list for pam_keyinit
|
||||||
|
(Remove some leftover debugs while we're at it)
|
||||||
|
[pam-config-fix-pam_keyinit-options.patch]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 8 12:23:47 UTC 2021 - Josef Möllers <josef.moellers@suse.com>
|
||||||
|
|
||||||
|
- prior to writing an service-specific config file, the main function
|
||||||
|
calls access() on the destination file in /etc/pam.d.
|
||||||
|
This will fail and no config file will be written when the original
|
||||||
|
config file was installed in /usr/etc/pam.d.
|
||||||
|
A similar problem exists when creating the new service file:
|
||||||
|
create_service_file() wants to give the new service file the same
|
||||||
|
user, group and mode as the old one, but the old one may not exist.
|
||||||
|
In that case, set these to 0(root), 0(root), and 0644.
|
||||||
|
[pam-config-remove-bad-access-call.patch]
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri May 1 20:32:29 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
|
Fri May 1 20:32:29 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ License: GPL-2.0-only
|
|||||||
Group: System/Management
|
Group: System/Management
|
||||||
URL: https://github.com/SUSE/pam-config
|
URL: https://github.com/SUSE/pam-config
|
||||||
Source: %{name}-%{version}.tar.xz
|
Source: %{name}-%{version}.tar.xz
|
||||||
|
Patch1: pam-config-remove-bad-access-call.patch
|
||||||
|
Patch2: pam-config-fix-pam_keyinit-options.patch
|
||||||
PreReq: pam >= 1.3.0
|
PreReq: pam >= 1.3.0
|
||||||
Recommends: pam_pwquality
|
Recommends: pam_pwquality
|
||||||
|
|
||||||
@ -36,6 +38,8 @@ add/adjust/remove other PAM modules and their options.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
|
Loading…
Reference in New Issue
Block a user