diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eaf32b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +vlock-1.3.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 6124ef1..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -merged into KBD package diff --git a/sources b/sources new file mode 100644 index 0000000..0702c8d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +d04076f9c5f12aadc4d5fbbabf8a0c12 vlock-1.3.tar.gz diff --git a/vlock-1.3-gcc.patch b/vlock-1.3-gcc.patch new file mode 100644 index 0000000..c98b66a --- /dev/null +++ b/vlock-1.3-gcc.patch @@ -0,0 +1,31 @@ +--- vlock-1.3/input.c.gcc 2005-10-14 14:13:13.000000000 +0200 ++++ vlock-1.3/input.c 2005-10-14 14:13:25.000000000 +0200 +@@ -26,7 +26,7 @@ + if getpass() fails. + */ + +-#define _XOPEN_SOURCE 1 /* so unistd.h will define crypt() */ ++/*#define _XOPEN_SOURCE 1*/ /* so unistd.h will define crypt() */ + #include + #include + #include +--- vlock-1.3/help.c.gcc 2005-10-14 14:12:53.000000000 +0200 ++++ vlock-1.3/help.c 2005-10-14 14:13:06.000000000 +0200 +@@ -12,6 +12,7 @@ + + + #include ++#include + #include + #include "vlock.h" + +--- vlock-1.3/vlock.c.gcc 2005-10-14 14:13:35.000000000 +0200 ++++ vlock-1.3/vlock.c 2005-10-14 14:13:50.000000000 +0200 +@@ -12,6 +12,7 @@ + + + #include ++#include + #include + #include + #include 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-1.3-screen.patch b/vlock-1.3-screen.patch new file mode 100644 index 0000000..554639d --- /dev/null +++ b/vlock-1.3-screen.patch @@ -0,0 +1,21 @@ +--- vlock-1.3/vlock.c.screen 1999-01-14 01:19:14.000000000 +0100 ++++ vlock-1.3/vlock.c 2005-10-14 13:51:16.000000000 +0200 +@@ -47,6 +47,7 @@ + int option_index; /* Unused */ + int c; + struct vt_mode vtm; ++ char *env; + + /* First we parse all the command line arguments */ + while ((c = getopt_long(argc, argv, "acvh", +@@ -98,6 +99,10 @@ + is_vt = 1; + } + ++ if ((env = getenv("TERM")) && strcmp(env, "screen")==0 && getenv("STY")) ++ fprintf(stderr, " *** WARNING: you're probably runnig screen(1). ***\n" ++ " *** The screen locked by vlock is NOT safe. ***\n\n"); ++ + /* Now set the signals so we can't be summarily executed or stopped, */ + /* and handle SIGUSR{1,2} and SIGCHLD */ + mask_signals(); diff --git a/vlock-1.3-system-auth.patch b/vlock-1.3-system-auth.patch new file mode 100644 index 0000000..2843aa6 --- /dev/null +++ b/vlock-1.3-system-auth.patch @@ -0,0 +1,7 @@ +--- vlock-1.3/vlock.pamd.system-auth 2005-10-13 15:44:16.000000000 +0200 ++++ vlock-1.3/vlock.pamd 2005-10-13 15:47:48.000000000 +0200 +@@ -1,2 +1,3 @@ + #%PAM-1.0 +-auth required /lib/security/pam_pwdb.so shadow nullok ++auth include system-auth ++account required pam_permit.so diff --git a/vlock.spec b/vlock.spec new file mode 100644 index 0000000..127a99f --- /dev/null +++ b/vlock.spec @@ -0,0 +1,167 @@ +Summary: A program which locks one or more virtual consoles +Name: vlock +Version: 1.3 +Release: 27%{?dist} +# No version specified. +License: GPL+ +Group: Applications/System +Source: ftp://tsx-11.mit.edu:/pub/linux/sources/usr.bin/vlock-1.3.tar.gz + +Requires: pam >= 0.59, /etc/pam.d/system-auth +Buildrequires: pam-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch0: vlock-1.3-system-auth.patch +Patch1: vlock-1.3-morepam.patch +Patch2: vlock-1.3-screen.patch +Patch3: vlock-1.3-gcc.patch + +%description +The vlock program locks one or more sessions on the console. Vlock +can lock the current terminal (local or remote) or the entire virtual +console system, which completely disables all console access. The +vlock program unlocks when either the password of the user who started +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 .morepam +%patch2 -p1 -b .screen +%patch3 -p1 -b .gcc + +%build +make RPM_OPT_FLAGS="${RPM_OPT_FLAGS}" %{?_smp_mflags} + +%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 -p -m 755 vlock $RPM_BUILD_ROOT%{_bindir}/ +install -p -m 644 vlock.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +install -p -m 644 vlock.pamd $RPM_BUILD_ROOT/etc/pam.d/vlock + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc COPYING README +%config(noreplace) %{_sysconfdir}/pam.d/vlock +%{_bindir}/vlock +%{_mandir}/man1/vlock.1* + +%changelog +* Mon Sep 8 2008 Tom "spot" Callaway - 1.3-27 +- fix license tag + +* Tue Feb 19 2008 Fedora Release Engineering - 1.3-26 +- Autorebuild for GCC 4.3 + +* Thu Mar 1 2007 Karel Zak - 1.3-25 +- add missing -p to install calls + +* Thu Mar 1 2007 Karel Zak - 1.3-24 +- fix #226530 - Merge Review: vlock + +* Wed Jul 19 2006 Karel Zak - 1.3-23 +- spec file cleanup & rebuild + +* Wed Jul 12 2006 Jesse Keating - 1.3-22.2.2 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 1.3-22.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.3-22.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Oct 14 2005 Karel Zak 1.3-22 +- fix #170488 - add screen(1) warning +- compilation warnings cleanup + +* Thu Oct 13 2005 Karel Zak 1.3-21 +- replace pam_stack with "include" + +* 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 + +* Wed Mar 16 2005 Elliot Lee +- rebuilt + +* Mon Feb 14 2005 Adrian Havill +- rebuilt + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Nov 12 2002 Nalin Dahyabhai 1.3-12 +- remove absolute paths from PAM configuration for use on multilib systems + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Mon Jul 23 2001 Michael K. Johnson +- added pam-devel buildrequires + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Thu Jun 01 2000 Nalin Dahyahai +- change PAM setup to use system-auth +- move man pages to %%{_mandir} + +* Tue Feb 08 2000 Nalin Dahyahai +- handle compressed man pages +- use defattr instead of explicit ownership at install-time + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 2) + +* Wed Jan 13 1999 Michael Johnson +- released 1.3 + +* Thu Mar 12 1998 Michael K. Johnson +- Does not create a DoS attack if pty is closed (not applicable + to use on a VC) + +* Fri Oct 10 1997 Michael K. Johnson +- Moved to new pam conventions. +- Use pam according to spec, rather than abusing it as before. +- Updated to version 1.1. +- BuildRoot + +* Mon Jul 21 1997 Erik Troan +- built against glibc + +* Mon Mar 03 1997 Michael K. Johnson +- moved from pam.conf to pam.d