From be53ba2b8f9ee5e2f1e354d1ea8a0677ccaef413 Mon Sep 17 00:00:00 2001 From: kzak Date: Wed, 3 Aug 2005 07:37:10 +0000 Subject: [PATCH] more PAM patch --- vlock-1.3-morepam.patch | 28 +++++++++++++++++++ vlock.spec | 61 +++++++++++++++++++++++------------------ 2 files changed, 62 insertions(+), 27 deletions(-) create mode 100644 vlock-1.3-morepam.patch diff --git a/vlock-1.3-morepam.patch b/vlock-1.3-morepam.patch new file mode 100644 index 0000000..1c51a1c --- /dev/null +++ b/vlock-1.3-morepam.patch @@ -0,0 +1,28 @@ +Check that the user is allowed to unlock the screen at this time. Mmmm, yeah. +Attempt to reinitialize credentials, as xscreensaver does. + +--- vlock-1.3/input.c 2005-08-02 20:23:06.206463656 -0400 ++++ vlock-1.3/input.c 2005-08-02 20:23:00.557322456 -0400 +@@ -104,6 +104,12 @@ + pam_error = pam_set_item(pamh, PAM_USER_PROMPT, strdup(prompt)); + PAM_BAIL; + pam_error = pam_authenticate(pamh, 0); ++ if (pam_error == PAM_SUCCESS) { ++ pam_error = pam_acct_mgmt(pamh, 0); ++ } ++ if (pam_error == PAM_SUCCESS) { ++ pam_setcred(pamh, PAM_REINITIALIZE_CRED); ++ } + /* fix signals that may have been disordered by pam */ + set_signal_mask(0); + #ifdef NO_ROOT_PASS +@@ -117,6 +123,9 @@ + pam_error = pam_set_item(pamh, PAM_USER, "root"); + PAM_BAIL; + pam_error = pam_authenticate(pamh, 0); ++ if (pam_error == PAM_SUCCESS) { ++ pam_error = pam_acct_mgmt(pamh, 0); ++ } + /* fix signals that may have been disordered by pam */ + set_signal_mask(0); + PAM_BAIL; diff --git a/vlock.spec b/vlock.spec index e743104..3117039 100644 --- a/vlock.spec +++ b/vlock.spec @@ -1,12 +1,13 @@ Summary: A program which locks one or more virtual consoles. Name: vlock Version: 1.3 -Release: 19 +Release: 20 License: GPL Group: Applications/System Source: ftp://tsx-11.mit.edu:/pub/linux/sources/usr.bin/vlock-1.3.tar.gz Patch0: vlock-1.3-system-auth.patch Patch1: vlock-1.3-multilib-pam.patch +Patch2: vlock-1.3-morepam.patch Requires: pam >= 0.59, /etc/pam.d/system-auth Buildrequires: pam-devel BuildRoot: %{_tmppath}/vlock @@ -21,7 +22,39 @@ vlock or the root password is typed. Install vlock if you need to disable access to one console or to all virtual consoles. +%prep +%setup -q +%patch0 -p1 -b .system-auth +%patch1 -p1 -b .multilib-pam +%patch2 -p1 -b .morepam + +%build +make RPM_OPT_FLAGS="${RPM_OPT_FLAGS}" + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +mkdir -p $RPM_BUILD_ROOT/etc/pam.d +install -m 755 vlock $RPM_BUILD_ROOT%{_bindir}/ +install -m 644 vlock.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +install -m 644 vlock.pamd $RPM_BUILD_ROOT/etc/pam.d/vlock + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%config /etc/pam.d/vlock +%{_bindir}/vlock +%{_mandir}/man1/vlock.1* + + %changelog +* Wed Aug 3 2005 Karel Zak 1.3-20 +- #164950 - call account management and credential reinitialization functions + (patch by Nalin Dahyabhai) + * Tue May 10 2005 Karel Zak 1.3-19 - fix debuginfo @@ -93,29 +126,3 @@ virtual consoles. * Mon Mar 03 1997 Michael K. Johnson - moved from pam.conf to pam.d - -%prep -%setup -q -%patch0 -p1 -b .system-auth -%patch1 -p1 -b .multilib-pam - -%build -make RPM_OPT_FLAGS="${RPM_OPT_FLAGS}" - -%install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 -mkdir -p $RPM_BUILD_ROOT/etc/pam.d -install -m 755 vlock $RPM_BUILD_ROOT%{_bindir}/ -install -m 644 vlock.1 $RPM_BUILD_ROOT%{_mandir}/man1/ -install -m 644 vlock.pamd $RPM_BUILD_ROOT/etc/pam.d/vlock - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -%config /etc/pam.d/vlock -%{_bindir}/vlock -%{_mandir}/man1/vlock.1*