more PAM patch

This commit is contained in:
kzak 2005-08-03 07:37:10 +00:00
commit be53ba2b8f
2 changed files with 62 additions and 27 deletions

28
vlock-1.3-morepam.patch Normal file
View file

@ -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;

View file

@ -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 <kzak@redhat.com> 1.3-20
- #164950 - call account management and credential reinitialization functions
(patch by Nalin Dahyabhai)
* Tue May 10 2005 Karel Zak <kzak@redhat.com> 1.3-19
- fix debuginfo
@ -93,29 +126,3 @@ virtual consoles.
* Mon Mar 03 1997 Michael K. Johnson <johnsonm@redhat.com>
- 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*