[packages/util-linux] - imported OpenBSD's /sbin/nologin from fedora, doesn't hurt as to have it and ease keeping compat

baggins baggins at pld-linux.org
Fri Mar 22 14:00:28 CET 2013


commit 9ebc19a01037d3bfb3382cc3aa9f96628e1f316b
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Fri Mar 22 13:59:23 2013 +0100

    - imported OpenBSD's /sbin/nologin from fedora, doesn't hurt as to have
      it and ease keeping compatibility with fedora-centric packages like dracut
    - rel 3

 nologin.8       | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 nologin.c       | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 util-linux.spec | 13 +++++++++++-
 3 files changed, 133 insertions(+), 1 deletion(-)
---
diff --git a/util-linux.spec b/util-linux.spec
index f2ba576..67b3230 100644
--- a/util-linux.spec
+++ b/util-linux.spec
@@ -36,7 +36,7 @@ Summary(tr.UTF-8):	Temel sistem araçları
 Summary(uk.UTF-8):	Набір базових системних утиліт для Linux
 Name:		util-linux
 Version:	2.22.2
-Release:	2
+Release:	3
 License:	GPL
 Group:		Applications/System
 Source0:	https://www.kernel.org/pub/linux/utils/util-linux/v2.22/%{name}-%{version}.tar.xz
@@ -51,6 +51,8 @@ Source6:	su.pamd
 Source7:	su-l.pamd
 Source8:	runuser.pamd
 Source9:	runuser-l.pamd
+Source10:	nologin.c
+Source11:	nologin.8
 Patch0:		%{name}-pl.po-update.patch
 Patch1:		%{name}-ng-union-mount.patch
 Patch2:		%{name}-runuser.patch
@@ -653,6 +655,8 @@ etykietę lub UUID - statycznie skonsolidowane na potrzeby initrd.
 %patch9 -p1
 %patch10 -p1
 
+install %{SOURCE10} nologin.c
+
 %{__rm} po/stamp-po
 
 %build
@@ -755,6 +759,8 @@ export CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses -DHAVE_LSEEK64_PROTOTYPE
 
 %{__make}
 
+%{__cc} %{rpmcflags} nologin.c -o nologin
+
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,init,security} \
@@ -767,6 +773,9 @@ install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,init,security} \
 mv $RPM_BUILD_ROOT%{_sbindir}/{addpart,delpart,partx} $RPM_BUILD_ROOT/sbin
 mv $RPM_BUILD_ROOT/sbin/raw $RPM_BUILD_ROOT%{_bindir}
 
+install nologin $RPM_BUILD_ROOT/sbin
+install %{SOURCE11} $RPM_BUILD_ROOT%{_mandir}/man8
+
 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/login
 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/blockdev
 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/blockdev
@@ -885,8 +894,10 @@ fi
 
 %attr(755,root,root) /sbin/clock
 %attr(755,root,root) /sbin/hwclock*
+%attr(755,root,root) /sbin/nologin
 %{_mandir}/man8/clock.8*
 %{_mandir}/man8/hwclock.8*
+%{_mandir}/man8/nologin.8*
 %lang(es) %{_mandir}/es/man8/clock.8*
 %lang(es) %{_mandir}/es/man8/hwclock.8*
 %lang(ja) %{_mandir}/ja/man8/clock.8*
diff --git a/nologin.8 b/nologin.8
new file mode 100644
index 0000000..5cb1601
--- /dev/null
+++ b/nologin.8
@@ -0,0 +1,63 @@
+.\"	$OpenBSD: nologin.8,v 1.8 1999/06/04 02:45:19 aaron Exp $
+.\"	$NetBSD: nologin.8,v 1.3 1995/03/18 14:59:09 cgd Exp $
+.\"
+.\" Copyright (c) 1993
+.\"	The Regents of the University of California.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"	This product includes software developed by the University of
+.\"	California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"     @(#)nologin.8	8.1 (Berkeley) 6/19/93
+.\"
+.Dd February 15, 1997
+.Dt NOLOGIN 8
+.Os
+.Sh NAME
+.Nm nologin
+.Nd politely refuse a login
+.Sh SYNOPSIS
+.Nm nologin
+.Sh DESCRIPTION
+.Nm
+displays a message that an account is not available and
+exits non-zero.
+It is intended as a replacement shell field for accounts that
+have been disabled.
+.Pp
+If the file
+.Pa /etc/nologin.txt
+exists,
+.Nm
+displays its contents to the user instead of the default message.
+.Sh SEE ALSO
+.Xr login 1
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Bx 4.4 .
diff --git a/nologin.c b/nologin.c
new file mode 100644
index 0000000..8a51ba9
--- /dev/null
+++ b/nologin.c
@@ -0,0 +1,58 @@
+/*	$OpenBSD: nologin.c,v 1.2 1997/04/04 16:51:37 millert Exp $	*/
+
+/*
+ * Copyright (c) 1997, Jason Downs.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/types.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+/* Distinctly different from _PATH_NOLOGIN. */
+#define _PATH_NOLOGIN_TXT	"/etc/nologin.txt"
+
+#define DEFAULT_MESG	"This account is currently not available.\n"
+
+/*ARGSUSED*/
+int main(argc, argv)
+	int argc;
+	char *argv[];
+{
+	int nfd, nrd;
+	char nbuf[128];
+
+	nfd = open(_PATH_NOLOGIN_TXT, O_RDONLY);
+	if (nfd < 0) {
+		write(STDOUT_FILENO, DEFAULT_MESG, strlen(DEFAULT_MESG));
+		exit (1);
+	}
+
+	while ((nrd = read(nfd, nbuf, sizeof(nbuf))) > 0)
+		write(STDOUT_FILENO, nbuf, nrd);
+	close (nfd);
+
+	exit (1);
+}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/util-linux.git/commitdiff/9ebc19a01037d3bfb3382cc3aa9f96628e1f316b



More information about the pld-cvs-commit mailing list