Compare commits
247 Commits
debian/str
...
buildtime-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5b7b9fde8 | ||
|
|
688fb93702 | ||
|
|
43bf5f3b39 | ||
|
|
7c7e8f5c18 | ||
|
|
81313b4c5d | ||
|
|
632746518a | ||
|
|
a6f8d25673 | ||
|
|
9b0bef767c | ||
|
|
61085fbfef | ||
|
|
9f68246a01 | ||
|
|
bc6fea5f73 | ||
|
|
972687a07b | ||
|
|
aad21d4486 | ||
|
|
29f0e1dcf4 | ||
|
|
e0d410ad6a | ||
|
|
95447b3f56 | ||
|
|
999c14c87b | ||
|
|
e8b8d7a84b | ||
|
|
69a2672d3b | ||
|
|
41662e422b | ||
|
|
ff20574597 | ||
|
|
712f360fcd | ||
|
|
551cf36757 | ||
|
|
e4f60bc5b6 | ||
|
|
0a96fd2bf0 | ||
|
|
019ffd5126 | ||
|
|
45e98ea60a | ||
|
|
878710fb7a | ||
|
|
771535fa07 | ||
|
|
ac353a0d49 | ||
|
|
527b684a18 | ||
|
|
0fda4df4f1 | ||
|
|
ae2c71761e | ||
|
|
154029254a | ||
|
|
a85c288e96 | ||
|
|
e1f06f07bc | ||
|
|
80660f4a94 | ||
|
|
f19c0e69e1 | ||
|
|
b6e44ab213 | ||
|
|
f56f3e81df | ||
|
|
5413108b8a | ||
|
|
c154cb50fa | ||
|
|
3bf1270130 | ||
|
|
e3549c3f90 | ||
|
|
ad3a822529 | ||
|
|
10c72480c0 | ||
|
|
6c1c44f0fc | ||
|
|
23d33f4922 | ||
|
|
0c8f801a7a | ||
|
|
4a109337ab | ||
|
|
584b0b6a36 | ||
|
|
4e48f059e7 | ||
|
|
fbd4430a1d | ||
|
|
4b707105f4 | ||
|
|
1526e6cde8 | ||
|
|
8199342364 | ||
|
|
4f3d0ac9b9 | ||
|
|
57721a210f | ||
|
|
d7536122e8 | ||
|
|
f7f4fd7c05 | ||
|
|
558a8f0796 | ||
|
|
623fdb60cd | ||
|
|
bd08493dab | ||
|
|
d3b392f509 | ||
|
|
9f16b61fe4 | ||
|
|
97e47ed437 | ||
|
|
d300102446 | ||
|
|
3d71c62ab1 | ||
|
|
2ff04fd9b5 | ||
|
|
97a3bc0c43 | ||
|
|
485b374d09 | ||
|
|
25f0b936c0 | ||
|
|
776d4d23ac | ||
|
|
9f285306f3 | ||
|
|
f569ea06ff | ||
|
|
50defcfa5d | ||
|
|
56c7502686 | ||
|
|
7c66acdd2e | ||
|
|
4806645316 | ||
|
|
05a41bc4d5 | ||
|
|
75eb241552 | ||
|
|
d7ce68863e | ||
|
|
095f9d48ef | ||
|
|
b4c00e119f | ||
|
|
326f1566ef | ||
|
|
6ac9c8ffe1 | ||
|
|
860bfc3bc2 | ||
|
|
f960334281 | ||
|
|
e4bc4e00d3 | ||
|
|
3987cc7880 | ||
|
|
f17d14fa1d | ||
|
|
bdbb726365 | ||
|
|
e0c751974f | ||
|
|
8b93f459b4 | ||
|
|
658cda9512 | ||
|
|
8f8e8c66d6 | ||
|
|
9351646a53 | ||
|
|
9335ee4556 | ||
|
|
cfe3388825 | ||
|
|
fa71d99553 | ||
|
|
220f9aac4d | ||
|
|
deba8c722e | ||
|
|
f0d0800450 | ||
|
|
c0e008111e | ||
|
|
f7c5ed7e44 | ||
|
|
71b57931c8 | ||
|
|
830963375b | ||
|
|
119d3e7fb4 | ||
|
|
22cdffdd80 | ||
|
|
23958d1506 | ||
|
|
840aa7a980 | ||
|
|
8f8c08e8a5 | ||
|
|
9126929c22 | ||
|
|
8ead740677 | ||
|
|
56751ea5fa | ||
|
|
cda8c5fa81 | ||
|
|
69ca70f202 | ||
|
|
675b462b64 | ||
|
|
8d8547f65f | ||
|
|
bda4983ef6 | ||
|
|
ff3c5edbc6 | ||
|
|
7b64365e45 | ||
|
|
696ec6893f | ||
|
|
6185fb4b72 | ||
|
|
fcd5a6a753 | ||
|
|
c97b544618 | ||
|
|
cfbad60da9 | ||
|
|
f6500af0fb | ||
|
|
abd7c0d1a8 | ||
|
|
b96c915fb6 | ||
|
|
c9d3bfbed8 | ||
|
|
b8a6958c8c | ||
|
|
b8eb6e21e3 | ||
|
|
fbcc252aa2 | ||
|
|
78ed95c5f6 | ||
|
|
78b4357090 | ||
|
|
8971f347df | ||
|
|
f7a09bbd35 | ||
|
|
efb3723826 | ||
|
|
600860fd1b | ||
|
|
0246ee1e32 | ||
|
|
a784da8035 | ||
|
|
17b9314598 | ||
|
|
73b4950948 | ||
|
|
c5e7641878 | ||
|
|
27194eea96 | ||
|
|
988e6e1667 | ||
|
|
8655461698 | ||
|
|
395194208e | ||
|
|
6116809ed3 | ||
|
|
d9490db020 | ||
|
|
7588913847 | ||
|
|
3fe38f1a8e | ||
|
|
0c04b92a9a | ||
|
|
ae9399155f | ||
|
|
8234369aa8 | ||
|
|
f5e88fde2a | ||
|
|
f06a70460c | ||
|
|
e225d71e7f | ||
|
|
1ea5452692 | ||
|
|
be18f1bbfc | ||
|
|
6b02a8c46a | ||
|
|
1529920170 | ||
|
|
0905cf7764 | ||
|
|
b93dcd7b74 | ||
|
|
537fb2b47d | ||
|
|
ea2453d97e | ||
|
|
06238ddfc6 | ||
|
|
749c178062 | ||
|
|
a0f09c4de7 | ||
|
|
d40cb183f8 | ||
|
|
a155720a06 | ||
|
|
5a8056702c | ||
|
|
89221d3983 | ||
|
|
b7878255ff | ||
|
|
06d1bd8617 | ||
|
|
d19ac3ae86 | ||
|
|
cfc17bfaa7 | ||
|
|
fe2a40ab85 | ||
|
|
c7baab6534 | ||
|
|
92b40afe13 | ||
|
|
7456cef7e2 | ||
|
|
dc0f840741 | ||
|
|
10af5ab4c4 | ||
|
|
2d2f190b5f | ||
|
|
8b9729cf03 | ||
|
|
d906ecd3b6 | ||
|
|
8a1d6c51aa | ||
|
|
b1eaec13e7 | ||
|
|
262a350c14 | ||
|
|
752c64e4e4 | ||
|
|
fa4dccbc4a | ||
|
|
e34706dd5b | ||
|
|
787ebc3336 | ||
|
|
93ea3fe510 | ||
|
|
30e6a960ee | ||
|
|
e38381641b | ||
|
|
69d932140c | ||
|
|
dc46a7a96f | ||
|
|
1177f4b257 | ||
|
|
0a3492dd90 | ||
|
|
77901f4115 | ||
|
|
042e76175a | ||
|
|
4d8a10d86c | ||
|
|
9bda99f55d | ||
|
|
927c6cbdd6 | ||
|
|
8f33168316 | ||
|
|
488bb269c9 | ||
|
|
1a76a81ccc | ||
|
|
1e63ff4abc | ||
|
|
8931f490ed | ||
|
|
1ddb81753d | ||
|
|
252ca1a609 | ||
|
|
3709c159af | ||
|
|
00c091542c | ||
|
|
084a543a03 | ||
|
|
4793149a12 | ||
|
|
b28d45d2bd | ||
|
|
d04fc57f13 | ||
|
|
1daf68f0a3 | ||
|
|
58ead426f4 | ||
|
|
9be33624de | ||
|
|
f1f3ef5674 | ||
|
|
c60535694b | ||
|
|
7bc992f580 | ||
|
|
7c34f34109 | ||
|
|
e153c45690 | ||
|
|
9c70ce4480 | ||
|
|
6170e87bd5 | ||
|
|
2ace7fb8f5 | ||
|
|
b2a4d20bf7 | ||
|
|
089560d90e | ||
|
|
d6eb9f97a0 | ||
|
|
b0729855e8 | ||
|
|
7ca7e82ae8 | ||
|
|
19c35c70e1 | ||
|
|
b001531192 | ||
|
|
88de51965d | ||
|
|
df6b651325 | ||
|
|
406a28db14 | ||
|
|
00bcf65d58 | ||
|
|
9105fcd24c | ||
|
|
ba18b6cab2 | ||
|
|
b43b5a89d1 | ||
|
|
591aa8debe | ||
|
|
bcd42a4c62 | ||
|
|
589f97ade4 |
48
.gitignore
vendored
48
.gitignore
vendored
@@ -1,48 +0,0 @@
|
|||||||
*~
|
|
||||||
lib*.a
|
|
||||||
*.o
|
|
||||||
*.lo
|
|
||||||
*.la
|
|
||||||
*.gmo
|
|
||||||
.deps
|
|
||||||
.libs
|
|
||||||
|
|
||||||
*.patch
|
|
||||||
*.rej
|
|
||||||
*.orig
|
|
||||||
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
|
|
||||||
/ABOUT-NLS
|
|
||||||
/aclocal.m4
|
|
||||||
/autom4te.cache
|
|
||||||
/compile
|
|
||||||
/config.guess
|
|
||||||
/config.h
|
|
||||||
/config.h.in
|
|
||||||
/config.log
|
|
||||||
/config.rpath
|
|
||||||
/config.status
|
|
||||||
/config.sub
|
|
||||||
/configure
|
|
||||||
/depcomp
|
|
||||||
/install-sh
|
|
||||||
/libtool
|
|
||||||
/ltmain.sh
|
|
||||||
/m4
|
|
||||||
/missing
|
|
||||||
/stamp-h1
|
|
||||||
/ylwrap
|
|
||||||
|
|
||||||
/po/*.header
|
|
||||||
/po/*.sed
|
|
||||||
/po/*.sin
|
|
||||||
/po/Makefile.in.in
|
|
||||||
/po/Makevars.template
|
|
||||||
/po/POTFILES
|
|
||||||
/po/Rules-quot
|
|
||||||
/po/stamp-po
|
|
||||||
|
|
||||||
/shadow.spec
|
|
||||||
/libmisc/getdate.c
|
|
||||||
98
AUTHORS.md
Normal file
98
AUTHORS.md
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
Thanks to at least the following people for sending patches, bug
|
||||||
|
reports and various comments. This list may be incomplete, I received
|
||||||
|
a lot of mail...
|
||||||
|
|
||||||
|
# Maintainers
|
||||||
|
* Marek Michałkiewicz <marekm72@gmail.com> (1995-2000)
|
||||||
|
* Tomasz Kłoczko <kloczek@pld.org.pl> (2000-2007)
|
||||||
|
* Nicolas François <nicolas.francois@centraliens.net> (2007-2014)
|
||||||
|
* Serge E. Hallyn <serge@hallyn.com> (2014-now)
|
||||||
|
* Christian Brauner <christian@brauner.io> (2019-now)
|
||||||
|
* Iker Pedrosa <ipedrosa@redhat.com> (2022-now)
|
||||||
|
* Alejandro Colomar <alx@kernel.org> (2023-now) (4.14 stable)
|
||||||
|
|
||||||
|
To verify signatures on releases, use the following keys under keys/ :
|
||||||
|
|
||||||
|
* Serge Hallyn: keys/66D0387DB85D320F8408166DB175CFA98F192AF2.asc
|
||||||
|
* Christian Brauner: keys/4880B8C9BD0E5106FC070F4F7B3C391EFEA93624.asc
|
||||||
|
* Iker Pedrosa: keys/4E80EF49C7987B6DE2F81F5005079C6C3A653E57.asc
|
||||||
|
* Alejandro Colomar: keys/A9348594CE31283A826FBDD8D57633D441E25BB5.asc
|
||||||
|
|
||||||
|
# Authors and contributors
|
||||||
|
* Adam Rudnicki <adam@v-lo.krakow.pl>
|
||||||
|
* Alan Curry <pacman@tardis.mars.net>
|
||||||
|
* Aleksa Sarai <cyphar@cyphar.com>
|
||||||
|
* Alexander O. Yuriev <alex@bach.cis.temple.edu>
|
||||||
|
* Algis Rudys <arudys@rice.edu>
|
||||||
|
* Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||||
|
* Andy Zaugg <andy.zaugg@gmail.com>
|
||||||
|
* Aniello Del Sorbo <anidel@edu-gw.dia.unisa.it>
|
||||||
|
* Anton Gluck <gluc@midway.uchicago.edu>
|
||||||
|
* Arkadiusz Miskiewicz <misiek@pld.org.pl>
|
||||||
|
* Ben Collins <bcollins@debian.org>
|
||||||
|
* Brian R. Gaeke <brg@dgate.org>
|
||||||
|
* Calle Karlsson <ckn@kash.se>
|
||||||
|
* Chip Rosenthal <chip@unicom.com>
|
||||||
|
* Chris Evans <lady0110@sable.ox.ac.uk>
|
||||||
|
* Chris Lamb <chris@chris-lamb.co.uk>
|
||||||
|
* Cristian Gafton <gafton@sorosis.ro>
|
||||||
|
* Dan Walsh <dwalsh@redhat.com>
|
||||||
|
* Darcy Boese <possum@chardonnay.niagara.com>
|
||||||
|
* Dave Hagewood <admin@arrowweb.com>
|
||||||
|
* David A. Holland <dholland@hcs.harvard.edu>
|
||||||
|
* David Frey <David.Frey@lugs.ch>
|
||||||
|
* Ed Carp <ecarp@netcom.com>
|
||||||
|
* Ed Neville <ed@s5h.net>
|
||||||
|
* Eric W. Biederman" <ebiederm@xmission.com>
|
||||||
|
* Floody <flood@evcom.net>
|
||||||
|
* Frank Denis <j@4u.net>
|
||||||
|
* George Kraft IV <gk4@us.ibm.com>
|
||||||
|
* Greg Mortensen <loki@world.std.com>
|
||||||
|
* Guido van Rooij
|
||||||
|
* Guy Maor <maor@debian.org>
|
||||||
|
* Hrvoje Dogan <hdogan@bjesomar.srce.hr>
|
||||||
|
* Jakub Hrozek <jhrozek@redhat.com>
|
||||||
|
* Janos Farkas <chexum@bankinf.banki.hu>
|
||||||
|
* Jason Franklin <jason.franklin@quoininc.com>
|
||||||
|
* Jay Soffian <jay@lw.net>
|
||||||
|
* Jesse Thilo <Jesse.Thilo@pobox.com>
|
||||||
|
* Joey Hess <joey@kite.ml.org>
|
||||||
|
* John Adelsberger <jja@umr.edu>
|
||||||
|
* Jonathan Hankins <jhankins@mailserv.homewood.k12.al.us>
|
||||||
|
* Jon Lewis <jlewis@lewis.org>
|
||||||
|
* Joshua Cowan <jcowan@hermit.reslife.okstate.edu>
|
||||||
|
* Judd Bourgeois <shagboy@bluesky.net>
|
||||||
|
* Juergen Heinzl <unicorn@noris.net>
|
||||||
|
* Juha Virtanen <jiivee@iki.fi>
|
||||||
|
* Julian Pidancet <julian.pidancet@gmail.com>
|
||||||
|
* Julianne Frances Haugh <julie78787@gmail.com>
|
||||||
|
* Leonard N. Zubkoff <lnz@dandelion.com>
|
||||||
|
* Luca Berra <bluca@www.polimi.it>
|
||||||
|
* Lukáš Kuklínek <lkukline@redhat.com>
|
||||||
|
* Lutz Schwalowsky <schwalow@mineralogie.uni-hamburg.de>
|
||||||
|
* Marc Ewing <marc@redhat.com>
|
||||||
|
* Martin Bene <mb@sime.com>
|
||||||
|
* Martin Mares <mj@gts.cz>
|
||||||
|
* Michael Meskes <meskes@topsystem.de>
|
||||||
|
* Michael Talbot-Wilson <mike@calypso.bns.com.au>
|
||||||
|
* Michael Vetter <jubalh@iodoru.org>
|
||||||
|
* Mike Frysinger <vapier@gentoo.org>
|
||||||
|
* Mike Pakovic <mpakovic@users.southeast.net>
|
||||||
|
* Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
* Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>
|
||||||
|
* Pavel Machek <pavel@bug.ucw.cz>
|
||||||
|
* Peter Vrabec <pvrabec@redhat.com>
|
||||||
|
* Phillip Street
|
||||||
|
* Rafał Maszkowski <rzm@icm.edu.pl>
|
||||||
|
* Rani Chouha <ranibey@smartec.com>
|
||||||
|
* Sami Kerola <kerolasa@rocketmail.com>
|
||||||
|
* Scott Garman <scott.a.garman@intel.com>
|
||||||
|
* Sebastian Rick Rijkers <srrijkers@gmail.com>
|
||||||
|
* Seraphim Mellos <mellos@ceid.upatras.gr>
|
||||||
|
* Shane Watts <shane@nexus.mlckew.edu.au>
|
||||||
|
* Steve M. Robbins <steve@nyongwa.montreal.qc.ca>
|
||||||
|
* Thorsten Kukuk <kukuk@suse.de>
|
||||||
|
* Tim Hockin <thockin@eagle.ais.net>
|
||||||
|
* Timo Karjalainen <timok@iki.fi>
|
||||||
|
* Ulisses Alonso Camaro <ulisses@pusa.eleinf.uv.es>
|
||||||
|
* Werner Fink <werner@suse.de>
|
||||||
143
COPYING
143
COPYING
@@ -1,118 +1,41 @@
|
|||||||
NOTE:
|
SPDX-License-Identifier: BSD-3-Clause
|
||||||
This license has been obsoleted by the change to the BSD-style copyright.
|
|
||||||
You may continue to use this license if you wish, but you are under no
|
|
||||||
obligation to do so.
|
|
||||||
|
|
||||||
(*
|
All files under this project either
|
||||||
This document is freely plagiarised from the 'Artistic Licence',
|
|
||||||
distributed as part of the Perl v4.0 kit by Larry Wall, which is
|
|
||||||
available from most major archive sites. I stole it from CrackLib.
|
|
||||||
|
|
||||||
$Id$
|
1. fall under the BSD 3 clause license (by default).
|
||||||
*)
|
|
||||||
|
|
||||||
This documents purpose is to state the conditions under which this
|
2. carry an SPDX header declaring what license applies.
|
||||||
Package (See definition below) viz: "Shadow", the Shadow Password Suite
|
|
||||||
which is held by Julianne Frances Haugh, may be copied, such that the
|
|
||||||
copyright holder maintains some semblance of artistic control over the
|
|
||||||
development of the package, while giving the users of the package the
|
|
||||||
right to use and distribute the Package in a more-or-less customary
|
|
||||||
fashion, plus the right to make reasonable modifications.
|
|
||||||
|
|
||||||
So there.
|
or
|
||||||
|
|
||||||
***************************************************************************
|
3. list a full custom license
|
||||||
|
|
||||||
Definitions:
|
This software is originally
|
||||||
|
|
||||||
|
* Copyright (c) 1989 - 1994, Julianne Frances Haugh
|
||||||
|
|
||||||
A "Package" refers to the collection of files distributed by the
|
* All rights reserved.
|
||||||
Copyright Holder, and derivatives of that collection of files created
|
*
|
||||||
through textual modification, or segments thereof.
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
"Standard Version" refers to such a Package if it has not been modified,
|
* are met:
|
||||||
or has been modified in accordance with the wishes of the Copyright
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
Holder.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
"Copyright Holder" is whoever is named in the copyright or copyrights
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
for the package.
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. The name of the copyright holders or contributors may not be used to
|
||||||
"You" is you, if you're thinking about copying or distributing this
|
* endorse or promote products derived from this software without
|
||||||
Package.
|
* specific prior written permission.
|
||||||
|
*
|
||||||
"Reasonable copying fee" is whatever you can justify on the basis of
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
media cost, duplication charges, time of people involved, and so on.
|
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
(You will not be required to justify it to the Copyright Holder, but
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
only to the computing community at large as a market that must bear the
|
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
fee.)
|
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
"Freely Available" means that no fee is charged for the item itself,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
though there may be fees involved in handling the item. It also means
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
that recipients of the item may redistribute it under the same
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
conditions they received it.
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
1. You may make and give away verbatim copies of the source form of the
|
|
||||||
Standard Version of this Package without restriction, provided that you
|
|
||||||
duplicate all of the original copyright notices and associated
|
|
||||||
disclaimers.
|
|
||||||
|
|
||||||
2. You may apply bug fixes, portability fixes and other modifications
|
|
||||||
derived from the Public Domain or from the Copyright Holder. A Package
|
|
||||||
modified in such a way shall still be considered the Standard Version.
|
|
||||||
|
|
||||||
3. You may otherwise modify your copy of this Package in any way,
|
|
||||||
provided that you insert a prominent notice in each changed file stating
|
|
||||||
how and when AND WHY you changed that file, and provided that you do at
|
|
||||||
least ONE of the following:
|
|
||||||
|
|
||||||
a) place your modifications in the Public Domain or otherwise make them
|
|
||||||
Freely Available, such as by posting said modifications to Usenet or an
|
|
||||||
equivalent medium, or placing the modifications on a major archive site
|
|
||||||
such as uunet.uu.net, or by allowing the Copyright Holder to include
|
|
||||||
your modifications in the Standard Version of the Package.
|
|
||||||
|
|
||||||
b) use the modified Package only within your corporation or organization.
|
|
||||||
|
|
||||||
c) rename any non-standard executables so the names do not conflict with
|
|
||||||
standard executables, which must also be provided, and provide separate
|
|
||||||
documentation for each non-standard executable that clearly documents
|
|
||||||
how it differs from the Standard Version.
|
|
||||||
|
|
||||||
d) make other distribution arrangements with the Copyright Holder.
|
|
||||||
|
|
||||||
4. You may distribute the programs of this Package in object code or
|
|
||||||
executable form, provided that you do at least ONE of the following:
|
|
||||||
|
|
||||||
a) distribute a Standard Version of the executables and library files,
|
|
||||||
together with instructions (in the manual page or equivalent) on where
|
|
||||||
to get the Standard Version.
|
|
||||||
|
|
||||||
b) accompany the distribution with the machine-readable source of the
|
|
||||||
Package with your modifications.
|
|
||||||
|
|
||||||
c) accompany any non-standard executables with their corresponding
|
|
||||||
Standard Version executables, giving the non-standard executables
|
|
||||||
non-standard names, and clearly documenting the differences in manual
|
|
||||||
pages (or equivalent), together with instructions on where to get the
|
|
||||||
Standard Version.
|
|
||||||
|
|
||||||
d) make other distribution arrangements with the Copyright Holder.
|
|
||||||
|
|
||||||
5. You may charge a reasonable copying fee for any distribution of this
|
|
||||||
Package. You may charge any fee you choose for support of this Package.
|
|
||||||
YOU MAY NOT CHARGE A FEE FOR THIS PACKAGE ITSELF. However, you may
|
|
||||||
distribute this Package in aggregate with other (possibly commercial)
|
|
||||||
programs as part of a larger (possibly commercial) software distribution
|
|
||||||
provided that YOU DO NOT ADVERTISE this package as a product of your
|
|
||||||
own.
|
|
||||||
|
|
||||||
6. The name of the Copyright Holder may not be used to endorse or
|
|
||||||
promote products derived from this software without specific prior
|
|
||||||
written permission.
|
|
||||||
|
|
||||||
7. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
||||||
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
The End
|
|
||||||
|
|||||||
403
ChangeLog
403
ChangeLog
@@ -1,3 +1,362 @@
|
|||||||
|
2022-11-08 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* useradd.8: fix default group ID (Tim Biermann)
|
||||||
|
* Revert drop of subid_init() (Serge Hallyn)
|
||||||
|
* Georgian translation (NorwayFun)
|
||||||
|
* useradd: Avoid taking unneeded space: do not reset non-existent data
|
||||||
|
in lastlog (David Kalnischkies)
|
||||||
|
* relax username restrictions (Alexander Kanavin)
|
||||||
|
* selinux: check MLS enabled before setting serange (genBTC)
|
||||||
|
* copy_tree: use fchmodat instead of chmod (Samanta Navarro)
|
||||||
|
* copy_tree: don't block on FIFOs (Samanta Navarro)
|
||||||
|
* add shell linter (Jan Macku)
|
||||||
|
* copy_tree: carefully treat permissions (Samanta Navarro)
|
||||||
|
* lib/commonio: make lock failures more detailed (Luca BRUNO)
|
||||||
|
* lib: use strzero and memzero where applicable (Christian Göttsche)
|
||||||
|
* Update Dutch translation (Frans Spiesschaert)
|
||||||
|
* Don't test for NULL before calling free (Alex Colomar)
|
||||||
|
* Use libc MAX() and MIN() (Alejandro Colomar)
|
||||||
|
* chage: Fix regression in print_date (Xiami)
|
||||||
|
* usermod: report error if homedir does not exist (Iker Pedrosa)
|
||||||
|
* libmisc: minimum id check for system accounts (Iker Pedrosa)
|
||||||
|
* fix usermod -rG x y wrongly adding a group (xyz)
|
||||||
|
* man: add missing space in useradd.8.xml (Iker Pedrosa)
|
||||||
|
* lastlog: check for localtime() return value (Iker Pedrosa)
|
||||||
|
* Raise limit for passwd and shadow entry length (Iker Pedrosa)
|
||||||
|
* Remove adduser-old.c (Alejandro Colomar)
|
||||||
|
* useradd: Fix buffer overflow when using a prefix (David Michael)
|
||||||
|
* Don't warn when failed to open /etc/nsswitch.conf (Serge Hallyn)
|
||||||
|
|
||||||
|
2022-08-15 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Address CVE-2013-4235 (TOCTTOU when copying directories)
|
||||||
|
(Christian Göttsche)
|
||||||
|
|
||||||
|
2022-08-15 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Fix uk manpages
|
||||||
|
|
||||||
|
2022-08-08 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Add absolute path hint to --root (Celeste Liu)
|
||||||
|
* Various cleanups (Christian Göttsche)
|
||||||
|
* Fix Ubuntu release used in CI tests (Jeremy Whiting)
|
||||||
|
* add -F options to useradd (and tests) (Masatake YAMATO)
|
||||||
|
* useradd manpage updates (Masatake YAMATO and Alexander Zhang))
|
||||||
|
* Check for ownerid (not just username) in subid ranges (Iker Pedrosa)
|
||||||
|
|
||||||
|
2022-07-04 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Declare file local functions static (Christian Göttsche)
|
||||||
|
* Use strict prototypes (Christian Göttsche)
|
||||||
|
* Do not drop const qualifier for Basename (Christian Göttsche)
|
||||||
|
* Constify various pointers (Christian Göttsche)
|
||||||
|
* Don't return uninitialized memory (Christian Göttsche)
|
||||||
|
* Don't let compiler optimize away memory cleaning (Christian Göttsche)
|
||||||
|
* Remove many obsolete compatibility checks and defines (Alejandro Colomar)
|
||||||
|
* Modify ID range check in useradd (Iker Pedrosa)
|
||||||
|
* Use "extern "C"" to make libsubid easier to use from C++ (Alois Wohlschlager)
|
||||||
|
* French translation updates (bubu)
|
||||||
|
* Fix s/with-pam/with-libpam/ (serge)
|
||||||
|
* Spanish translation updates (Fernando)
|
||||||
|
* French translation fixes (Balint Reczey)
|
||||||
|
* Default max group name length to 32 (Jami Kettunen)
|
||||||
|
* Fix PAM service files without-selinux (Ali Riza KESKIN)
|
||||||
|
* Improve manpages (Markus Hiereth)
|
||||||
|
- groupadd, useradd, usermod
|
||||||
|
- groups and id
|
||||||
|
- pwck
|
||||||
|
* Add fedora to CI builds (Iker Pedrosa)
|
||||||
|
* Fix condition under which pw_dir check happens (Ed Neville)
|
||||||
|
* logoutd: switch to strncat (Steve Grubb)
|
||||||
|
* AUTHORS: improve markdown output (Iker Pedrosa)
|
||||||
|
* Handle ERANGE errors correctly (Niko)
|
||||||
|
* Check for fopen NULL return (juyin)
|
||||||
|
* Split get_salt() into its own fn juyin)
|
||||||
|
* Get salt before chroot to ensure /dev/urandom. (juyin)
|
||||||
|
* Chpasswd code cleanup (juyin)
|
||||||
|
* Work around git safe.directory enforcement (serge)
|
||||||
|
* Alphabetize order in usermod help (Matheus Marques)
|
||||||
|
* Erase password copy on error branches (Christian Göttsche)
|
||||||
|
* Suggest using --badname if needed (Iker Pedrosa)
|
||||||
|
* Update translation files (Iker Pedrosa)
|
||||||
|
* Correct badnames option to badname (Iker Pedrosa)
|
||||||
|
* configure: replace obsolete autoconf macros (Christian Göttsche)
|
||||||
|
* tests: replace egrep with grep -E (Sam James)
|
||||||
|
* Update Ukrainian translations (Yuri Chornoivan)
|
||||||
|
* Cleanups (Iker Pedrosa)
|
||||||
|
- Remove redeclared variable
|
||||||
|
- Remove commented out code and FIXMEs
|
||||||
|
- Add header guards
|
||||||
|
- Initialize local variables
|
||||||
|
* CI updates (Iker Pedrosa)
|
||||||
|
- Create github workflow to install dependencies
|
||||||
|
- Enable CodeQL
|
||||||
|
- Update actions version
|
||||||
|
* libmisc: use /dev/urandom as fallback if other methods fail (Xi Ruoyao)
|
||||||
|
|
||||||
|
|
||||||
|
2022-01-02 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* build: include lib/shadowlog_internal.h in dist tarballs (Sam James)
|
||||||
|
|
||||||
|
2022-01-02 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Handle possible TOCTTOU issues in usermod/userdel (edneville)
|
||||||
|
* (CVE-2013-4235)
|
||||||
|
* Use O_NOFOLLOW when copying file
|
||||||
|
* Kill all user tasks in userdel
|
||||||
|
* Fix useradd -D segfault (Xi Ruoyao)
|
||||||
|
* Clean up obsolete libc feature-check ifdefs (Alejandro Colomar)
|
||||||
|
* Fix -fno-common build breaks due to duplicate Prog declarations
|
||||||
|
(Adam Sampson)
|
||||||
|
* Have single date_to_str definition (Alejandro Colomar)
|
||||||
|
* Fix libsubid SONAME version (Sam James)
|
||||||
|
|
||||||
|
2021-12-19 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
Note: From this release forward, su from this package should be
|
||||||
|
considered deprecated. Please replace any users of it with su from
|
||||||
|
util-linux. Please open an issue if there is a problem with that.
|
||||||
|
We intend to remove it in an upcoming release.
|
||||||
|
|
||||||
|
* libsubid fixes (Xi Ruoyao, Serge Hallyn, Iker Pedrosa, Mike Gilbert,
|
||||||
|
GalaxyMaster, and Luís Ferreira)
|
||||||
|
* Rename the test program list_subid_ranges to getsubids, write
|
||||||
|
a manpage, so distros can ship it. (Iker Pedrosa)
|
||||||
|
* Add libeconf dep for new*idmap (Iker Pedrosa)
|
||||||
|
* Allow all group types with usermod -G (Iker Pedrosa)
|
||||||
|
* Avoid useradd generating empty subid range (Iker Pedrosa)
|
||||||
|
* Handle NULL pw_passwd (Jaroslav Jindrak)
|
||||||
|
* Fix default value SHA_get_salt_rounds (Mike Gilbert)
|
||||||
|
* Use https where possible in README (Paul Menzel)
|
||||||
|
* Update content and format of README (Iker Pedrosa)
|
||||||
|
* Translation updates (Balint Reczey, Frans Spiesschaert)
|
||||||
|
* Switch from xml2po to itstool in 'make dist' (Serge Hallyn)
|
||||||
|
* Fix double frees (Michael Vetter)
|
||||||
|
* Add LOG_INIT configurable to useradd (Andy Zaugg)
|
||||||
|
* Add CREATE_MAIL_SPOOL documentation (Andy Zaugg)
|
||||||
|
* Create a security.md
|
||||||
|
* Fix su never being SIGKILLd when trapping TERM (Ruihan li)
|
||||||
|
* Fix wrong SELinux labels in several possible cases (Iker Pedrosa)
|
||||||
|
* Fix missing chmod in chadowtb_move (GalaxyMaster)
|
||||||
|
* Handle malformed hushlogins entries (Tobias Stoeckmann)
|
||||||
|
* Fix groupdel segv when passwd does not exist (François Rigault)
|
||||||
|
* Fix covscan-found newgrp segfault (Iker Pedrosa)
|
||||||
|
* Remove trailing slash on hoedir (Ed Neville)
|
||||||
|
* Fix passwd -l message - it does not change expirey (Ed Neville)
|
||||||
|
* Fix SIGCHLD handling bugs in su and vipw (Tobias Stoeckmann)
|
||||||
|
* Remove special case for "" in usermod (Alejandro Colomar)
|
||||||
|
* Implement usermod -rG to remove a specific group
|
||||||
|
(Andy Zaugg)
|
||||||
|
* call pam_end() after fork in child path for su and login
|
||||||
|
(Björn Fischer)
|
||||||
|
* useradd: In absence of /etc/passwd, assume 0 == root
|
||||||
|
(Ludwig Nussel)
|
||||||
|
* lib: check NULL before freeing data (Iker Pedrosa)
|
||||||
|
* Fix pwck segfault (Iker Pedrosa)
|
||||||
|
|
||||||
|
2021-07-22 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Updated translations (Björn Esser, Juergen Hoetzel)
|
||||||
|
* Major salt updates (Björn Esser)
|
||||||
|
* Various coverity and cleanup fixes (Iker Pedrosa)
|
||||||
|
* Consistently use 0 to disable PASS_MIN_DAYS in man (tzccinct)
|
||||||
|
* Implement NSS support for subids and a libsubid (Serge Hallyn)
|
||||||
|
* setfcap: retain setfcap when mapping uid 0 (Christian Brauner)
|
||||||
|
* login.defs: include HMAC_CRYPTO_ALGO key (Iker Pedrosa)
|
||||||
|
* selinux fixes (Christian Göttsche)
|
||||||
|
* Fix path prefix path handling (Lucas Servén Marín)
|
||||||
|
* Manpage updates (tzccinct, Sevan Janiyan, Iker Pedrosa, Geert Ijewski,
|
||||||
|
谭九鼎, Jamin W. Collins, towerpark, andydna, Frans Spiesschaert)
|
||||||
|
* Treat an empty passwd field as invalid (Haelwenn Monnier)
|
||||||
|
* newxidmap: allow running under alternative gid (Martijn de Gouw)
|
||||||
|
* usermod: check that shell is executable (Geert Ijewski)
|
||||||
|
* Add yescript support (Rodolphe Bréard)
|
||||||
|
* useradd memleak fixes (whzhe)
|
||||||
|
* useradd: use built-in settings by default (Ludwig Nussel)
|
||||||
|
* getdefs: add foreign (non-shadow-utils) items (Karel Zak)
|
||||||
|
* buffer overflow fixes (Tobias Stoeckmann)
|
||||||
|
* Adding run-parts style for pre and post useradd/del (ed@s5h.net)
|
||||||
|
|
||||||
|
2020-01-23 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* selinux: inclue stdio (Michael Vetter)
|
||||||
|
* man: don't suggest making groupmems user-writeable (Michael Weiser)
|
||||||
|
* Makefile: bail out on error in for loops (Wolfgang Bumiller)
|
||||||
|
* Adding logging of SSH_ORIGINAL_COMMAND to nologin. (ed@s5h.net)
|
||||||
|
* add new HOME_MODE login.defs option (Duncan Overbruck)
|
||||||
|
* Add tty logging to useradd (ed@s5h.net)
|
||||||
|
* Useradd: make non-executable shell check only a warning (Tomas Mraz)
|
||||||
|
* Update Dutch translation (Frans-Spiesschaert)
|
||||||
|
* user_busy: Do not mistake a regular user process for a namespaced one (Tomas Mraz)
|
||||||
|
* Revert "Honor --sbindir and --bindir for binary installation" Patrick McLean)
|
||||||
|
|
||||||
|
2019-12-20 Dave Reisner <dreisner@archlinux.org>
|
||||||
|
|
||||||
|
* Do not auto-enable acct_tools_setuid just because
|
||||||
|
pam is enabled. NOTE - any distros which are relying
|
||||||
|
on this behavior will need to switch to configure
|
||||||
|
--enable-account-tools-setuid
|
||||||
|
|
||||||
|
2019-12-01 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Release 4.8
|
||||||
|
* Initial optional bcrypt support.
|
||||||
|
* Make build/install of 'su' optional.
|
||||||
|
* Fix for vipw not resuming correctly when suspended
|
||||||
|
* Sync password field descriptions in manpages
|
||||||
|
* Check for valid shell argument in useradd
|
||||||
|
* Allow translation of new strings through POTFILES.in
|
||||||
|
* Migrate to itstool for translations
|
||||||
|
* Migrate to new SELinux api
|
||||||
|
* Support --enable-vendordir
|
||||||
|
* pwck: Only check homedir if set and not a system user
|
||||||
|
* Support nonstandard usernames
|
||||||
|
* sget{pw,gr}ent: check for data at EOL
|
||||||
|
* Add YYY-MM-DD support in chage
|
||||||
|
* Fix failing chmod calls for suidubins
|
||||||
|
* Fix --sbindir and --bindir for binary installations
|
||||||
|
* Fix LASTLOG_UID_MAX in login.defs
|
||||||
|
* Fix configure error with dash
|
||||||
|
|
||||||
|
2019-06-13 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Release 4.7
|
||||||
|
* Spawn: don't loop forever on ECHILD
|
||||||
|
* Do not fail locking if there is a stale lockfile Tomas Mraz)
|
||||||
|
* Use lckpwdf if prefix not set (Tomas Mraz)
|
||||||
|
* Build: check correct DocBook version (Jan Tojnar)
|
||||||
|
* Usermod: Print 'no changes' to stdout, not stderr (Serge Hallyn)
|
||||||
|
* Add support for btrfs subvolumes for home (Adam Majer)
|
||||||
|
* Fix chpasswd long line handling (Nathan Ruiz)
|
||||||
|
* Use secure_getenv for gettime (Chris Lamb)
|
||||||
|
* Make sp_lstchg reproducible (Chris Lamb)
|
||||||
|
* Do not crash commonio_close if db file is not open (Tomas Mraz)
|
||||||
|
* Don't flush nscd and sssd cache in read-only mode (Charlie Vuillemez)
|
||||||
|
* French manpage update (Alban VIDAL)
|
||||||
|
* Fix manpage defaults for SUB_UID/GID_COUNT (Tomas Mraz)
|
||||||
|
* Sync po files from shadow.pot (Alban VIDAL)
|
||||||
|
* Usermod: guard against unsafe chown of homedir contents (Tomas Mraz)
|
||||||
|
* Add LASTLOG_UID_MAX to login.defs (Tomas Mraz)
|
||||||
|
* new[ug]idmap file capabilities support (Giuseppe Scrivano and Christian Brauner)
|
||||||
|
* Fix segfault in useradd (Tomas Mraz)
|
||||||
|
* Coverity issues (Tomas Mraz)
|
||||||
|
* Flush sssd caches (Jakub Hrozek)
|
||||||
|
* Log UID in nologin (Vladimir Ivanov)
|
||||||
|
* run pam_getenvlist after setup_env in su.c (Michael Vogt)
|
||||||
|
* Support systems with only utmpx (A. Wilcox)
|
||||||
|
* Fix unguarded ENABLE_SUBIDS code (Jan Chren (rindeal))
|
||||||
|
* Update po/zh_CN translation (Lion Yang)
|
||||||
|
* Create parent dirs for useradd -m (Michael Vetter)
|
||||||
|
* Prevent usermod segv
|
||||||
|
* Fix usermod crash (fariouche)
|
||||||
|
|
||||||
|
2018-04-29 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Release 4.6
|
||||||
|
* Newgrp: avoid unnecessary lookups
|
||||||
|
* Make language less binary
|
||||||
|
* Add error when turning off man switch
|
||||||
|
* Spelling fixes
|
||||||
|
* Make userdel work with -R
|
||||||
|
* newgidmap: enforce setgroups=deny if self-mapping a group
|
||||||
|
* Norwegian bokmål translation
|
||||||
|
* pwck: prevent crash by not passing O_CREAT
|
||||||
|
* WITH_TCB fixes from Mandriva
|
||||||
|
* Fix pwconv and grpconv entry skips
|
||||||
|
* Fix -- slurping in su
|
||||||
|
* add --prefix option
|
||||||
|
|
||||||
|
2017-07-16 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Import new Dutch translations.
|
||||||
|
|
||||||
|
2017-07-10 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Expand error codes for groupmod.
|
||||||
|
|
||||||
|
2017-05-17 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Release 4.5
|
||||||
|
|
||||||
|
2017-05-17 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Patch from Tobias Stoeckmann fixing regression in previous CVE fix
|
||||||
|
preventing SIGTERM to su from being propagated to the job.
|
||||||
|
* Patch from Chris Lamb making sp_lstchg shadow field reproducible.
|
||||||
|
* Merge Russian translation updates from Yuri Kozlov
|
||||||
|
* Fix missing close of subuid file on error
|
||||||
|
|
||||||
|
2017-02-23 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Merge patch by Tobias Stoeckmann <tobias@stoeckmann.org> to fix
|
||||||
|
the equivalent of util-linux CVE-2017-2616.
|
||||||
|
|
||||||
|
2017-02-08 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Update Kazakh translations
|
||||||
|
* Consult configuration before calculating subuids
|
||||||
|
* Remove misplaced semicolon
|
||||||
|
|
||||||
|
2017-01-29 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Patch from Fedora to improve performance with SSSD, Winbind,
|
||||||
|
or nss_ldap. (Tomas Mraz)
|
||||||
|
* Make sure knowndef_table is NULL-terminated. (Bernhard Rosenkränzer)
|
||||||
|
|
||||||
|
2016-12-21 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Drop leading underscore from _COMMONIO_H and _SHADOWIO_H
|
||||||
|
* Fix readability in usermod error messages.
|
||||||
|
* Reset user in tallylog
|
||||||
|
* Add audit support to su
|
||||||
|
|
||||||
|
2016-12-02 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* changes since 4.4
|
||||||
|
- Use sizeof rather than hardcoding snprintf args
|
||||||
|
- Fix useradd improper default loading
|
||||||
|
- Update Vietnamese translations
|
||||||
|
- Update Polish translations
|
||||||
|
- Remove non-POSIX chmod option in Makefile
|
||||||
|
- Fix suidubins assignments
|
||||||
|
- Fix --add-subuids etc spelling in manpages
|
||||||
|
- Audit homedir ownership change.
|
||||||
|
- Print error on selinux file context update failure
|
||||||
|
- Keep original file perms when creating a backup
|
||||||
|
|
||||||
|
* (henceforth we'll update Changelog with each commit
|
||||||
|
and proper credit)
|
||||||
|
|
||||||
|
2016-12-02 Serge Hallyn <serge@hallyn.com>
|
||||||
|
|
||||||
|
* Changes since 4.2.1:
|
||||||
|
- Documentation, error report and translations updates
|
||||||
|
- Replace path_max with 32
|
||||||
|
- User namespace support fixes/updates including:
|
||||||
|
- Correct sanity checks in newXidmap
|
||||||
|
- Fix building without subuid support
|
||||||
|
- Add /etc/subuid support for UID matching
|
||||||
|
- Support subuid for nonlocal users
|
||||||
|
- Default to 65536 subuid allocations
|
||||||
|
- Respect -r
|
||||||
|
- Check for range overflows
|
||||||
|
- Add tests from svn tree
|
||||||
|
- Use AC_CHECK_SIZEOF for uid_t size checks
|
||||||
|
- Accomodate missing /etc and login.defs
|
||||||
|
- Support FORCE_SHADOW
|
||||||
|
- Be more robust in hostile environment
|
||||||
|
- Allow removing a primary group
|
||||||
|
- Clear passwords on __pw_dup errors
|
||||||
|
- Memory leak fix in commonio_update and get_map_ranges
|
||||||
|
- Fix resource leak in syslog_sg
|
||||||
|
- Fix user busy error at userdel
|
||||||
|
- Support set/clear lastlog record via lastlog command
|
||||||
|
- Add --no-create-home as longopt for -M
|
||||||
|
- Fix signal races
|
||||||
|
- Reduce syslog priority of common usage events
|
||||||
|
|
||||||
2013-08-25 Nicolas François <nicolas.francois@centraliens.net>
|
2013-08-25 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* src/vipw.c: After waitpid(), use errno only if waitpid returned
|
* src/vipw.c: After waitpid(), use errno only if waitpid returned
|
||||||
@@ -84,7 +443,7 @@
|
|||||||
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* src/usermod.c: Check early if /etc/subuid (/etc/subgid) exists
|
* src/usermod.c: Check early if /etc/subuid (/etc/subgid) exists
|
||||||
when option -v/-V (-w/-W) are provided.
|
when option -v/-V (-w/-W) are provided.
|
||||||
|
|
||||||
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
@@ -461,8 +820,8 @@
|
|||||||
|
|
||||||
* configure.in: Prepare for next point release 4.2.
|
* configure.in: Prepare for next point release 4.2.
|
||||||
* if using the static char* for pw_dir, strdup it so
|
* if using the static char* for pw_dir, strdup it so
|
||||||
pw_free() can be used. (Closes: Debian#691459, alioth#313957)
|
pw_free() can be used. (Closes: Debian#691459, alioth#313957)
|
||||||
* Kill the child process group, rather than just the
|
* Kill the child process group, rather than just the
|
||||||
immediate child; this is needed now that su no
|
immediate child; this is needed now that su no
|
||||||
longer starts a controlling terminal when not running an
|
longer starts a controlling terminal when not running an
|
||||||
interactive shell (closes: Debian#713979)
|
interactive shell (closes: Debian#713979)
|
||||||
@@ -689,7 +1048,7 @@
|
|||||||
|
|
||||||
* po/pt.po: Updated to 557t.
|
* po/pt.po: Updated to 557t.
|
||||||
|
|
||||||
2012-01-19 Holger Wansing <linux@wansing-online.de>
|
2012-01-19 Holger Wansing <linux@wansing-online.de>
|
||||||
|
|
||||||
* po/de.po: Updated to 557t.
|
* po/de.po: Updated to 557t.
|
||||||
|
|
||||||
@@ -1276,8 +1635,8 @@
|
|||||||
* NEWS, src/chpasswd.c: Create a shadow entry if the password is
|
* NEWS, src/chpasswd.c: Create a shadow entry if the password is
|
||||||
set to 'x' in passwd and there are no entry in shadow for the
|
set to 'x' in passwd and there are no entry in shadow for the
|
||||||
user.
|
user.
|
||||||
* NEWS, src/chgpasswd.c: Create a gshadow entry if the password is
|
* NEWS, src/chgpasswd.c: Create a gshadow entry if the password is
|
||||||
set to 'x' in group and there are no entry in gshadow for the
|
set to 'x' in group and there are no entry in gshadow for the
|
||||||
group.
|
group.
|
||||||
|
|
||||||
2011-07-28 Nicolas François <nicolas.francois@centraliens.net>
|
2011-07-28 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
@@ -1349,7 +1708,7 @@
|
|||||||
2011-07-22 Nicolas François <nicolas.francois@centraliens.net>
|
2011-07-22 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Fail in case of
|
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Fail in case of
|
||||||
invalid configuration.
|
invalid configuration.
|
||||||
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Updated
|
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Updated
|
||||||
comments.
|
comments.
|
||||||
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Be more strict
|
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Be more strict
|
||||||
@@ -1586,7 +1945,7 @@
|
|||||||
man/login.defs.d/DEFAULT_HOME.xml,
|
man/login.defs.d/DEFAULT_HOME.xml,
|
||||||
man/login.defs.d/LOGIN_RETRIES.xml,
|
man/login.defs.d/LOGIN_RETRIES.xml,
|
||||||
man/login.defs.d/MD5_CRYPT_ENAB.xml,
|
man/login.defs.d/MD5_CRYPT_ENAB.xml,
|
||||||
man/login.defs.d/PORTTIME_CHECKS_ENAB.xml,
|
man/login.defs.d/PORTTIME_CHECKS_ENAB.xml,
|
||||||
man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml:
|
man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml:
|
||||||
Fix typos
|
Fix typos
|
||||||
* man/po/de.po: German translation of manpages completed
|
* man/po/de.po: German translation of manpages completed
|
||||||
@@ -1633,7 +1992,7 @@
|
|||||||
|
|
||||||
2011-03-30 YunQiang Su <wzssyqa@gmail.com>
|
2011-03-30 YunQiang Su <wzssyqa@gmail.com>
|
||||||
|
|
||||||
* man/po/zh_CN.po: convert Simplified Chinese translation
|
* man/po/zh_CN.po: convert Simplified Chinese translation
|
||||||
of manpages to gettext
|
of manpages to gettext
|
||||||
* po/zh_CN.po: Simplified Chinese translation completed
|
* po/zh_CN.po: Simplified Chinese translation completed
|
||||||
|
|
||||||
@@ -1772,7 +2131,7 @@
|
|||||||
boolean. safe_system last argument is a boolean.
|
boolean. safe_system last argument is a boolean.
|
||||||
* libmisc/system.c: Check return value of dup2.
|
* libmisc/system.c: Check return value of dup2.
|
||||||
* libmisc/system.c: Do not check *printf/*puts return value.
|
* libmisc/system.c: Do not check *printf/*puts return value.
|
||||||
* libmisc/system.c: Do not check execve return value.
|
* libmisc/system.c: Do not check execve return value.
|
||||||
* libmisc/salt.c: Do not check *printf/*puts return value.
|
* libmisc/salt.c: Do not check *printf/*puts return value.
|
||||||
* libmisc/loginprompt.c: Do not check gethostname return value.
|
* libmisc/loginprompt.c: Do not check gethostname return value.
|
||||||
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Do not check
|
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Do not check
|
||||||
@@ -1925,7 +2284,7 @@
|
|||||||
2010-04-04 Nicolas François <nicolas.francois@centraliens.net>
|
2010-04-04 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* src/useradd.c: spool is a constant string.
|
* src/useradd.c: spool is a constant string.
|
||||||
* src/useradd.c: Set the new copy_tree's paramater 'copy_root' to false
|
* src/useradd.c: Set the new copy_tree's paramater 'copy_root' to false
|
||||||
|
|
||||||
2010-04-04 Nicolas François <nicolas.francois@centraliens.net>
|
2010-04-04 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
@@ -4774,7 +5133,7 @@
|
|||||||
<sgrubb@redhat.com>
|
<sgrubb@redhat.com>
|
||||||
* src/groupadd.c: Log to audit with type AUDIT_ADD_GROUP instead
|
* src/groupadd.c: Log to audit with type AUDIT_ADD_GROUP instead
|
||||||
of AUDIT_USER_CHAUTHTOK.
|
of AUDIT_USER_CHAUTHTOK.
|
||||||
* src/groupdel.c: Log to audit with type AUDIT_DEL_GROUP instead
|
* src/groupdel.c: Log to audit with type AUDIT_DEL_GROUP instead
|
||||||
of AUDIT_USER_CHAUTHTOK.
|
of AUDIT_USER_CHAUTHTOK.
|
||||||
* src/useradd.c: Log to audit with type AUDIT_ADD_USER /
|
* src/useradd.c: Log to audit with type AUDIT_ADD_USER /
|
||||||
AUDIT_ADD_GROUP / AUDIT_USYS_CONFIG instead of
|
AUDIT_ADD_GROUP / AUDIT_USYS_CONFIG instead of
|
||||||
@@ -5030,7 +5389,7 @@
|
|||||||
* NEWS, src/gpasswd.c: Use getopt_long instead of getopt. Added
|
* NEWS, src/gpasswd.c: Use getopt_long instead of getopt. Added
|
||||||
support for long options --add (-a), --delete (-d),
|
support for long options --add (-a), --delete (-d),
|
||||||
--remove-password (-r), --restrict (-R), --administrators (-A),
|
--remove-password (-r), --restrict (-R), --administrators (-A),
|
||||||
and --members (-M)
|
and --members (-M)
|
||||||
* man/gpasswd.1.xml: Document the new long options.
|
* man/gpasswd.1.xml: Document the new long options.
|
||||||
* src/gpasswd.c: The sgrp structure is only used if SHADOWGRP is
|
* src/gpasswd.c: The sgrp structure is only used if SHADOWGRP is
|
||||||
defined.
|
defined.
|
||||||
@@ -7219,7 +7578,7 @@
|
|||||||
to mimic useradd's behavior choices of UID and GID.
|
to mimic useradd's behavior choices of UID and GID.
|
||||||
* src/newusers.c: Reuse the generic find_new_uid() and
|
* src/newusers.c: Reuse the generic find_new_uid() and
|
||||||
find_new_gid() functions. This permits to respect the
|
find_new_gid() functions. This permits to respect the
|
||||||
UID_MIN/UID_MAX and GID_MIN/GID_MAX variables, should
|
UID_MIN/UID_MAX and GID_MIN/GID_MAX variables, should
|
||||||
* src/newusers.c: Check if the user or group exist using the
|
* src/newusers.c: Check if the user or group exist using the
|
||||||
external databases (with the libc getpwnam/getgrnam functions).
|
external databases (with the libc getpwnam/getgrnam functions).
|
||||||
Refuse to update an user which exist in an external database but
|
Refuse to update an user which exist in an external database but
|
||||||
@@ -9016,7 +9375,7 @@
|
|||||||
Debian's patch 202_it_man_uses_gettext. Thanks to Giuseppe
|
Debian's patch 202_it_man_uses_gettext. Thanks to Giuseppe
|
||||||
Sacco who contributed the Italian translation.
|
Sacco who contributed the Italian translation.
|
||||||
* man/de/de.po: (nearly) complete German translation of man pages
|
* man/de/de.po: (nearly) complete German translation of man pages
|
||||||
Imported from Debian's patch 203_de-man-update. Thanks to
|
Imported from Debian's patch 203_de-man-update. Thanks to
|
||||||
Simon Brandmair
|
Simon Brandmair
|
||||||
* src/usermod.c: Clarify the online help of usermod for "-a"
|
* src/usermod.c: Clarify the online help of usermod for "-a"
|
||||||
Imported from Debian's patch 402-clarify_usermod_usage
|
Imported from Debian's patch 402-clarify_usermod_usage
|
||||||
@@ -9199,7 +9558,7 @@
|
|||||||
* NEWS: release date corrected.
|
* NEWS: release date corrected.
|
||||||
|
|
||||||
* NEWS, src/su.c:
|
* NEWS, src/su.c:
|
||||||
fixed set enviroment too early when using PAM, so move it to !USE_PAM
|
fixed set environment too early when using PAM, so move it to !USE_PAM
|
||||||
(patch submitted by Mike Frysinger <vapier@gentoo.org>).
|
(patch submitted by Mike Frysinger <vapier@gentoo.org>).
|
||||||
|
|
||||||
2006-07-30 Tomasz Kłoczko <kloczek@pld.org.pl>
|
2006-07-30 Tomasz Kłoczko <kloczek@pld.org.pl>
|
||||||
@@ -9886,7 +10245,7 @@
|
|||||||
* NEWS: cleanups.
|
* NEWS: cleanups.
|
||||||
|
|
||||||
* autogen.sh:
|
* autogen.sh:
|
||||||
by default in development enviroment use CFLAGS="-O2 -Wall".
|
by default in development environment use CFLAGS="-O2 -Wall".
|
||||||
|
|
||||||
* src/chgpasswd.c (main): remove two unused variables (newgr and now).
|
* src/chgpasswd.c (main): remove two unused variables (newgr and now).
|
||||||
|
|
||||||
@@ -11295,7 +11654,7 @@
|
|||||||
in OPTIONS section). Describe -a and -k options.
|
in OPTIONS section). Describe -a and -k options.
|
||||||
|
|
||||||
* NEWS, src/su.c:
|
* NEWS, src/su.c:
|
||||||
fixed twice copy enviroment which causes auth problems (bug was introduced in 4.0.12;
|
fixed twice copy environment which causes auth problems (bug was introduced in 4.0.12;
|
||||||
fix by Nicolas François <nicolas.francois@centraliens.net>).
|
fix by Nicolas François <nicolas.francois@centraliens.net>).
|
||||||
|
|
||||||
* src/passwd.c, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po:
|
* src/passwd.c, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po:
|
||||||
@@ -12225,7 +12584,7 @@
|
|||||||
http://bugs.debian.org/48002
|
http://bugs.debian.org/48002
|
||||||
|
|
||||||
* src/login.c, NEWS:
|
* src/login.c, NEWS:
|
||||||
fixed loggin of username on succesful login (was using the normal username,
|
fixed loggin of username on successful login (was using the normal username,
|
||||||
when it should have used pam_user) http://bugs.debian.org/47819
|
when it should have used pam_user) http://bugs.debian.org/47819
|
||||||
|
|
||||||
2005-06-02 Tomasz Kłoczko <kloczek@pld.org.pl>
|
2005-06-02 Tomasz Kłoczko <kloczek@pld.org.pl>
|
||||||
@@ -12670,7 +13029,7 @@
|
|||||||
* man/pl/usermod.8: finish sync with english version.
|
* man/pl/usermod.8: finish sync with english version.
|
||||||
|
|
||||||
* man/hu/login.1, man/pl/login.1, NEWS, man/Attic/login.1, man/de/login.1:
|
* man/hu/login.1, man/pl/login.1, NEWS, man/Attic/login.1, man/de/login.1:
|
||||||
removed fragment about abilities pass enviroment variables in login prompt.
|
removed fragment about abilities pass environment variables in login prompt.
|
||||||
|
|
||||||
* man/Attic/gpasswd.1, man/Attic/newgrp.1:
|
* man/Attic/gpasswd.1, man/Attic/newgrp.1:
|
||||||
fixes by Nicolas Nicolas François <nicolas.francois@centraliens.net> (not all
|
fixes by Nicolas Nicolas François <nicolas.francois@centraliens.net> (not all
|
||||||
@@ -13149,7 +13508,7 @@
|
|||||||
removed not used translations.
|
removed not used translations.
|
||||||
|
|
||||||
* NEWS, src/su.c:
|
* NEWS, src/su.c:
|
||||||
fix adding of pam_env env variables to enviroment (Martin Schlemmer <azarah@nosferatu.za.org>).
|
fix adding of pam_env env variables to environment (Martin Schlemmer <azarah@nosferatu.za.org>).
|
||||||
|
|
||||||
* NEWS, configure.in:
|
* NEWS, configure.in:
|
||||||
fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables which was allways
|
fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables which was allways
|
||||||
@@ -13246,7 +13605,7 @@
|
|||||||
|
|
||||||
* NEWS, src/su.c:
|
* NEWS, src/su.c:
|
||||||
add pam_open_session() support. If builded without PAM support
|
add pam_open_session() support. If builded without PAM support
|
||||||
propagate $DISPLAY and $XAUTHORITY enviroment variables.
|
propagate $DISPLAY and $XAUTHORITY environment variables.
|
||||||
Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1
|
Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1
|
||||||
|
|
||||||
2004-10-23 Tomasz Kłoczko <kloczek@pld.org.pl>
|
2004-10-23 Tomasz Kłoczko <kloczek@pld.org.pl>
|
||||||
|
|||||||
29
Makefile.am
29
Makefile.am
@@ -1,8 +1,29 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
EXTRA_DIST = NEWS README TODO shadow.spec.in
|
EXTRA_DIST = NEWS README
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign
|
SUBDIRS = lib
|
||||||
|
|
||||||
SUBDIRS = po man libmisc lib src \
|
if ENABLE_SUBIDS
|
||||||
contrib doc etc
|
SUBDIRS += libsubid
|
||||||
|
endif
|
||||||
|
|
||||||
|
SUBDIRS += src po contrib doc etc tests/unit
|
||||||
|
|
||||||
|
if ENABLE_REGENERATE_MAN
|
||||||
|
SUBDIRS += man
|
||||||
|
endif
|
||||||
|
|
||||||
|
CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo
|
||||||
|
|
||||||
|
EXTRA_DIST = tests/
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
chmod -R u+w $(distdir)/tests
|
||||||
|
chmod u+w $(distdir)
|
||||||
|
mv $(distdir)/tests/unit $(distdir)/realunittest
|
||||||
|
mv $(distdir)/tests/tests $(distdir)/realtests
|
||||||
|
rm -rf $(distdir)/tests
|
||||||
|
mv $(distdir)/realtests $(distdir)/tests
|
||||||
|
rm -rf $(distdir)/tests/unit $(distdir)/tests/Makefile*
|
||||||
|
mv $(distdir)/realunittest $(distdir)/tests/unit
|
||||||
|
|||||||
905
Makefile.in
Normal file
905
Makefile.in
Normal file
@@ -0,0 +1,905 @@
|
|||||||
|
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
am__is_gnu_make = { \
|
||||||
|
if test -z '$(MAKELEVEL)'; then \
|
||||||
|
false; \
|
||||||
|
elif test -n '$(MAKE_HOST)'; then \
|
||||||
|
true; \
|
||||||
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||||
|
true; \
|
||||||
|
else \
|
||||||
|
false; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
am__make_running_with_option = \
|
||||||
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
|
case $$MAKEFLAGS in \
|
||||||
|
*\\[\ \ ]*) \
|
||||||
|
bs=\\; \
|
||||||
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
|
esac; \
|
||||||
|
fi; \
|
||||||
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
@ENABLE_SUBIDS_TRUE@am__append_1 = libsubid
|
||||||
|
@ENABLE_REGENERATE_MAN_TRUE@am__append_2 = man
|
||||||
|
subdir = .
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
|
||||||
|
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
|
||||||
|
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||||
|
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
|
||||||
|
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||||
|
$(am__configure_deps) $(am__DIST_COMMON)
|
||||||
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
configure.lineno config.status.lineno
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = config.h
|
||||||
|
CONFIG_CLEAN_FILES = man/po/Makefile
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
|
SOURCES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||||
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||||
|
install-data-recursive install-dvi-recursive \
|
||||||
|
install-exec-recursive install-html-recursive \
|
||||||
|
install-info-recursive install-pdf-recursive \
|
||||||
|
install-ps-recursive install-recursive installcheck-recursive \
|
||||||
|
installdirs-recursive pdf-recursive ps-recursive \
|
||||||
|
tags-recursive uninstall-recursive
|
||||||
|
am__can_run_installinfo = \
|
||||||
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
|
n|no|NO) false;; \
|
||||||
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
|
esac
|
||||||
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
|
distclean-recursive maintainer-clean-recursive
|
||||||
|
am__recursive_targets = \
|
||||||
|
$(RECURSIVE_TARGETS) \
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
|
$(am__extra_recursive_targets)
|
||||||
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
|
cscope distdir distdir-am dist dist-all distcheck
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
||||||
|
config.h.in
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
|
DIST_SUBDIRS = lib libsubid src po contrib doc etc tests/unit man
|
||||||
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||||
|
$(top_srcdir)/man/po/Makefile.in ABOUT-NLS AUTHORS.md COPYING \
|
||||||
|
ChangeLog NEWS README compile config.guess config.rpath \
|
||||||
|
config.sub install-sh ltmain.sh missing
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
am__remove_distdir = \
|
||||||
|
if test -d "$(distdir)"; then \
|
||||||
|
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||||
|
&& rm -rf "$(distdir)" \
|
||||||
|
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||||
|
else :; fi
|
||||||
|
am__post_remove_distdir = $(am__remove_distdir)
|
||||||
|
am__relativize = \
|
||||||
|
dir0=`pwd`; \
|
||||||
|
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||||
|
sed_rest='s,^[^/]*/*,,'; \
|
||||||
|
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||||
|
sed_butlast='s,/*[^/]*$$,,'; \
|
||||||
|
while test -n "$$dir1"; do \
|
||||||
|
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first" != "."; then \
|
||||||
|
if test "$$first" = ".."; then \
|
||||||
|
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||||
|
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||||
|
else \
|
||||||
|
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first2" = "$$first"; then \
|
||||||
|
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||||
|
else \
|
||||||
|
dir2="../$$dir2"; \
|
||||||
|
fi; \
|
||||||
|
dir0="$$dir0"/"$$first"; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||||
|
done; \
|
||||||
|
reldir="$$dir2"
|
||||||
|
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
|
||||||
|
GZIP_ENV = --best
|
||||||
|
DIST_TARGETS = dist-xz dist-gzip
|
||||||
|
# Exists only to be overridden by the user if desired.
|
||||||
|
AM_DISTCHECK_DVI_TARGET = dvi
|
||||||
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||||
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CMOCKA_CFLAGS = @CMOCKA_CFLAGS@
|
||||||
|
CMOCKA_LIBS = @CMOCKA_LIBS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CSCOPE = @CSCOPE@
|
||||||
|
CTAGS = @CTAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
DSYMUTIL = @DSYMUTIL@
|
||||||
|
DUMPBIN = @DUMPBIN@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FGREP = @FGREP@
|
||||||
|
FILECMD = @FILECMD@
|
||||||
|
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||||
|
GMSGFMT = @GMSGFMT@
|
||||||
|
GMSGFMT_015 = @GMSGFMT_015@
|
||||||
|
GREP = @GREP@
|
||||||
|
GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
INTLLIBS = @INTLLIBS@
|
||||||
|
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||||
|
LD = @LD@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBACL = @LIBACL@
|
||||||
|
LIBADD_DL = @LIBADD_DL@
|
||||||
|
LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
|
||||||
|
LIBADD_DLOPEN = @LIBADD_DLOPEN@
|
||||||
|
LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
|
||||||
|
LIBATTR = @LIBATTR@
|
||||||
|
LIBAUDIT = @LIBAUDIT@
|
||||||
|
LIBBSD = @LIBBSD@
|
||||||
|
LIBBSD_CFLAGS = @LIBBSD_CFLAGS@
|
||||||
|
LIBBSD_LIBS = @LIBBSD_LIBS@
|
||||||
|
LIBCRYPT = @LIBCRYPT@
|
||||||
|
LIBECONF = @LIBECONF@
|
||||||
|
LIBICONV = @LIBICONV@
|
||||||
|
LIBINTL = @LIBINTL@
|
||||||
|
LIBMD = @LIBMD@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBPAM = @LIBPAM@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBSELINUX = @LIBSELINUX@
|
||||||
|
LIBSEMANAGE = @LIBSEMANAGE@
|
||||||
|
LIBSKEY = @LIBSKEY@
|
||||||
|
LIBSUBID_ABI = @LIBSUBID_ABI@
|
||||||
|
LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
|
||||||
|
LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
|
||||||
|
LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
|
||||||
|
LIBSYSTEMD = @LIBSYSTEMD@
|
||||||
|
LIBTCB = @LIBTCB@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LIPO = @LIPO@
|
||||||
|
LIYESCRYPT = @LIYESCRYPT@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBICONV = @LTLIBICONV@
|
||||||
|
LTLIBINTL = @LTLIBINTL@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
LT_DLLOADERS = @LT_DLLOADERS@
|
||||||
|
LT_DLPREOPEN = @LT_DLPREOPEN@
|
||||||
|
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
MSGFMT = @MSGFMT@
|
||||||
|
MSGFMT_015 = @MSGFMT_015@
|
||||||
|
MSGMERGE = @MSGMERGE@
|
||||||
|
NM = @NM@
|
||||||
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PKG_CONFIG = @PKG_CONFIG@
|
||||||
|
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||||
|
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||||
|
POSUB = @POSUB@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SED = @SED@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VENDORDIR = @VENDORDIR@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||||
|
XMLCATALOG = @XMLCATALOG@
|
||||||
|
XML_CATALOG_FILE = @XML_CATALOG_FILE@
|
||||||
|
XSLTPROC = @XSLTPROC@
|
||||||
|
YACC = @YACC@
|
||||||
|
YFLAGS = @YFLAGS@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
|
capcmd = @capcmd@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
runstatedir = @runstatedir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
EXTRA_DIST = tests/
|
||||||
|
SUBDIRS = lib $(am__append_1) src po contrib doc etc tests/unit \
|
||||||
|
$(am__append_2)
|
||||||
|
CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo
|
||||||
|
all: config.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
am--refresh: Makefile
|
||||||
|
@:
|
||||||
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||||
|
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||||
|
&& exit 0; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --foreign Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
echo ' $(SHELL) ./config.status'; \
|
||||||
|
$(SHELL) ./config.status;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
|
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||||
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
|
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
|
config.h: stamp-h1
|
||||||
|
@test -f $@ || rm -f stamp-h1
|
||||||
|
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
||||||
|
|
||||||
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
|
@rm -f stamp-h1
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||||
|
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
|
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||||
|
rm -f stamp-h1
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f config.h stamp-h1
|
||||||
|
man/po/Makefile: $(top_builddir)/config.status $(top_srcdir)/man/po/Makefile.in
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
|
||||||
|
distclean-libtool:
|
||||||
|
-rm -f libtool config.lt
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run 'make' without going through this Makefile.
|
||||||
|
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||||
|
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||||
|
$(am__recursive_targets):
|
||||||
|
@fail=; \
|
||||||
|
if $(am__make_keepgoing); then \
|
||||||
|
failcom='fail=yes'; \
|
||||||
|
else \
|
||||||
|
failcom='exit 1'; \
|
||||||
|
fi; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
case "$@" in \
|
||||||
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||||
|
*) list='$(SUBDIRS)' ;; \
|
||||||
|
esac; \
|
||||||
|
for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
ID: $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
|
tags: tags-recursive
|
||||||
|
TAGS: tags
|
||||||
|
|
||||||
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
set x; \
|
||||||
|
here=`pwd`; \
|
||||||
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
|
include_option=--etags-include; \
|
||||||
|
empty_fix=.; \
|
||||||
|
else \
|
||||||
|
include_option=--include; \
|
||||||
|
empty_fix=; \
|
||||||
|
fi; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test ! -f $$subdir/TAGS || \
|
||||||
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
shift; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
if test $$# -gt 0; then \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
"$$@" $$unique; \
|
||||||
|
else \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$unique; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
ctags: ctags-recursive
|
||||||
|
|
||||||
|
CTAGS: ctags
|
||||||
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& $(am__cd) $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
cscope: cscope.files
|
||||||
|
test ! -s cscope.files \
|
||||||
|
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||||
|
clean-cscope:
|
||||||
|
-rm -f cscope.files
|
||||||
|
cscope.files: clean-cscope cscopelist
|
||||||
|
cscopelist: cscopelist-recursive
|
||||||
|
|
||||||
|
cscopelist-am: $(am__tagged_files)
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
case "$(srcdir)" in \
|
||||||
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
|
esac; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f "$$i"; then \
|
||||||
|
echo "$(subdir)/$$i"; \
|
||||||
|
else \
|
||||||
|
echo "$$sdir/$$i"; \
|
||||||
|
fi; \
|
||||||
|
done >> $(top_builddir)/cscope.files
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
$(am__make_dryrun) \
|
||||||
|
|| test -d "$(distdir)/$$subdir" \
|
||||||
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||||
|
|| exit 1; \
|
||||||
|
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_distdir=$$reldir; \
|
||||||
|
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_top_distdir=$$reldir; \
|
||||||
|
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||||
|
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||||
|
($(am__cd) $$subdir && \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$$new_top_distdir" \
|
||||||
|
distdir="$$new_distdir" \
|
||||||
|
am__remove_distdir=: \
|
||||||
|
am__skip_length_check=: \
|
||||||
|
am__skip_mode_fix=: \
|
||||||
|
distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||||
|
dist-hook
|
||||||
|
-test -n "$(am__skip_mode_fix)" \
|
||||||
|
|| find "$(distdir)" -type d ! -perm -755 \
|
||||||
|
-exec chmod u+rwx,go+rx {} \; -o \
|
||||||
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|
|| chmod -R a+r "$(distdir)"
|
||||||
|
dist-gzip: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-bzip2: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-lzip: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
dist-xz: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-zstd: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-tarZ: distdir
|
||||||
|
@echo WARNING: "Support for distribution archives compressed with" \
|
||||||
|
"legacy program 'compress' is deprecated." >&2
|
||||||
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-shar: distdir
|
||||||
|
@echo WARNING: "Support for shar distribution archives is" \
|
||||||
|
"deprecated." >&2
|
||||||
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
|
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-zip: distdir
|
||||||
|
-rm -f $(distdir).zip
|
||||||
|
zip -rq $(distdir).zip $(distdir)
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist dist-all:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
case '$(DIST_ARCHIVES)' in \
|
||||||
|
*.tar.gz*) \
|
||||||
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
|
*.tar.bz2*) \
|
||||||
|
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
|
*.tar.lz*) \
|
||||||
|
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||||
|
*.tar.xz*) \
|
||||||
|
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||||
|
*.tar.Z*) \
|
||||||
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
|
*.shar.gz*) \
|
||||||
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||||
|
*.zip*) \
|
||||||
|
unzip $(distdir).zip ;;\
|
||||||
|
*.tar.zst*) \
|
||||||
|
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
||||||
|
esac
|
||||||
|
chmod -R a-w $(distdir)
|
||||||
|
chmod u+w $(distdir)
|
||||||
|
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
||||||
|
chmod a-w $(distdir)
|
||||||
|
test -d $(distdir)/_build || exit 0; \
|
||||||
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||||
|
&& am__cwd=`pwd` \
|
||||||
|
&& $(am__cd) $(distdir)/_build/sub \
|
||||||
|
&& ../../configure \
|
||||||
|
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
|
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||||
|
distuninstallcheck \
|
||||||
|
&& chmod -R a-w "$$dc_install_base" \
|
||||||
|
&& ({ \
|
||||||
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||||
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||||
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||||
|
&& rm -rf "$$dc_destdir" \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||||
|
&& rm -rf $(DIST_ARCHIVES) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||||
|
&& cd "$$am__cwd" \
|
||||||
|
|| exit 1
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
@(echo "$(distdir) archives ready for distribution: "; \
|
||||||
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||||
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||||
|
distuninstallcheck:
|
||||||
|
@test -n '$(distuninstallcheck_dir)' || { \
|
||||||
|
echo 'ERROR: trying to run $@ with an empty' \
|
||||||
|
'$$(distuninstallcheck_dir)' >&2; \
|
||||||
|
exit 1; \
|
||||||
|
}; \
|
||||||
|
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||||
|
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||||
|
exit 1; \
|
||||||
|
}; \
|
||||||
|
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||||
|
|| { echo "ERROR: files left after uninstall:" ; \
|
||||||
|
if test -n "$(DESTDIR)"; then \
|
||||||
|
echo " (check DESTDIR support)"; \
|
||||||
|
fi ; \
|
||||||
|
$(distuninstallcheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
distcleancheck: distclean
|
||||||
|
@if test '$(srcdir)' = . ; then \
|
||||||
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
||||||
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||||
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||||
|
$(distcleancheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
all-am: Makefile config.h
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
install: install-recursive
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
install-data: install-data-recursive
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-strip:
|
||||||
|
if test -z '$(STRIP)'; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
install; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||||
|
fi
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||||
|
distclean-libtool distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-recursive
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-recursive
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-recursive
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-dvi: install-dvi-recursive
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-html: install-html-recursive
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-recursive
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-recursive
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-recursive
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-recursive
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-recursive
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am:
|
||||||
|
|
||||||
|
.MAKE: $(am__recursive_targets) all install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||||
|
am--refresh check check-am clean clean-cscope clean-generic \
|
||||||
|
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||||
|
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
|
||||||
|
dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
|
||||||
|
distclean-generic distclean-hdr distclean-libtool \
|
||||||
|
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||||
|
dvi-am html html-am info info-am install install-am \
|
||||||
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
|
install-exec install-exec-am install-html install-html-am \
|
||||||
|
install-info install-info-am install-man install-pdf \
|
||||||
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
|
installcheck installcheck-am installdirs installdirs-am \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
|
tags tags-am uninstall uninstall-am
|
||||||
|
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
chmod -R u+w $(distdir)/tests
|
||||||
|
chmod u+w $(distdir)
|
||||||
|
mv $(distdir)/tests/unit $(distdir)/realunittest
|
||||||
|
mv $(distdir)/tests/tests $(distdir)/realtests
|
||||||
|
rm -rf $(distdir)/tests
|
||||||
|
mv $(distdir)/realtests $(distdir)/tests
|
||||||
|
rm -rf $(distdir)/tests/unit $(distdir)/tests/Makefile*
|
||||||
|
mv $(distdir)/realunittest $(distdir)/tests/unit
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
172
NEWS
172
NEWS
@@ -15,7 +15,7 @@ shadow-4.1.5.1 -> shadow-4.2 UNRELEASED
|
|||||||
|
|
||||||
- su
|
- su
|
||||||
* When su receives a signal (SIGTERM, or SIGINT/SIGQUIT in non
|
* When su receives a signal (SIGTERM, or SIGINT/SIGQUIT in non
|
||||||
interactive mode), kill the child process group, rather than just the
|
interactive mode), kill the child process group, rather than just the
|
||||||
immediate child.
|
immediate child.
|
||||||
* Fix segmentation faults for users without a proper home or shell in
|
* Fix segmentation faults for users without a proper home or shell in
|
||||||
their passwd entries.
|
their passwd entries.
|
||||||
@@ -622,7 +622,7 @@ shadow-4.0.18.2 -> shadow-4.1.0 09-12-2007
|
|||||||
- Add support for uClibc with no l64a().
|
- Add support for uClibc with no l64a().
|
||||||
- userdel, usermod: Fix infinite loop caused by erroneous group file
|
- userdel, usermod: Fix infinite loop caused by erroneous group file
|
||||||
containing two entries with the same name. (The fix strategy differs
|
containing two entries with the same name. (The fix strategy differs
|
||||||
from
|
from
|
||||||
(https://bugzilla.redhat.com/show_bug.cgi?id=240915)
|
(https://bugzilla.redhat.com/show_bug.cgi?id=240915)
|
||||||
- userdel: Abort if an error is detected while updating the passwd or group
|
- userdel: Abort if an error is detected while updating the passwd or group
|
||||||
databases. The passwd or group files will not be written.
|
databases. The passwd or group files will not be written.
|
||||||
@@ -654,9 +654,9 @@ shadow-4.0.18.2 -> shadow-4.1.0 09-12-2007
|
|||||||
- Use MD5_CRYPT_ENAB, ENCRYPT_METHOD, SHA_CRYPT_MIN_ROUNDS, and
|
- Use MD5_CRYPT_ENAB, ENCRYPT_METHOD, SHA_CRYPT_MIN_ROUNDS, and
|
||||||
SHA_CRYPT_MAX_ROUNDS to define the default encryption algorithm for the
|
SHA_CRYPT_MAX_ROUNDS to define the default encryption algorithm for the
|
||||||
passwords.
|
passwords.
|
||||||
- chpaswd, chgpasswd, newusers: New options -c/--crypt-method and
|
- chpasswd, chgpasswd, newusers: New options -c/--crypt-method and
|
||||||
-s/--sha-rounds to supersede the system default encryption algorithm.
|
-s/--sha-rounds to supersede the system default encryption algorithm.
|
||||||
- chpaswd, chgpasswd, newusers: DES is no more the default algorithm. They
|
- chpasswd, chgpasswd, newusers: DES is no more the default algorithm. They
|
||||||
will respect the system default configured in /etc/login.defs
|
will respect the system default configured in /etc/login.defs
|
||||||
|
|
||||||
*** documentation:
|
*** documentation:
|
||||||
@@ -696,19 +696,19 @@ shadow-4.0.18 -> shadow-4.0.18.1 03-08-2006
|
|||||||
shadow-4.0.17 -> shadow-4.0.18 01-08-2006
|
shadow-4.0.17 -> shadow-4.0.18 01-08-2006
|
||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- su: fixed set enviroment too early when using PAM, so move it to !USE_PAM
|
- su: fixed set environment too early when using PAM, so move it to !USE_PAM
|
||||||
(patch submitted by Mike Frysinger <vapier@gentoo.org>),
|
(patch submitted by Mike Frysinger <vapier@gentoo.org>),
|
||||||
- groupadd, groupmod, useradd, usermod: fixed UID/GID overflow (fixed
|
- groupadd, groupmod, useradd, usermod: fixed UID/GID overflow (fixed
|
||||||
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=198920)
|
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=198920)
|
||||||
- passwd, useradd, usermod: fixed inactive/mindays/warndays/maxdays overflow
|
- passwd, useradd, usermod: fixed inactive/mindays/warndays/maxdays overflow
|
||||||
(simillar to RH#198920),
|
(similar to RH#198920),
|
||||||
- groupmems: rewrited for use PAM and getopt_long() and now it is enabled
|
- groupmems: rewritten for use PAM and getopt_long() and now it is enabled
|
||||||
for build and install (patch by George Kraft <gk4@swbell.net>),
|
for build and install (patch by George Kraft <gk4@swbell.net>),
|
||||||
- S/Key: removed assign getpass() to libshadow_getpass() on autoconf level
|
- S/Key: removed assign getpass() to libshadow_getpass() on autoconf level
|
||||||
(patch by Ulrich Mueller <ulm@kph.uni-mainz.de>; http://bugs.gentoo.org/139966),
|
(patch by Ulrich Mueller <ulm@kph.uni-mainz.de>; http://bugs.gentoo.org/139966),
|
||||||
- usermod: back to previous -a option semantics and clarify -a behavior
|
- usermod: back to previous -a option semantics and clarify -a behavior
|
||||||
on documentation level (by Greg Schafer <gschafer@zip.com.au>),
|
on documentation level (by Greg Schafer <gschafer@zip.com.au>),
|
||||||
- chsh, groupmod: rewrited for use getopt_long().
|
- chsh, groupmod: rewritten for use getopt_long().
|
||||||
- updated translations: ca, cs, da, eu, fr, gl, hu, ko, pl, pt, ru, sv, tr, uk, vi.
|
- updated translations: ca, cs, da, eu, fr, gl, hu, ko, pl, pt, ru, sv, tr, uk, vi.
|
||||||
*** documentation:
|
*** documentation:
|
||||||
- fr and ru man pages are up to date,
|
- fr and ru man pages are up to date,
|
||||||
@@ -743,7 +743,7 @@ shadow-4.0.15 -> shadow-4.0.16 05-06-2006
|
|||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- userdel: better fix for old CERT VU#312962 (which was fixed in shadow 4.0.8):
|
- userdel: better fix for old CERT VU#312962 (which was fixed in shadow 4.0.8):
|
||||||
fixed forgoten checking of the return value from fchown() before
|
fixed forgotten checking of the return value from fchown() before
|
||||||
proceeding with the fchmod() (based on Owl patch prepared by
|
proceeding with the fchmod() (based on Owl patch prepared by
|
||||||
Rafal Wojtczuk <nergal@owl.openwall.com>),
|
Rafal Wojtczuk <nergal@owl.openwall.com>),
|
||||||
- userdel: use login.defs::MAIL_DIR instead hardcoded /var/mail in created
|
- userdel: use login.defs::MAIL_DIR instead hardcoded /var/mail in created
|
||||||
@@ -755,7 +755,7 @@ shadow-4.0.15 -> shadow-4.0.16 05-06-2006
|
|||||||
passwords and libshadow_getpass() is used only because libc getpass()
|
passwords and libshadow_getpass() is used only because libc getpass()
|
||||||
do not handles password prompting with echo enabled,
|
do not handles password prompting with echo enabled,
|
||||||
- move login.defs::MD5_CRYPT_ENAB to non-PAM part,
|
- move login.defs::MD5_CRYPT_ENAB to non-PAM part,
|
||||||
- userdel: rewrited for use getopt_log(),
|
- userdel: rewritten for use getopt_log(),
|
||||||
- install default/template configuration files:
|
- install default/template configuration files:
|
||||||
-- if shadow is configured with use PAM install /etc/pam.d/* files,
|
-- if shadow is configured with use PAM install /etc/pam.d/* files,
|
||||||
-- if shadow do not uses PAM install /etc/{limits,login.acces} files,
|
-- if shadow do not uses PAM install /etc/{limits,login.acces} files,
|
||||||
@@ -793,7 +793,7 @@ shadow-4.0.15 -> shadow-4.0.16 05-06-2006
|
|||||||
- updated ru login.defs(5), passwd(1), userdel(8), usermod(8) man pages,
|
- updated ru login.defs(5), passwd(1), userdel(8), usermod(8) man pages,
|
||||||
- pw_auth(3) man page removed (outdated),
|
- pw_auth(3) man page removed (outdated),
|
||||||
- install limits(5), login.access(5) and porttime(5) man pages only when
|
- install limits(5), login.access(5) and porttime(5) man pages only when
|
||||||
shadow is builded with PAM support disabled,
|
shadow is built with PAM support disabled,
|
||||||
- passwd(1): better document how password strength is checked
|
- passwd(1): better document how password strength is checked
|
||||||
(fixed http://bugs.debian.org/115380),
|
(fixed http://bugs.debian.org/115380),
|
||||||
- usermod(8): added missing -a option description
|
- usermod(8): added missing -a option description
|
||||||
@@ -816,7 +816,7 @@ shadow-4.0.14 -> shadow-4.0.15 13-03-2006
|
|||||||
- login: default UMASK if not specified in login.defs is 022 (pointed by
|
- login: default UMASK if not specified in login.defs is 022 (pointed by
|
||||||
Peter Vrabec <pvrabec@redhat.com>),
|
Peter Vrabec <pvrabec@redhat.com>),
|
||||||
- chgpasswd: new tool (by Jonas Meurer <mejo@debian.org>),
|
- chgpasswd: new tool (by Jonas Meurer <mejo@debian.org>),
|
||||||
- lastlog: print the usage and exit if an additional argument is profided to
|
- lastlog: print the usage and exit if an additional argument is provided to
|
||||||
lastlog (merge 488_laslog_verify_arguments Debian patch),
|
lastlog (merge 488_laslog_verify_arguments Debian patch),
|
||||||
- login, newgrp, nologin, su: do not link with libselinux (merge
|
- login, newgrp, nologin, su: do not link with libselinux (merge
|
||||||
490_link_selinux_only_when_needed Debian patch),
|
490_link_selinux_only_when_needed Debian patch),
|
||||||
@@ -830,9 +830,9 @@ shadow-4.0.14 -> shadow-4.0.15 13-03-2006
|
|||||||
tries exceeded,
|
tries exceeded,
|
||||||
- always prints the number of tries in the syslog entry.
|
- always prints the number of tries in the syslog entry.
|
||||||
- add special handling for PAM_ABORT
|
- add special handling for PAM_ABORT
|
||||||
- add an entry to failog, as when USE_PAM is not defined. (#53164)
|
- add an entry to faillog, as when USE_PAM is not defined. (#53164)
|
||||||
- changed pam_end to PAM_END. This is certainly was a mistake. PAM_END is
|
- changed pam_end to PAM_END. This is certainly was a mistake. PAM_END is
|
||||||
pam_close_seesion + pam_end. Here, the session is still not open, we
|
pam_close_session + pam_end. Here, the session is still not open, we
|
||||||
don't have to close it.
|
don't have to close it.
|
||||||
- a HAVE_PAM_FAIL_DELAY is missing,
|
- a HAVE_PAM_FAIL_DELAY is missing,
|
||||||
- su: fixed pam session support (patch from Topi Miettinen; fixed #57526,
|
- su: fixed pam session support (patch from Topi Miettinen; fixed #57526,
|
||||||
@@ -840,7 +840,7 @@ shadow-4.0.14 -> shadow-4.0.15 13-03-2006
|
|||||||
- userdel: user's group is already removed by update_groups().
|
- userdel: user's group is already removed by update_groups().
|
||||||
remove_group() is not needed (bug introduced in 4.0.14 on merge FC fixes).
|
remove_group() is not needed (bug introduced in 4.0.14 on merge FC fixes).
|
||||||
Fixed by Nicolas François <nicolas.francois@centraliens.net>,
|
Fixed by Nicolas François <nicolas.francois@centraliens.net>,
|
||||||
- useradd: allways remove group and gshadow databases lock, Fixed by Nicolas
|
- useradd: always remove group and gshadow databases lock, Fixed by Nicolas
|
||||||
François <nicolas.francois@centraliens.net>
|
François <nicolas.francois@centraliens.net>
|
||||||
(http://bugs.debian.org/348250)
|
(http://bugs.debian.org/348250)
|
||||||
- auditing fixes:
|
- auditing fixes:
|
||||||
@@ -848,14 +848,14 @@ shadow-4.0.14 -> shadow-4.0.15 13-03-2006
|
|||||||
added audit_logger() prototype),
|
added audit_logger() prototype),
|
||||||
- useradd: fixed excess audit_logger() argument,
|
- useradd: fixed excess audit_logger() argument,
|
||||||
- chage: added missing \n on display password status if password must be
|
- chage: added missing \n on display password status if password must be
|
||||||
chaged,
|
changed,
|
||||||
- useradd: fixed allow non-unique UID (http://bugs.debian.org/351281),
|
- useradd: fixed allow non-unique UID (http://bugs.debian.org/351281),
|
||||||
- variouse code cleanups for make possible compilation of shadow with -Wall
|
- various code cleanups for make possible compilation of shadow with -Wall
|
||||||
-Werror (by Alexander Gattin <xrgtn@yandex.ru>),
|
-Werror (by Alexander Gattin <xrgtn@yandex.ru>),
|
||||||
- su: move exit() outside libmisc/shell.c::shell() for handle shell() errors
|
- su: move exit() outside libmisc/shell.c::shell() for handle shell() errors
|
||||||
on higher level (now is better visable where some programs exit with 126
|
on higher level (now is better visable where some programs exit with 126
|
||||||
and 127 exit codes); added new shell() parameter (char *const envp[])
|
and 127 exit codes); added new shell() parameter (char *const envp[])
|
||||||
which allow fix preserving enviloment in su on using -p, (patch by
|
which allow fix preserving environment in su on using -p, (patch by
|
||||||
Alexander Gattin <xrgtn@yandex.ru>),
|
Alexander Gattin <xrgtn@yandex.ru>),
|
||||||
- su: added handle -c,--command option for GNU su compliance (merge
|
- su: added handle -c,--command option for GNU su compliance (merge
|
||||||
437_su_-c_option Debian patch),
|
437_su_-c_option Debian patch),
|
||||||
@@ -903,7 +903,7 @@ shadow-4.0.13 -> shadow-4.0.14 03-01-2006
|
|||||||
- userdel: make the -f option force the removal of the user's group (even if it
|
- userdel: make the -f option force the removal of the user's group (even if it
|
||||||
is the primary group of another user)
|
is the primary group of another user)
|
||||||
(merge 453_userdel_-f_removes_group Debian patch),
|
(merge 453_userdel_-f_removes_group Debian patch),
|
||||||
- usermod: rewrited for use getopt_long() (Christian Perrier <bubulle@kheops.frmug.org>),
|
- usermod: rewritten for use getopt_long() (Christian Perrier <bubulle@kheops.frmug.org>),
|
||||||
- grpck: fixed segmentation fault on using -s when /etc/gshadow is empty (fix by
|
- grpck: fixed segmentation fault on using -s when /etc/gshadow is empty (fix by
|
||||||
Tomasz Lemiech <szpajder@staszic.waw.pl>),
|
Tomasz Lemiech <szpajder@staszic.waw.pl>),
|
||||||
- passwd: remove handle -f, -g and -s options.
|
- passwd: remove handle -f, -g and -s options.
|
||||||
@@ -912,7 +912,7 @@ shadow-4.0.13 -> shadow-4.0.14 03-01-2006
|
|||||||
Nicolas François <nicolas.francois@centraliens.net>)
|
Nicolas François <nicolas.francois@centraliens.net>)
|
||||||
- su: export $USER and $SHELL as well as $HOME (http://bugs.debian.org/11003 and
|
- su: export $USER and $SHELL as well as $HOME (http://bugs.debian.org/11003 and
|
||||||
http://bugs.debian.org/11189),
|
http://bugs.debian.org/11189),
|
||||||
- su, vipw: rewrited for use getopt_long(),
|
- su, vipw: rewritten for use getopt_long(),
|
||||||
- su: log successful/failed through syslog (http://bugs.debian.org/190215),
|
- su: log successful/failed through syslog (http://bugs.debian.org/190215),
|
||||||
- updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi,
|
- updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi,
|
||||||
- new translations: gl.
|
- new translations: gl.
|
||||||
@@ -946,7 +946,7 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005
|
|||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- chage: removed duplicated pam_start(),
|
- chage: removed duplicated pam_start(),
|
||||||
- chfn, chsh: finished PAM support usin pam_start() and co.,
|
- chfn, chsh: finished PAM support using pam_start() and co.,
|
||||||
- userdel: userdel should not remove the group which is primary for someone else
|
- userdel: userdel should not remove the group which is primary for someone else
|
||||||
(fix by Nicolas François <nicolas.francois@centraliens.net>
|
(fix by Nicolas François <nicolas.francois@centraliens.net>
|
||||||
http://bugs.debian.org/295416),
|
http://bugs.debian.org/295416),
|
||||||
@@ -955,7 +955,7 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005
|
|||||||
- fixedlib/commonio.c: don't assume selinux is enabled if is_selinux_enabled()
|
- fixedlib/commonio.c: don't assume selinux is enabled if is_selinux_enabled()
|
||||||
returns -1 (merge isSelinuxEnabled FC patch by Jeremy Katz <katzj@redhat.com>),
|
returns -1 (merge isSelinuxEnabled FC patch by Jeremy Katz <katzj@redhat.com>),
|
||||||
- login, su (non-PAM case): fixed setup max address space limits (added missing break
|
- login, su (non-PAM case): fixed setup max address space limits (added missing break
|
||||||
statement in case) spoted by Lasse Collin <lasse.collin@tukaani.org>,
|
statement in case) spotted by Lasse Collin <lasse.collin@tukaani.org>,
|
||||||
- auditing support added. Patch prepared by Peter Vrabec <pvrabec@redhat.com> basing
|
- auditing support added. Patch prepared by Peter Vrabec <pvrabec@redhat.com> basing
|
||||||
on work by Steve Grubb from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215
|
on work by Steve Grubb from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215
|
||||||
Now auditing support have commands: chage, gpasswd, groupadd, groupdel, groupmod,
|
Now auditing support have commands: chage, gpasswd, groupadd, groupdel, groupmod,
|
||||||
@@ -966,18 +966,18 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005
|
|||||||
to example described in ident(1) man page (modern compilers like latest GCC
|
to example described in ident(1) man page (modern compilers like latest GCC
|
||||||
removes not used functions by global optimization).
|
removes not used functions by global optimization).
|
||||||
So "ident /usr/bin/passwd" will show again some useable informations
|
So "ident /usr/bin/passwd" will show again some useable informations
|
||||||
- su: fixed twice copy enviroment which causes auth problems
|
- su: fixed twice copy environment which causes auth problems
|
||||||
(bug was introduced in 4.0.12; fix by Nicolas François <nicolas.francois@centraliens.net>),
|
(bug was introduced in 4.0.12; fix by Nicolas François <nicolas.francois@centraliens.net>),
|
||||||
- chage: differentiate the different failure causes by the exit value
|
- chage: differentiate the different failure causes by the exit value
|
||||||
This will permit to adduser Debian script to detect if chage failed because the
|
This will permit to adduser Debian script to detect if chage failed because the
|
||||||
system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012),
|
system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012),
|
||||||
- merge 010_more-i18ned-messages Debian patch which adds i18n support for few
|
- merge 010_more-i18ned-messages Debian patch which adds i18n support for few
|
||||||
more messages (orginaly patch was prepared by Guillem Jover <guillem@debian.org>),
|
more messages (originally patch was prepared by Guillem Jover <guillem@debian.org>),
|
||||||
- lastlog: added handle -b option which allow print only lastlog records older than
|
- lastlog: added handle -b option which allow print only lastlog records older than
|
||||||
specified DAYS (fix by <miles@lubin.us>),
|
specified DAYS (fix by <miles@lubin.us>),
|
||||||
- chpasswd, gpasswd, newusers: fixed libmisc/salt.c for use login.defs::MD5_CRYPT_ENAB
|
- chpasswd, gpasswd, newusers: fixed libmisc/salt.c for use login.defs::MD5_CRYPT_ENAB
|
||||||
only if PAM support is disabled (fix by John Gatewood Ham <zappaman@buraphalinux.org>),
|
only if PAM support is disabled (fix by John Gatewood Ham <zappaman@buraphalinux.org>),
|
||||||
- passwd: rewrited for use getopt_long(),
|
- passwd: rewritten for use getopt_long(),
|
||||||
- newgrp: when newgrp process sits between parent and child shells, it should
|
- newgrp: when newgrp process sits between parent and child shells, it should
|
||||||
propagate STOPs from child to parent and CONTs from parent to child,
|
propagate STOPs from child to parent and CONTs from parent to child,
|
||||||
otherwise e.g. bash's "suspend" command won't work
|
otherwise e.g. bash's "suspend" command won't work
|
||||||
@@ -987,11 +987,11 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005
|
|||||||
- chsh(1), groupadd(8), newusers(8), pwconv(8), useradd(8), userdel(8), usermod(8):
|
- chsh(1), groupadd(8), newusers(8), pwconv(8), useradd(8), userdel(8), usermod(8):
|
||||||
added missing references to /etc/login.defs and login.defs(5)
|
added missing references to /etc/login.defs and login.defs(5)
|
||||||
(Christian Perrier <bubulle@kheops.frmug.org>),
|
(Christian Perrier <bubulle@kheops.frmug.org>),
|
||||||
- passwd(5): rewrited based on work by Greg Wooledge <greg@wooledge.org>
|
- passwd(5): rewritten based on work by Greg Wooledge <greg@wooledge.org>
|
||||||
http://bugs.debian.org/328113
|
http://bugs.debian.org/328113
|
||||||
- login(1): added securetty(5) to SEE ALSO section
|
- login(1): added securetty(5) to SEE ALSO section
|
||||||
(fixed Debian bug http://bugs.debian.org/325773),
|
(fixed Debian bug http://bugs.debian.org/325773),
|
||||||
- groupadd(8), useradd(8): fix regular expression describing alloved login/group
|
- groupadd(8), useradd(8): fix regular expression describing allowed login/group
|
||||||
names (pointed by Nicolas François <nicolas.francois@centraliens.net>)
|
names (pointed by Nicolas François <nicolas.francois@centraliens.net>)
|
||||||
(correct is [a-z_][a-z0-9_-]*[$]),
|
(correct is [a-z_][a-z0-9_-]*[$]),
|
||||||
- groupadd(8), useradd(8): documents in CAVEATS section the limitations shadow
|
- groupadd(8), useradd(8): documents in CAVEATS section the limitations shadow
|
||||||
@@ -1001,9 +1001,9 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005
|
|||||||
shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005
|
shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005
|
||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- newgrp, login: remove using login.defs::CLOSE_SESSIONS variable and allways
|
- newgrp, login: remove using login.defs::CLOSE_SESSIONS variable and always
|
||||||
close PAM session,
|
close PAM session,
|
||||||
- fixed configure.in: realy enable shadow group support by default (pointed by
|
- fixed configure.in: really enable shadow group support by default (pointed by
|
||||||
Greg Schafer <gschafer@zip.com.au> and Peter Vrabec <pvrabec@redhat.com>),
|
Greg Schafer <gschafer@zip.com.au> and Peter Vrabec <pvrabec@redhat.com>),
|
||||||
- login.defs: removed handle QMAIL_DIR variable,
|
- login.defs: removed handle QMAIL_DIR variable,
|
||||||
- login: allow regular user to login on read-only root file system (not only for root)
|
- login: allow regular user to login on read-only root file system (not only for root)
|
||||||
@@ -1028,9 +1028,9 @@ shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005
|
|||||||
period and permit brute-force attacks (fixed http://bugs.debian.org/288827),
|
period and permit brute-force attacks (fixed http://bugs.debian.org/288827),
|
||||||
- uClibc fixes (by Martin Schlemmer <azarah@nosferatu.za.org>):
|
- uClibc fixes (by Martin Schlemmer <azarah@nosferatu.za.org>):
|
||||||
added require ngettext (added [need-ngettext] to AM_GNU_GETTEXT() parameters)
|
added require ngettext (added [need-ngettext] to AM_GNU_GETTEXT() parameters)
|
||||||
and stub prototype for ngettext() in lib/prototypes.h (neccessary if shadow
|
and stub prototype for ngettext() in lib/prototypes.h (necessary if shadow
|
||||||
compiled with disabled NLS support)
|
compiled with disabled NLS support)
|
||||||
- groupadd: rewrited for use getopt_long(),
|
- groupadd: rewritten for use getopt_long(),
|
||||||
- groupadd, groupdel, groupmod, userdel: do OPENLOG() before pam_start(),
|
- groupadd, groupdel, groupmod, userdel: do OPENLOG() before pam_start(),
|
||||||
- groupadd: fixed double OPENLOG(),
|
- groupadd: fixed double OPENLOG(),
|
||||||
- removed lib/{grpack,gspack,pwpack,sppack}.c and prototypes from lib/prototypes.h
|
- removed lib/{grpack,gspack,pwpack,sppack}.c and prototypes from lib/prototypes.h
|
||||||
@@ -1066,7 +1066,7 @@ shadow-4.0.10 -> shadow-4.0.11 18-07-2005
|
|||||||
- su: ignore SIGINT while authenticating. A ^C could defeat the waiting period and
|
- su: ignore SIGINT while authenticating. A ^C could defeat the waiting period and
|
||||||
permit brute-force attacks. Also ignore SIGQUIT.
|
permit brute-force attacks. Also ignore SIGQUIT.
|
||||||
Fixed: http://bugs.debian.org/52372 and http://bugs.debian.org/288827
|
Fixed: http://bugs.debian.org/52372 and http://bugs.debian.org/288827
|
||||||
- useradd: rewrited for use getopt_long(),
|
- useradd: rewritten for use getopt_long(),
|
||||||
- newgrp: add fix for handle splitted NIS groups: extends the functionality that,
|
- newgrp: add fix for handle splitted NIS groups: extends the functionality that,
|
||||||
if the requested group is given, all groups of the same GID are tested for
|
if the requested group is given, all groups of the same GID are tested for
|
||||||
membership of the requesting user.
|
membership of the requesting user.
|
||||||
@@ -1080,7 +1080,7 @@ shadow-4.0.10 -> shadow-4.0.11 18-07-2005
|
|||||||
- S/Key support is back,
|
- S/Key support is back,
|
||||||
- usermod: added -a option. This flag can only be used in conjunction with the -G
|
- usermod: added -a option. This flag can only be used in conjunction with the -G
|
||||||
option. It cause usermod to append user to the current supplementary group list.
|
option. It cause usermod to append user to the current supplementary group list.
|
||||||
(patch by Peter Vrabec <pvrabec@redhat.com>)
|
(patch by Peter Vrabec <pvrabec@redhat.com>)
|
||||||
- chage: added missing \n in error messages,
|
- chage: added missing \n in error messages,
|
||||||
- useradd, groupadd: change -O option to -K and document it in man page,
|
- useradd, groupadd: change -O option to -K and document it in man page,
|
||||||
- su, sulogin, login: fixed erroneous warning messages when used with PAM about some
|
- su, sulogin, login: fixed erroneous warning messages when used with PAM about some
|
||||||
@@ -1097,7 +1097,7 @@ shadow-4.0.10 -> shadow-4.0.11 18-07-2005
|
|||||||
- updated translations: cs, da, de, es, fi, pl, pt, ro, ru, sk.
|
- updated translations: cs, da, de, es, fi, pl, pt, ro, ru, sk.
|
||||||
*** documentation:
|
*** documentation:
|
||||||
- pwck(8): document -q option (based on Debian patch for fix http://bugs.debian.org/309408)
|
- pwck(8): document -q option (based on Debian patch for fix http://bugs.debian.org/309408)
|
||||||
- pwck(8): rewrited OPTIONS section and better SYNOPSIS,
|
- pwck(8): rewritten OPTIONS section and better SYNOPSIS,
|
||||||
- lastlog(8): document that lastlog is a sparse file, and don't need to be rotated
|
- lastlog(8): document that lastlog is a sparse file, and don't need to be rotated
|
||||||
http://bugs.debian.org/219321
|
http://bugs.debian.org/219321
|
||||||
- login(8): better explain the respective roles of login, init and getty with regards
|
- login(8): better explain the respective roles of login, init and getty with regards
|
||||||
@@ -1111,12 +1111,12 @@ shadow-4.0.9 -> shadow-4.0.10 28-06-2005
|
|||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- mkpasswd: removed,
|
- mkpasswd: removed,
|
||||||
- userdel: now deletes user groups from /etc/gshdow as well as /etc/group.
|
- userdel: now deletes user groups from /etc/gshadow as well as /etc/group.
|
||||||
Fix by Nicolas François <nicolas.francois@centraliens.net>.
|
Fix by Nicolas François <nicolas.francois@centraliens.net>.
|
||||||
http://bugs.debian.org/99442
|
http://bugs.debian.org/99442
|
||||||
- usermod: when relocating a user's home directory, don't fail and remove the new
|
- usermod: when relocating a user's home directory, don't fail and remove the new
|
||||||
home directory if we can't remove the old home directory for some
|
home directory if we can't remove the old home directory for some
|
||||||
reason; the results can be spectularly poort if, for instance, only
|
reason; the results can be spectacularly poor if, for instance, only
|
||||||
the rmdir() fails. Patch prepared by Timo Lindfors <lindi-spamtrap@newmail.com>.
|
the rmdir() fails. Patch prepared by Timo Lindfors <lindi-spamtrap@newmail.com>.
|
||||||
http://bugs.debian.org/166369
|
http://bugs.debian.org/166369
|
||||||
- su: fix syslogs to be less ambiguous. Use old:new format instead of old-new
|
- su: fix syslogs to be less ambiguous. Use old:new format instead of old-new
|
||||||
@@ -1124,23 +1124,23 @@ shadow-4.0.9 -> shadow-4.0.10 28-06-2005
|
|||||||
http://bugs.debian.org/213592
|
http://bugs.debian.org/213592
|
||||||
- removed not used now libmisc/setup.c,
|
- removed not used now libmisc/setup.c,
|
||||||
- login: use also UTMPX API instead UTMP on failure (login was affected for this
|
- login: use also UTMPX API instead UTMP on failure (login was affected for this
|
||||||
when shadow was builded without PAM support)
|
when shadow was built without PAM support)
|
||||||
patch by Nicolas François <nicolas.francois@centraliens.net>
|
patch by Nicolas François <nicolas.francois@centraliens.net>
|
||||||
- login: the PAM session needs to be closed as root, thus before change_uid()
|
- login: the PAM session needs to be closed as root, thus before change_uid()
|
||||||
http://bugs.debian.org/53570 http://bugs.debian.org/195048 http://bugs.debian.org/211884
|
http://bugs.debian.org/53570 http://bugs.debian.org/195048 http://bugs.debian.org/211884
|
||||||
- login: made login's -f option also able to use the username after -- if none
|
- login: made login's -f option also able to use the username after -- if none
|
||||||
was passed as it's optarg
|
was passed as it's optarg
|
||||||
http://bugs.debian.org/53702
|
http://bugs.debian.org/53702
|
||||||
- login: check for hushed login and pass PAM_SILENT if true,
|
- login: check for hushed login and pass PAM_SILENT if true,
|
||||||
http://bugs.debian.org/48002
|
http://bugs.debian.org/48002
|
||||||
- login: fixed username on succesful login (was using the normal username,
|
- login: fixed username on successful login (was using the normal username,
|
||||||
when it should have used pam_user) http://bugs.debian.org/47819
|
when it should have used pam_user) http://bugs.debian.org/47819
|
||||||
- remove using SHADOWPWD #define so now shadow is allways builded with shadow
|
- remove using SHADOWPWD #define so now shadow is always built with shadow
|
||||||
passwowd support,
|
password support,
|
||||||
- chage: rewrited for use getopt_long(),
|
- chage: rewritten for use getopt_long(),
|
||||||
- updated translations: ca, cs, da, fi, pl, ru, zh_TW.
|
- updated translations: ca, cs, da, fi, pl, ru, zh_TW.
|
||||||
*** documentation:
|
*** documentation:
|
||||||
- most of the man pages now are generated from XML files so in case submiting any
|
- most of the man pages now are generated from XML files so in case submitting any
|
||||||
chages to this resources please make diff to XML files,
|
chages to this resources please make diff to XML files,
|
||||||
- chfn: give more details about the influence of login.defs on what's allowed to
|
- chfn: give more details about the influence of login.defs on what's allowed to
|
||||||
users.
|
users.
|
||||||
@@ -1148,7 +1148,7 @@ shadow-4.0.9 -> shadow-4.0.10 28-06-2005
|
|||||||
shadow-4.0.8 -> shadow-4.0.9 23-05-2005
|
shadow-4.0.8 -> shadow-4.0.9 23-05-2005
|
||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- passwd: fixed segfault in non-PAM connfiguration
|
- passwd: fixed segfault in non-PAM configuration
|
||||||
(submited by Greg Schafer <gschafer@zip.com.au>),
|
(submited by Greg Schafer <gschafer@zip.com.au>),
|
||||||
- newgrp: fixed NULL pointer dereference - getlogin() and ttyname() can
|
- newgrp: fixed NULL pointer dereference - getlogin() and ttyname() can
|
||||||
return NULL which is not checked (http://bugs.debian.org/162303),
|
return NULL which is not checked (http://bugs.debian.org/162303),
|
||||||
@@ -1170,15 +1170,15 @@ shadow-4.0.7 -> shadow-4.0.8 26-04-2005
|
|||||||
- configure.in: add using AC_GNU_SOURCE macro for kill compilation warnings about
|
- configure.in: add using AC_GNU_SOURCE macro for kill compilation warnings about
|
||||||
implicit declaration of function `fseeko',
|
implicit declaration of function `fseeko',
|
||||||
- faillog: changed faillog record display format for allow fit in 80 columns all
|
- faillog: changed faillog record display format for allow fit in 80 columns all
|
||||||
faillog atributies,
|
faillog attributes,
|
||||||
- removed NDBM code (unused),
|
- removed NDBM code (unused),
|
||||||
- fixed use of SU_WHEEL_ONLY in su. Now su realy is avalaible for wheel group
|
- fixed use of SU_WHEEL_ONLY in su. Now su really is available for wheel group
|
||||||
members. Thanks to Mike Frysinger <vapier@gentoo.org> for report:
|
members. Thanks to Mike Frysinger <vapier@gentoo.org> for report:
|
||||||
http://bugs.gentoo.org/show_bug.cgi?id=80345
|
http://bugs.gentoo.org/show_bug.cgi?id=80345
|
||||||
- drop never finished kerberos and des_rpc support (for kerberos support back firs
|
- drop never finished kerberos and des_rpc support (for kerberos support back firs
|
||||||
must be prepared modularization),
|
must be prepared modularization),
|
||||||
- fixed UTMP path detection (by Kelledin <kelledin@users.sf.net>),
|
- fixed UTMP path detection (by Kelledin <kelledin@users.sf.net>),
|
||||||
- useradd: rewrited group count to dynamic (by John Newbigin
|
- useradd: rewritten group count to dynamic (by John Newbigin
|
||||||
<jnewbigin@ict.swin.edu.au>),
|
<jnewbigin@ict.swin.edu.au>),
|
||||||
- login: fixed create lastlog entry fo users never loged in on non-PAM
|
- login: fixed create lastlog entry fo users never loged in on non-PAM
|
||||||
variant of login (fix by <oracular@ziplip.com>),
|
variant of login (fix by <oracular@ziplip.com>),
|
||||||
@@ -1193,7 +1193,7 @@ shadow-4.0.7 -> shadow-4.0.8 26-04-2005
|
|||||||
fchmod() is executed. (Actually, we could also pass the final "mode" to
|
fchmod() is executed. (Actually, we could also pass the final "mode" to
|
||||||
the open() call and then save the consequent fchmod().)
|
the open() call and then save the consequent fchmod().)
|
||||||
- SELinux changes: added changes in chage, chfn, chsh, passwd for allow
|
- SELinux changes: added changes in chage, chfn, chsh, passwd for allow
|
||||||
construct more grained user password/accuunt properties on SELinux
|
construct more grained user password/account properties on SELinux
|
||||||
policies level. Patch originally based on RH changes (submited by Chris
|
policies level. Patch originally based on RH changes (submited by Chris
|
||||||
PeBenito <pebenito@gentoo.org>),
|
PeBenito <pebenito@gentoo.org>),
|
||||||
- added SELinux changes: in libmisc/copydir.c (based on Fedora patch),
|
- added SELinux changes: in libmisc/copydir.c (based on Fedora patch),
|
||||||
@@ -1208,11 +1208,11 @@ shadow-4.0.7 -> shadow-4.0.8 26-04-2005
|
|||||||
-- new: chage.1, chpasswd.8, expiry.1, faillog.5, faillog.8, getspnam.3,
|
-- new: chage.1, chpasswd.8, expiry.1, faillog.5, faillog.8, getspnam.3,
|
||||||
logoutd.8, porttime.5, pwck.8, shadow.3, shadowconfig.8, su.1,
|
logoutd.8, porttime.5, pwck.8, shadow.3, shadowconfig.8, su.1,
|
||||||
- passwd(1): fix #160477 Debian bug: improve -S output description,
|
- passwd(1): fix #160477 Debian bug: improve -S output description,
|
||||||
- newgrp(1): fix #251926, #166173, #113191 Debian bugs: explain why editing /etc/group
|
- newgrp(1): fix #251926, #166173, #113191 Debian bugs: explain why editing /etc/group
|
||||||
(without gshadow) doesn't permit to use newgrp,
|
(without gshadow) doesn't permit to use newgrp,
|
||||||
- newgrp(1): newgrp uses /bin/sh (not bash),
|
- newgrp(1): newgrp uses /bin/sh (not bash),
|
||||||
- faillog(8): updated after rewrited faillog command for use getopt_long(),
|
- faillog(8): updated after rewritten faillog command for use getopt_long(),
|
||||||
- login(1): removed fragment about abilities pass enviroment variables in login prompt,
|
- login(1): removed fragment about abilities pass environment variables in login prompt,
|
||||||
- gshadow(5): new file (by Nicolas Nicolas François <nicolas.francois@centraliens.net>),
|
- gshadow(5): new file (by Nicolas Nicolas François <nicolas.francois@centraliens.net>),
|
||||||
- usermod(8): fixed #302388 Debian bug: added separated -o option description,
|
- usermod(8): fixed #302388 Debian bug: added separated -o option description,
|
||||||
|
|
||||||
@@ -1229,24 +1229,24 @@ shadow-4.0.6 -> shadow-4.0.7 26-01-2005
|
|||||||
-- use fseeko() instead fseek() and remove casting file offsets to unsigned
|
-- use fseeko() instead fseek() and remove casting file offsets to unsigned
|
||||||
long.
|
long.
|
||||||
- lastlog:
|
- lastlog:
|
||||||
-- rewrited source code using the same style as in chpasswd.c,
|
-- rewritten source code using the same style as in chpasswd.c,
|
||||||
-- open lastlog file after finish parse comman line optiomns
|
-- open lastlog file after finish parse commandline options
|
||||||
(now --help otput can be displayd for users without lastlog
|
(now --help output can be displayed for users without lastlog
|
||||||
file read permission),
|
file read permission),
|
||||||
-- cleanups in lastlog(8) man page using the same style as in
|
-- cleanups in lastlog(8) man page using the same style as in
|
||||||
chpasswd(8).
|
chpasswd(8).
|
||||||
- chpasswd:
|
- chpasswd:
|
||||||
-- switch chpasswd to use getopt_long() and adds a --md5 option
|
-- switch chpasswd to use getopt_long() and adds a --md5 option
|
||||||
(by Ian Gulliver <ian@penguinhosting.net>),
|
(by Ian Gulliver <ian@penguinhosting.net>),
|
||||||
-- rewrited chpasswd(8) man page.
|
-- rewritten chpasswd(8) man page.
|
||||||
|
|
||||||
shadow-4.0.5 -> shadow-4.0.6 08-11-2004
|
shadow-4.0.5 -> shadow-4.0.6 08-11-2004
|
||||||
|
|
||||||
- su: fixed adding of pam_env env variables to enviroment
|
- su: fixed adding of pam_env env variables to environment
|
||||||
(Martin Schlemmer <azarah@nosferatu.za.org>),
|
(Martin Schlemmer <azarah@nosferatu.za.org>),
|
||||||
- autoconf: fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables
|
- autoconf: fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables
|
||||||
which was allways empty (Gregorio Guidi <g.guidi@sns.it>),
|
which was always empty (Gregorio Guidi <g.guidi@sns.it>),
|
||||||
- realuy closse security bug in libmisc/pwdcheck.c,
|
- really close security bug in libmisc/pwdcheck.c,
|
||||||
- added missing template/example PAM service config files for chfn, chsh and
|
- added missing template/example PAM service config files for chfn, chsh and
|
||||||
userdel,
|
userdel,
|
||||||
- do not translate variable names from /etc/default/useradd during
|
- do not translate variable names from /etc/default/useradd during
|
||||||
@@ -1257,10 +1257,10 @@ shadow-4.0.4.1 -> shadow-4.0.5 27-10-2004
|
|||||||
- change libmisc to private static library,
|
- change libmisc to private static library,
|
||||||
- added SELinux support (basing on patch from Gentoo),
|
- added SELinux support (basing on patch from Gentoo),
|
||||||
- chage: more verbose/human readable -l output. This output is much more
|
- chage: more verbose/human readable -l output. This output is much more
|
||||||
beter for send directly via email for each users as message with account
|
better for send directly via email for each users as message with account
|
||||||
status (for example as message with warning about account/password expiration),
|
status (for example as message with warning about account/password expiration),
|
||||||
- login: fixed handle -f option: now it works correctly without specify "-h
|
- login: fixed handle -f option: now it works correctly without specify "-h
|
||||||
<host>" if open login session localy is required (thanks for help
|
<host>" if open login session locally is required (thanks for help
|
||||||
investigate bug for Krzysztof Kotlenga),
|
investigate bug for Krzysztof Kotlenga),
|
||||||
- userdel: when removing a user with userdel, userdel was always exits with 1 (fixed).
|
- userdel: when removing a user with userdel, userdel was always exits with 1 (fixed).
|
||||||
Based on http://bugs.gentoo.org/show_bug.cgi?id=66687,
|
Based on http://bugs.gentoo.org/show_bug.cgi?id=66687,
|
||||||
@@ -1274,8 +1274,8 @@ shadow-4.0.4.1 -> shadow-4.0.5 27-10-2004
|
|||||||
makes httpd Option SymlinkIfOwnerMatch break for default weg pages
|
makes httpd Option SymlinkIfOwnerMatch break for default weg pages
|
||||||
including symlinks placed into /etc/skel/public_html for example.
|
including symlinks placed into /etc/skel/public_html for example.
|
||||||
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=66819
|
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=66819
|
||||||
- su: add pam_open_session() support. If builded without PAM support
|
- su: add pam_open_session() support. If built without PAM support
|
||||||
propagate $DISPLAY and $XAUTHORITY enviroment variables.
|
propagate $DISPLAY and $XAUTHORITY environment variables.
|
||||||
Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1
|
Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1
|
||||||
- applied 036_pam_access_with_preauth.patch Debian patch submited by Bjorn
|
- applied 036_pam_access_with_preauth.patch Debian patch submited by Bjorn
|
||||||
Torkelsson <Bjorn.Torkelsson@hpc2n.umu.se>: add support for PAM account
|
Torkelsson <Bjorn.Torkelsson@hpc2n.umu.se>: add support for PAM account
|
||||||
@@ -1287,11 +1287,11 @@ shadow-4.0.4.1 -> shadow-4.0.5 27-10-2004
|
|||||||
Use constant strings rather than argv[0] for syslog ident in the user
|
Use constant strings rather than argv[0] for syslog ident in the user
|
||||||
management commands,
|
management commands,
|
||||||
shadow-4.0.4.1-owl-tmp.diff:
|
shadow-4.0.4.1-owl-tmp.diff:
|
||||||
Remove using mktemp() if mkstemp() prototype not found (use allways mkstemp()),
|
Remove using mktemp() if mkstemp() prototype not found (use always mkstemp()),
|
||||||
shadow-4.0.4.1-owl-check-reads.diff:
|
shadow-4.0.4.1-owl-check-reads.diff:
|
||||||
Add checking for read errors in commonio and vipw/vigr (not doing so could
|
Add checking for read errors in commonio and vipw/vigr (not doing so could
|
||||||
result in data loss when the records are written back),
|
result in data loss when the records are written back),
|
||||||
- fixed securirty bug in libmisc/pwdcheck.c which allow unauthorized
|
- fixed security bug in libmisc/pwdcheck.c which allow unauthorized
|
||||||
account properties modification.
|
account properties modification.
|
||||||
Affected tools: chfn and chsh.
|
Affected tools: chfn and chsh.
|
||||||
Bug was discovered by Martin Schulze <joey@infodrom.org>.
|
Bug was discovered by Martin Schulze <joey@infodrom.org>.
|
||||||
@@ -1307,12 +1307,12 @@ shadow-4.0.4.1 -> shadow-4.0.5 27-10-2004
|
|||||||
|
|
||||||
shadow-4.0.4 => shadow-4.0.4.1 14-01-2004
|
shadow-4.0.4 => shadow-4.0.4.1 14-01-2004
|
||||||
- bug fixes in automake files for generate correct tar ball on "make dist":
|
- bug fixes in automake files for generate correct tar ball on "make dist":
|
||||||
added mising "EXTRA_DIST = $(man_MANS)" in man/*/Makefile.am.
|
added missing "EXTRA_DIST = $(man_MANS)" in man/*/Makefile.am.
|
||||||
|
|
||||||
shadow-4.0.3 => shadow-4.0.4 14-01-2004
|
shadow-4.0.3 => shadow-4.0.4 14-01-2004
|
||||||
|
|
||||||
*** general:
|
*** general:
|
||||||
- added missing information about -f options in groupadd usage mesage
|
- added missing information about -f options in groupadd usage message
|
||||||
(document this also in man page),
|
(document this also in man page),
|
||||||
- removed TCFS support (tcfs is dead),
|
- removed TCFS support (tcfs is dead),
|
||||||
- convert all po/*.po files to utf-8,
|
- convert all po/*.po files to utf-8,
|
||||||
@@ -1320,7 +1320,7 @@ shadow-4.0.3 => shadow-4.0.4 14-01-2004
|
|||||||
per service flushing method instead HUPing nscd process),
|
per service flushing method instead HUPing nscd process),
|
||||||
- removed old AUTH_METHODS dependent code,
|
- removed old AUTH_METHODS dependent code,
|
||||||
- chage: now all code depend on SHADOWPWD. If shadow will not be configured
|
- chage: now all code depend on SHADOWPWD. If shadow will not be configured
|
||||||
on autoconf level for using shadow possword chage is olny stub which
|
on autoconf level for using shadow password chage is olny stub which
|
||||||
informs "chage not configured for shadow password support."
|
informs "chage not configured for shadow password support."
|
||||||
- dpasswd: removed,
|
- dpasswd: removed,
|
||||||
- login: remove handle login.defs::DIALUPS_CHECK_ENAB code,
|
- login: remove handle login.defs::DIALUPS_CHECK_ENAB code,
|
||||||
@@ -1328,7 +1328,7 @@ shadow-4.0.3 => shadow-4.0.4 14-01-2004
|
|||||||
- ALL tools, libraries: remove old SVR4, SVR4_SI86_EUA BSD_QUOTA and ATT_AGE
|
- ALL tools, libraries: remove old SVR4, SVR4_SI86_EUA BSD_QUOTA and ATT_AGE
|
||||||
dependent code,
|
dependent code,
|
||||||
- ALL: ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57,
|
- ALL: ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57,
|
||||||
- logoutd, userd: handle also utmpx if avalaile,
|
- logoutd, userd: handle also utmpx if available,
|
||||||
- newgrp: fix for non-PAM version
|
- newgrp: fix for non-PAM version
|
||||||
Use CLOSE_SESSIONS depending code only when USE_PAM.
|
Use CLOSE_SESSIONS depending code only when USE_PAM.
|
||||||
The problem was reported by Mattias Webjorn Eriksson using Slackware
|
The problem was reported by Mattias Webjorn Eriksson using Slackware
|
||||||
@@ -1356,7 +1356,7 @@ shadow-4.0.3 => shadow-4.0.4 14-01-2004
|
|||||||
|
|
||||||
shadow-4.0.2 => shadow-4.0.3 13-03-2002
|
shadow-4.0.2 => shadow-4.0.3 13-03-2002
|
||||||
|
|
||||||
- added variouse cs, de, fr, id, it, ko man pages found mainly in national
|
- added various cs, de, fr, id, it, ko man pages found mainly in national
|
||||||
man pages translations projects (this documents are not synced with
|
man pages translations projects (this documents are not synced with
|
||||||
current en version but you know .. "Documentations is lik sex. When it is
|
current en version but you know .. "Documentations is lik sex. When it is
|
||||||
good it very very good. Whet it is bad it is better than nothing."). Any
|
good it very very good. Whet it is bad it is better than nothing."). Any
|
||||||
@@ -1372,9 +1372,9 @@ shadow-4.0.2 => shadow-4.0.3 13-03-2002
|
|||||||
shadow-4.0.1 => shadow-4.0.2 17-02-2002
|
shadow-4.0.1 => shadow-4.0.2 17-02-2002
|
||||||
|
|
||||||
- resolve many fuzzy translations also all this which may cause problems on
|
- resolve many fuzzy translations also all this which may cause problems on
|
||||||
displaing long uid/gid,
|
displaying long uid/gid,
|
||||||
- allow use "$" on ending in cereated by useradd usermname accounts for allow
|
- allow use "$" on ending in created by useradd username accounts for allow
|
||||||
create machine acounts for samba (thanks to Jerome Borsboom
|
create machine accounts for samba (thanks to Jerome Borsboom
|
||||||
<borsboom@tch.fgg.eur.nl> for point this problem in 4.0.1),
|
<borsboom@tch.fgg.eur.nl> for point this problem in 4.0.1),
|
||||||
- fix small but ugly bug in configure.in in libpam_mics library detection.
|
- fix small but ugly bug in configure.in in libpam_mics library detection.
|
||||||
|
|
||||||
@@ -1394,7 +1394,7 @@ shadow-4.0.0 => shadow-4.0.1
|
|||||||
as root. If root does read-only, there's no lock needed. Added missing
|
as root. If root does read-only, there's no lock needed. Added missing
|
||||||
"#include <errno.h>" for above (me).
|
"#include <errno.h>" for above (me).
|
||||||
shadow-4.0.0-owl-warnings.diff
|
shadow-4.0.0-owl-warnings.diff
|
||||||
Olny one fix from this patch was aplayd because other was fixed few days
|
Olny one fix from this patch was applied because other was fixed few days
|
||||||
before :)
|
before :)
|
||||||
shadow-4.0.0-owl-check_names.diff
|
shadow-4.0.0-owl-check_names.diff
|
||||||
Merge only prat this patch with checking login name matching; checking
|
Merge only prat this patch with checking login name matching; checking
|
||||||
@@ -1402,13 +1402,13 @@ shadow-4.0.0 => shadow-4.0.1
|
|||||||
probably _POSIX_LOGIN_NAME_MAX from <bits/posix1_lim.h>,
|
probably _POSIX_LOGIN_NAME_MAX from <bits/posix1_lim.h>,
|
||||||
shadow-4.0.0-owl-chage-drop-priv.diff
|
shadow-4.0.0-owl-chage-drop-priv.diff
|
||||||
shadow-4.0.0-owl-pam-auth.diff
|
shadow-4.0.0-owl-pam-auth.diff
|
||||||
Merge part with reorder initialize PAM and checkin is chage is runed by
|
Merge part with reorder initialize PAM and checking if chage is runed by
|
||||||
root or not - now chage can be runed from non-root account for checking
|
root or not - now chage can be runed from non-root account for checking
|
||||||
by user own account information (if PAM enabled).
|
by user own account information (if PAM enabled).
|
||||||
- fixes for handle/print correctly 32bit uid/gid (Thorsten Kukuk <kukuk@suse.de>),
|
- fixes for handle/print correctly 32bit uid/gid (Thorsten Kukuk <kukuk@suse.de>),
|
||||||
- implemented functions for better reloading the nscd cache (per NSS map)
|
- implemented functions for better reloading the nscd cache (per NSS map)
|
||||||
(Thorsten Kukuk <kukuk@suse.de>),
|
(Thorsten Kukuk <kukuk@suse.de>),
|
||||||
- fixed warnings "not used but defined" on compile using gcc 3.0.x
|
- fixed warnings "not used but defined" on compile using gcc 3.0.x
|
||||||
(bulletpr00ph <bullet@users.sourceforge.net>),
|
(bulletpr00ph <bullet@users.sourceforge.net>),
|
||||||
- added ja, ko translations found in SuSE,
|
- added ja, ko translations found in SuSE,
|
||||||
- added symlinks: newgrp -> sg, vipw -> vigr,
|
- added symlinks: newgrp -> sg, vipw -> vigr,
|
||||||
@@ -1416,7 +1416,7 @@ shadow-4.0.0 => shadow-4.0.1
|
|||||||
- added sg(1) man page as roff .so link to newgrp(1),
|
- added sg(1) man page as roff .so link to newgrp(1),
|
||||||
- installed fix for SEGV when using pwck -s on /etc/passwd file with
|
- installed fix for SEGV when using pwck -s on /etc/passwd file with
|
||||||
empty lines in it.
|
empty lines in it.
|
||||||
|
|
||||||
shadow-20001016 => shadow-4.0.0 06-01-2002
|
shadow-20001016 => shadow-4.0.0 06-01-2002
|
||||||
|
|
||||||
- fix bug discovered and fixed by Marcel Ritter
|
- fix bug discovered and fixed by Marcel Ritter
|
||||||
@@ -1446,30 +1446,30 @@ shadow-20001016 => shadow-4.0.0 06-01-2002
|
|||||||
- much better automake support,
|
- much better automake support,
|
||||||
- added pt_BR man pages for gpasswd(1), groupadd(8), groupdel(8),
|
- added pt_BR man pages for gpasswd(1), groupadd(8), groupdel(8),
|
||||||
groupmod(8), shadow(5) (man pages for other nations also are welcome),
|
groupmod(8), shadow(5) (man pages for other nations also are welcome),
|
||||||
- mamny small fixes and updates nad improvements in man pages,
|
- many small fixes and updates nad improvements in man pages,
|
||||||
- aplayed Debian patch to man pages for shadowconfig,
|
- applied Debian patch to man pages for shadowconfig,
|
||||||
- remove limit to 6 chars logged tty name (012_libmisc_sulog.c.diff Debian
|
- remove limit to 6 chars logged tty name (012_libmisc_sulog.c.diff Debian
|
||||||
patch).
|
patch).
|
||||||
|
|
||||||
shadow-20001012 -> shadow-20001016:
|
shadow-20001012 -> shadow-20001016:
|
||||||
- conditionaly disabled body reload_nscd() because not every
|
- conditionally disabled body reload_nscd() because not every
|
||||||
version of nscd can handle it (this can be enabled by define
|
version of nscd can handle it (this can be enabled by define
|
||||||
ENABLE_NSCD_SIGHUP) (Marek Michałkiewicz <marekm@linux.org.pl>)
|
ENABLE_NSCD_SIGHUP) (Marek Michałkiewicz <marekm@linux.org.pl>)
|
||||||
- fixes on autoconf/automake level for dist target,
|
- fixes on autoconf/automake level for dist target,
|
||||||
- Julianne F. Haugh new contact adress.
|
- Julianne F. Haugh new contact address.
|
||||||
|
|
||||||
shadow-20000902 => shadow-20001012
|
shadow-20000902 => shadow-20001012
|
||||||
|
|
||||||
- removed /redhat directory with obsoleted files (partialy rewrited spec
|
- removed /redhat directory with obsoleted files (partially rewritten spec
|
||||||
file is now in root directory),
|
file is now in root directory),
|
||||||
- aplayed shadow-19990827-group.patch patch from RH wich prevents adduser
|
- applied shadow-19990827-group.patch patch from RH wich prevents adduser
|
||||||
overwrite previously existing groups in adduser,
|
overwrite previously existing groups in adduser,
|
||||||
- added PAM support for chage (bind to "chage" PAM config file) also
|
- added PAM support for chage (bind to "chage" PAM config file) also
|
||||||
added PAM support for all other small tools like chpasswd, groupadd,
|
added PAM support for all other small tools like chpasswd, groupadd,
|
||||||
groupdel, groupmod, newusers, useradd, userdel, usermod (bind to common
|
groupdel, groupmod, newusers, useradd, userdel, usermod (bind to common
|
||||||
"shadow" PAM config file) - this modificaytions mainly based on
|
"shadow" PAM config file) - this modifications mainly based on
|
||||||
modifications prepared by Janek Rękojarski <baggins@pld.org.pl>,
|
modifications prepared by Janek Rękojarski <baggins@pld.org.pl>,
|
||||||
- many small fixes and improvments in automake (mow "make dist"
|
- many small fixes and improvements in automake (mow "make dist"
|
||||||
works correctly),
|
works correctly),
|
||||||
- added cs translation (Jiri Pavlovsky <Jiri.Pavlovsky@ff.cuni.cz>).
|
- added cs translation (Jiri Pavlovsky <Jiri.Pavlovsky@ff.cuni.cz>).
|
||||||
|
|
||||||
|
|||||||
148
README
148
README
@@ -1,121 +1,47 @@
|
|||||||
Shadow SITES
|
# shadow-utils
|
||||||
============
|
|
||||||
|
|
||||||
Homepage
|
## Introduction
|
||||||
http://pkg-shadow.alioth.debian.org/
|
The shadow-utils package includes the necessary programs for
|
||||||
|
converting UNIX password files to the shadow password format, plus
|
||||||
|
programs for managing user and group accounts. The pwconv command
|
||||||
|
converts passwords to the shadow password format. The pwunconv command
|
||||||
|
unconverts shadow passwords and generates a passwd file (a standard
|
||||||
|
UNIX password file). The pwck command checks the integrity of password
|
||||||
|
and shadow files. The lastlog command prints out the last login times
|
||||||
|
for all users. The useradd, userdel, and usermod commands are used for
|
||||||
|
managing user accounts. The groupadd, groupdel, and groupmod commands
|
||||||
|
are used for managing group accounts.
|
||||||
|
|
||||||
FTP site
|
## Sites
|
||||||
ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow
|
* [Homepage](https://github.com/shadow-maint/shadow)
|
||||||
|
* [Issue tracker](https://github.com/shadow-maint/shadow/issues)
|
||||||
|
* [Releases](https://github.com/shadow-maint/shadow/releases)
|
||||||
|
|
||||||
SVN repository
|
## Code
|
||||||
anonymous read only access: svn://svn.debian.org/pkg-shadow/upstream
|
|
||||||
|
|
||||||
SVN web interface
|
The main development branch is at [https://github.com/shadow-maint/shadow.git](https://github.com/shadow-maint/shadow)
|
||||||
http://svn.debian.org/wsvn/pkg-shadow/upstream
|
|
||||||
or
|
|
||||||
http://svn.debian.org/viewsvn/pkg-shadow/upstream
|
|
||||||
|
|
||||||
Mailing lists
|
See [STABLE.md](https://github.com/shadow-maint/shadow/blob/master/STABLE.md) for a list of supported stable branches.
|
||||||
for general discuss: pkg-shadow-devel@lists.alioth.debian.org
|
|
||||||
commit list: pkg-shadow-commits@lists.alioth.debian.org
|
|
||||||
|
|
||||||
Mailing lists subscription
|
## Contacts
|
||||||
http://lists.alioth.debian.org/mailman/listinfo/pkg-shadow-devel
|
There are several ways to contact us:
|
||||||
http://lists.alioth.debian.org/mailman/listinfo/pkg-shadow-commits
|
* [the general discussion mailing list](
|
||||||
|
https://alioth-lists.debian.net/mailman/listinfo/pkg-shadow-devel)
|
||||||
|
* the #shadow IRC channel on libera.chat:
|
||||||
|
* irc://irc.libera.chat/shadow
|
||||||
|
|
||||||
Mailing lists archives:
|
### Mailing archives
|
||||||
http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/
|
* [the general discussion mailing list archive](
|
||||||
http://lists.alioth.debian.org/pipermail/pkg-shadow-commits/
|
https://alioth-lists.debian.net/pipermail/pkg-shadow-devel/)
|
||||||
|
* [the commit mailing list archive](
|
||||||
|
https://alioth-lists-archive.debian.net/pipermail/pkg-shadow-commits/),
|
||||||
|
only used for historical purposes
|
||||||
|
|
||||||
S/Key support:
|
## Contributions
|
||||||
Shadow can be built with S/Key support using the S/Key package from:
|
|
||||||
|
|
||||||
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libskey/
|
Contributions are welcome. Follow the
|
||||||
or
|
[guidelines](doc/contributions/introduction.md) before posting any patches.
|
||||||
http://gentoo.osuosl.org/distfiles/skey-1.1.5.tar.bz2
|
|
||||||
|
|
||||||
Authors and contributors
|
|
||||||
========================
|
|
||||||
|
|
||||||
Thanks to at least the following people for sending patches, bug
|
|
||||||
reports and various comments. This list may be incomplete, I received
|
|
||||||
a lot of mail...
|
|
||||||
|
|
||||||
|
|
||||||
Adam Rudnicki <adam@v-lo.krakow.pl>
|
|
||||||
Alan Curry <pacman@tardis.mars.net>
|
|
||||||
Alexander O. Yuriev <alex@bach.cis.temple.edu>
|
|
||||||
Algis Rudys <arudys@rice.edu>
|
|
||||||
Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
|
||||||
Aniello Del Sorbo <anidel@edu-gw.dia.unisa.it>
|
|
||||||
Anton Gluck <gluc@midway.uchicago.edu>
|
|
||||||
Arkadiusz Miskiewicz <misiek@pld.org.pl>
|
|
||||||
Ben Collins <bcollins@debian.org>
|
|
||||||
Brian R. Gaeke <brg@dgate.org>
|
|
||||||
Calle Karlsson <ckn@kash.se>
|
|
||||||
Chip Rosenthal <chip@unicom.com>
|
|
||||||
Chris Evans <lady0110@sable.ox.ac.uk>
|
|
||||||
Cristian Gafton <gafton@sorosis.ro>
|
|
||||||
Dan Walsh <dwalsh@redhat.com>
|
|
||||||
Darcy Boese <possum@chardonnay.niagara.com>
|
|
||||||
Dave Hagewood <admin@arrowweb.com>
|
|
||||||
David A. Holland <dholland@hcs.harvard.edu>
|
|
||||||
David Frey <David.Frey@lugs.ch>
|
|
||||||
Ed Carp <ecarp@netcom.com>
|
|
||||||
Floody <flood@evcom.net>
|
|
||||||
Frank Denis <j@4u.net>
|
|
||||||
George Kraft IV <gk4@us.ibm.com>
|
|
||||||
Greg Mortensen <loki@world.std.com>
|
|
||||||
Guido van Rooij
|
|
||||||
Guy Maor <maor@debian.org>
|
|
||||||
Hrvoje Dogan <hdogan@bjesomar.srce.hr>
|
|
||||||
Jakub Hrozek <jhrozek@redhat.com>
|
|
||||||
Janos Farkas <chexum@bankinf.banki.hu>
|
|
||||||
Jay Soffian <jay@lw.net>
|
|
||||||
Jesse Thilo <Jesse.Thilo@pobox.com>
|
|
||||||
Joey Hess <joey@kite.ml.org>
|
|
||||||
John Adelsberger <jja@umr.edu>
|
|
||||||
Jonathan Hankins <jhankins@mailserv.homewood.k12.al.us>
|
|
||||||
Jon Lewis <jlewis@lewis.org>
|
|
||||||
Joshua Cowan <jcowan@hermit.reslife.okstate.edu>
|
|
||||||
Judd Bourgeois <shagboy@bluesky.net>
|
|
||||||
Juergen Heinzl <unicorn@noris.net>
|
|
||||||
Juha Virtanen <jiivee@iki.fi>
|
|
||||||
Julian Pidancet <julian.pidancet@gmail.com>
|
|
||||||
Julianne Frances Haugh <jockgrrl@ix.netcom.com>
|
|
||||||
Leonard N. Zubkoff <lnz@dandelion.com>
|
|
||||||
Luca Berra <bluca@www.polimi.it>
|
|
||||||
Lukáš Kuklínek <lkukline@redhat.com>
|
|
||||||
Lutz Schwalowsky <schwalow@mineralogie.uni-hamburg.de>
|
|
||||||
Marc Ewing <marc@redhat.com>
|
|
||||||
Martin Bene <mb@sime.com>
|
|
||||||
Martin Mares <mj@gts.cz>
|
|
||||||
Michael Meskes <meskes@topsystem.de>
|
|
||||||
Michael Talbot-Wilson <mike@calypso.bns.com.au>
|
|
||||||
Mike Frysinger <vapier@gentoo.org>
|
|
||||||
Mike Pakovic <mpakovic@users.southeast.net>
|
|
||||||
Nicolas François <nicolas.francois@centraliens.net>
|
|
||||||
Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>
|
|
||||||
Pavel Machek <pavel@bug.ucw.cz>
|
|
||||||
Peter Vrabec <pvrabec@redhat.com>
|
|
||||||
Phillip Street
|
|
||||||
Rafał Maszkowski <rzm@icm.edu.pl>
|
|
||||||
Rani Chouha <ranibey@smartec.com>
|
|
||||||
Sami Kerola <kerolasa@rocketmail.com>
|
|
||||||
Scott Garman <scott.a.garman@intel.com>
|
|
||||||
Sebastian Rick Rijkers <srrijkers@gmail.com>
|
|
||||||
Seraphim Mellos <mellos@ceid.upatras.gr>
|
|
||||||
Shane Watts <shane@nexus.mlckew.edu.au>
|
|
||||||
Steve M. Robbins <steve@nyongwa.montreal.qc.ca>
|
|
||||||
Thorsten Kukuk <kukuk@suse.de>
|
|
||||||
Tim Hockin <thockin@eagle.ais.net>
|
|
||||||
Timo Karjalainen <timok@iki.fi>
|
|
||||||
Ulisses Alonso Camaro <ulisses@pusa.eleinf.uv.es>
|
|
||||||
Werner Fink <werner@suse.de>
|
|
||||||
|
|
||||||
Maintainers
|
|
||||||
===========
|
|
||||||
|
|
||||||
Tomasz Kłoczko <kloczek@pld.org.pl> (2000-2007)
|
|
||||||
Nicolas François <nicolas.francois@centraliens.net> (2007-now)
|
|
||||||
|
|
||||||
|
## Authors and maintainers
|
||||||
|
Authors and maintainers are listed in [AUTHORS.md](
|
||||||
|
https://github.com/shadow-maint/shadow/blob/master/AUTHORS.md).
|
||||||
|
|||||||
127
TODO
127
TODO
@@ -1,127 +0,0 @@
|
|||||||
* Create a common usage function that'd take the array of
|
|
||||||
long options and an array of descriptions and output that so things would
|
|
||||||
be standardized across the utils.
|
|
||||||
Usage strings should be normalized and split first.
|
|
||||||
Investigate optparse.
|
|
||||||
|
|
||||||
|
|
||||||
/etc/default/useradd
|
|
||||||
* GROUP=1000 should accept a group name.
|
|
||||||
|
|
||||||
Check when RLOGIN is enabled if ruserok() exists
|
|
||||||
|
|
||||||
Move selinux_file_context out of libmisc/copydir.c
|
|
||||||
|
|
||||||
Review hardcoded root account?
|
|
||||||
|
|
||||||
review all call to strto
|
|
||||||
|
|
||||||
libmisc/cleanup_user.c
|
|
||||||
cleanup needed (cleanup_report_add_user* not used)
|
|
||||||
|
|
||||||
|
|
||||||
libxcrypt support
|
|
||||||
* http://wiki.linuxfromscratch.org/patches/browser/trunk/shadow/shadow-4.0.18.1-owl_blowfish-1.patch
|
|
||||||
|
|
||||||
implement getlong, getulong.
|
|
||||||
avoid atoi, atol, atoul, strtol, strtoul, ...
|
|
||||||
|
|
||||||
manpages: comment the RLOGIN parts
|
|
||||||
|
|
||||||
Replace build_list (in lib/gshadow.c) and list (in lib/sgetgrent.c) by
|
|
||||||
comma_to_list()
|
|
||||||
|
|
||||||
Revert the modified files if all files could not be changed.
|
|
||||||
* or warn and indicate which files were modified and which were not.
|
|
||||||
* check the order the files are modified.
|
|
||||||
|
|
||||||
report nscd_flush_cache failures?
|
|
||||||
call nscd from the programs or from lib (commonio?)
|
|
||||||
|
|
||||||
PAM: check if a non-interactive conversation function could be used to set
|
|
||||||
the password in chpasswd and newusers
|
|
||||||
|
|
||||||
WITH_SELINUX
|
|
||||||
- review all tools to check that the strategies are consistent
|
|
||||||
|
|
||||||
chage, chfn, chsh: same change needed as in passwd.
|
|
||||||
- probably need moving check_selinux_access to a separate file.
|
|
||||||
|
|
||||||
testsuite
|
|
||||||
- newgrp
|
|
||||||
- test with unknown user's GID
|
|
||||||
|
|
||||||
newusers
|
|
||||||
- add logging to SYSLOG & AUDIT
|
|
||||||
- use CREATE_HOME
|
|
||||||
- Add a -Z option (see useradd / usermod)
|
|
||||||
|
|
||||||
Document when/where option appeared, document whether an option is standard
|
|
||||||
or not.
|
|
||||||
|
|
||||||
Check all the expiry semantics
|
|
||||||
|
|
||||||
ALL:
|
|
||||||
- move base passwd/shadow/group/gshadow operation to module for allow write
|
|
||||||
different backend modules for db, NIS, LDAP and others. Default backend it
|
|
||||||
will be goot if will be chosen depending on /etc/nsswitch.conf and allow
|
|
||||||
override this by -r <repository> options (where the <repository> can be
|
|
||||||
file, db, nis nisplus, ldap .. like on /etc/nsswitch.conf in service column).
|
|
||||||
passwd have old piece of code with handling -r option and it will be good
|
|
||||||
finish this and propagate on other shadow tools for allow operate on other
|
|
||||||
user databases by well known tools.
|
|
||||||
- Protect against signals. Register do_cleanups in a signal handler.
|
|
||||||
|
|
||||||
- login.defs
|
|
||||||
- generate depending on configuration
|
|
||||||
|
|
||||||
- useradd:
|
|
||||||
- add handle create user mail spool in maildir format.
|
|
||||||
- Add support for -k in -D mode
|
|
||||||
- Add support for -K in -D mode
|
|
||||||
- Add option to create or not the mail spool (and set the default in -D
|
|
||||||
mode)
|
|
||||||
- Change -l to reset the entry if an entry was already there
|
|
||||||
- set the mask in mkdir?
|
|
||||||
|
|
||||||
- userdel:
|
|
||||||
- add backup option for the removal of user resources,
|
|
||||||
- user_busy: check that the user is not running any processes.
|
|
||||||
- missing "deleting group" FAILED
|
|
||||||
- home dir removed, but userdel may fail and may leave the user
|
|
||||||
=> warning needed
|
|
||||||
|
|
||||||
- usermod
|
|
||||||
- add an option equivalent to useradd's -l (only when uid is changed)
|
|
||||||
- the mode of new home directories should be set according to the
|
|
||||||
original mode. Does copy_tree does this?
|
|
||||||
- user renamed, order is not kept in /etc/group (see
|
|
||||||
47_usermod-l_no_shadow_file). This is a problem when the first user is
|
|
||||||
considered as the admin.
|
|
||||||
- see mail "user ID change" on April, 15
|
|
||||||
+ fix call to chown (combination of -m and -u/-g)
|
|
||||||
+ add tests
|
|
||||||
|
|
||||||
- passwd:
|
|
||||||
- check combination of options (e.g. -u/-l)
|
|
||||||
- when -u refuse to unlock because it would create an empty password, it
|
|
||||||
should not display "Password changed."
|
|
||||||
exit instead?
|
|
||||||
|
|
||||||
- newgrp: check the USE_PAM section.
|
|
||||||
|
|
||||||
- pwck
|
|
||||||
- Add check to move passwd passwords to shadow if there is a shadow
|
|
||||||
entry (with a password).
|
|
||||||
- Add check to move passwd passwords to shadow if there is a shadow
|
|
||||||
file.
|
|
||||||
- Support an alternative /etc/tcb directory as second parameter.
|
|
||||||
- add options -g / -G to specify alternative group / gshadow files
|
|
||||||
|
|
||||||
- su
|
|
||||||
- add a login.defs configuration parameter to add variables to keep in
|
|
||||||
the environment with "su -l" (TERM/TERMCOLOR/...)
|
|
||||||
|
|
||||||
- vipw
|
|
||||||
- set ACLs and XATTRs on the temporary file (and backups?)
|
|
||||||
- vipw + selinux -> use lib/selinux.c
|
|
||||||
@@ -6,7 +6,7 @@ AC_DEFUN([JH_PATH_XML_CATALOG],
|
|||||||
[
|
[
|
||||||
# check for the presence of the XML catalog
|
# check for the presence of the XML catalog
|
||||||
AC_ARG_WITH([xml-catalog],
|
AC_ARG_WITH([xml-catalog],
|
||||||
AC_HELP_STRING([--with-xml-catalog=CATALOG],
|
AS_HELP_STRING([--with-xml-catalog=CATALOG],
|
||||||
[path to xml catalog to use]),,
|
[path to xml catalog to use]),,
|
||||||
[with_xml_catalog=/etc/xml/catalog])
|
[with_xml_catalog=/etc/xml/catalog])
|
||||||
jh_found_xmlcatalog=true
|
jh_found_xmlcatalog=true
|
||||||
|
|||||||
2456
aclocal.m4
vendored
Normal file
2456
aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12
autogen.sh
12
autogen.sh
@@ -1,12 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
autoreconf -v -f --install || exit 1
|
|
||||||
|
|
||||||
./configure \
|
|
||||||
CFLAGS="-O2 -Wall" \
|
|
||||||
--enable-man \
|
|
||||||
--enable-maintainer-mode \
|
|
||||||
--disable-shared \
|
|
||||||
--without-libpam \
|
|
||||||
--with-selinux \
|
|
||||||
"$@"
|
|
||||||
348
compile
Executable file
348
compile
Executable file
@@ -0,0 +1,348 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# This file is maintained in Automake, please report
|
||||||
|
# bugs to <bug-automake@gnu.org> or send patches to
|
||||||
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
|
||||||
|
# We need space, tab and new line, in precisely that order. Quoting is
|
||||||
|
# there to prevent tools from complaining about whitespace usage.
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
file_conv=
|
||||||
|
|
||||||
|
# func_file_conv build_file lazy
|
||||||
|
# Convert a $build file to $host form and store it in $file
|
||||||
|
# Currently only supports Windows hosts. If the determined conversion
|
||||||
|
# type is listed in (the comma separated) LAZY, no conversion will
|
||||||
|
# take place.
|
||||||
|
func_file_conv ()
|
||||||
|
{
|
||||||
|
file=$1
|
||||||
|
case $file in
|
||||||
|
/ | /[!/]*) # absolute file, and not a UNC file
|
||||||
|
if test -z "$file_conv"; then
|
||||||
|
# lazily determine how to convert abs files
|
||||||
|
case `uname -s` in
|
||||||
|
MINGW*)
|
||||||
|
file_conv=mingw
|
||||||
|
;;
|
||||||
|
CYGWIN* | MSYS*)
|
||||||
|
file_conv=cygwin
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
file_conv=wine
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
case $file_conv/,$2, in
|
||||||
|
*,$file_conv,*)
|
||||||
|
;;
|
||||||
|
mingw/*)
|
||||||
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
|
;;
|
||||||
|
cygwin/* | msys/*)
|
||||||
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
wine/*)
|
||||||
|
file=`winepath -w "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashL linkdir
|
||||||
|
# Make cl look for libraries in LINKDIR
|
||||||
|
func_cl_dashL ()
|
||||||
|
{
|
||||||
|
func_file_conv "$1"
|
||||||
|
if test -z "$lib_path"; then
|
||||||
|
lib_path=$file
|
||||||
|
else
|
||||||
|
lib_path="$lib_path;$file"
|
||||||
|
fi
|
||||||
|
linker_opts="$linker_opts -LIBPATH:$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashl library
|
||||||
|
# Do a library search-path lookup for cl
|
||||||
|
func_cl_dashl ()
|
||||||
|
{
|
||||||
|
lib=$1
|
||||||
|
found=no
|
||||||
|
save_IFS=$IFS
|
||||||
|
IFS=';'
|
||||||
|
for dir in $lib_path $LIB
|
||||||
|
do
|
||||||
|
IFS=$save_IFS
|
||||||
|
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.dll.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/$lib.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/lib$lib.a"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/lib$lib.a
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS=$save_IFS
|
||||||
|
|
||||||
|
if test "$found" != yes; then
|
||||||
|
lib=$lib.lib
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_wrapper cl arg...
|
||||||
|
# Adjust compile command to suit cl
|
||||||
|
func_cl_wrapper ()
|
||||||
|
{
|
||||||
|
# Assume a capable shell
|
||||||
|
lib_path=
|
||||||
|
shared=:
|
||||||
|
linker_opts=
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$eat"; then
|
||||||
|
eat=
|
||||||
|
else
|
||||||
|
case $1 in
|
||||||
|
-o)
|
||||||
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.[oO][bB][jJ])
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fo"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fe"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
-I)
|
||||||
|
eat=1
|
||||||
|
func_file_conv "$2" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
func_file_conv "${1#-I}" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashl "$2"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
func_cl_dashl "${1#-l}"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-L)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashL "$2"
|
||||||
|
;;
|
||||||
|
-L*)
|
||||||
|
func_cl_dashL "${1#-L}"
|
||||||
|
;;
|
||||||
|
-static)
|
||||||
|
shared=false
|
||||||
|
;;
|
||||||
|
-Wl,*)
|
||||||
|
arg=${1#-Wl,}
|
||||||
|
save_ifs="$IFS"; IFS=','
|
||||||
|
for flag in $arg; do
|
||||||
|
IFS="$save_ifs"
|
||||||
|
linker_opts="$linker_opts $flag"
|
||||||
|
done
|
||||||
|
IFS="$save_ifs"
|
||||||
|
;;
|
||||||
|
-Xlinker)
|
||||||
|
eat=1
|
||||||
|
linker_opts="$linker_opts $2"
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||||
|
func_file_conv "$1"
|
||||||
|
set x "$@" -Tp"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||||
|
func_file_conv "$1" mingw
|
||||||
|
set x "$@" "$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
if test -n "$linker_opts"; then
|
||||||
|
linker_opts="-link$linker_opts"
|
||||||
|
fi
|
||||||
|
exec "$@" $linker_opts
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
eat=
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'')
|
||||||
|
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
-h | --h*)
|
||||||
|
cat <<\EOF
|
||||||
|
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
|
Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||||
|
arguments, and rename the output as expected.
|
||||||
|
|
||||||
|
If you are trying to build a whole package this is not the
|
||||||
|
right script to run: please start by reading the file 'INSTALL'.
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "compile $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||||
|
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||||
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ofile=
|
||||||
|
cfile=
|
||||||
|
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$eat"; then
|
||||||
|
eat=
|
||||||
|
else
|
||||||
|
case $1 in
|
||||||
|
-o)
|
||||||
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
|
# So we strip '-o arg' only if arg is an object.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.obj)
|
||||||
|
ofile=$2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" -o "$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*.c)
|
||||||
|
cfile=$1
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -z "$ofile" || test -z "$cfile"; then
|
||||||
|
# If no '-o' option was seen then we might have been invoked from a
|
||||||
|
# pattern rule where we don't need one. That is ok -- this is a
|
||||||
|
# normal compilation that the losing compiler can handle. If no
|
||||||
|
# '.c' file was seen then we are probably linking. That is also
|
||||||
|
# ok.
|
||||||
|
exec "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Name of file we expect compiler to create.
|
||||||
|
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||||
|
|
||||||
|
# Create the lock directory.
|
||||||
|
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||||
|
# that we are using for the .o file. Also, base the name on the expected
|
||||||
|
# object file name, since that is what matters with a parallel build.
|
||||||
|
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||||
|
while true; do
|
||||||
|
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
# FIXME: race condition here if user kills between mkdir and trap.
|
||||||
|
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||||
|
|
||||||
|
# Run the compile.
|
||||||
|
"$@"
|
||||||
|
ret=$?
|
||||||
|
|
||||||
|
if test -f "$cofile"; then
|
||||||
|
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||||
|
elif test -f "${cofile}bj"; then
|
||||||
|
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rmdir "$lockdir"
|
||||||
|
exit $ret
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
||||||
1754
config.guess
vendored
Executable file
1754
config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
531
config.h.in
Normal file
531
config.h.in
Normal file
@@ -0,0 +1,531 @@
|
|||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* Define if account management tools should be installed setuid and
|
||||||
|
authenticate the callers */
|
||||||
|
#undef ACCT_TOOLS_SETUID
|
||||||
|
|
||||||
|
/* Define to support lastlog. */
|
||||||
|
#undef ENABLE_LASTLOG
|
||||||
|
|
||||||
|
/* Define to manage session support with logind. */
|
||||||
|
#undef ENABLE_LOGIND
|
||||||
|
|
||||||
|
/* Define to 1 if translation of program messages to the user's native
|
||||||
|
language is requested. */
|
||||||
|
#undef ENABLE_NLS
|
||||||
|
|
||||||
|
/* Define to support the subordinate IDs. */
|
||||||
|
#undef ENABLE_SUBIDS
|
||||||
|
|
||||||
|
/* Path for faillog file. */
|
||||||
|
#undef FAILLOG_FILE
|
||||||
|
|
||||||
|
/* Define to the type of elements in the array set by `getgroups'. Usually
|
||||||
|
this is either `int' or `gid_t'. */
|
||||||
|
#undef GETGROUPS_T
|
||||||
|
|
||||||
|
/* max group name length */
|
||||||
|
#undef GROUP_NAME_MAX_LENGTH
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of 'pam_fail_delay' */
|
||||||
|
#undef HAS_PAM_FAIL_DELAY
|
||||||
|
|
||||||
|
/* Defined to 1 if you have the declaration of 'secure_getenv' */
|
||||||
|
#undef HAS_SECURE_GETENV
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <acl/libacl.h> header file. */
|
||||||
|
#undef HAVE_ACL_LIBACL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `arc4random_buf' function. */
|
||||||
|
#undef HAVE_ARC4RANDOM_BUF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <attr/error_context.h> header file. */
|
||||||
|
#undef HAVE_ATTR_ERROR_CONTEXT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <attr/libattr.h> header file. */
|
||||||
|
#undef HAVE_ATTR_LIBATTR_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
|
||||||
|
CoreFoundation framework. */
|
||||||
|
#undef HAVE_CFLOCALECOPYCURRENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
|
||||||
|
the CoreFoundation framework. */
|
||||||
|
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <crypt.h> header file. */
|
||||||
|
#undef HAVE_CRYPT_H
|
||||||
|
|
||||||
|
/* Define if the GNU dcgettext() function is already present or preinstalled.
|
||||||
|
*/
|
||||||
|
#undef HAVE_DCGETTEXT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if
|
||||||
|
you don't. */
|
||||||
|
#undef HAVE_DECL_CYGWIN_CONV_PATH
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of `PAM_DATA_SILENT', and to 0 if
|
||||||
|
you don't. */
|
||||||
|
#undef HAVE_DECL_PAM_DATA_SILENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of `PAM_DELETE_CRED', and to 0 if
|
||||||
|
you don't. */
|
||||||
|
#undef HAVE_DECL_PAM_DELETE_CRED
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of `PAM_ESTABLISH_CRED', and to 0
|
||||||
|
if you don't. */
|
||||||
|
#undef HAVE_DECL_PAM_ESTABLISH_CRED
|
||||||
|
|
||||||
|
/* Define to 1 if you have the declaration of `PAM_NEW_AUTHTOK_REQD', and to 0
|
||||||
|
if you don't. */
|
||||||
|
#undef HAVE_DECL_PAM_NEW_AUTHTOK_REQD
|
||||||
|
|
||||||
|
/* Define if you have the GNU dld library. */
|
||||||
|
#undef HAVE_DLD
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `dlerror' function. */
|
||||||
|
#undef HAVE_DLERROR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
#undef HAVE_DLFCN_H
|
||||||
|
|
||||||
|
/* Define if you have the _dyld_func_lookup function. */
|
||||||
|
#undef HAVE_DYLD
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `explicit_bzero' function. */
|
||||||
|
#undef HAVE_EXPLICIT_BZERO
|
||||||
|
|
||||||
|
/* Defined to 1 if you have the declaration of 'fgetpwent_r' */
|
||||||
|
#undef HAVE_FGETPWENT_R
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `futimes' function. */
|
||||||
|
#undef HAVE_FUTIMES
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getentropy' function. */
|
||||||
|
#undef HAVE_GETENTROPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getrandom' function. */
|
||||||
|
#undef HAVE_GETRANDOM
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getspnam' function. */
|
||||||
|
#undef HAVE_GETSPNAM
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getspnam_r' function. */
|
||||||
|
#undef HAVE_GETSPNAM_R
|
||||||
|
|
||||||
|
/* Define if the GNU gettext() function is already present or preinstalled. */
|
||||||
|
#undef HAVE_GETTEXT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getusershell' function. */
|
||||||
|
#undef HAVE_GETUSERSHELL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <gshadow.h> header file. */
|
||||||
|
#undef HAVE_GSHADOW_H
|
||||||
|
|
||||||
|
/* Define if you have the iconv() function and it works. */
|
||||||
|
#undef HAVE_ICONV
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `initgroups' function. */
|
||||||
|
#undef HAVE_INITGROUPS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `innetgr' function. */
|
||||||
|
#undef HAVE_INNETGR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <lastlog.h> header file. */
|
||||||
|
#undef HAVE_LASTLOG_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `lckpwdf' function. */
|
||||||
|
#undef HAVE_LCKPWDF
|
||||||
|
|
||||||
|
/* Define if you have the libdl library or equivalent. */
|
||||||
|
#undef HAVE_LIBDL
|
||||||
|
|
||||||
|
/* Define if libdlloader will be built on this platform */
|
||||||
|
#undef HAVE_LIBDLLOADER
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <linux/btrfs_tree.h> header file. */
|
||||||
|
#undef HAVE_LINUX_BTRFS_TREE_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <linux/magic.h> header file. */
|
||||||
|
#undef HAVE_LINUX_MAGIC_H
|
||||||
|
|
||||||
|
/* Define if struct lastlog has ll_host */
|
||||||
|
#undef HAVE_LL_HOST
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `lutimes' function. */
|
||||||
|
#undef HAVE_LUTIMES
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memset_explicit' function. */
|
||||||
|
#undef HAVE_MEMSET_EXPLICIT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <minix/config.h> header file. */
|
||||||
|
#undef HAVE_MINIX_CONFIG_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <paths.h> header file. */
|
||||||
|
#undef HAVE_PATHS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `putgrent' function. */
|
||||||
|
#undef HAVE_PUTGRENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `putpwent' function. */
|
||||||
|
#undef HAVE_PUTPWENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `putspent' function. */
|
||||||
|
#undef HAVE_PUTSPENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <readpassphrase.h> header file. */
|
||||||
|
#undef HAVE_READPASSPHRASE_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <rpc/key_prot.h> header file. */
|
||||||
|
#undef HAVE_RPC_KEY_PROT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `rpmatch' function. */
|
||||||
|
#undef HAVE_RPMATCH
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <security/openpam.h> header file. */
|
||||||
|
#undef HAVE_SECURITY_OPENPAM_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <security/pam_misc.h> header file. */
|
||||||
|
#undef HAVE_SECURITY_PAM_MISC_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <selinux/selinux.h> header file. */
|
||||||
|
#undef HAVE_SELINUX_SELINUX_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <semanage/semanage.h> header file. */
|
||||||
|
#undef HAVE_SEMANAGE_SEMANAGE_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `setgroups' function. */
|
||||||
|
#undef HAVE_SETGROUPS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sgetgrent' function. */
|
||||||
|
#undef HAVE_SGETGRENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sgetpwent' function. */
|
||||||
|
#undef HAVE_SGETPWENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sgetspent' function. */
|
||||||
|
#undef HAVE_SGETSPENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sgtty.h> header file. */
|
||||||
|
#undef HAVE_SGTTY_H
|
||||||
|
|
||||||
|
/* Have working shadow group support in libc */
|
||||||
|
#undef HAVE_SHADOWGRP
|
||||||
|
|
||||||
|
/* Define if you have the shl_load function. */
|
||||||
|
#undef HAVE_SHL_LOAD
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdio.h> header file. */
|
||||||
|
#undef HAVE_STDIO_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `stpecpy' function. */
|
||||||
|
#undef HAVE_STPECPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `stpeprintf' function. */
|
||||||
|
#undef HAVE_STPEPRINTF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_addr' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_ADDR
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_addr_v6' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_ADDR_V6
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_host' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_HOST
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_name' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_NAME
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_syslen' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_SYSLEN
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_time' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_TIME
|
||||||
|
|
||||||
|
/* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */
|
||||||
|
#undef HAVE_STRUCT_UTMPX_UT_XTIME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/capability.h> header file. */
|
||||||
|
#undef HAVE_SYS_CAPABILITY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
|
#undef HAVE_SYS_IOCTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/random.h> header file. */
|
||||||
|
#undef HAVE_SYS_RANDOM_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/statfs.h> header file. */
|
||||||
|
#undef HAVE_SYS_STATFS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <tcb.h> header file. */
|
||||||
|
#undef HAVE_TCB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <termio.h> header file. */
|
||||||
|
#undef HAVE_TERMIO_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `updwtmpx' function. */
|
||||||
|
#undef HAVE_UPDWTMPX
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <utime.h> header file. */
|
||||||
|
#undef HAVE_UTIME_H
|
||||||
|
|
||||||
|
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
|
||||||
|
#undef HAVE_UTIME_NULL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <utmp.h> header file. */
|
||||||
|
#undef HAVE_UTMP_H
|
||||||
|
|
||||||
|
/* Define to support vendor settings. */
|
||||||
|
#undef HAVE_VENDORDIR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <wchar.h> header file. */
|
||||||
|
#undef HAVE_WCHAR_H
|
||||||
|
|
||||||
|
/* Path for lastlog file. */
|
||||||
|
#undef LASTLOG_FILE
|
||||||
|
|
||||||
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||||
|
#undef LT_OBJDIR
|
||||||
|
|
||||||
|
/* Location of system mail spool directory. */
|
||||||
|
#undef MAIL_SPOOL_DIR
|
||||||
|
|
||||||
|
/* Name of user's mail spool file if stored in user's home directory. */
|
||||||
|
#undef MAIL_SPOOL_FILE
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#undef PACKAGE_URL
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Path to passwd program. */
|
||||||
|
#undef PASSWD_PROGRAM
|
||||||
|
|
||||||
|
/* Define if login should support the -r flag for rlogind. */
|
||||||
|
#undef RLOGIN
|
||||||
|
|
||||||
|
/* Define to the ruserok() "success" return value (0 or 1). */
|
||||||
|
#undef RUSEROK
|
||||||
|
|
||||||
|
/* Define to support the shadow group file. */
|
||||||
|
#undef SHADOWGRP
|
||||||
|
|
||||||
|
/* PAM conversation to use */
|
||||||
|
#undef SHADOW_PAM_CONVERSATION
|
||||||
|
|
||||||
|
/* The default shell. */
|
||||||
|
#undef SHELL
|
||||||
|
|
||||||
|
/* The size of `gid_t', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_GID_T
|
||||||
|
|
||||||
|
/* The size of `uid_t', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_UID_T
|
||||||
|
|
||||||
|
/* Define to support S/Key logins. */
|
||||||
|
#undef SKEY
|
||||||
|
|
||||||
|
/* Define to support newer BSD S/Key API */
|
||||||
|
#undef SKEY_BSD_STYLE
|
||||||
|
|
||||||
|
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
||||||
|
required in a freestanding environment). This macro is provided for
|
||||||
|
backward compatibility; new code need not use it. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* Define to support /etc/suauth su access control. */
|
||||||
|
#undef SU_ACCESS
|
||||||
|
|
||||||
|
/* Define to allow the bcrypt password encryption algorithm */
|
||||||
|
#undef USE_BCRYPT
|
||||||
|
|
||||||
|
/* Define to support flushing of nscd caches */
|
||||||
|
#undef USE_NSCD
|
||||||
|
|
||||||
|
/* Define to support Pluggable Authentication Modules */
|
||||||
|
#undef USE_PAM
|
||||||
|
|
||||||
|
/* Define to allow the SHA256 and SHA512 password encryption algorithms */
|
||||||
|
#undef USE_SHA_CRYPT
|
||||||
|
|
||||||
|
/* Define to support flushing of sssd caches */
|
||||||
|
#undef USE_SSSD
|
||||||
|
|
||||||
|
/* Enable extensions on AIX 3, Interix. */
|
||||||
|
#ifndef _ALL_SOURCE
|
||||||
|
# undef _ALL_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable general extensions on macOS. */
|
||||||
|
#ifndef _DARWIN_C_SOURCE
|
||||||
|
# undef _DARWIN_C_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable general extensions on Solaris. */
|
||||||
|
#ifndef __EXTENSIONS__
|
||||||
|
# undef __EXTENSIONS__
|
||||||
|
#endif
|
||||||
|
/* Enable GNU extensions on systems that have them. */
|
||||||
|
#ifndef _GNU_SOURCE
|
||||||
|
# undef _GNU_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable X/Open compliant socket functions that do not require linking
|
||||||
|
with -lxnet on HP-UX 11.11. */
|
||||||
|
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
|
||||||
|
# undef _HPUX_ALT_XOPEN_SOCKET_API
|
||||||
|
#endif
|
||||||
|
/* Identify the host operating system as Minix.
|
||||||
|
This macro does not affect the system headers' behavior.
|
||||||
|
A future release of Autoconf may stop defining this macro. */
|
||||||
|
#ifndef _MINIX
|
||||||
|
# undef _MINIX
|
||||||
|
#endif
|
||||||
|
/* Enable general extensions on NetBSD.
|
||||||
|
Enable NetBSD compatibility extensions on Minix. */
|
||||||
|
#ifndef _NETBSD_SOURCE
|
||||||
|
# undef _NETBSD_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable OpenBSD compatibility extensions on NetBSD.
|
||||||
|
Oddly enough, this does nothing on OpenBSD. */
|
||||||
|
#ifndef _OPENBSD_SOURCE
|
||||||
|
# undef _OPENBSD_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Define to 1 if needed for POSIX-compatible behavior. */
|
||||||
|
#ifndef _POSIX_SOURCE
|
||||||
|
# undef _POSIX_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Define to 2 if needed for POSIX-compatible behavior. */
|
||||||
|
#ifndef _POSIX_1_SOURCE
|
||||||
|
# undef _POSIX_1_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable POSIX-compatible threading on Solaris. */
|
||||||
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||||
|
# undef _POSIX_PTHREAD_SEMANTICS
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
|
||||||
|
#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
|
||||||
|
# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
|
||||||
|
#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
# undef __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
|
||||||
|
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
|
||||||
|
# undef __STDC_WANT_IEC_60559_DFP_EXT__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
|
||||||
|
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||||
|
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
|
||||||
|
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||||
|
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
|
||||||
|
#ifndef __STDC_WANT_LIB_EXT2__
|
||||||
|
# undef __STDC_WANT_LIB_EXT2__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions specified by ISO/IEC 24747:2009. */
|
||||||
|
#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
|
||||||
|
# undef __STDC_WANT_MATH_SPEC_FUNCS__
|
||||||
|
#endif
|
||||||
|
/* Enable extensions on HP NonStop. */
|
||||||
|
#ifndef _TANDEM_SOURCE
|
||||||
|
# undef _TANDEM_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable X/Open extensions. Define to 500 only if necessary
|
||||||
|
to make mbstate_t available. */
|
||||||
|
#ifndef _XOPEN_SOURCE
|
||||||
|
# undef _XOPEN_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Define to allow the yescrypt password encryption algorithm */
|
||||||
|
#undef USE_YESCRYPT
|
||||||
|
|
||||||
|
/* Directory for distribution provided configuration files */
|
||||||
|
#undef VENDORDIR
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/* Build shadow with ACL support */
|
||||||
|
#undef WITH_ACL
|
||||||
|
|
||||||
|
/* Build shadow with Extended Attributes support */
|
||||||
|
#undef WITH_ATTR
|
||||||
|
|
||||||
|
/* Define if you want to enable Audit messages */
|
||||||
|
#undef WITH_AUDIT
|
||||||
|
|
||||||
|
/* Build shadow with BtrFS support */
|
||||||
|
#undef WITH_BTRFS
|
||||||
|
|
||||||
|
/* Build shadow without libbsd support */
|
||||||
|
#undef WITH_LIBBSD
|
||||||
|
|
||||||
|
/* Build shadow with SELinux support */
|
||||||
|
#undef WITH_SELINUX
|
||||||
|
|
||||||
|
/* Build with su */
|
||||||
|
#undef WITH_SU
|
||||||
|
|
||||||
|
/* Build shadow with tcb support (incomplete) */
|
||||||
|
#undef WITH_TCB
|
||||||
|
|
||||||
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
|
#undef _FILE_OFFSET_BITS
|
||||||
|
|
||||||
|
/* Define for large files, on AIX-style hosts. */
|
||||||
|
#undef _LARGE_FILES
|
||||||
|
|
||||||
|
/* Path for utmp file. */
|
||||||
|
#undef _UTMP_FILE
|
||||||
|
|
||||||
|
/* Path for wtmp file. */
|
||||||
|
#undef _WTMP_FILE
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
|
#undef gid_t
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
|
#undef uid_t
|
||||||
690
config.rpath
Executable file
690
config.rpath
Executable file
@@ -0,0 +1,690 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Output a system dependent set of variables, describing how to set the
|
||||||
|
# run time search path of shared libraries in an executable.
|
||||||
|
#
|
||||||
|
# Copyright 1996-2014 Free Software Foundation, Inc.
|
||||||
|
# Taken from GNU libtool, 2001
|
||||||
|
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation gives
|
||||||
|
# unlimited permission to copy and/or distribute it, with or without
|
||||||
|
# modifications, as long as this notice is preserved.
|
||||||
|
#
|
||||||
|
# The first argument passed to this file is the canonical host specification,
|
||||||
|
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||||
|
# or
|
||||||
|
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||||
|
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||||
|
# should be set by the caller.
|
||||||
|
#
|
||||||
|
# The set of defined variables is at the end of this script.
|
||||||
|
|
||||||
|
# Known limitations:
|
||||||
|
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
|
||||||
|
# than 256 bytes, otherwise the compiler driver will dump core. The only
|
||||||
|
# known workaround is to choose shorter directory names for the build
|
||||||
|
# directory and/or the installation directory.
|
||||||
|
|
||||||
|
# All known linkers require a '.a' archive for static linking (except MSVC,
|
||||||
|
# which needs '.lib').
|
||||||
|
libext=a
|
||||||
|
shrext=.so
|
||||||
|
|
||||||
|
host="$1"
|
||||||
|
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||||
|
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||||
|
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
|
|
||||||
|
# Code taken from libtool.m4's _LT_CC_BASENAME.
|
||||||
|
|
||||||
|
for cc_temp in $CC""; do
|
||||||
|
case $cc_temp in
|
||||||
|
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
|
||||||
|
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
|
||||||
|
\-*) ;;
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
|
||||||
|
|
||||||
|
# Code taken from libtool.m4's _LT_COMPILER_PIC.
|
||||||
|
|
||||||
|
wl=
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
wl='-Wl,'
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
aix*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
||||||
|
;;
|
||||||
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
irix5* | irix6* | nonstopux*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||||
|
case $cc_basename in
|
||||||
|
ecc*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
icc* | ifort*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
lf95*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
nagfor*)
|
||||||
|
wl='-Wl,-Wl,,'
|
||||||
|
;;
|
||||||
|
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
ccc*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
xl* | bgxl* | bgf* | mpixl*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
como)
|
||||||
|
wl='-lopt='
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case `$CC -V 2>&1 | sed 5q` in
|
||||||
|
*Sun\ F* | *Sun*Fortran*)
|
||||||
|
wl=
|
||||||
|
;;
|
||||||
|
*Sun\ C*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
newsos6)
|
||||||
|
;;
|
||||||
|
*nto* | *qnx*)
|
||||||
|
;;
|
||||||
|
osf3* | osf4* | osf5*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
rdos*)
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
case $cc_basename in
|
||||||
|
f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
|
||||||
|
wl='-Qoption ld '
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
wl='-Qoption ld '
|
||||||
|
;;
|
||||||
|
sysv4 | sysv4.2uw2* | sysv4.3*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
sysv4*MP*)
|
||||||
|
;;
|
||||||
|
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
unicos*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
uts4*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
|
||||||
|
|
||||||
|
hardcode_libdir_flag_spec=
|
||||||
|
hardcode_libdir_separator=
|
||||||
|
hardcode_direct=no
|
||||||
|
hardcode_minus_L=no
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
cygwin* | mingw* | pw32* | cegcc*)
|
||||||
|
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||||
|
# When not using gcc, we currently assume that we are using
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
if test "$GCC" != yes; then
|
||||||
|
with_gnu_ld=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
interix*)
|
||||||
|
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||||
|
with_gnu_ld=yes
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
with_gnu_ld=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ld_shlibs=yes
|
||||||
|
if test "$with_gnu_ld" = yes; then
|
||||||
|
# Set some defaults for GNU ld with shared library support. These
|
||||||
|
# are reset later if shared libraries are not supported. Putting them
|
||||||
|
# here allows them to be overridden if necessary.
|
||||||
|
# Unlike libtool, we use -rpath here, not --rpath, since the documented
|
||||||
|
# option of GNU ld is called -rpath, not --rpath.
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
case "$host_os" in
|
||||||
|
aix[3-9]*)
|
||||||
|
# On AIX/PPC, the GNU linker is very broken
|
||||||
|
if test "$host_cpu" != ia64; then
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
case "$host_cpu" in
|
||||||
|
powerpc)
|
||||||
|
;;
|
||||||
|
m68k)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
beos*)
|
||||||
|
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32* | cegcc*)
|
||||||
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
|
# no search path for DLLs.
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
haiku*)
|
||||||
|
;;
|
||||||
|
interix[3-9]*)
|
||||||
|
hardcode_direct=no
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||||
|
;;
|
||||||
|
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||||
|
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
netbsd*)
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
|
||||||
|
ld_shlibs=no
|
||||||
|
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
|
||||||
|
case `$LD -v 2>&1` in
|
||||||
|
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "$ld_shlibs" = no; then
|
||||||
|
hardcode_libdir_flag_spec=
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
aix3*)
|
||||||
|
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||||
|
# are no directories specified by -L.
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
# Neither direct hardcoding nor static linking is supported with a
|
||||||
|
# broken collect2.
|
||||||
|
hardcode_direct=unsupported
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
aix[4-9]*)
|
||||||
|
if test "$host_cpu" = ia64; then
|
||||||
|
# On IA64, the linker does run time linking by default, so we don't
|
||||||
|
# have to do anything special.
|
||||||
|
aix_use_runtimelinking=no
|
||||||
|
else
|
||||||
|
aix_use_runtimelinking=no
|
||||||
|
# Test if we are trying to use run time linking or normal
|
||||||
|
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||||
|
# need to do runtime linking.
|
||||||
|
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
|
||||||
|
for ld_flag in $LDFLAGS; do
|
||||||
|
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||||
|
aix_use_runtimelinking=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_libdir_separator=':'
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
case $host_os in aix4.[012]|aix4.[012].*)
|
||||||
|
collect2name=`${CC} -print-prog-name=collect2`
|
||||||
|
if test -f "$collect2name" && \
|
||||||
|
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||||
|
then
|
||||||
|
# We have reworked collect2
|
||||||
|
:
|
||||||
|
else
|
||||||
|
# We have old collect2
|
||||||
|
hardcode_direct=unsupported
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_libdir_separator=
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
# Begin _LT_AC_SYS_LIBPATH_AIX.
|
||||||
|
echo 'int main () { return 0; }' > conftest.c
|
||||||
|
${CC} ${LDFLAGS} conftest.c -o conftest
|
||||||
|
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||||
|
}'`
|
||||||
|
if test -z "$aix_libpath"; then
|
||||||
|
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||||
|
}'`
|
||||||
|
fi
|
||||||
|
if test -z "$aix_libpath"; then
|
||||||
|
aix_libpath="/usr/lib:/lib"
|
||||||
|
fi
|
||||||
|
rm -f conftest.c conftest
|
||||||
|
# End _LT_AC_SYS_LIBPATH_AIX.
|
||||||
|
if test "$aix_use_runtimelinking" = yes; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||||
|
else
|
||||||
|
if test "$host_cpu" = ia64; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||||
|
else
|
||||||
|
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
case "$host_cpu" in
|
||||||
|
powerpc)
|
||||||
|
;;
|
||||||
|
m68k)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
bsdi[45]*)
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32* | cegcc*)
|
||||||
|
# When not using gcc, we currently assume that we are using
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
|
# no search path for DLLs.
|
||||||
|
hardcode_libdir_flag_spec=' '
|
||||||
|
libext=lib
|
||||||
|
;;
|
||||||
|
darwin* | rhapsody*)
|
||||||
|
hardcode_direct=no
|
||||||
|
if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
dgux*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
;;
|
||||||
|
freebsd2.2*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
freebsd2*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
freebsd* | dragonfly*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
hpux9*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
hardcode_direct=yes
|
||||||
|
# hardcode_minus_L: Not really in the search PATH,
|
||||||
|
# but as the default location of the library.
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
hpux10*)
|
||||||
|
if test "$with_gnu_ld" = no; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
hardcode_direct=yes
|
||||||
|
# hardcode_minus_L: Not really in the search PATH,
|
||||||
|
# but as the default location of the library.
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
hpux11*)
|
||||||
|
if test "$with_gnu_ld" = no; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
case $host_cpu in
|
||||||
|
hppa*64*|ia64*)
|
||||||
|
hardcode_direct=no
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
# hardcode_minus_L: Not really in the search PATH,
|
||||||
|
# but as the default location of the library.
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
irix5* | irix6* | nonstopux*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
netbsd*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
newsos6)
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
*nto* | *qnx*)
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
if test -f /usr/libexec/ld.so; then
|
||||||
|
hardcode_direct=yes
|
||||||
|
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
os2*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
osf3*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
osf4* | osf5*)
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
else
|
||||||
|
# Both cc and cxx compiler support -rpath directly
|
||||||
|
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||||
|
fi
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
sysv4)
|
||||||
|
case $host_vendor in
|
||||||
|
sni)
|
||||||
|
hardcode_direct=yes # is this really true???
|
||||||
|
;;
|
||||||
|
siemens)
|
||||||
|
hardcode_direct=no
|
||||||
|
;;
|
||||||
|
motorola)
|
||||||
|
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
sysv4.3*)
|
||||||
|
;;
|
||||||
|
sysv4*MP*)
|
||||||
|
if test -d /usr/nec; then
|
||||||
|
ld_shlibs=yes
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
|
||||||
|
;;
|
||||||
|
sysv5* | sco3.2v5* | sco5v6*)
|
||||||
|
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
|
||||||
|
hardcode_libdir_separator=':'
|
||||||
|
;;
|
||||||
|
uts4*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check dynamic linker characteristics
|
||||||
|
# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
|
||||||
|
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
|
||||||
|
# only about the one the linker finds when passed -lNAME. This is the last
|
||||||
|
# element of library_names_spec in libtool.m4, or possibly two of them if the
|
||||||
|
# linker has special search rules.
|
||||||
|
library_names_spec= # the last element of library_names_spec in libtool.m4
|
||||||
|
libname_spec='lib$name'
|
||||||
|
case "$host_os" in
|
||||||
|
aix3*)
|
||||||
|
library_names_spec='$libname.a'
|
||||||
|
;;
|
||||||
|
aix[4-9]*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
case "$host_cpu" in
|
||||||
|
powerpc*)
|
||||||
|
library_names_spec='$libname$shrext' ;;
|
||||||
|
m68k)
|
||||||
|
library_names_spec='$libname.a' ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
beos*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
bsdi[45]*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32* | cegcc*)
|
||||||
|
shrext=.dll
|
||||||
|
library_names_spec='$libname.dll.a $libname.lib'
|
||||||
|
;;
|
||||||
|
darwin* | rhapsody*)
|
||||||
|
shrext=.dylib
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
dgux*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
freebsd* | dragonfly*)
|
||||||
|
case "$host_os" in
|
||||||
|
freebsd[123]*)
|
||||||
|
library_names_spec='$libname$shrext$versuffix' ;;
|
||||||
|
*)
|
||||||
|
library_names_spec='$libname$shrext' ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
gnu*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
haiku*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
case $host_cpu in
|
||||||
|
ia64*)
|
||||||
|
shrext=.so
|
||||||
|
;;
|
||||||
|
hppa*64*)
|
||||||
|
shrext=.sl
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
shrext=.sl
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
interix[3-9]*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
irix5* | irix6* | nonstopux*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
case "$host_os" in
|
||||||
|
irix5* | nonstopux*)
|
||||||
|
libsuff= shlibsuff=
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case $LD in
|
||||||
|
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
|
||||||
|
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
|
||||||
|
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
|
||||||
|
*) libsuff= shlibsuff= ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
linux*oldld* | linux*aout* | linux*coff*)
|
||||||
|
;;
|
||||||
|
linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
knetbsd*-gnu)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
netbsd*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
newsos6)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
*nto* | *qnx*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
library_names_spec='$libname$shrext$versuffix'
|
||||||
|
;;
|
||||||
|
os2*)
|
||||||
|
libname_spec='$name'
|
||||||
|
shrext=.dll
|
||||||
|
library_names_spec='$libname.a'
|
||||||
|
;;
|
||||||
|
osf3* | osf4* | osf5*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
rdos*)
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
library_names_spec='$libname$shrext$versuffix'
|
||||||
|
;;
|
||||||
|
sysv4 | sysv4.3*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
sysv4*MP*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
tpf*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
uts4*)
|
||||||
|
library_names_spec='$libname$shrext'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||||
|
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||||
|
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
|
||||||
|
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||||
|
|
||||||
|
# How to pass a linker flag through the compiler.
|
||||||
|
wl="$escaped_wl"
|
||||||
|
|
||||||
|
# Static library suffix (normally "a").
|
||||||
|
libext="$libext"
|
||||||
|
|
||||||
|
# Shared library suffix (normally "so").
|
||||||
|
shlibext="$shlibext"
|
||||||
|
|
||||||
|
# Format of library name prefix.
|
||||||
|
libname_spec="$escaped_libname_spec"
|
||||||
|
|
||||||
|
# Library names that the linker finds when passed -lNAME.
|
||||||
|
library_names_spec="$escaped_library_names_spec"
|
||||||
|
|
||||||
|
# Flag to hardcode \$libdir into a binary during linking.
|
||||||
|
# This must work even if \$libdir does not exist.
|
||||||
|
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||||
|
|
||||||
|
# Whether we need a single -rpath flag with a separated argument.
|
||||||
|
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||||
|
|
||||||
|
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||||
|
# resulting binary.
|
||||||
|
hardcode_direct="$hardcode_direct"
|
||||||
|
|
||||||
|
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||||
|
# resulting binary.
|
||||||
|
hardcode_minus_L="$hardcode_minus_L"
|
||||||
|
|
||||||
|
EOF
|
||||||
1890
config.sub
vendored
Executable file
1890
config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
376
configure.ac
376
configure.ac
@@ -1,82 +1,61 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
AC_INIT
|
AC_PREREQ([2.69])
|
||||||
AM_INIT_AUTOMAKE(shadow, 4.4)
|
m4_define([libsubid_abi_major], 4)
|
||||||
|
m4_define([libsubid_abi_minor], 0)
|
||||||
|
m4_define([libsubid_abi_micro], 0)
|
||||||
|
m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro])
|
||||||
|
AC_INIT([shadow], [4.15.3], [pkg-shadow-devel@lists.alioth.debian.org], [],
|
||||||
|
[https://github.com/shadow-maint/shadow])
|
||||||
|
AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects tar-pax])
|
||||||
|
AC_CONFIG_MACRO_DIRS([m4])
|
||||||
|
AM_SILENT_RULES([yes])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
|
AC_SUBST([LIBSUBID_ABI_MAJOR], [libsubid_abi_major])
|
||||||
|
AC_SUBST([LIBSUBID_ABI_MINOR], [libsubid_abi_minor])
|
||||||
|
AC_SUBST([LIBSUBID_ABI_MICRO], [libsubid_abi_micro])
|
||||||
|
AC_SUBST([LIBSUBID_ABI], [libsubid_abi])
|
||||||
|
|
||||||
dnl Some hacks...
|
dnl Some hacks...
|
||||||
test "$prefix" = "NONE" && prefix="/usr"
|
test "$prefix" = "NONE" && prefix="/usr"
|
||||||
test "$prefix" = "/usr" && exec_prefix=""
|
test "$prefix" = "/usr" && exec_prefix=""
|
||||||
|
|
||||||
AC_GNU_SOURCE
|
AC_USE_SYSTEM_EXTENSIONS
|
||||||
|
|
||||||
AM_DISABLE_SHARED
|
AC_ENABLE_STATIC
|
||||||
AM_ENABLE_STATIC
|
AC_ENABLE_SHARED
|
||||||
|
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
dnl Checks for programs.
|
dnl Checks for programs.
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_ISC_POSIX
|
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
AC_PROG_YACC
|
AC_PROG_YACC
|
||||||
AM_PROG_LIBTOOL
|
LT_INIT
|
||||||
|
LT_LIB_DLLOAD
|
||||||
|
|
||||||
dnl Checks for libraries.
|
dnl Checks for libraries.
|
||||||
|
|
||||||
dnl Checks for header files.
|
dnl Checks for header files.
|
||||||
AC_HEADER_DIRENT
|
AC_CHECK_HEADERS(crypt.h utmp.h \
|
||||||
AC_HEADER_STDC
|
termio.h sgtty.h sys/ioctl.h paths.h \
|
||||||
AC_HEADER_SYS_WAIT
|
sys/capability.h sys/random.h \
|
||||||
AC_HEADER_STDBOOL
|
gshadow.h lastlog.h rpc/key_prot.h acl/libacl.h \
|
||||||
|
attr/libattr.h attr/error_context.h)
|
||||||
AC_CHECK_HEADERS(errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \
|
|
||||||
utmpx.h termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \
|
|
||||||
utime.h ulimit.h sys/resource.h gshadow.h lastlog.h \
|
|
||||||
locale.h rpc/key_prot.h netdb.h acl/libacl.h attr/libattr.h \
|
|
||||||
attr/error_context.h)
|
|
||||||
|
|
||||||
dnl shadow now uses the libc's shadow implementation
|
dnl shadow now uses the libc's shadow implementation
|
||||||
AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])])
|
AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])])
|
||||||
|
|
||||||
AC_CHECK_FUNCS(l64a fchmod fchown fsync futimes getgroups gethostname getspnam \
|
AC_CHECK_FUNCS(arc4random_buf futimes \
|
||||||
gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \
|
getentropy getrandom getspnam getusershell \
|
||||||
lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \
|
initgroups lckpwdf lutimes \
|
||||||
getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \
|
setgroups updwtmpx innetgr \
|
||||||
ruserok)
|
getspnam_r \
|
||||||
|
rpmatch \
|
||||||
|
memset_explicit explicit_bzero stpecpy stpeprintf)
|
||||||
AC_SYS_LARGEFILE
|
AC_SYS_LARGEFILE
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
|
||||||
AC_TYPE_UID_T
|
|
||||||
AC_TYPE_OFF_T
|
|
||||||
AC_TYPE_PID_T
|
|
||||||
AC_TYPE_MODE_T
|
|
||||||
AC_HEADER_STAT
|
|
||||||
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
|
||||||
AC_CHECK_MEMBERS([struct stat.st_atim])
|
|
||||||
AC_CHECK_MEMBERS([struct stat.st_atimensec])
|
|
||||||
AC_CHECK_MEMBERS([struct stat.st_mtim])
|
|
||||||
AC_CHECK_MEMBERS([struct stat.st_mtimensec])
|
|
||||||
AC_HEADER_TIME
|
|
||||||
AC_STRUCT_TM
|
|
||||||
|
|
||||||
AC_CHECK_MEMBERS([struct utmp.ut_type,
|
|
||||||
struct utmp.ut_id,
|
|
||||||
struct utmp.ut_name,
|
|
||||||
struct utmp.ut_user,
|
|
||||||
struct utmp.ut_host,
|
|
||||||
struct utmp.ut_syslen,
|
|
||||||
struct utmp.ut_addr,
|
|
||||||
struct utmp.ut_addr_v6,
|
|
||||||
struct utmp.ut_time,
|
|
||||||
struct utmp.ut_xtime,
|
|
||||||
struct utmp.ut_tv],,,[[#include <utmp.h>]])
|
|
||||||
dnl There are dependencies:
|
|
||||||
dnl If UTMPX has to be used, the utmp structure shall have a ut_id field.
|
|
||||||
if test "$ac_cv_header_utmpx_h" = "yes" &&
|
|
||||||
test "$ac_cv_member_struct_utmp_ut_id" != "yes"; then
|
|
||||||
AC_MSG_ERROR(Systems with UTMPX and no ut_id field in the utmp structure are not supported)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_MEMBERS([struct utmpx.ut_name,
|
AC_CHECK_MEMBERS([struct utmpx.ut_name,
|
||||||
struct utmpx.ut_host,
|
struct utmpx.ut_host,
|
||||||
@@ -86,39 +65,26 @@ AC_CHECK_MEMBERS([struct utmpx.ut_name,
|
|||||||
struct utmpx.ut_time,
|
struct utmpx.ut_time,
|
||||||
struct utmpx.ut_xtime],,,[[#include <utmpx.h>]])
|
struct utmpx.ut_xtime],,,[[#include <utmpx.h>]])
|
||||||
|
|
||||||
if test "$ac_cv_header_lastlog_h" = "yes"; then
|
|
||||||
AC_CACHE_CHECK(for ll_host in struct lastlog,
|
|
||||||
ac_cv_struct_lastlog_ll_host,
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <lastlog.h>],
|
|
||||||
[struct lastlog ll; char *cp = ll.ll_host;]
|
|
||||||
)],
|
|
||||||
[ac_cv_struct_lastlog_ll_host=yes],
|
|
||||||
[ac_cv_struct_lastlog_ll_host=no]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then
|
|
||||||
AC_DEFINE(HAVE_LL_HOST, 1,
|
|
||||||
[Define if struct lastlog has ll_host])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl Checks for library functions.
|
||||||
AC_TYPE_GETGROUPS
|
AC_TYPE_GETGROUPS
|
||||||
AC_TYPE_SIGNAL
|
|
||||||
AC_FUNC_UTIME_NULL
|
AC_FUNC_UTIME_NULL
|
||||||
AC_FUNC_STRFTIME
|
AC_REPLACE_FUNCS(putgrent putpwent putspent)
|
||||||
AC_REPLACE_FUNCS(mkdir putgrent putpwent putspent rename rmdir)
|
|
||||||
AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
|
AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
|
||||||
AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr)
|
|
||||||
|
|
||||||
AC_CHECK_FUNC(setpgrp)
|
AC_CHECK_FUNC(setpgrp)
|
||||||
|
AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV,
|
||||||
|
1,
|
||||||
|
[Defined to 1 if you have the declaration of 'secure_getenv'])])
|
||||||
|
|
||||||
if test "$ac_cv_header_shadow_h" = "yes"; then
|
if test "$ac_cv_header_shadow_h" = "yes"; then
|
||||||
AC_CACHE_CHECK(for working shadow group support,
|
AC_CACHE_CHECK(for working shadow group support,
|
||||||
ac_cv_libc_shadowgrp,
|
ac_cv_libc_shadowgrp,
|
||||||
AC_RUN_IFELSE([AC_LANG_SOURCE([
|
AC_RUN_IFELSE([AC_LANG_SOURCE([
|
||||||
#include <shadow.h>
|
#include <shadow.h>
|
||||||
|
#ifdef HAVE_GSHADOW_H
|
||||||
|
#include <gshadow.h>
|
||||||
|
#endif
|
||||||
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
struct sgrp *sg = sgetsgent("test:x::");
|
struct sgrp *sg = sgetsgent("test:x::");
|
||||||
@@ -194,14 +160,14 @@ AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd",
|
|||||||
[Path to passwd program.])
|
[Path to passwd program.])
|
||||||
|
|
||||||
dnl XXX - quick hack, should disappear before anyone notices :).
|
dnl XXX - quick hack, should disappear before anyone notices :).
|
||||||
AC_DEFINE(USE_SYSLOG, 1, [Define to use syslog().])
|
dnl XXX - I just read the above message :).
|
||||||
if test "$ac_cv_func_ruserok" = "yes"; then
|
if test "$ac_cv_func_ruserok" = "yes"; then
|
||||||
AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.])
|
AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.])
|
||||||
AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).])
|
AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_ENABLE(shadowgrp,
|
AC_ARG_ENABLE(shadowgrp,
|
||||||
[AC_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])],
|
[AS_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])],
|
||||||
[case "${enableval}" in
|
[case "${enableval}" in
|
||||||
yes) enable_shadowgrp="yes" ;;
|
yes) enable_shadowgrp="yes" ;;
|
||||||
no) enable_shadowgrp="no" ;;
|
no) enable_shadowgrp="no" ;;
|
||||||
@@ -211,104 +177,160 @@ AC_ARG_ENABLE(shadowgrp,
|
|||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_ENABLE(man,
|
AC_ARG_ENABLE(man,
|
||||||
[AC_HELP_STRING([--enable-man],
|
[AS_HELP_STRING([--enable-man],
|
||||||
[regenerate roff man pages from Docbook @<:@default=no@:>@])],
|
[regenerate roff man pages from Docbook @<:@default=no@:>@])],
|
||||||
[enable_man="${enableval}"],
|
[enable_man="${enableval}"],
|
||||||
[enable_man="no"]
|
[enable_man="no"]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_ENABLE(account-tools-setuid,
|
AC_ARG_ENABLE(account-tools-setuid,
|
||||||
[AC_HELP_STRING([--enable-account-tools-setuid],
|
[AS_HELP_STRING([--enable-account-tools-setuid],
|
||||||
[Install the user and group management tools setuid and authenticate the callers. This requires --with-pam.])],
|
[Install the user and group management tools setuid and authenticate the callers. This requires --with-libpam.])],
|
||||||
[case "${enableval}" in
|
[case "${enableval}" in
|
||||||
yes) enable_acct_tools_setuid="yes" ;;
|
yes) enable_acct_tools_setuid="yes" ;;
|
||||||
no) enable_acct_tools_setuid="no" ;;
|
no) enable_acct_tools_setuid="no" ;;
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-account-tools-setuid)
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-account-tools-setuid)
|
||||||
;;
|
;;
|
||||||
esac],
|
esac],
|
||||||
[enable_acct_tools_setuid="maybe"]
|
[enable_acct_tools_setuid="no"]
|
||||||
)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(utmpx,
|
|
||||||
[AC_HELP_STRING([--enable-utmpx],
|
|
||||||
[enable loggin in utmpx / wtmpx @<:@default=no@:>@])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) enable_utmpx="yes" ;;
|
|
||||||
no) enable_utmpx="no" ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-utmpx) ;;
|
|
||||||
esac],
|
|
||||||
[enable_utmpx="no"]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_ENABLE(subordinate-ids,
|
AC_ARG_ENABLE(subordinate-ids,
|
||||||
[AC_HELP_STRING([--enable-subordinate-ids],
|
[AS_HELP_STRING([--enable-subordinate-ids],
|
||||||
[support subordinate ids @<:@default=yes@:>@])],
|
[support subordinate ids @<:@default=yes@:>@])],
|
||||||
[enable_subids="${enableval}"],
|
[enable_subids="${enableval}"],
|
||||||
[enable_subids="maybe"]
|
[enable_subids="maybe"]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_WITH(audit,
|
AC_ARG_ENABLE(lastlog,
|
||||||
[AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--enable-lastlog],
|
||||||
|
[enable lastlog @<:@default=no@:>@])],
|
||||||
|
[enable_lastlog="${enableval}"],
|
||||||
|
[enable_lastlog="no"]
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(logind,
|
||||||
|
[AS_HELP_STRING([--enable-logind],
|
||||||
|
[enable logind @<:@default=yes@:>@])],
|
||||||
|
[enable_logind="${enableval}"],
|
||||||
|
[enable_logind="yes"]
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_ARG_WITH(audit,
|
||||||
|
[AS_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
|
||||||
[with_audit=$withval], [with_audit=maybe])
|
[with_audit=$withval], [with_audit=maybe])
|
||||||
AC_ARG_WITH(libpam,
|
AC_ARG_WITH(libpam,
|
||||||
[AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
|
||||||
[with_libpam=$withval], [with_libpam=maybe])
|
[with_libpam=$withval], [with_libpam=maybe])
|
||||||
|
AC_ARG_WITH(btrfs,
|
||||||
|
[AS_HELP_STRING([--with-btrfs], [add BtrFS support @<:@default=yes if found@:>@])],
|
||||||
|
[with_btrfs=$withval], [with_btrfs=maybe])
|
||||||
AC_ARG_WITH(selinux,
|
AC_ARG_WITH(selinux,
|
||||||
[AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--with-selinux], [use SELinux support @<:@default=yes if found@:>@])],
|
||||||
[with_selinux=$withval], [with_selinux=maybe])
|
[with_selinux=$withval], [with_selinux=maybe])
|
||||||
AC_ARG_WITH(acl,
|
AC_ARG_WITH(acl,
|
||||||
[AC_HELP_STRING([--with-acl], [use ACL support @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--with-acl], [use ACL support @<:@default=yes if found@:>@])],
|
||||||
[with_acl=$withval], [with_acl=maybe])
|
[with_acl=$withval], [with_acl=maybe])
|
||||||
AC_ARG_WITH(attr,
|
AC_ARG_WITH(attr,
|
||||||
[AC_HELP_STRING([--with-attr], [use Extended Attribute support @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--with-attr], [use Extended Attribute support @<:@default=yes if found@:>@])],
|
||||||
[with_attr=$withval], [with_attr=maybe])
|
[with_attr=$withval], [with_attr=maybe])
|
||||||
AC_ARG_WITH(skey,
|
AC_ARG_WITH(skey,
|
||||||
[AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])],
|
[AS_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])],
|
||||||
[with_skey=$withval], [with_skey=no])
|
[with_skey=$withval], [with_skey=no])
|
||||||
AC_ARG_WITH(tcb,
|
AC_ARG_WITH(tcb,
|
||||||
[AC_HELP_STRING([--with-tcb], [use tcb support (incomplete) @<:@default=yes if found@:>@])],
|
[AS_HELP_STRING([--with-tcb], [use tcb support (incomplete) @<:@default=yes if found@:>@])],
|
||||||
[with_tcb=$withval], [with_tcb=maybe])
|
[with_tcb=$withval], [with_tcb=maybe])
|
||||||
AC_ARG_WITH(libcrack,
|
|
||||||
[AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=no@:>@])],
|
|
||||||
[with_libcrack=$withval], [with_libcrack=no])
|
|
||||||
AC_ARG_WITH(sha-crypt,
|
AC_ARG_WITH(sha-crypt,
|
||||||
[AC_HELP_STRING([--with-sha-crypt], [allow the SHA256 and SHA512 password encryption algorithms @<:@default=yes@:>@])],
|
[AS_HELP_STRING([--with-sha-crypt], [allow the SHA256 and SHA512 password encryption algorithms @<:@default=yes@:>@])],
|
||||||
[with_sha_crypt=$withval], [with_sha_crypt=yes])
|
[with_sha_crypt=$withval], [with_sha_crypt=yes])
|
||||||
|
AC_ARG_WITH(bcrypt,
|
||||||
|
[AS_HELP_STRING([--with-bcrypt], [allow the bcrypt password encryption algorithm @<:@default=no@:>@])],
|
||||||
|
[with_bcrypt=$withval], [with_bcrypt=no])
|
||||||
|
AC_ARG_WITH(yescrypt,
|
||||||
|
[AS_HELP_STRING([--with-yescrypt], [allow the yescrypt password encryption algorithm @<:@default=no@:>@])],
|
||||||
|
[with_yescrypt=$withval], [with_yescrypt=no])
|
||||||
AC_ARG_WITH(nscd,
|
AC_ARG_WITH(nscd,
|
||||||
[AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
|
[AS_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
|
||||||
[with_nscd=$withval], [with_nscd=yes])
|
[with_nscd=$withval], [with_nscd=yes])
|
||||||
|
AC_ARG_WITH(sssd,
|
||||||
|
[AS_HELP_STRING([--with-sssd], [enable support for flushing sssd caches @<:@default=yes@:>@])],
|
||||||
|
[with_sssd=$withval], [with_sssd=yes])
|
||||||
AC_ARG_WITH(group-name-max-length,
|
AC_ARG_WITH(group-name-max-length,
|
||||||
[AC_HELP_STRING([--with-group-name-max-length], [set max group name length @<:@default=16@:>@])],
|
[AS_HELP_STRING([--with-group-name-max-length], [set max group name length @<:@default=32@:>@])],
|
||||||
[with_group_name_max_length=$withval], [with_group_name_max_length=yes])
|
[with_group_name_max_length=$withval], [with_group_name_max_length=yes])
|
||||||
|
AC_ARG_WITH(su,
|
||||||
|
[AS_HELP_STRING([--with-su], [build and install su program and man page @<:@default=yes@:>@])],
|
||||||
|
[with_su=$withval], [with_su=yes])
|
||||||
|
AC_ARG_WITH(libbsd,
|
||||||
|
[AS_HELP_STRING([--with-libbsd], [use libbsd support @<:@default=yes if found@:>@])],
|
||||||
|
[with_libbsd=$withval], [with_libbsd=yes])
|
||||||
|
|
||||||
if test "$with_group_name_max_length" = "no" ; then
|
if test "$with_group_name_max_length" = "no" ; then
|
||||||
with_group_name_max_length=0
|
with_group_name_max_length=0
|
||||||
elif test "$with_group_name_max_length" = "yes" ; then
|
elif test "$with_group_name_max_length" = "yes" ; then
|
||||||
with_group_name_max_length=16
|
with_group_name_max_length=32
|
||||||
fi
|
fi
|
||||||
AC_DEFINE_UNQUOTED(GROUP_NAME_MAX_LENGTH, $with_group_name_max_length, [max group name length])
|
AC_DEFINE_UNQUOTED(GROUP_NAME_MAX_LENGTH, $with_group_name_max_length, [max group name length])
|
||||||
AC_SUBST(GROUP_NAME_MAX_LENGTH)
|
AC_SUBST(GROUP_NAME_MAX_LENGTH)
|
||||||
GROUP_NAME_MAX_LENGTH="$with_group_name_max_length"
|
GROUP_NAME_MAX_LENGTH="$with_group_name_max_length"
|
||||||
|
|
||||||
|
|
||||||
AM_CONDITIONAL(USE_SHA_CRYPT, test "x$with_sha_crypt" = "xyes")
|
AM_CONDITIONAL(USE_SHA_CRYPT, test "x$with_sha_crypt" = "xyes")
|
||||||
if test "$with_sha_crypt" = "yes"; then
|
if test "$with_sha_crypt" = "yes"; then
|
||||||
AC_DEFINE(USE_SHA_CRYPT, 1, [Define to allow the SHA256 and SHA512 password encryption algorithms])
|
AC_DEFINE(USE_SHA_CRYPT, 1, [Define to allow the SHA256 and SHA512 password encryption algorithms])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(USE_BCRYPT, test "x$with_bcrypt" = "xyes")
|
||||||
|
if test "$with_bcrypt" = "yes"; then
|
||||||
|
AC_DEFINE(USE_BCRYPT, 1, [Define to allow the bcrypt password encryption algorithm])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(USE_YESCRYPT, test "x$with_yescrypt" = "xyes")
|
||||||
|
if test "$with_yescrypt" = "yes"; then
|
||||||
|
AC_DEFINE(USE_YESCRYPT, 1, [Define to allow the yescrypt password encryption algorithm])
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$with_nscd" = "yes"; then
|
if test "$with_nscd" = "yes"; then
|
||||||
AC_CHECK_FUNC(posix_spawn,
|
AC_CHECK_FUNC(posix_spawn,
|
||||||
[AC_DEFINE(USE_NSCD, 1, [Define to support flushing of nscd caches])],
|
[AC_DEFINE(USE_NSCD, 1, [Define to support flushing of nscd caches])],
|
||||||
[AC_MSG_ERROR([posix_spawn is needed for nscd support])])
|
[AC_MSG_ERROR([posix_spawn is needed for nscd support])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$with_sssd" = "yes"; then
|
||||||
|
AC_CHECK_FUNC(posix_spawn,
|
||||||
|
[AC_DEFINE(USE_SSSD, 1, [Define to support flushing of sssd caches])],
|
||||||
|
[AC_MSG_ERROR([posix_spawn is needed for sssd support])])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AS_IF([test "$with_su" != "no"], AC_DEFINE(WITH_SU, 1, [Build with su]))
|
||||||
|
AM_CONDITIONAL([WITH_SU], [test "x$with_su" != "xno"])
|
||||||
|
|
||||||
dnl Check for some functions in libc first, only if not found check for
|
dnl Check for some functions in libc first, only if not found check for
|
||||||
dnl other libraries. This should prevent linking libnsl if not really
|
dnl other libraries. This should prevent linking libnsl if not really
|
||||||
dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
|
dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
|
||||||
|
|
||||||
AC_SEARCH_LIBS(inet_ntoa, inet)
|
|
||||||
AC_SEARCH_LIBS(socket, socket)
|
|
||||||
AC_SEARCH_LIBS(gethostbyname, nsl)
|
AC_SEARCH_LIBS(gethostbyname, nsl)
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"],
|
||||||
|
[AC_MSG_WARN([libcmocka not found, cmocka tests will not be built])])
|
||||||
|
AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes])
|
||||||
|
|
||||||
|
AC_CHECK_LIB([econf],[econf_readDirs],[LIBECONF="-leconf"],[LIBECONF=""])
|
||||||
|
if test -n "$LIBECONF"; then
|
||||||
|
AC_DEFINE_UNQUOTED([VENDORDIR], ["$enable_vendordir"],
|
||||||
|
[Directory for distribution provided configuration files])
|
||||||
|
ECONF_CPPFLAGS="-DUSE_ECONF=1"
|
||||||
|
AC_ARG_ENABLE([vendordir],
|
||||||
|
AS_HELP_STRING([--enable-vendordir=DIR], [Directory for distribution provided configuration files]),,[])
|
||||||
|
fi
|
||||||
|
AC_SUBST(ECONF_CPPFLAGS)
|
||||||
|
AC_SUBST(LIBECONF)
|
||||||
|
AC_SUBST([VENDORDIR], [$enable_vendordir])
|
||||||
|
if test "x$enable_vendordir" != x; then
|
||||||
|
AC_DEFINE(HAVE_VENDORDIR, 1, [Define to support vendor settings.])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([HAVE_VENDORDIR], [test "x$enable_vendordir" != x])
|
||||||
|
|
||||||
if test "$enable_shadowgrp" = "yes"; then
|
if test "$enable_shadowgrp" = "yes"; then
|
||||||
AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.])
|
AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.])
|
||||||
fi
|
fi
|
||||||
@@ -321,11 +343,12 @@ if test "$enable_man" = "yes"; then
|
|||||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||||
if test -z "$XSLTPROC"; then
|
if test -z "$XSLTPROC"; then
|
||||||
enable_man=no
|
enable_man=no
|
||||||
|
AC_MSG_ERROR([xsltproc is missing.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl check for DocBook DTD and stylesheets in the local catalog.
|
dnl check for DocBook DTD and stylesheets in the local catalog.
|
||||||
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
|
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.5//EN],
|
||||||
[DocBook XML DTD V4.1.2], [], enable_man=no)
|
[DocBook XML DTD V4.5], [], enable_man=no)
|
||||||
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
|
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
|
||||||
[DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
|
[DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
|
||||||
fi
|
fi
|
||||||
@@ -350,10 +373,69 @@ if test "$enable_subids" != "no"; then
|
|||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(ENABLE_SUBIDS, test "x$enable_subids" != "xno")
|
AM_CONDITIONAL(ENABLE_SUBIDS, test "x$enable_subids" != "xno")
|
||||||
|
|
||||||
|
if test "$enable_lastlog" = "yes" && test "$ac_cv_header_lastlog_h" = "yes"; then
|
||||||
|
AC_CACHE_CHECK(for ll_host in struct lastlog,
|
||||||
|
ac_cv_struct_lastlog_ll_host,
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <lastlog.h>],
|
||||||
|
[struct lastlog ll; char *cp = ll.ll_host;]
|
||||||
|
)],
|
||||||
|
[ac_cv_struct_lastlog_ll_host=yes],
|
||||||
|
[ac_cv_struct_lastlog_ll_host=no]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then
|
||||||
|
AC_DEFINE(HAVE_LL_HOST, 1,
|
||||||
|
[Define if struct lastlog has ll_host])
|
||||||
|
AC_DEFINE(ENABLE_LASTLOG, 1, [Define to support lastlog.])
|
||||||
|
enable_lastlog="yes"
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Cannot enable support for lastlog on systems where the data structures aren't available])
|
||||||
|
enable_subids="no"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(ENABLE_LASTLOG, test "x$enable_lastlog" != "xno")
|
||||||
|
|
||||||
|
AC_SUBST(LIBSYSTEMD)
|
||||||
|
if test "$enable_logind" = "yes"; then
|
||||||
|
AC_CHECK_LIB(systemd, sd_session_get_remote_host,
|
||||||
|
[enable_logind="yes"; [LIBSYSTEMD=-lsystemd];
|
||||||
|
AC_DEFINE(ENABLE_LOGIND, 1,
|
||||||
|
[Define to manage session support with logind.])],
|
||||||
|
[enable_logind="no"])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(ENABLE_LOGIND, test "x$enable_logind" != "xno")
|
||||||
|
|
||||||
AC_SUBST(LIBCRYPT)
|
AC_SUBST(LIBCRYPT)
|
||||||
AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt],
|
AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt],
|
||||||
[AC_MSG_ERROR([crypt() not found])])
|
[AC_MSG_ERROR([crypt() not found])])
|
||||||
|
|
||||||
|
AC_SUBST(LIYESCRYPT)
|
||||||
|
AC_CHECK_LIB(crypt, crypt, [LIYESCRYPT=-lcrypt],
|
||||||
|
[AC_MSG_ERROR([crypt() not found])])
|
||||||
|
|
||||||
|
AC_SUBST(LIBBSD)
|
||||||
|
if test "$with_libbsd" != "no"; then
|
||||||
|
AC_SEARCH_LIBS([readpassphrase], [bsd], [], [
|
||||||
|
AC_MSG_ERROR([readpassphrase() is missing, either from libc or libbsd])
|
||||||
|
])
|
||||||
|
AS_IF([test "$ac_cv_search_readpassphrase" = "-lbsd"], [
|
||||||
|
PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay])
|
||||||
|
])
|
||||||
|
dnl Make sure either the libc or libbsd provide the header.
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $LIBBSD_CFLAGS"
|
||||||
|
AC_CHECK_HEADERS([readpassphrase.h])
|
||||||
|
AS_IF([test "$ac_cv_header_readpassphrase_h" != "yes"], [
|
||||||
|
AC_MSG_ERROR([readpassphrase.h is missing])
|
||||||
|
])
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
AC_DEFINE(WITH_LIBBSD, 1, [Build shadow with libbsd support])
|
||||||
|
else
|
||||||
|
AC_DEFINE(WITH_LIBBSD, 0, [Build shadow without libbsd support])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(WITH_LIBBSD, test x$with_libbsd = xyes)
|
||||||
|
|
||||||
AC_SUBST(LIBACL)
|
AC_SUBST(LIBACL)
|
||||||
if test "$with_acl" != "no"; then
|
if test "$with_acl" != "no"; then
|
||||||
AC_CHECK_HEADERS(acl/libacl.h attr/error_context.h, [acl_header="yes"], [acl_header="no"])
|
AC_CHECK_HEADERS(acl/libacl.h attr/error_context.h, [acl_header="yes"], [acl_header="no"])
|
||||||
@@ -438,16 +520,19 @@ if test "$with_audit" != "no"; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(LIBCRACK)
|
if test "$with_btrfs" != "no"; then
|
||||||
if test "$with_libcrack" = "yes"; then
|
AC_CHECK_HEADERS([sys/statfs.h linux/magic.h linux/btrfs_tree.h], \
|
||||||
echo "checking cracklib flavour, don't be surprised by the results"
|
[btrfs_headers="yes"], [btrfs_headers="no"])
|
||||||
AC_CHECK_LIB(crack, FascistCheck,
|
if test "$btrfs_headers$with_btrfs" = "noyes" ; then
|
||||||
[LIBCRACK=-lcrack AC_DEFINE(HAVE_LIBCRACK, 1, [Defined if you have libcrack.])])
|
AC_MSG_ERROR([One of sys/statfs.h linux/magic.h linux/btrfs_tree.h is missing])
|
||||||
AC_CHECK_LIB(crack, FascistHistory,
|
fi
|
||||||
AC_DEFINE(HAVE_LIBCRACK_HIST, 1, [Defined if you have the ts&szs cracklib.]))
|
|
||||||
AC_CHECK_LIB(crack, FascistHistoryPw,
|
if test "$btrfs_headers" = "yes" ; then
|
||||||
AC_DEFINE(HAVE_LIBCRACK_PW, 1, [Defined if it includes *Pw functions.]))
|
AC_DEFINE(WITH_BTRFS, 1, [Build shadow with BtrFS support])
|
||||||
|
with_btrfs="yes"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
AM_CONDITIONAL(WITH_BTRFS, test x$with_btrfs = xyes)
|
||||||
|
|
||||||
AC_SUBST(LIBSELINUX)
|
AC_SUBST(LIBSELINUX)
|
||||||
AC_SUBST(LIBSEMANAGE)
|
AC_SUBST(LIBSEMANAGE)
|
||||||
@@ -473,7 +558,7 @@ if test "$with_selinux" != "no"; then
|
|||||||
AC_MSG_ERROR([libsemanage not found])
|
AC_MSG_ERROR([libsemanage not found])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$selinux_lib$semanage_lib" == "yesyes" ; then
|
if test "$selinux_lib$semanage_lib" = "yesyes" ; then
|
||||||
AC_DEFINE(WITH_SELINUX, 1,
|
AC_DEFINE(WITH_SELINUX, 1,
|
||||||
[Build shadow with SELinux support])
|
[Build shadow with SELinux support])
|
||||||
LIBSELINUX="-lselinux"
|
LIBSELINUX="-lselinux"
|
||||||
@@ -563,7 +648,7 @@ if test "$with_libpam" = "yes"; then
|
|||||||
LIBS=$save_libs
|
LIBS=$save_libs
|
||||||
|
|
||||||
AC_DEFINE(USE_PAM, 1, [Define to support Pluggable Authentication Modules])
|
AC_DEFINE(USE_PAM, 1, [Define to support Pluggable Authentication Modules])
|
||||||
AC_DEFINE_UNQUOTED(SHADOW_PAM_CONVERSATION, [$pam_conv_function],[PAM converstation to use])
|
AC_DEFINE_UNQUOTED(SHADOW_PAM_CONVERSATION, [$pam_conv_function],[PAM conversation to use])
|
||||||
AM_CONDITIONAL(USE_PAM, [true])
|
AM_CONDITIONAL(USE_PAM, [true])
|
||||||
|
|
||||||
AC_MSG_CHECKING(use login and su access checking if PAM not used)
|
AC_MSG_CHECKING(use login and su access checking if PAM not used)
|
||||||
@@ -593,6 +678,19 @@ if test "$enable_acct_tools_setuid" != "no"; then
|
|||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(ACCT_TOOLS_SETUID, test "x$enable_acct_tools_setuid" = "xyes")
|
AM_CONDITIONAL(ACCT_TOOLS_SETUID, test "x$enable_acct_tools_setuid" = "xyes")
|
||||||
|
|
||||||
|
|
||||||
|
AC_ARG_WITH(fcaps,
|
||||||
|
[AS_HELP_STRING([--with-fcaps], [use file capabilities instead of suid binaries for newuidmap/newgidmap @<:@default=no@:>@])],
|
||||||
|
[with_fcaps=$withval], [with_fcaps=no])
|
||||||
|
AM_CONDITIONAL(FCAPS, test "x$with_fcaps" = "xyes")
|
||||||
|
|
||||||
|
if test "x$with_fcaps" = "xyes"; then
|
||||||
|
AC_CHECK_PROGS(capcmd, "setcap")
|
||||||
|
if test "x$capcmd" = "x" ; then
|
||||||
|
AC_MSG_ERROR([setcap command not available])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
AC_SUBST(LIBSKEY)
|
AC_SUBST(LIBSKEY)
|
||||||
AC_SUBST(LIBMD)
|
AC_SUBST(LIBMD)
|
||||||
if test "$with_skey" = "yes"; then
|
if test "$with_skey" = "yes"; then
|
||||||
@@ -600,26 +698,19 @@ if test "$with_skey" = "yes"; then
|
|||||||
AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
|
AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
|
||||||
[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
|
[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
|
||||||
AC_DEFINE(SKEY, 1, [Define to support S/Key logins.])
|
AC_DEFINE(SKEY, 1, [Define to support S/Key logins.])
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <skey.h>
|
#include <skey.h>
|
||||||
],[
|
]], [[
|
||||||
skeychallenge((void*)0, (void*)0, (void*)0, 0);
|
skeychallenge((void*)0, (void*)0, (void*)0, 0);
|
||||||
],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])])
|
]])],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])],[])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$enable_utmpx" = "yes"; then
|
AC_CHECK_FUNC(fgetpwent_r, [AC_DEFINE(HAVE_FGETPWENT_R, 1, [Defined to 1 if you have the declaration of 'fgetpwent_r'])])
|
||||||
if test "$ac_cv_header_utmpx_h" != "yes"; then
|
|
||||||
AC_MSG_ERROR([The utmpx.h header file is required for utmpx support.])
|
|
||||||
fi
|
|
||||||
AC_DEFINE(USE_UTMPX,
|
|
||||||
1,
|
|
||||||
[Define if utmpx should be used])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED(SHELL, ["$SHELL"], [The default shell.])
|
AC_DEFINE_UNQUOTED(SHELL, ["$SHELL"], [The default shell.])
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION(0.16)
|
AM_GNU_GETTEXT_VERSION([0.19])
|
||||||
AM_GNU_GETTEXT([external], [need-ngettext])
|
AM_GNU_GETTEXT([external], [need-ngettext])
|
||||||
AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes")
|
AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes")
|
||||||
|
|
||||||
@@ -646,15 +737,18 @@ AC_CONFIG_FILES([
|
|||||||
man/ru/Makefile
|
man/ru/Makefile
|
||||||
man/sv/Makefile
|
man/sv/Makefile
|
||||||
man/tr/Makefile
|
man/tr/Makefile
|
||||||
|
man/uk/Makefile
|
||||||
man/zh_CN/Makefile
|
man/zh_CN/Makefile
|
||||||
man/zh_TW/Makefile
|
man/zh_TW/Makefile
|
||||||
libmisc/Makefile
|
|
||||||
lib/Makefile
|
lib/Makefile
|
||||||
|
libsubid/Makefile
|
||||||
|
libsubid/subid.h
|
||||||
src/Makefile
|
src/Makefile
|
||||||
contrib/Makefile
|
contrib/Makefile
|
||||||
etc/Makefile
|
etc/Makefile
|
||||||
etc/pam.d/Makefile
|
etc/pam.d/Makefile
|
||||||
shadow.spec
|
etc/shadow-maint/Makefile
|
||||||
|
tests/unit/Makefile
|
||||||
])
|
])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
@@ -662,18 +756,26 @@ echo
|
|||||||
echo "shadow will be compiled with the following features:"
|
echo "shadow will be compiled with the following features:"
|
||||||
echo
|
echo
|
||||||
echo " auditing support: $with_audit"
|
echo " auditing support: $with_audit"
|
||||||
echo " CrackLib support: $with_libcrack"
|
|
||||||
echo " PAM support: $with_libpam"
|
echo " PAM support: $with_libpam"
|
||||||
if test "$with_libpam" = "yes"; then
|
if test "$with_libpam" = "yes"; then
|
||||||
echo " suid account management tools: $enable_acct_tools_setuid"
|
echo " suid account management tools: $enable_acct_tools_setuid"
|
||||||
fi
|
fi
|
||||||
echo " SELinux support: $with_selinux"
|
echo " SELinux support: $with_selinux"
|
||||||
|
echo " BtrFS support: $with_btrfs"
|
||||||
echo " ACL support: $with_acl"
|
echo " ACL support: $with_acl"
|
||||||
echo " Extended Attributes support: $with_attr"
|
echo " Extended Attributes support: $with_attr"
|
||||||
echo " tcb support (incomplete): $with_tcb"
|
echo " tcb support (incomplete): $with_tcb"
|
||||||
echo " shadow group support: $enable_shadowgrp"
|
echo " shadow group support: $enable_shadowgrp"
|
||||||
echo " S/Key support: $with_skey"
|
echo " S/Key support: $with_skey"
|
||||||
echo " SHA passwords encryption: $with_sha_crypt"
|
echo " SHA passwords encryption: $with_sha_crypt"
|
||||||
|
echo " bcrypt passwords encryption: $with_bcrypt"
|
||||||
|
echo " yescrypt passwords encryption: $with_yescrypt"
|
||||||
echo " nscd support: $with_nscd"
|
echo " nscd support: $with_nscd"
|
||||||
|
echo " sssd support: $with_sssd"
|
||||||
echo " subordinate IDs support: $enable_subids"
|
echo " subordinate IDs support: $enable_subids"
|
||||||
|
echo " enable lastlog: $enable_lastlog"
|
||||||
|
echo " enable logind: $enable_logind"
|
||||||
|
echo " use file caps: $with_fcaps"
|
||||||
|
echo " install su: $with_su"
|
||||||
|
echo " enabled vendor dir: $enable_vendordir"
|
||||||
echo
|
echo
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# This is a dummy Makefile.am to get automake work flawlessly,
|
# This is a dummy Makefile.am to get automake work flawlessly,
|
||||||
# and also cooperate to make a distribution for `make dist'
|
# and also cooperate to make a distribution for `make dist'
|
||||||
|
|
||||||
EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \
|
EXTRA_DIST = README adduser.c adduser.sh adduser2.sh
|
||||||
atudel groupmems.shar pwdauth.c shadow-anonftp.patch \
|
|
||||||
udbachk.tgz
|
|
||||||
|
|||||||
508
contrib/Makefile.in
Normal file
508
contrib/Makefile.in
Normal file
@@ -0,0 +1,508 @@
|
|||||||
|
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
# This is a dummy Makefile.am to get automake work flawlessly,
|
||||||
|
# and also cooperate to make a distribution for `make dist'
|
||||||
|
VPATH = @srcdir@
|
||||||
|
am__is_gnu_make = { \
|
||||||
|
if test -z '$(MAKELEVEL)'; then \
|
||||||
|
false; \
|
||||||
|
elif test -n '$(MAKE_HOST)'; then \
|
||||||
|
true; \
|
||||||
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||||
|
true; \
|
||||||
|
else \
|
||||||
|
false; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
am__make_running_with_option = \
|
||||||
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
|
case $$MAKEFLAGS in \
|
||||||
|
*\\[\ \ ]*) \
|
||||||
|
bs=\\; \
|
||||||
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
|
esac; \
|
||||||
|
fi; \
|
||||||
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
subdir = contrib
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
|
||||||
|
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
|
||||||
|
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||||
|
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
|
||||||
|
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
|
SOURCES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
am__can_run_installinfo = \
|
||||||
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
|
n|no|NO) false;; \
|
||||||
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
|
esac
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
|
am__DIST_COMMON = $(srcdir)/Makefile.in README
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CMOCKA_CFLAGS = @CMOCKA_CFLAGS@
|
||||||
|
CMOCKA_LIBS = @CMOCKA_LIBS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CSCOPE = @CSCOPE@
|
||||||
|
CTAGS = @CTAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
DSYMUTIL = @DSYMUTIL@
|
||||||
|
DUMPBIN = @DUMPBIN@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FGREP = @FGREP@
|
||||||
|
FILECMD = @FILECMD@
|
||||||
|
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||||
|
GMSGFMT = @GMSGFMT@
|
||||||
|
GMSGFMT_015 = @GMSGFMT_015@
|
||||||
|
GREP = @GREP@
|
||||||
|
GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
INTLLIBS = @INTLLIBS@
|
||||||
|
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||||
|
LD = @LD@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBACL = @LIBACL@
|
||||||
|
LIBADD_DL = @LIBADD_DL@
|
||||||
|
LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
|
||||||
|
LIBADD_DLOPEN = @LIBADD_DLOPEN@
|
||||||
|
LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
|
||||||
|
LIBATTR = @LIBATTR@
|
||||||
|
LIBAUDIT = @LIBAUDIT@
|
||||||
|
LIBBSD = @LIBBSD@
|
||||||
|
LIBBSD_CFLAGS = @LIBBSD_CFLAGS@
|
||||||
|
LIBBSD_LIBS = @LIBBSD_LIBS@
|
||||||
|
LIBCRYPT = @LIBCRYPT@
|
||||||
|
LIBECONF = @LIBECONF@
|
||||||
|
LIBICONV = @LIBICONV@
|
||||||
|
LIBINTL = @LIBINTL@
|
||||||
|
LIBMD = @LIBMD@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBPAM = @LIBPAM@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBSELINUX = @LIBSELINUX@
|
||||||
|
LIBSEMANAGE = @LIBSEMANAGE@
|
||||||
|
LIBSKEY = @LIBSKEY@
|
||||||
|
LIBSUBID_ABI = @LIBSUBID_ABI@
|
||||||
|
LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
|
||||||
|
LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
|
||||||
|
LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
|
||||||
|
LIBSYSTEMD = @LIBSYSTEMD@
|
||||||
|
LIBTCB = @LIBTCB@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LIPO = @LIPO@
|
||||||
|
LIYESCRYPT = @LIYESCRYPT@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBICONV = @LTLIBICONV@
|
||||||
|
LTLIBINTL = @LTLIBINTL@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
LT_DLLOADERS = @LT_DLLOADERS@
|
||||||
|
LT_DLPREOPEN = @LT_DLPREOPEN@
|
||||||
|
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
MSGFMT = @MSGFMT@
|
||||||
|
MSGFMT_015 = @MSGFMT_015@
|
||||||
|
MSGMERGE = @MSGMERGE@
|
||||||
|
NM = @NM@
|
||||||
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PKG_CONFIG = @PKG_CONFIG@
|
||||||
|
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||||
|
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||||
|
POSUB = @POSUB@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SED = @SED@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VENDORDIR = @VENDORDIR@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||||
|
XMLCATALOG = @XMLCATALOG@
|
||||||
|
XML_CATALOG_FILE = @XML_CATALOG_FILE@
|
||||||
|
XSLTPROC = @XSLTPROC@
|
||||||
|
YACC = @YACC@
|
||||||
|
YFLAGS = @YFLAGS@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
|
capcmd = @capcmd@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
runstatedir = @runstatedir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
EXTRA_DIST = README adduser.c adduser.sh adduser2.sh
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||||
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --foreign contrib/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
tags TAGS:
|
||||||
|
|
||||||
|
ctags CTAGS:
|
||||||
|
|
||||||
|
cscope cscopelist:
|
||||||
|
|
||||||
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile
|
||||||
|
installdirs:
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
if test -z '$(STRIP)'; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
install; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||||
|
fi
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-am
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-html: install-html-am
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-am
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-am
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am:
|
||||||
|
|
||||||
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||||
|
cscopelist-am ctags-am distclean distclean-generic \
|
||||||
|
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-dvi \
|
||||||
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
|
install-html-am install-info install-info-am install-man \
|
||||||
|
install-pdf install-pdf-am install-ps install-ps-am \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
|
tags-am uninstall uninstall-am
|
||||||
|
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
@@ -2,9 +2,6 @@ People keep sending various adduser programs and scripts... They are
|
|||||||
all in this directory. I haven't tested them, use at your own risk.
|
all in this directory. I haven't tested them, use at your own risk.
|
||||||
Anyway, the best one I've seen so far is adduser-3.x from Debian.
|
Anyway, the best one I've seen so far is adduser-3.x from Debian.
|
||||||
|
|
||||||
atudel is a perl script to remove at jobs owned by the specified user
|
|
||||||
(atrm in at-2.9 for Linux can't do that).
|
|
||||||
|
|
||||||
udbachk.tgz is a passwd/group/shadow file integrity checker.
|
udbachk.tgz is a passwd/group/shadow file integrity checker.
|
||||||
|
|
||||||
--marekm
|
--marekm
|
||||||
|
|||||||
@@ -1,300 +0,0 @@
|
|||||||
/****
|
|
||||||
** 03/17/96
|
|
||||||
** hacked a bit more, removed unused code, cleaned up for gcc -Wall.
|
|
||||||
** --marekm
|
|
||||||
**
|
|
||||||
** 02/26/96
|
|
||||||
** modified to call shadow utils (useradd,chage,passwd) on shadowed
|
|
||||||
** systems - Cristian Gafton, gafton@sorosis.ro
|
|
||||||
**
|
|
||||||
** 6/27/95
|
|
||||||
** shadow-adduser 1.4:
|
|
||||||
**
|
|
||||||
** now it copies the /etc/skel dir into the person's dir,
|
|
||||||
** makes the mail folders, changed some defaults and made a 'make
|
|
||||||
** install' just for the hell of it.
|
|
||||||
**
|
|
||||||
** Greg Gallagher
|
|
||||||
** CIN.Net
|
|
||||||
**
|
|
||||||
** 1/28/95
|
|
||||||
** shadow-adduser 1.3:
|
|
||||||
**
|
|
||||||
** Basically a bug-fix on my additions in 1.2. Thanx to Terry Stewart
|
|
||||||
** (stew@texas.net) for pointing out one of the many idiotic bugs I introduced.
|
|
||||||
** It was such a stupid bug that I would have never seen it myself.
|
|
||||||
**
|
|
||||||
** Brandon
|
|
||||||
*****
|
|
||||||
** 01/27/95
|
|
||||||
**
|
|
||||||
** shadow-adduser 1.2:
|
|
||||||
** I took the C source from adduser-shadow (credits are below) and made
|
|
||||||
** it a little more worthwhile. Many small changes... Here's
|
|
||||||
** the ones I can remember:
|
|
||||||
**
|
|
||||||
** Removed support for non-shadowed systems (if you don't have shadow,
|
|
||||||
** use the original adduser, don't get this shadow version!)
|
|
||||||
** Added support for the correct /etc/shadow fields (Min days before
|
|
||||||
** password change, max days before password change, Warning days,
|
|
||||||
** and how many days from expiry date does the account go invalid)
|
|
||||||
** The previous version just left all of those fields blank.
|
|
||||||
** There is still one field left (expiry date for the account, period)
|
|
||||||
** which I have left blank because I do not use it and didn't want to
|
|
||||||
** spend any more time on this. I'm sure someone will put it in and
|
|
||||||
** tack another plethora of credits on here. :)
|
|
||||||
** Added in the password date field, which should always reflect the last
|
|
||||||
** date the password was changed, for expiry purposes. "passwd" always
|
|
||||||
** updates this field, so the adduser program should set it up right
|
|
||||||
** initially (or a user could keep thier initial password forever ;)
|
|
||||||
** The number is in days since Jan 1st, 1970.
|
|
||||||
**
|
|
||||||
** Have fun with it, and someone please make
|
|
||||||
** a real version(this is still just a hack)
|
|
||||||
** for us all to use (and Email it to me???)
|
|
||||||
**
|
|
||||||
** Brandon
|
|
||||||
** photon@usis.com
|
|
||||||
**
|
|
||||||
*****
|
|
||||||
** adduser 1.0: add a new user account (For systems not using shadow)
|
|
||||||
** With a nice little interface and a will to do all the work for you.
|
|
||||||
**
|
|
||||||
** Craig Hagan
|
|
||||||
** hagan@opine.cs.umass.edu
|
|
||||||
**
|
|
||||||
** Modified to really work, look clean, and find unused uid by Chris Cappuccio
|
|
||||||
** chris@slinky.cs.umass.edu
|
|
||||||
**
|
|
||||||
*****
|
|
||||||
**
|
|
||||||
** 01/19/95
|
|
||||||
**
|
|
||||||
** FURTHER modifications to enable shadow passwd support (kludged, but
|
|
||||||
** no more so than the original) by Dan Crowson - dcrowson@mo.net
|
|
||||||
**
|
|
||||||
** Search on DAN for all changes...
|
|
||||||
**
|
|
||||||
*****
|
|
||||||
**
|
|
||||||
** cc -O -o adduser adduser.c
|
|
||||||
** Use gcc if you have it... (political reasons beyond my control) (chris)
|
|
||||||
**
|
|
||||||
** I've gotten this program to work with success under Linux (without
|
|
||||||
** shadow) and SunOS 4.1.3. I would assume it should work pretty well
|
|
||||||
** on any system that uses no shadow. (chris)
|
|
||||||
**
|
|
||||||
** If you have no crypt() then try
|
|
||||||
** cc -DNO_CRYPT -O -o adduser adduser.c xfdes.c
|
|
||||||
** I'm not sure how login operates with no crypt()... I guess
|
|
||||||
** the same way we're doing it here.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <pwd.h>
|
|
||||||
#include <grp.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/timeb.h>
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#define DEFAULT_SHELL "/bin/bash" /* because BASH is your friend */
|
|
||||||
#define DEFAULT_HOME "/home"
|
|
||||||
#define USERADD_PATH "/usr/sbin/useradd"
|
|
||||||
#define CHAGE_PATH "/usr/sbin/chage"
|
|
||||||
#define PASSWD_PATH "/usr/bin/passwd"
|
|
||||||
#define DEFAULT_GROUP 100
|
|
||||||
|
|
||||||
#define DEFAULT_MAX_PASS 60
|
|
||||||
#define DEFAULT_WARN_PASS 10
|
|
||||||
/* if you use this feature, you will get a lot of complaints from users
|
|
||||||
who rarely use their accounts :) (something like 3 months would be
|
|
||||||
more reasonable) --marekm */
|
|
||||||
#define DEFAULT_USER_DIE /* 10 */ 0
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
char foo[32];
|
|
||||||
char uname[9],person[32],dir[32],shell[32];
|
|
||||||
unsigned int group,min_pass,max_pass,warn_pass,user_die;
|
|
||||||
/* the group and uid of the new user */
|
|
||||||
int bad=0,done=0,correct=0,gets_warning=0;
|
|
||||||
char cmd[255];
|
|
||||||
struct group *grp;
|
|
||||||
|
|
||||||
/* flags, in order:
|
|
||||||
* bad to see if the username is in /etc/passwd, or if strange stuff has
|
|
||||||
* been typed if the user might be put in group 0
|
|
||||||
* done allows the program to exit when a user has been added
|
|
||||||
* correct loops until a password is found that isn't in /etc/passwd
|
|
||||||
* gets_warning allows the fflush to be skipped for the first gets
|
|
||||||
* so that output is still legible
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* The real program starts HERE! */
|
|
||||||
|
|
||||||
if(geteuid()!=0)
|
|
||||||
{
|
|
||||||
printf("It seems you don't have access to add a new user. Try\n");
|
|
||||||
printf("logging in as root or su root to gain super-user access.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sanity checks
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!(grp=getgrgid(DEFAULT_GROUP))){
|
|
||||||
printf("Error: the default group %d does not exist on this system!\n",
|
|
||||||
DEFAULT_GROUP);
|
|
||||||
printf("adduser must be recompiled.\n");
|
|
||||||
exit(1);
|
|
||||||
};
|
|
||||||
|
|
||||||
while(!correct) { /* loop until a "good" uname is chosen */
|
|
||||||
while(!done) {
|
|
||||||
printf("\nLogin to add (^C to quit): ");
|
|
||||||
if(gets_warning) /* if the warning was already shown */
|
|
||||||
fflush(stdout); /* fflush stdout, otherwise set the flag */
|
|
||||||
else
|
|
||||||
gets_warning=1;
|
|
||||||
|
|
||||||
gets(uname);
|
|
||||||
if(!strlen(uname)) {
|
|
||||||
printf("Empty input.\n");
|
|
||||||
done=0;
|
|
||||||
continue;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* what I saw here before made me think maybe I was running DOS */
|
|
||||||
/* might this be a solution? (chris) */
|
|
||||||
if (getpwnam(uname) != NULL) {
|
|
||||||
printf("That name is in use, choose another.\n");
|
|
||||||
done=0;
|
|
||||||
} else
|
|
||||||
done=1;
|
|
||||||
}; /* done, we have a valid new user name */
|
|
||||||
|
|
||||||
/* all set, get the rest of the stuff */
|
|
||||||
printf("\nEditing information for new user [%s]\n",uname);
|
|
||||||
|
|
||||||
printf("\nFull Name [%s]: ",uname);
|
|
||||||
gets(person);
|
|
||||||
if (!strlen(person)) {
|
|
||||||
bzero(person,sizeof(person));
|
|
||||||
strcpy(person,uname);
|
|
||||||
};
|
|
||||||
|
|
||||||
do {
|
|
||||||
bad=0;
|
|
||||||
printf("GID [%d]: ",DEFAULT_GROUP);
|
|
||||||
gets(foo);
|
|
||||||
if (!strlen(foo))
|
|
||||||
group=DEFAULT_GROUP;
|
|
||||||
else
|
|
||||||
if (isdigit (*foo)) {
|
|
||||||
group = atoi(foo);
|
|
||||||
if (! (grp = getgrgid (group))) {
|
|
||||||
printf("unknown gid %s\n",foo);
|
|
||||||
group=DEFAULT_GROUP;
|
|
||||||
bad=1;
|
|
||||||
};
|
|
||||||
} else
|
|
||||||
if ((grp = getgrnam (foo)))
|
|
||||||
group = grp->gr_gid;
|
|
||||||
else {
|
|
||||||
printf("unknown group %s\n",foo);
|
|
||||||
group=DEFAULT_GROUP;
|
|
||||||
bad=1;
|
|
||||||
}
|
|
||||||
if (group==0){ /* You're not allowed to make root group users! */
|
|
||||||
printf("Creation of root group users not allowed (must be done by hand)\n");
|
|
||||||
group=DEFAULT_GROUP;
|
|
||||||
bad=1;
|
|
||||||
};
|
|
||||||
} while(bad);
|
|
||||||
|
|
||||||
|
|
||||||
fflush(stdin);
|
|
||||||
|
|
||||||
printf("\nIf home dir ends with a / then [%s] will be appended to it\n",uname);
|
|
||||||
printf("Home Directory [%s/%s]: ",DEFAULT_HOME,uname);
|
|
||||||
fflush(stdout);
|
|
||||||
gets(dir);
|
|
||||||
if (!strlen(dir)) { /* hit return */
|
|
||||||
sprintf(dir,"%s/%s",DEFAULT_HOME,uname);
|
|
||||||
fflush(stdin);
|
|
||||||
} else
|
|
||||||
if (dir[strlen(dir)-1]=='/')
|
|
||||||
sprintf(dir+strlen(dir),"%s",uname);
|
|
||||||
|
|
||||||
printf("\nShell [%s]: ",DEFAULT_SHELL);
|
|
||||||
fflush(stdout);
|
|
||||||
gets(shell);
|
|
||||||
if (!strlen(shell))
|
|
||||||
sprintf(shell,"%s",DEFAULT_SHELL);
|
|
||||||
|
|
||||||
printf("\nMin. Password Change Days [0]: ");
|
|
||||||
gets(foo);
|
|
||||||
min_pass=atoi(foo);
|
|
||||||
|
|
||||||
printf("Max. Password Change Days [%d]: ",DEFAULT_MAX_PASS);
|
|
||||||
gets(foo);
|
|
||||||
if (strlen(foo) > 1)
|
|
||||||
max_pass = atoi(foo);
|
|
||||||
else
|
|
||||||
max_pass = DEFAULT_MAX_PASS;
|
|
||||||
|
|
||||||
printf("Password Warning Days [%d]: ",DEFAULT_WARN_PASS);
|
|
||||||
gets(foo);
|
|
||||||
warn_pass = atoi(foo);
|
|
||||||
if (warn_pass==0)
|
|
||||||
warn_pass = DEFAULT_WARN_PASS;
|
|
||||||
|
|
||||||
printf("Days after Password Expiry for Account Locking [%d]: ",DEFAULT_USER_DIE);
|
|
||||||
gets(foo);
|
|
||||||
user_die = atoi(foo);
|
|
||||||
if (user_die == 0)
|
|
||||||
user_die = DEFAULT_USER_DIE;
|
|
||||||
|
|
||||||
printf("\nInformation for new user [%s] [%s]:\n",uname,person);
|
|
||||||
printf("Home directory: [%s] Shell: [%s]\n",dir,shell);
|
|
||||||
printf("GID: [%d]\n",group);
|
|
||||||
printf("MinPass: [%d] MaxPass: [%d] WarnPass: [%d] UserExpire: [%d]\n",
|
|
||||||
min_pass,max_pass,warn_pass,user_die);
|
|
||||||
printf("\nIs this correct? [y/N]: ");
|
|
||||||
fflush(stdout);
|
|
||||||
gets(foo);
|
|
||||||
|
|
||||||
done=bad=correct=(foo[0]=='y'||foo[0]=='Y');
|
|
||||||
|
|
||||||
if(bad!=1)
|
|
||||||
printf("\nUser [%s] not added\n",uname);
|
|
||||||
}
|
|
||||||
|
|
||||||
bzero(cmd,sizeof(cmd));
|
|
||||||
sprintf(cmd,"%s -g %d -d %s -s %s -c \"%s\" -m -k /etc/skel %s",
|
|
||||||
USERADD_PATH,group,dir,shell,person,uname);
|
|
||||||
printf("Calling useradd to add new user:\n%s\n",cmd);
|
|
||||||
if(system(cmd)){
|
|
||||||
printf("User add failed!\n");
|
|
||||||
exit(errno);
|
|
||||||
};
|
|
||||||
bzero(cmd,sizeof(cmd));
|
|
||||||
sprintf(cmd,"%s -m %d -M %d -W %d -I %d %s", CHAGE_PATH,
|
|
||||||
min_pass,max_pass,warn_pass,user_die,uname);
|
|
||||||
printf("%s\n",cmd);
|
|
||||||
if(system(cmd)){
|
|
||||||
printf("There was an error setting password expire values\n");
|
|
||||||
exit(errno);
|
|
||||||
};
|
|
||||||
bzero(cmd,sizeof(cmd));
|
|
||||||
sprintf(cmd,"%s %s",PASSWD_PATH,uname);
|
|
||||||
system(cmd);
|
|
||||||
printf("\nDone.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
** 1/28/95
|
** 1/28/95
|
||||||
** shadow-adduser 1.3:
|
** shadow-adduser 1.3:
|
||||||
**
|
**
|
||||||
** Basically a bug-fix on my additions in 1.2. Thanx to Terry Stewart
|
** Basically a bug-fix on my additions in 1.2. Thanks to Terry Stewart
|
||||||
** (stew@texas.net) for pointing out one of the many idiotic bugs I introduced.
|
** (stew@texas.net) for pointing out one of the many idiotic bugs I introduced.
|
||||||
** It was such a stupid bug that I would have never seen it myself.
|
** It was such a stupid bug that I would have never seen it myself.
|
||||||
**
|
**
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
** Added in the password date field, which should always reflect the last
|
** Added in the password date field, which should always reflect the last
|
||||||
** date the password was changed, for expiry purposes. "passwd" always
|
** date the password was changed, for expiry purposes. "passwd" always
|
||||||
** updates this field, so the adduser program should set it up right
|
** updates this field, so the adduser program should set it up right
|
||||||
** initially (or a user could keep thier initial password forever ;)
|
** initially (or a user could keep their initial password forever ;)
|
||||||
** The number is in days since Jan 1st, 1970.
|
** The number is in days since Jan 1st, 1970.
|
||||||
**
|
**
|
||||||
** Have fun with it, and someone please make
|
** Have fun with it, and someone please make
|
||||||
@@ -489,7 +489,7 @@ safeget (char *buf, int maxlen)
|
|||||||
while ((c = getc (stdin)) != EOF && (c != '\n') && (++i < maxlen))
|
while ((c = getc (stdin)) != EOF && (c != '\n') && (++i < maxlen))
|
||||||
{
|
{
|
||||||
bad = (!isalnum (c) && (c != '_') && (c != ' '));
|
bad = (!isalnum (c) && (c != '_') && (c != ' '));
|
||||||
*(buf++) = (char) c;
|
*(buf++) = c;
|
||||||
}
|
}
|
||||||
*buf = '\0';
|
*buf = '\0';
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ def_home_dir=/home/users
|
|||||||
# default shell
|
# default shell
|
||||||
def_shell=/bin/tcsh
|
def_shell=/bin/tcsh
|
||||||
|
|
||||||
# Defaul expiration date (mm/dd/yy)
|
# Default expiration date (mm/dd/yy)
|
||||||
def_expire=""
|
def_expire=""
|
||||||
|
|
||||||
# default dates
|
# default dates
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
# Copyright (c) 1996 Brian R. Gaeke
|
|
||||||
# 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 Brian R. Gaeke.
|
|
||||||
# 4. The name of the author, Brian R. Gaeke, may not be used to endorse
|
|
||||||
# or promote products derived from this software without specific
|
|
||||||
# prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY BRIAN R. GAEKE ``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 BRIAN R. GAEKE 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.
|
|
||||||
#
|
|
||||||
# Additionally:
|
|
||||||
#
|
|
||||||
# This software is provided without support and without any obligation
|
|
||||||
# on the part of Brian R. Gaeke to assist in its use, correction,
|
|
||||||
# modification or enhancement.
|
|
||||||
#
|
|
||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# this is atudel, version 2, by Brian R. Gaeke <brg@dgate.org>
|
|
||||||
#
|
|
||||||
|
|
||||||
require "getopts.pl";
|
|
||||||
&Getopts('v');
|
|
||||||
$username = shift(@ARGV);
|
|
||||||
&usage unless $username;
|
|
||||||
|
|
||||||
sub usage
|
|
||||||
{
|
|
||||||
print STDERR "atudel - remove all at jobs owned by a user\n";
|
|
||||||
print STDERR "usage: $0 [-v] username\n";
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
# odd. unless getpwnam($uname) doesn't seem to work for $uname eq "root" on
|
|
||||||
# my linux system. but this does.
|
|
||||||
die "user $username does not exist; stopping"
|
|
||||||
unless defined(getpwnam($username));
|
|
||||||
|
|
||||||
print "searching for at jobs owned by user $username ..." if $opt_v;
|
|
||||||
|
|
||||||
chdir "/var/spool/atjobs" ||
|
|
||||||
die "can't chdir to /var/spool/atjobs: $!\nstopping";
|
|
||||||
opendir(DIR,".") || die "can't opendir(/var/spool/atjobs): $!\nstopping";
|
|
||||||
@files = grep(!/^\./,grep(-f,readdir(DIR)));
|
|
||||||
closedir DIR;
|
|
||||||
|
|
||||||
foreach $x (@files)
|
|
||||||
{
|
|
||||||
$owner = (getpwuid((stat($x))[4]))[0];
|
|
||||||
push(@nuke_bait,$x) if $owner eq $username;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (@nuke_bait)
|
|
||||||
{
|
|
||||||
print "removed jobIDs: @{nuke_bait}.\n" if $opt_v;
|
|
||||||
unlink @nuke_bait;
|
|
||||||
}
|
|
||||||
elsif ($opt_v)
|
|
||||||
{
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
||||||
@@ -1,546 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# This is a shell archive (produced by GNU sharutils 4.2.1).
|
|
||||||
# To extract the files from this archive, save it to some FILE, remove
|
|
||||||
# everything before the `!/bin/sh' line above, then type `sh FILE'.
|
|
||||||
#
|
|
||||||
# Made on 2000-05-25 14:41 CDT by <gk4@gnu.austin.ibm.com>.
|
|
||||||
# Source directory was `/home/gk4/src/groupmem'.
|
|
||||||
#
|
|
||||||
# Existing files will *not* be overwritten unless `-c' is specified.
|
|
||||||
#
|
|
||||||
# This shar contains:
|
|
||||||
# length mode name
|
|
||||||
# ------ ---------- ------------------------------------------
|
|
||||||
# 1960 -rw-r--r-- Makefile
|
|
||||||
# 6348 -rw-r--r-- groupmems.c
|
|
||||||
# 3372 -rw------- groupmems.8
|
|
||||||
#
|
|
||||||
save_IFS="${IFS}"
|
|
||||||
IFS="${IFS}:"
|
|
||||||
gettext_dir=FAILED
|
|
||||||
locale_dir=FAILED
|
|
||||||
first_param="$1"
|
|
||||||
for dir in $PATH
|
|
||||||
do
|
|
||||||
if test "$gettext_dir" = FAILED && test -f $dir/gettext \
|
|
||||||
&& ($dir/gettext --version >/dev/null 2>&1)
|
|
||||||
then
|
|
||||||
set `$dir/gettext --version 2>&1`
|
|
||||||
if test "$3" = GNU
|
|
||||||
then
|
|
||||||
gettext_dir=$dir
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "$locale_dir" = FAILED && test -f $dir/shar \
|
|
||||||
&& ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
|
|
||||||
then
|
|
||||||
locale_dir=`$dir/shar --print-text-domain-dir`
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
IFS="$save_IFS"
|
|
||||||
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
|
|
||||||
then
|
|
||||||
echo=echo
|
|
||||||
else
|
|
||||||
TEXTDOMAINDIR=$locale_dir
|
|
||||||
export TEXTDOMAINDIR
|
|
||||||
TEXTDOMAIN=sharutils
|
|
||||||
export TEXTDOMAIN
|
|
||||||
echo="$gettext_dir/gettext -s"
|
|
||||||
fi
|
|
||||||
if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then
|
|
||||||
shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
|
|
||||||
elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then
|
|
||||||
shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
|
|
||||||
elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then
|
|
||||||
shar_touch='touch -am $3$4$5$6$2 "$8"'
|
|
||||||
else
|
|
||||||
shar_touch=:
|
|
||||||
echo
|
|
||||||
$echo 'WARNING: not restoring timestamps. Consider getting and'
|
|
||||||
$echo "installing GNU \`touch', distributed in GNU File Utilities..."
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
|
|
||||||
#
|
|
||||||
if mkdir _sh10937; then
|
|
||||||
$echo 'x -' 'creating lock directory'
|
|
||||||
else
|
|
||||||
$echo 'failed to create lock directory'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# ============= Makefile ==============
|
|
||||||
if test -f 'Makefile' && test "$first_param" != -c; then
|
|
||||||
$echo 'x -' SKIPPING 'Makefile' '(file already exists)'
|
|
||||||
else
|
|
||||||
$echo 'x -' extracting 'Makefile' '(text)'
|
|
||||||
sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
|
|
||||||
/*
|
|
||||||
# Copyright 2000, International Business Machines, Inc.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# original author: George Kraft IV, gk4@us.ibm.com
|
|
||||||
#
|
|
||||||
# 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. Neither the name of International Business Machines, Inc., 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 INTERNATIONAL BUSINESS MACHINES, INC. 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
|
|
||||||
# INTERNATIONAL BUSINESS MACHINES, INC. 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.
|
|
||||||
#
|
|
||||||
X
|
|
||||||
all: groupmems
|
|
||||||
X
|
|
||||||
groupmems: groupmems.c
|
|
||||||
X cc -g -o groupmems groupmems.c -L. -lshadow
|
|
||||||
X
|
|
||||||
install: groupmems
|
|
||||||
X -/usr/sbin/groupadd groups
|
|
||||||
X install -o root -g groups -m 4770 groupmems /usr/bin
|
|
||||||
X
|
|
||||||
install.man: groupmems.8
|
|
||||||
X install -o root -g root -m 644 groupmems.8 /usr/man/man8
|
|
||||||
X
|
|
||||||
SHAR_EOF
|
|
||||||
(set 20 00 05 25 14 40 28 'Makefile'; eval "$shar_touch") &&
|
|
||||||
chmod 0644 'Makefile' ||
|
|
||||||
$echo 'restore of' 'Makefile' 'failed'
|
|
||||||
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
|
|
||||||
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
|
|
||||||
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|
|
||||||
|| $echo 'Makefile:' 'MD5 check failed'
|
|
||||||
b46cf7ef8d59149093c011ced3f3103c Makefile
|
|
||||||
SHAR_EOF
|
|
||||||
else
|
|
||||||
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Makefile'`"
|
|
||||||
test 1960 -eq "$shar_count" ||
|
|
||||||
$echo 'Makefile:' 'original size' '1960,' 'current size' "$shar_count!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# ============= groupmems.c ==============
|
|
||||||
if test -f 'groupmems.c' && test "$first_param" != -c; then
|
|
||||||
$echo 'x -' SKIPPING 'groupmems.c' '(file already exists)'
|
|
||||||
else
|
|
||||||
$echo 'x -' extracting 'groupmems.c' '(text)'
|
|
||||||
sed 's/^X//' << 'SHAR_EOF' > 'groupmems.c' &&
|
|
||||||
/*
|
|
||||||
X * Copyright 2000, International Business Machines, Inc.
|
|
||||||
X * All rights reserved.
|
|
||||||
X *
|
|
||||||
X * original author: George Kraft IV, gk4@us.ibm.com
|
|
||||||
X *
|
|
||||||
X * Redistribution and use in source and binary forms, with or without
|
|
||||||
X * modification, are permitted provided that the following conditions
|
|
||||||
X * are met:
|
|
||||||
X *
|
|
||||||
X * 1. Redistributions of source code must retain the above copyright
|
|
||||||
X * notice, this list of conditions and the following disclaimer.
|
|
||||||
X * 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
X * notice, this list of conditions and the following disclaimer in the
|
|
||||||
X * documentation and/or other materials provided with the distribution.
|
|
||||||
X * 3. Neither the name of International Business Machines, Inc., nor the
|
|
||||||
X * names of its contributors may be used to endorse or promote products
|
|
||||||
X * derived from this software without specific prior written permission.
|
|
||||||
X *
|
|
||||||
X * THIS SOFTWARE IS PROVIDED BY INTERNATIONAL BUSINESS MACHINES, INC. AND
|
|
||||||
X * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
||||||
X * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
X * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
X * INTERNATIONAL BUSINESS MACHINES, INC. OR CONTRIBUTORS BE LIABLE
|
|
||||||
X * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
X * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
X * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
X * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
X * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
X * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
X * SUCH DAMAGE.
|
|
||||||
X */
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Utility "groupmem" adds and deletes members from a user's group.
|
|
||||||
**
|
|
||||||
** Setup (as "root"):
|
|
||||||
**
|
|
||||||
** groupadd -r groups
|
|
||||||
** chmod 2770 groupmems
|
|
||||||
** chown root.groups groupmems
|
|
||||||
** groupmems -g groups -a gk4
|
|
||||||
**
|
|
||||||
** Usage (as "gk4"):
|
|
||||||
**
|
|
||||||
** groupmems -a olive
|
|
||||||
** groupmems -a jordan
|
|
||||||
** groupmems -a meghan
|
|
||||||
** groupmems -a morgan
|
|
||||||
** groupmems -a jake
|
|
||||||
** groupmems -l
|
|
||||||
** groupmems -d jake
|
|
||||||
** groupmems -l
|
|
||||||
*/
|
|
||||||
X
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
#include <grp.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include "defines.h"
|
|
||||||
#include "groupio.h"
|
|
||||||
X
|
|
||||||
/* Exit Status Values */
|
|
||||||
X
|
|
||||||
#define EXIT_SUCCESS 0 /* success */
|
|
||||||
#define EXIT_USAGE 1 /* invalid command syntax */
|
|
||||||
#define EXIT_GROUP_FILE 2 /* group file access problems */
|
|
||||||
#define EXIT_NOT_ROOT 3 /* not superuser */
|
|
||||||
#define EXIT_NOT_EROOT 4 /* not effective superuser */
|
|
||||||
#define EXIT_NOT_PRIMARY 5 /* not primary owner of group */
|
|
||||||
#define EXIT_NOT_MEMBER 6 /* member of group does not exist */
|
|
||||||
#define EXIT_MEMBER_EXISTS 7 /* member of group already exists */
|
|
||||||
X
|
|
||||||
#define TRUE 1
|
|
||||||
#define FALSE 0
|
|
||||||
X
|
|
||||||
/* Globals */
|
|
||||||
X
|
|
||||||
extern int optind;
|
|
||||||
extern char *optarg;
|
|
||||||
static char *adduser = NULL;
|
|
||||||
static char *deluser = NULL;
|
|
||||||
static char *thisgroup = NULL;
|
|
||||||
static int purge = FALSE;
|
|
||||||
static int list = FALSE;
|
|
||||||
static int exclusive = 0;
|
|
||||||
X
|
|
||||||
static int isroot(void) {
|
|
||||||
X return getuid() ? FALSE : TRUE;
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static int isgroup(void) {
|
|
||||||
X gid_t g = getgid();
|
|
||||||
X struct group *grp = getgrgid(g);
|
|
||||||
X
|
|
||||||
X return TRUE;
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static char *whoami(void) {
|
|
||||||
X struct group *grp = getgrgid(getgid());
|
|
||||||
X struct passwd *usr = getpwuid(getuid());
|
|
||||||
X
|
|
||||||
X if (0 == strcmp(usr->pw_name, grp->gr_name)) {
|
|
||||||
X return (char *)strdup(usr->pw_name);
|
|
||||||
X } else {
|
|
||||||
X return NULL;
|
|
||||||
X }
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static void
|
|
||||||
addtogroup(char *user, char **members) {
|
|
||||||
X int i;
|
|
||||||
X char **pmembers;
|
|
||||||
X
|
|
||||||
X for (i = 0; NULL != members[i]; i++ ) {
|
|
||||||
X if (0 == strcmp(user, members[i])) {
|
|
||||||
X fprintf(stderr, "Member already exists\n");
|
|
||||||
X exit(EXIT_MEMBER_EXISTS);
|
|
||||||
X }
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (0 == i) {
|
|
||||||
X pmembers = (char **)calloc(2, sizeof(char *));
|
|
||||||
X } else {
|
|
||||||
X pmembers = (char **)realloc(members, sizeof(char *)*(i+1));
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X *members = *pmembers;
|
|
||||||
X members[i] = user;
|
|
||||||
X members[i+1] = NULL;
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static void
|
|
||||||
rmfromgroup(char *user, char **members) {
|
|
||||||
X int i;
|
|
||||||
X int found = FALSE;
|
|
||||||
X
|
|
||||||
X i = 0;
|
|
||||||
X while (!found && NULL != members[i]) {
|
|
||||||
X if (0 == strcmp(user, members[i])) {
|
|
||||||
X found = TRUE;
|
|
||||||
X } else {
|
|
||||||
X i++;
|
|
||||||
X }
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X while (found && NULL != members[i]) {
|
|
||||||
X members[i] = members[++i];
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (!found) {
|
|
||||||
X fprintf(stderr, "Member to remove could not be found\n");
|
|
||||||
X exit(EXIT_NOT_MEMBER);
|
|
||||||
X }
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static void
|
|
||||||
nomembers(char **members) {
|
|
||||||
X int i;
|
|
||||||
X
|
|
||||||
X for (i = 0; NULL != members[i]; i++ ) {
|
|
||||||
X members[i] = NULL;
|
|
||||||
X }
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static void
|
|
||||||
members(char **members) {
|
|
||||||
X int i;
|
|
||||||
X
|
|
||||||
X for (i = 0; NULL != members[i]; i++ ) {
|
|
||||||
X printf("%s ", members[i]);
|
|
||||||
X
|
|
||||||
X if (NULL == members[i+1]) {
|
|
||||||
X printf("\n");
|
|
||||||
X } else {
|
|
||||||
X printf(" ");
|
|
||||||
X }
|
|
||||||
X }
|
|
||||||
}
|
|
||||||
X
|
|
||||||
static void usage(void) {
|
|
||||||
X fprintf(stderr, "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n");
|
|
||||||
X exit(EXIT_USAGE);
|
|
||||||
}
|
|
||||||
X
|
|
||||||
main(int argc, char **argv) {
|
|
||||||
X int arg, i;
|
|
||||||
X char *name;
|
|
||||||
X struct group *grp;
|
|
||||||
X
|
|
||||||
X while ((arg = getopt(argc, argv, "a:d:g:Dl")) != EOF) {
|
|
||||||
X switch (arg) {
|
|
||||||
X case 'a':
|
|
||||||
X adduser = strdup(optarg);
|
|
||||||
X ++exclusive;
|
|
||||||
X break;
|
|
||||||
X case 'd':
|
|
||||||
X deluser = strdup(optarg);
|
|
||||||
X ++exclusive;
|
|
||||||
X break;
|
|
||||||
X case 'g':
|
|
||||||
X thisgroup = strdup(optarg);
|
|
||||||
X break;
|
|
||||||
X case 'D':
|
|
||||||
X purge = TRUE;
|
|
||||||
X ++exclusive;
|
|
||||||
X break;
|
|
||||||
X case 'l':
|
|
||||||
X list = TRUE;
|
|
||||||
X ++exclusive;
|
|
||||||
X break;
|
|
||||||
X default:
|
|
||||||
X usage();
|
|
||||||
X }
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (exclusive > 1 || optind < argc) {
|
|
||||||
X usage();
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (!isroot() && NULL != thisgroup) {
|
|
||||||
X fprintf(stderr, "Only root can add members to different groups\n");
|
|
||||||
X exit(EXIT_NOT_ROOT);
|
|
||||||
X } else if (isroot() && NULL != thisgroup) {
|
|
||||||
X name = thisgroup;
|
|
||||||
X } else if (!isgroup()) {
|
|
||||||
X fprintf(stderr, "Group access is required\n");
|
|
||||||
X exit(EXIT_NOT_EROOT);
|
|
||||||
X } else if (NULL == (name = whoami())) {
|
|
||||||
X fprintf(stderr, "Not primary owner of current group\n");
|
|
||||||
X exit(EXIT_NOT_PRIMARY);
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (!gr_lock()) {
|
|
||||||
X fprintf(stderr, "Unable to lock group file\n");
|
|
||||||
X exit(EXIT_GROUP_FILE);
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (!gr_open(O_RDWR)) {
|
|
||||||
X fprintf(stderr, "Unable to open group file\n");
|
|
||||||
X exit(EXIT_GROUP_FILE);
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X grp = (struct group *)gr_locate(name);
|
|
||||||
X
|
|
||||||
X if (NULL != adduser) {
|
|
||||||
X addtogroup(adduser, grp->gr_mem);
|
|
||||||
X gr_update(grp);
|
|
||||||
X } else if (NULL != deluser) {
|
|
||||||
X rmfromgroup(deluser, grp->gr_mem);
|
|
||||||
X gr_update(grp);
|
|
||||||
X } else if (purge) {
|
|
||||||
X nomembers(grp->gr_mem);
|
|
||||||
X gr_update(grp);
|
|
||||||
X } else if (list) {
|
|
||||||
X members(grp->gr_mem);
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X if (!gr_close()) {
|
|
||||||
X fprintf(stderr, "Cannot close group file\n");
|
|
||||||
X exit(EXIT_GROUP_FILE);
|
|
||||||
X }
|
|
||||||
X
|
|
||||||
X gr_unlock();
|
|
||||||
X
|
|
||||||
X exit(EXIT_SUCCESS);
|
|
||||||
}
|
|
||||||
X
|
|
||||||
/* EOF */
|
|
||||||
SHAR_EOF
|
|
||||||
(set 20 00 05 25 14 36 38 'groupmems.c'; eval "$shar_touch") &&
|
|
||||||
chmod 0644 'groupmems.c' ||
|
|
||||||
$echo 'restore of' 'groupmems.c' 'failed'
|
|
||||||
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
|
|
||||||
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
|
|
||||||
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|
|
||||||
|| $echo 'groupmems.c:' 'MD5 check failed'
|
|
||||||
f0dd68f8d762d89d24d3ce1f4141f981 groupmems.c
|
|
||||||
SHAR_EOF
|
|
||||||
else
|
|
||||||
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'groupmems.c'`"
|
|
||||||
test 6348 -eq "$shar_count" ||
|
|
||||||
$echo 'groupmems.c:' 'original size' '6348,' 'current size' "$shar_count!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# ============= groupmems.8 ==============
|
|
||||||
if test -f 'groupmems.8' && test "$first_param" != -c; then
|
|
||||||
$echo 'x -' SKIPPING 'groupmems.8' '(file already exists)'
|
|
||||||
else
|
|
||||||
$echo 'x -' extracting 'groupmems.8' '(text)'
|
|
||||||
sed 's/^X//' << 'SHAR_EOF' > 'groupmems.8' &&
|
|
||||||
X.\"
|
|
||||||
X.\" Copyright 2000, International Business Machines, Inc.
|
|
||||||
X.\" All rights reserved.
|
|
||||||
X.\"
|
|
||||||
X.\" original author: George Kraft IV, gk4@us.ibm.com
|
|
||||||
X.\"
|
|
||||||
X.\" Redistribution and use in source and binary forms, with or without
|
|
||||||
X.\" modification, are permitted provided that the following conditions
|
|
||||||
X.\" are met:
|
|
||||||
X.\"
|
|
||||||
X.\" 1. Redistributions of source code must retain the above copyright
|
|
||||||
X.\" notice, this list of conditions and the following disclaimer.
|
|
||||||
X.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
X.\" notice, this list of conditions and the following disclaimer in the
|
|
||||||
X.\" documentation and/or other materials provided with the distribution.
|
|
||||||
X.\" 3. Neither the name of International Business Machines, Inc., nor the
|
|
||||||
X.\" names of its contributors may be used to endorse or promote products
|
|
||||||
X.\" derived from this software without specific prior written permission.
|
|
||||||
X.\"
|
|
||||||
X.\" THIS SOFTWARE IS PROVIDED BY INTERNATIONAL BUSINESS MACHINES, INC. AND
|
|
||||||
X.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
||||||
X.\" BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
X.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
X.\" INTERNATIONAL BUSINESS MACHINES, INC. OR CONTRIBUTORS BE LIABLE
|
|
||||||
X.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
X.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
X.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
X.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
X.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
X.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
X.\" SUCH DAMAGE.
|
|
||||||
X.\"
|
|
||||||
X.\" $Id$
|
|
||||||
X.\"
|
|
||||||
X.TH GROUPMEMS 8
|
|
||||||
X.SH NAME
|
|
||||||
groupmems \- Administer members of a user's primary group
|
|
||||||
X.SH SYNOPSIS
|
|
||||||
X.B groupmems
|
|
||||||
\fB-a\fI user_name \fR |
|
|
||||||
\fB-d\fI user_name \fR |
|
|
||||||
\fB-l\fR |
|
|
||||||
\fB-D\fR |
|
|
||||||
[\fB-g\fI group_name \fR]
|
|
||||||
X.SH DESCRIPTION
|
|
||||||
The \fBgroupmems\fR utility allows a user to administer his/her own
|
|
||||||
group membership list without the requirement of superuser privileges.
|
|
||||||
The \fBgroupmems\fR utility is for systems that configure its users to
|
|
||||||
be in their own name sake primary group (i.e., guest / guest).
|
|
||||||
X.P
|
|
||||||
Only the superuser, as administrator, can use \fBgroupmems\fR to alter
|
|
||||||
the memberships of other groups.
|
|
||||||
X.IP "\fB-a \fIuser_name\fR"
|
|
||||||
Add a new user to the group membership list.
|
|
||||||
X.IP "\fB-d \fIuser_name\fR"
|
|
||||||
Delete a user from the group membership list.
|
|
||||||
X.IP "\fB-l\fR"
|
|
||||||
List the group membership list.
|
|
||||||
X.IP "\fB-D\fR"
|
|
||||||
Delete all users from the group membership list.
|
|
||||||
X.IP "\fB-g \fIgroup_name\fR"
|
|
||||||
The superuser can specify which group membership list to modify.
|
|
||||||
X.SH SETUP
|
|
||||||
The \fBgroupmems\fR executable should be in mode \fB2770\fR as user \fBroot\fR
|
|
||||||
and in group \fBgroups\fR. The system administrator can add users to
|
|
||||||
group groups to allow or disallow them using the \fBgroupmems\fR utility
|
|
||||||
to manager their own group membership list.
|
|
||||||
X.P
|
|
||||||
X $ groupadd -r groups
|
|
||||||
X.br
|
|
||||||
X $ chmod 2770 groupmems
|
|
||||||
X.br
|
|
||||||
X $ chown root.groups groupmems
|
|
||||||
X.br
|
|
||||||
X $ groupmems -g groups -a gk4
|
|
||||||
X.SH FILES
|
|
||||||
/etc/group
|
|
||||||
X.br
|
|
||||||
/etc/gshadow
|
|
||||||
X.SH SEE ALSO
|
|
||||||
X.BR chfn (1),
|
|
||||||
X.BR chsh (1),
|
|
||||||
X.BR useradd (8),
|
|
||||||
X.BR userdel (8),
|
|
||||||
X.BR usermod (8),
|
|
||||||
X.BR passwd (1),
|
|
||||||
X.BR groupadd (8),
|
|
||||||
X.BR groupdel (8)
|
|
||||||
X.SH AUTHOR
|
|
||||||
George Kraft IV (gk4@us.ibm.com)
|
|
||||||
X.\" EOF
|
|
||||||
SHAR_EOF
|
|
||||||
(set 20 00 05 25 14 38 23 'groupmems.8'; eval "$shar_touch") &&
|
|
||||||
chmod 0600 'groupmems.8' ||
|
|
||||||
$echo 'restore of' 'groupmems.8' 'failed'
|
|
||||||
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
|
|
||||||
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
|
|
||||||
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|
|
||||||
|| $echo 'groupmems.8:' 'MD5 check failed'
|
|
||||||
181e6cd3a3c9d3df320197fa2cde2b4a groupmems.8
|
|
||||||
SHAR_EOF
|
|
||||||
else
|
|
||||||
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'groupmems.8'`"
|
|
||||||
test 3372 -eq "$shar_count" ||
|
|
||||||
$echo 'groupmems.8:' 'original size' '3372,' 'current size' "$shar_count!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
rm -fr _sh10937
|
|
||||||
exit 0
|
|
||||||
@@ -1,308 +0,0 @@
|
|||||||
/*
|
|
||||||
* pwdauth.c - program to verify a given username/password pair.
|
|
||||||
*
|
|
||||||
* Run it with username in argv[1] (may be omitted - default is the
|
|
||||||
* current user), and send it the password over a pipe on stdin.
|
|
||||||
* Exit status: 0 - correct password, 1 - wrong password, >1 - other
|
|
||||||
* errors. For use with shadow passwords, this program should be
|
|
||||||
* installed setuid root.
|
|
||||||
*
|
|
||||||
* This can be used, for example, by xlock - you don't have to install
|
|
||||||
* this large and complex (== possibly insecure) program setuid root,
|
|
||||||
* just modify it to run this simple program to do the authentication.
|
|
||||||
*
|
|
||||||
* Recent versions (xlockmore-3.9) are cleaner, and drop privileges as
|
|
||||||
* soon as possible after getting the user's encrypted password.
|
|
||||||
* Using this program probably doesn't make it more secure, and has one
|
|
||||||
* disadvantage: since we don't get the encrypted user's password at
|
|
||||||
* startup (but at the time the user is authenticated), it is not clear
|
|
||||||
* how we should handle errors (like getpwnam() returning NULL).
|
|
||||||
* - fail the authentication? Problem: no way to unlock (other than kill
|
|
||||||
* the process from somewhere else) if the NIS server stops responding.
|
|
||||||
* - succeed and unlock? Problem: it's too easy to unlock by unplugging
|
|
||||||
* the box from the network and waiting until NIS times out...
|
|
||||||
*
|
|
||||||
* This program is Copyright (C) 1996 Marek Michalkiewicz
|
|
||||||
* <marekm@i17linuxb.ists.pwr.wroc.pl>.
|
|
||||||
*
|
|
||||||
* It may be used and distributed freely for any purposes. There is no
|
|
||||||
* warranty - use at your own risk. I am not liable for any damages etc.
|
|
||||||
* If you improve it, please send me your changes.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static char rcsid[] = "$Id$";
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define USE_SYSLOG to use syslog() to log successful and failed
|
|
||||||
* authentication. This should be safe even if your system has
|
|
||||||
* the infamous syslog buffer overrun security problem...
|
|
||||||
*/
|
|
||||||
#define USE_SYSLOG
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define HAVE_GETSPNAM to get shadow passwords using getspnam().
|
|
||||||
* Some systems don't have getspnam(), but getpwnam() returns
|
|
||||||
* encrypted passwords only if running as root.
|
|
||||||
*
|
|
||||||
* According to the xlock source (not tested, except Linux) -
|
|
||||||
* define: Linux, Solaris 2.x, SVR4, ...
|
|
||||||
* undef: HP-UX with Secured Passwords, FreeBSD, NetBSD, QNX.
|
|
||||||
* Known not supported (yet): Ultrix, OSF/1, SCO.
|
|
||||||
*/
|
|
||||||
#define HAVE_GETSPNAM
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define HAVE_PW_ENCRYPT to use pw_encrypt() instead of crypt().
|
|
||||||
* pw_encrypt() is like the standard crypt(), except that it may
|
|
||||||
* support better password hashing algorithms.
|
|
||||||
*
|
|
||||||
* Define if linking with libshadow.a from the shadow password
|
|
||||||
* suite (Linux, SunOS 4.x?).
|
|
||||||
*/
|
|
||||||
#undef HAVE_PW_ENCRYPT
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define HAVE_AUTH_METHODS to support the shadow suite specific
|
|
||||||
* extension: the encrypted password field contains a list of
|
|
||||||
* administrator defined authentication methods, separated by
|
|
||||||
* semicolons. This program only supports the standard password
|
|
||||||
* authentication method (a string that doesn't start with '@').
|
|
||||||
*/
|
|
||||||
#undef HAVE_AUTH_METHODS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FAIL_DELAY - number of seconds to sleep before exiting if the
|
|
||||||
* password was wrong, to slow down password guessing attempts.
|
|
||||||
*/
|
|
||||||
#define FAIL_DELAY 2
|
|
||||||
|
|
||||||
/* No user-serviceable parts below :-). */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
|
|
||||||
#ifdef USE_SYSLOG
|
|
||||||
#include <syslog.h>
|
|
||||||
#ifndef LOG_AUTHPRIV
|
|
||||||
#define LOG_AUTHPRIV LOG_AUTH
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_GETSPNAM
|
|
||||||
#include <shadow.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_PW_ENCRYPT
|
|
||||||
extern char *pw_encrypt();
|
|
||||||
#define crypt pw_encrypt
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Read the password (one line) from fp. We don't turn off echo
|
|
||||||
* because we expect input from a pipe.
|
|
||||||
*/
|
|
||||||
static char *
|
|
||||||
get_line(fp)
|
|
||||||
FILE *fp;
|
|
||||||
{
|
|
||||||
static char buf[128];
|
|
||||||
char *cp;
|
|
||||||
int ch;
|
|
||||||
|
|
||||||
cp = buf;
|
|
||||||
while ((ch = getc(fp)) != EOF && ch != '\0' && ch != '\n') {
|
|
||||||
if (cp >= buf + sizeof buf - 1)
|
|
||||||
break;
|
|
||||||
*cp++ = ch;
|
|
||||||
}
|
|
||||||
*cp = '\0';
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get the password file entry for the current user. If the name
|
|
||||||
* returned by getlogin() is correct (matches the current real uid),
|
|
||||||
* return the entry for that user. Otherwise, return the entry (if
|
|
||||||
* any) matching the current real uid. Return NULL on failure.
|
|
||||||
*/
|
|
||||||
static struct passwd *
|
|
||||||
get_my_pwent()
|
|
||||||
{
|
|
||||||
uid_t uid = getuid();
|
|
||||||
char *name = getlogin();
|
|
||||||
|
|
||||||
if (name && *name) {
|
|
||||||
struct passwd *pw = getpwnam(name);
|
|
||||||
|
|
||||||
if (pw && pw->pw_uid == uid)
|
|
||||||
return pw;
|
|
||||||
}
|
|
||||||
return getpwuid(uid);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Verify the password. The system-dependent shadow support is here.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
password_auth_ok(pw, pass)
|
|
||||||
const struct passwd *pw;
|
|
||||||
const char *pass;
|
|
||||||
{
|
|
||||||
int result;
|
|
||||||
char *cp;
|
|
||||||
#ifdef HAVE_AUTH_METHODS
|
|
||||||
char *buf;
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_GETSPNAM
|
|
||||||
struct spwd *sp;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (pw) {
|
|
||||||
#ifdef HAVE_GETSPNAM
|
|
||||||
sp = getspnam(pw->pw_name);
|
|
||||||
if (sp)
|
|
||||||
cp = sp->sp_pwdp;
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
cp = pw->pw_passwd;
|
|
||||||
} else
|
|
||||||
cp = "xx";
|
|
||||||
|
|
||||||
#ifdef HAVE_AUTH_METHODS
|
|
||||||
buf = strdup(cp); /* will be modified by strtok() */
|
|
||||||
if (!buf) {
|
|
||||||
fprintf(stderr, "Out of memory.\n");
|
|
||||||
exit(13);
|
|
||||||
}
|
|
||||||
cp = strtok(buf, ";");
|
|
||||||
while (cp && *cp == '@')
|
|
||||||
cp = strtok(NULL, ";");
|
|
||||||
|
|
||||||
/* fail if no password authentication for this user */
|
|
||||||
if (!cp)
|
|
||||||
cp = "xx";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (*pass || *cp)
|
|
||||||
result = (strcmp(crypt(pass, cp), cp) == 0);
|
|
||||||
else
|
|
||||||
result = 1; /* user with no password */
|
|
||||||
|
|
||||||
#ifdef HAVE_AUTH_METHODS
|
|
||||||
free(buf);
|
|
||||||
#endif
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Main program.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
struct passwd *pw;
|
|
||||||
char *pass, *name;
|
|
||||||
char myname[32];
|
|
||||||
|
|
||||||
#ifdef USE_SYSLOG
|
|
||||||
openlog("pwdauth", LOG_PID | LOG_CONS, LOG_AUTHPRIV);
|
|
||||||
#endif
|
|
||||||
pw = get_my_pwent();
|
|
||||||
if (!pw) {
|
|
||||||
#ifdef USE_SYSLOG
|
|
||||||
syslog(LOG_ERR, "can't get login name for uid %d.\n",
|
|
||||||
(int) getuid());
|
|
||||||
#endif
|
|
||||||
fprintf(stderr, "Who are you?\n");
|
|
||||||
exit(2);
|
|
||||||
}
|
|
||||||
strncpy(myname, pw->pw_name, sizeof myname - 1);
|
|
||||||
myname[sizeof myname - 1] = '\0';
|
|
||||||
name = myname;
|
|
||||||
|
|
||||||
if (argc > 1) {
|
|
||||||
name = argv[1];
|
|
||||||
pw = getpwnam(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
pass = get_line(stdin);
|
|
||||||
if (password_auth_ok(pw, pass)) {
|
|
||||||
#ifdef USE_SYSLOG
|
|
||||||
syslog(pw->pw_uid ? LOG_INFO : LOG_NOTICE,
|
|
||||||
"user `%s' entered correct password for `%.32s'.\n",
|
|
||||||
myname, name);
|
|
||||||
#endif
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
#ifdef USE_SYSLOG
|
|
||||||
/* be careful not to overrun the syslog buffer */
|
|
||||||
syslog((!pw || pw->pw_uid) ? LOG_NOTICE : LOG_WARNING,
|
|
||||||
"user `%s' entered incorrect password for `%.32s'.\n",
|
|
||||||
myname, name);
|
|
||||||
#endif
|
|
||||||
#ifdef FAIL_DELAY
|
|
||||||
sleep(FAIL_DELAY);
|
|
||||||
#endif
|
|
||||||
fprintf(stderr, "Wrong password.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/*
|
|
||||||
* You can use code similar to the following to run this program.
|
|
||||||
* Return values: >=0 - program exit status (use the <sys/wait.h>
|
|
||||||
* macros to get the exit code, it is shifted left by 8 bits),
|
|
||||||
* -1 - check errno.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
verify_password(const char *username, const char *password)
|
|
||||||
{
|
|
||||||
int pipe_fd[2];
|
|
||||||
int pid, wpid, status;
|
|
||||||
|
|
||||||
if (pipe(pipe_fd))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if ((pid = fork()) == 0) {
|
|
||||||
char *arg[3];
|
|
||||||
char *env[1];
|
|
||||||
|
|
||||||
/* child */
|
|
||||||
close(pipe_fd[1]);
|
|
||||||
if (pipe_fd[0] != 0) {
|
|
||||||
if (dup2(pipe_fd[0], 0) != 0)
|
|
||||||
_exit(127);
|
|
||||||
close(pipe_fd[0]);
|
|
||||||
}
|
|
||||||
arg[0] = "/usr/bin/pwdauth";
|
|
||||||
arg[1] = username;
|
|
||||||
arg[2] = NULL;
|
|
||||||
env[0] = NULL;
|
|
||||||
execve(arg[0], arg, env);
|
|
||||||
_exit(127);
|
|
||||||
} else if (pid == -1) {
|
|
||||||
/* error */
|
|
||||||
close(pipe_fd[0]);
|
|
||||||
close(pipe_fd[1]);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* parent */
|
|
||||||
close(pipe_fd[0]);
|
|
||||||
write(pipe_fd[1], password, strlen(password));
|
|
||||||
write(pipe_fd[1], "\n", 1);
|
|
||||||
close(pipe_fd[1]);
|
|
||||||
|
|
||||||
while ((wpid = wait(&status)) != pid) {
|
|
||||||
if (wpid == -1)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,147 +0,0 @@
|
|||||||
Hello Marek,
|
|
||||||
|
|
||||||
I have created a diffile against the 980403 release that adds
|
|
||||||
functionality to newusers for automatic handling of users with only
|
|
||||||
anonomous ftp login (using the guestgroup feature in ftpaccess, which
|
|
||||||
means that the users home directory looks like '/home/user/./'). It also
|
|
||||||
adds a commandline argument to specify an initial directory structure
|
|
||||||
for such users, with a tarball normally containing the bin,lib,etc
|
|
||||||
directories used in the chrooted environment.
|
|
||||||
|
|
||||||
I am using it to automatically create chunks of users with only ftp
|
|
||||||
access for a webserver.
|
|
||||||
|
|
||||||
I have tried to follow your coding standards and I believe it is bug
|
|
||||||
free but.. well, who knows. :) It's not much code however.
|
|
||||||
|
|
||||||
I hope you find it useful. Do what you like with it, feel free to ask if
|
|
||||||
anything is unclear.
|
|
||||||
|
|
||||||
Best rgds,
|
|
||||||
Calle Karlsson
|
|
||||||
ckn@kash.se
|
|
||||||
|
|
||||||
diff -uNr shadow-980403.orig/src/newusers.c shadow-980403/src/newusers.c
|
|
||||||
--- shadow-980403.orig/src/newusers.c Fri Jan 30 00:22:43 1998
|
|
||||||
+++ shadow-980403/src/newusers.c Fri Apr 17 16:55:33 1998
|
|
||||||
@@ -76,11 +76,35 @@
|
|
||||||
static void
|
|
||||||
usage(void)
|
|
||||||
{
|
|
||||||
- fprintf(stderr, "Usage: %s [ input ]\n", Prog);
|
|
||||||
+ fprintf (stderr, "Usage: %s [-p prototype tarfile] [ input ]\n", Prog);
|
|
||||||
+ fprintf (stderr, "The prototype tarfile is only used for users\n");
|
|
||||||
+ fprintf (stderr, "marked as anonymous ftp users. It must be a full pathname.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
+ * createuserdir - create a directory and chmod it
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+createuserdir (char * dir, int uid, int gid, int line)
|
|
||||||
+{
|
|
||||||
+ if (mkdir (dir, 0777 & ~getdef_num("UMASK", 077))) {
|
|
||||||
+ fprintf (stderr, "%s: line %d: mkdir %s failed\n",
|
|
||||||
+ Prog, line, dir);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (chown (dir, uid, gid)) {
|
|
||||||
+ fprintf (stderr, "%s: line %d: chown %s failed\n",
|
|
||||||
+ Prog, line, dir);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
* add_group - create a new group or add a user to an existing group
|
|
||||||
*/
|
|
||||||
|
|
||||||
@@ -328,6 +352,8 @@
|
|
||||||
main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
char buf[BUFSIZ];
|
|
||||||
+ char anonproto[BUFSIZ];
|
|
||||||
+ int flag;
|
|
||||||
char *fields[8];
|
|
||||||
int nfields;
|
|
||||||
char *cp;
|
|
||||||
@@ -340,12 +366,23 @@
|
|
||||||
|
|
||||||
Prog = Basename(argv[0]);
|
|
||||||
|
|
||||||
- if (argc > 1 && argv[1][0] == '-')
|
|
||||||
- usage ();
|
|
||||||
+ * anonproto = '\0';
|
|
||||||
+
|
|
||||||
+ while ((flag = getopt (argc, argv, "p:h")) != EOF) {
|
|
||||||
+ switch (flag) {
|
|
||||||
+ case 'p':
|
|
||||||
+ STRFCPY(anonproto, optarg);
|
|
||||||
+ break;
|
|
||||||
+ case 'h':
|
|
||||||
+ default:
|
|
||||||
+ usage ();
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (argc == 2) {
|
|
||||||
- if (! freopen (argv[1], "r", stdin)) {
|
|
||||||
- snprintf(buf, sizeof buf, "%s: %s", Prog, argv[1]);
|
|
||||||
+ if (optind < argc) {
|
|
||||||
+ if (! freopen (argv[optind], "r", stdin)) {
|
|
||||||
+ snprintf(buf, sizeof buf, "%s: %s", Prog, argv[optind]);
|
|
||||||
perror (buf);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
@@ -499,15 +536,36 @@
|
|
||||||
if (fields[6][0])
|
|
||||||
newpw.pw_shell = fields[6];
|
|
||||||
|
|
||||||
- if (newpw.pw_dir[0] && access(newpw.pw_dir, F_OK)) {
|
|
||||||
- if (mkdir (newpw.pw_dir,
|
|
||||||
- 0777 & ~getdef_num("UMASK", 077)))
|
|
||||||
- fprintf (stderr, "%s: line %d: mkdir failed\n",
|
|
||||||
- Prog, line);
|
|
||||||
- else if (chown (newpw.pw_dir,
|
|
||||||
- newpw.pw_uid, newpw.pw_gid))
|
|
||||||
- fprintf (stderr, "%s: line %d: chown failed\n",
|
|
||||||
- Prog, line);
|
|
||||||
+ if (newpw.pw_dir[0]) {
|
|
||||||
+ char * userdir = strdup (newpw.pw_dir);
|
|
||||||
+ char * anonpart;
|
|
||||||
+ int rc;
|
|
||||||
+
|
|
||||||
+ if ((anonpart = strstr (userdir, "/./"))) {
|
|
||||||
+ * anonpart = '\0';
|
|
||||||
+ anonpart += 2;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (access(userdir, F_OK))
|
|
||||||
+ rc = createuserdir (userdir, newpw.pw_uid, newpw.pw_gid, line);
|
|
||||||
+ else
|
|
||||||
+ rc = 0;
|
|
||||||
+
|
|
||||||
+ if (rc == 0 && anonpart) {
|
|
||||||
+ if (* anonproto) {
|
|
||||||
+ char cmdbuf [BUFSIZ];
|
|
||||||
+ snprintf(cmdbuf, sizeof cmdbuf,
|
|
||||||
+ "cd %s; tar xf %s",
|
|
||||||
+ userdir, anonproto);
|
|
||||||
+ system (cmdbuf);
|
|
||||||
+ }
|
|
||||||
+ if (strlen (anonpart) > 1) {
|
|
||||||
+ strcat (userdir, anonpart);
|
|
||||||
+ if (access (userdir, F_OK))
|
|
||||||
+ createuserdir (userdir, newpw.pw_uid, newpw.pw_gid, line);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ free (userdir);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Binary file not shown.
26
debian/NEWS
vendored
26
debian/NEWS
vendored
@@ -1,3 +1,29 @@
|
|||||||
|
shadow (1:4.13+dfsg1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
The previous entry falsely states that PREVENT_NO_AUTH in /etc/login.defs
|
||||||
|
affects authentication. The historical default of letting all users with
|
||||||
|
empty password field in without authentication is still in effect.
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Mon, 25 Sep 2023 17:04:09 +0200
|
||||||
|
|
||||||
|
shadow (1:4.11.1+dfsg1-0exp1) experimental; urgency=medium
|
||||||
|
|
||||||
|
Login now prevents an empty password field to be interpreted as
|
||||||
|
"no authentication required" for UID 0 (root account).
|
||||||
|
The historical default of letting all users with empty password field
|
||||||
|
in without authentication can be restored in /etc/login.defs setting
|
||||||
|
PREVENT_NO_AUTH to "no".
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Sun, 07 Nov 2021 21:51:46 +0100
|
||||||
|
|
||||||
|
shadow (1:4.7-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* /etc/securetty is no longer shipped by this package and it is no longer
|
||||||
|
honored in login's PAM configuration by default. Please see #731656 for the
|
||||||
|
details.
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Thu, 20 Jun 2019 13:46:52 +0200
|
||||||
|
|
||||||
shadow (1:4.0.15-5) unstable; urgency=low
|
shadow (1:4.0.15-5) unstable; urgency=low
|
||||||
|
|
||||||
* commands passed in argument to su must use su's -c option and must quote
|
* commands passed in argument to su must use su's -c option and must quote
|
||||||
|
|||||||
19
debian/README.source
vendored
19
debian/README.source
vendored
@@ -1,17 +1,8 @@
|
|||||||
This package uses quilt to patch the upstream source.
|
If you update the translation of upsteam files (thank you for that!) please
|
||||||
|
submit a pull request upstream instead of filing a bug in the Debian BTS
|
||||||
You can find some info on how to generate the patched source, add a new
|
to get it reviewed and accepted faster.
|
||||||
modification, and remove an existing modification on:
|
|
||||||
/usr/share/doc/quilt/README.source
|
|
||||||
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
To package a new upstream release, you can use the Makefile:
|
|
||||||
svn://svn.debian.org/svn/pkg-shadow/debian/trunk/Makefile
|
|
||||||
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
A testsuite is also available. Instruction on how to run this testsuite
|
A testsuite is also available. Instruction on how to run this testsuite
|
||||||
are available on:
|
are available in tests/README
|
||||||
svn://svn.debian.org/svn/pkg-shadow/debian/trunk/tests/README
|
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu>, Mon, 31 Jan 2022 14:07:11 +0100
|
||||||
|
|||||||
460
debian/changelog
vendored
460
debian/changelog
vendored
@@ -1,3 +1,390 @@
|
|||||||
|
shadow (1:4.15.3-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream version 4.15.3
|
||||||
|
* tests: follow upstream subdir fix
|
||||||
|
* Fix setup of test libsubid-04_nss
|
||||||
|
* Drop login.postinst, obsoleted by #1074121
|
||||||
|
* Bump Standards-Version to 4.7.0
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Sat, 06 Jul 2024 23:50:36 +0200
|
||||||
|
|
||||||
|
shadow (1:4.15.2-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* d/watch: add versionmangle for -rc
|
||||||
|
* Revert "Use upstream's restrictions on user- and group names again".
|
||||||
|
Breaks adduser's tests, see #1074306.
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Wed, 26 Jun 2024 12:40:34 +0200
|
||||||
|
|
||||||
|
shadow (1:4.15.2-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* useradd(8): Fix missing paragraph on username length
|
||||||
|
* d/rules: explicitly set --with-audit and --enable-subordinate-ids
|
||||||
|
* Remove faillog support.
|
||||||
|
Stop installing faillog binary and man pages. Stop creating
|
||||||
|
/var/log/faillog in login.postinst.
|
||||||
|
PAM has removed support for /var/log/faillog by dropping pam_tally, and
|
||||||
|
login itself cannot write to it either.
|
||||||
|
* Use upstream's restrictions on user- and group names again.
|
||||||
|
Upstream started supporting mixed-case names some time ago.
|
||||||
|
Purely numeric names (#79682) are now forbidden again, as there is no
|
||||||
|
way of distinguishing them from user/group IDs otherwise.
|
||||||
|
* Drop useradd's backwards-compatibility -O flag
|
||||||
|
* Remove our copy of HOME_MODE.xml, identical upstream
|
||||||
|
* shadowconfig.8: actually install again
|
||||||
|
* passwd: add Depends: login.
|
||||||
|
Stop-gap until passwd can takeover /etc/login.defs from login.
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Tue, 25 Jun 2024 19:42:24 +0200
|
||||||
|
|
||||||
|
shadow (1:4.15.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream version 4.15.2
|
||||||
|
Includes fix for csrand_uniform().
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Sat, 22 Jun 2024 17:37:34 +0200
|
||||||
|
|
||||||
|
shadow (1:4.15.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream version 4.15.1
|
||||||
|
Closes: #832047, #812127, #1034312, #856902, #791806
|
||||||
|
Closes: #1006216, #1006225, #1006208
|
||||||
|
* contrib/atudel, non-DFSG-compliant was removed upstream
|
||||||
|
* Remove obsolete configure flag --without-libcrack
|
||||||
|
* Use functions from libbsd (Closes: #1032393)
|
||||||
|
* Build-Depend: libltdl-dev for LT_LIB_DLLOAD
|
||||||
|
(Closes: #1065350)
|
||||||
|
* Build-Depend: pkgconf
|
||||||
|
* Drop upstream applied patches
|
||||||
|
* Disable FTMP_FILE by default, drop login failure logging
|
||||||
|
* Rebase patch 401_cppw_src.dpatch
|
||||||
|
* Rename patch 402_cppw_selinux
|
||||||
|
* Use upstream FAILLOG_ENAB code, incompatible with PAM
|
||||||
|
(Closes: #776314)
|
||||||
|
* Rebase patch 463_login_delay_obeys_to_PAM
|
||||||
|
* Rebase patch 501_commonio_group_shadow
|
||||||
|
* Rebase patch 502_debian_useradd_defaults
|
||||||
|
* Rebase patch 506_relaxed_usernames
|
||||||
|
* Rebase patch 542_useradd-O_option
|
||||||
|
* Update upstream signing keys
|
||||||
|
* Tag build with dh-package-notes
|
||||||
|
* Turn off --enable-lastlog, drop lastlog from not-installed
|
||||||
|
* Explicitly enable logind on linux-any
|
||||||
|
* Update default ENCRYPT_METHOD (Closes: #1043236)
|
||||||
|
* login: switch from Essential to Protected: yes (Closes: #960638)
|
||||||
|
Moves Pre-Depends to Depends.
|
||||||
|
* Enable acl, xattr support (Closes: #745796)
|
||||||
|
* login.defs: remove PAM-unsupported crypt settings (Closes: #1055582)
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Sat, 22 Jun 2024 16:08:41 +0200
|
||||||
|
|
||||||
|
shadow (1:4.13+dfsg1-5) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Add myself to Uploaders, per discussion with Serge Hallyn
|
||||||
|
* Apply wrap-and-sort -kas style
|
||||||
|
* Use debputy to avoid Rules-Requires-Root: binary-targets
|
||||||
|
* libsubid4: tighten package-internal dependencies
|
||||||
|
|
||||||
|
[ Serge Hallyn ]
|
||||||
|
* Drop pam_lastlog.so from config. (Closes: #1068229)
|
||||||
|
* Stop installing lastlog binary.
|
||||||
|
|
||||||
|
-- Chris Hofstaedtler <zeha@debian.org> Sun, 02 Jun 2024 20:01:51 +0200
|
||||||
|
|
||||||
|
shadow (1:4.13+dfsg1-4) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Helmut Grohne ]
|
||||||
|
* DEP17: Move login and shadowconfig to /usr. (Closes: #1059915)
|
||||||
|
|
||||||
|
-- Serge Hallyn <serge@hallyn.com> Sun, 04 Feb 2024 20:28:27 +0000
|
||||||
|
|
||||||
|
shadow (1:4.13+dfsg1-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* Remove myself from uploaders
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Sun, 15 Oct 2023 19:10:52 +0200
|
||||||
|
|
||||||
|
shadow (1:4.13+dfsg1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* debian/gitlab-ci.yml: Use sudo to fix reprotest test
|
||||||
|
* debian/login.pam: Drop reference to Debian Etch (Closes: #1040064)
|
||||||
|
* debian/NEWS: Fix false claim about PREVENT_NO_AUTH affecting authentication.
|
||||||
|
Also drop setting PREVENT_NO_AUTH in shipped login.defs. (Closes: #1041547)
|
||||||
|
* Cherry-pick upstream patch to fix gpasswd passwd leak
|
||||||
|
(CVE-2023-4641) (Closes: #1051062)
|
||||||
|
* Cherry-pick upstream patch to fix chfn vulnerability allowing injection of
|
||||||
|
control characters into some /etc/passwd fields.
|
||||||
|
(CVE-2023-29383) (Closes: #1034482)
|
||||||
|
|
||||||
|
[ Gioele Barabucci ]
|
||||||
|
* Support <nodoc> build profile
|
||||||
|
`xsltproc`, `docbook` and all other XML-related packages are not needed
|
||||||
|
when the `<nodoc>` build profile is active, as long as `./configure` is
|
||||||
|
called with `--disable-man`. (Closes: #1051827)
|
||||||
|
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Tue, 26 Sep 2023 22:01:52 +0200
|
||||||
|
|
||||||
|
shadow (1:4.13+dfsg1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* debian/watch: Make watch file work with new GitHub UI
|
||||||
|
* debian/control: Mark libsubid-dev as Multi-Arch: same
|
||||||
|
* New upstream version 4.13
|
||||||
|
- fix typo in useradd(8) (Closes: #1021380)
|
||||||
|
* Refresh patches
|
||||||
|
|
||||||
|
[ Debian Janitor ]
|
||||||
|
* Remove constraints unnecessary since buster (oldstable)
|
||||||
|
* login: Drop versioned constraint on util-linux in Breaks.
|
||||||
|
Changes-By: deb-scrub-obsolete
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Fri, 11 Nov 2022 09:28:15 +0100
|
||||||
|
|
||||||
|
shadow (1:4.12.3+dfsg1-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Debian Janitor ]
|
||||||
|
* Set upstream metadata fields: Bug-Database, Bug-Submit, Repository-Browse.
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* Fix tree copying regressions introduced in 4.12.2. (Closes: #1023132)
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Sat, 05 Nov 2022 14:47:01 +0100
|
||||||
|
|
||||||
|
shadow (1:4.12.3+dfsg1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-pick upstream patch to fix regression in expiration date handling
|
||||||
|
(Closes: #1021697)
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Sat, 22 Oct 2022 20:23:10 +0200
|
||||||
|
|
||||||
|
shadow (1:4.12.3+dfsg1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* New upstream release (Closes: #1004242, #1006848)
|
||||||
|
* Refresh patches
|
||||||
|
* debian/patches: Reorder patches in series to make it look sane
|
||||||
|
* Fix Lintian elevated-privileges tag rename
|
||||||
|
|
||||||
|
[ Johannes Schauer Marin Rodrigues ]
|
||||||
|
* debian/shadowconfig: Support DPKG_ROOT without using chroot()
|
||||||
|
(Closes: #1007758)
|
||||||
|
* useradd: cherry-pick patch from upstream to avoid creating several GB worth
|
||||||
|
of sparse lastlog and faillog files for users with high uid values
|
||||||
|
(Closes: #1019245)
|
||||||
|
|
||||||
|
[ Debian Janitor ]
|
||||||
|
* Update renamed lintian tag names in lintian overrides.
|
||||||
|
* Update standards version to 4.6.1, no changes needed.
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Tue, 04 Oct 2022 22:09:04 +0200
|
||||||
|
|
||||||
|
shadow (1:4.11.1+dfsg1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* debian/README.source: Recommend submitting translations upstream
|
||||||
|
* debian/tests/control: Mark smoke test as superficial
|
||||||
|
* useradd: Restore defaults used up to 4.8.1 version.
|
||||||
|
Also fix /etc/default/useradd to state that mail spool directories are
|
||||||
|
not created.
|
||||||
|
* login.defs:
|
||||||
|
- List default value of HOME_MODE
|
||||||
|
- Warn about weak cryptographic choices, like upstream
|
||||||
|
- include HMAC_CRYPTO_ALGO key
|
||||||
|
- Fix typo
|
||||||
|
|
||||||
|
[ Jenkins ]
|
||||||
|
* Trim trailing whitespace.
|
||||||
|
Changes-By: lintian-brush
|
||||||
|
Fixes: lintian: trailing-whitespace
|
||||||
|
* Use canonical URL in Vcs-Git.
|
||||||
|
Changes-By: lintian-brush
|
||||||
|
Fixes: lintian: vcs-field-not-canonical
|
||||||
|
* Fix day-of-week for changelog entry 1:4.1.4.2+svn3283-3.
|
||||||
|
Changes-By: lintian-brush
|
||||||
|
Fixes: lintian: debian-changelog-has-wrong-day-of-week
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Thu, 03 Mar 2022 20:41:41 +0100
|
||||||
|
|
||||||
|
shadow (1:4.11.1+dfsg1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* debian/NEWS: Fix version and release of latest entry
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Mon, 31 Jan 2022 10:33:28 +0100
|
||||||
|
|
||||||
|
shadow (1:4.11.1+dfsg1-0exp1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* login: Don't list su command as shipped (Closes: #960637)
|
||||||
|
* Install nologin /usr/sbin without patching makefiles
|
||||||
|
* debian/copyright: Fully rewrite the file based on upstream license update
|
||||||
|
and exclude contrib/atudel from upstream tarball
|
||||||
|
* debian/watch: Repack upstream tarball with +dfsg1 suffix
|
||||||
|
* debian/upstream/signing-key.asc: Update upstream signing key
|
||||||
|
* New upstream version 4.11.1+dfsg1
|
||||||
|
* Refresh patches
|
||||||
|
* Set NONEXISTENT to /nonexistent in shipped login.defs (Closes: #960318)
|
||||||
|
* Enable newly added yescrypt support
|
||||||
|
* Include YESCRYPT options in shipped login.defs (Closes: #991914)
|
||||||
|
* debian/rules: Stop using --disable-shared to build shared libraries
|
||||||
|
* Ship the libsubid4 and libsubid-dev packages and ship getsubids in uidmap
|
||||||
|
* debian/rules: Drop obsolete variable setting
|
||||||
|
* debian/login.lintian-overrides: Drop unused override
|
||||||
|
* debian/control: Make the Vcs-Browser URL canonical
|
||||||
|
* debian/login.defs: List new GRANT_AUX_GROUP_SUBIDS option in shipped login.defs
|
||||||
|
* debian/NEWS: Mention new login behaviour regarding empty password field.
|
||||||
|
Also set PREVENT_NO_AUTH in shipped login.defs accordingly.
|
||||||
|
* debian/tests: Cherry-pick part of autopkgtest from Ubuntu.
|
||||||
|
Thanks to Michael Vogt for the more extensive suite in Ubuntu
|
||||||
|
* debian/login.defs: Set default subuid and subgid ranges
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Sat, 22 Jan 2022 21:03:44 +0100
|
||||||
|
|
||||||
|
shadow (1:4.8.1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* debian/control: Switch to libsemanage-dev from libsemanage1-dev
|
||||||
|
(Closes: #998633)
|
||||||
|
* ACK NMU, thanks for all the changes
|
||||||
|
* Make passwd recommend sensible-utils because vipw uses sensible-editor
|
||||||
|
* Add files to debian/not-installed or install them when they were missed
|
||||||
|
This change ships a few more man page translations
|
||||||
|
* debian/control: Bump debhelper-compat version to 13
|
||||||
|
* List man pages to install in debian/*.manpages instead of in
|
||||||
|
debian/*.install
|
||||||
|
* Clean up debian/control using 'cme fix dpkg-control'
|
||||||
|
* Rename deprecated debian/passwd.tmpfile to debian/passwd.tmpfiles
|
||||||
|
* debian/control: Revert to my personal email address in the Maintainer field
|
||||||
|
|
||||||
|
-- Balint Reczey <balint@balintreczey.hu> Wed, 10 Nov 2021 10:39:04 +0100
|
||||||
|
|
||||||
|
shadow (1:4.8.1-1.1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Johannes Schauer Marin Rodrigues ]
|
||||||
|
* Non-maintainer upload.
|
||||||
|
|
||||||
|
[ Niels Thykier ]
|
||||||
|
* Remove obsolete login.preinst
|
||||||
|
* Remove obsolete code from passwd maintscripts
|
||||||
|
|
||||||
|
[ Helmut Grohne ]
|
||||||
|
* logoutd is gone since at least buster (closes: #989712)
|
||||||
|
* Delete duplicate subuid/subgid creation.
|
||||||
|
* login.postinstd support for DPKG_ROOT (closes: #992578)
|
||||||
|
|
||||||
|
-- Johannes Schauer Marin Rodrigues <josch@debian.org> Sat, 23 Oct 2021 21:04:57 +0200
|
||||||
|
|
||||||
|
shadow (1:4.8.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* debian/default/useradd: Fix typo DHSELL -> DSHELL (Closes: #897028)
|
||||||
|
* New upstream version 4.8.1
|
||||||
|
- Update Dutch translation (Closes: #946608)
|
||||||
|
* Refresh patches
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Fri, 07 Feb 2020 15:54:14 +0100
|
||||||
|
|
||||||
|
shadow (1:4.8-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Laurent Bigonville ]
|
||||||
|
* Move the call to pam_motd before pam_selinux open
|
||||||
|
|
||||||
|
[ Justin B Rye ]
|
||||||
|
* login: Update package description (Closes: #808301)
|
||||||
|
|
||||||
|
[ Yuriy M. Kaminskiy ]
|
||||||
|
* Mark uidmap and login as Multi-Arch: foreign (Closes: #934473)
|
||||||
|
|
||||||
|
[ Andreas Henriksson ]
|
||||||
|
* New upstream release.
|
||||||
|
- man: generate translations using itstool instead of xml2po
|
||||||
|
* Replace gnome-doc-utils build-dep with itstool (Closes: #881889)
|
||||||
|
* Use explicit --without-su configure flag
|
||||||
|
* Refresh and massage patches to apply
|
||||||
|
* Cherry-pick upstream patch reverting bindir/sbindir
|
||||||
|
* Fix lintian warning useless-autoreconf-build-depends
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* debian/login.su.pam: Drop unused file
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Fri, 20 Dec 2019 16:39:40 +0100
|
||||||
|
|
||||||
|
shadow (1:4.7-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* Remove obsolete /etc/cron.daily/passwd in maintainer scripts
|
||||||
|
(Closes: #932017)
|
||||||
|
* Remove Christian Perrier from Uploaders according to his request.
|
||||||
|
Thank you for maintaining shadow for long years! (Closes: #893944, #927576)
|
||||||
|
|
||||||
|
[ Gaudenz Steinlin ]
|
||||||
|
* Improve NEWS entry about securetty.
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Tue, 16 Jul 2019 18:48:12 +0200
|
||||||
|
|
||||||
|
shadow (1:4.7-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Ondřej Nový ]
|
||||||
|
* d/changelog: Remove trailing whitespaces
|
||||||
|
|
||||||
|
[ Niels Thykier ]
|
||||||
|
* Declare the explicit requirement for (fake)root.
|
||||||
|
The shadow package currently requires (fake)root to produce the debs
|
||||||
|
due to static non-root:root ownerships in the debs.
|
||||||
|
|
||||||
|
[ Bryan Quigley ]
|
||||||
|
* Remove cron daily backup.
|
||||||
|
It was added in 2010 (#554170) as a split off from a previous cron
|
||||||
|
job. I haven't seen an argument for why it's useful to keep.
|
||||||
|
Depending on when a mistake occurs in one of the files it backups
|
||||||
|
it will provide variable recovery time of 0 to 24hours.
|
||||||
|
|
||||||
|
[ Balint Reczey ]
|
||||||
|
* Add Salsa CI configuration
|
||||||
|
* Drop Lintian override for su, it is not shipped in login anymore
|
||||||
|
* Stop shipping and honoring /etc/securetty
|
||||||
|
(Closes: #731656, #830255, #879903, #920764, #771675, #917893, #607073)
|
||||||
|
* Migrate to dh from cdbs
|
||||||
|
* Ship some missing man files
|
||||||
|
* Fix checking upstream tarball's OpenPGP signature
|
||||||
|
* New upstream version 4.7
|
||||||
|
* Refresh patches
|
||||||
|
* Run autopkgtest in Salsa CI when it exists
|
||||||
|
* debian/NEWS: Fix version of latest entry
|
||||||
|
* Clean up /etc/securetty properly on upgrade
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Mon, 08 Jul 2019 15:58:46 +0200
|
||||||
|
|
||||||
|
shadow (1:4.5-1.1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Non-maintainer upload (greetings from DebCamp/DebConf Taiwan).
|
||||||
|
* Stop shipping su and break old util-linux version. (See #833256)
|
||||||
|
- Breaks on old version to force lockstep upgrade, which should
|
||||||
|
really be a depends-new-version (and can be switched around
|
||||||
|
together with util-linux once the transition is finished).
|
||||||
|
Using Breaks/Depends the 'wrong' way around is to make apt
|
||||||
|
unpack things in the 'right' order (avoiding any gaps where
|
||||||
|
/bin/su is not available during the upgrade phase).
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 27 Jul 2018 10:07:37 +0200
|
||||||
|
|
||||||
|
shadow (1:4.5-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream version 4.5
|
||||||
|
- Fix buffer overflow if NULL line is present in db (CVE-2017-12424)
|
||||||
|
(Closes: #756630)
|
||||||
|
- Make the sp_lstchg shadow field reproducible (Closes: #857803)
|
||||||
|
- Fix regression in useradd not loading defaults properly.
|
||||||
|
(Closes: #865762)
|
||||||
|
* Refresh patches
|
||||||
|
* Drop patches manipulating su argument concatenation:
|
||||||
|
* Cut redundant information from Debian-specific README files
|
||||||
|
* Revert adding pts/0 and pts/1 to securetty.
|
||||||
|
Adding pts/* defeats the purpose of securetty. Let containers add it if
|
||||||
|
needed as described in #830255.
|
||||||
|
* Use my @ubuntu.com email address in Maintainer field
|
||||||
|
|
||||||
|
-- Balint Reczey <rbalint@ubuntu.com> Wed, 27 Sep 2017 12:45:23 -0400
|
||||||
|
|
||||||
shadow (1:4.4-4.1) unstable; urgency=high
|
shadow (1:4.4-4.1) unstable; urgency=high
|
||||||
|
|
||||||
* Non-maintainer upload.
|
* Non-maintainer upload.
|
||||||
@@ -202,14 +589,14 @@ shadow (1:4.2-1) experimental; urgency=low
|
|||||||
* Add pam_loginuid to login PAM settings. Closes: #677441
|
* Add pam_loginuid to login PAM settings. Closes: #677441
|
||||||
* passwd.install: add new subuid.5 and subgid.5 manpages
|
* passwd.install: add new subuid.5 and subgid.5 manpages
|
||||||
* debian/rules, debian/control, debian/uidmap.install: create new uidmap
|
* debian/rules, debian/control, debian/uidmap.install: create new uidmap
|
||||||
package containing the new setuid-root binaries newuidmap and newgidmap
|
package containing the new setuid-root binaries newuidmap and newgidmap
|
||||||
Set uidmap as priority optional.
|
Set uidmap as priority optional.
|
||||||
* debian/login.su.pam: Enable pam_limits by default. Closes: #705301
|
* debian/login.su.pam: Enable pam_limits by default. Closes: #705301
|
||||||
* debian/rules: Set default editor to sensible-editor for vipw.
|
* debian/rules: Set default editor to sensible-editor for vipw.
|
||||||
Closes: #688252
|
Closes: #688252
|
||||||
|
|
||||||
[ Micah Anderson ]
|
[ Micah Anderson ]
|
||||||
* added debian/patches/userns to enable use of subuids, plus some bugfix
|
* added debian/patches/userns to enable use of subuids, plus some bugfix
|
||||||
patches on top of them, patches from Eric Biederman, pulled from
|
patches on top of them, patches from Eric Biederman, pulled from
|
||||||
Ubuntu. Closes: #739981
|
Ubuntu. Closes: #739981
|
||||||
* Allow LXC devices (lxc/console, lxc/tty[1234]) in securetty.linux
|
* Allow LXC devices (lxc/console, lxc/tty[1234]) in securetty.linux
|
||||||
@@ -222,7 +609,7 @@ shadow (1:4.2-1) experimental; urgency=low
|
|||||||
* Switch to dpkg-source 3.0 (quilt) format
|
* Switch to dpkg-source 3.0 (quilt) format
|
||||||
* Add build-dependency against bison
|
* Add build-dependency against bison
|
||||||
* Call dh-autoreconf since we need to regenerate all the autofoo files
|
* Call dh-autoreconf since we need to regenerate all the autofoo files
|
||||||
|
|
||||||
[ Philippe Grégoire ]
|
[ Philippe Grégoire ]
|
||||||
* Fix 1000_configure_userns to avoid dropping a needed #endif
|
* Fix 1000_configure_userns to avoid dropping a needed #endif
|
||||||
Closes: #744877
|
Closes: #744877
|
||||||
@@ -398,7 +785,7 @@ shadow (1:4.1.4.2+svn3283-3) unstable; urgency=high
|
|||||||
* debian/patches/300_CVE-2011-0721: Fix insufficient input sanitation
|
* debian/patches/300_CVE-2011-0721: Fix insufficient input sanitation
|
||||||
leading to possible user or group creation in NIS environments.
|
leading to possible user or group creation in NIS environments.
|
||||||
|
|
||||||
-- Nicolas FRANCOIS (Nekral) <nicolas.francois@centraliens.net> Mon, 13 Feb 2011 23:20:05 +0100
|
-- Nicolas FRANCOIS (Nekral) <nicolas.francois@centraliens.net> Sun, 13 Feb 2011 23:20:05 +0100
|
||||||
|
|
||||||
shadow (1:4.1.4.2+svn3283-2) unstable; urgency=low
|
shadow (1:4.1.4.2+svn3283-2) unstable; urgency=low
|
||||||
|
|
||||||
@@ -512,7 +899,7 @@ shadow (1:4.1.4.1-1) unstable; urgency=low
|
|||||||
- Updated patches:
|
- Updated patches:
|
||||||
+ debian/patches/506_relaxed_usernames
|
+ debian/patches/506_relaxed_usernames
|
||||||
* debian/login.defs: Removed comment about MD5_CRYPT. MD5_CRYPT_ENAB is no
|
* debian/login.defs: Removed comment about MD5_CRYPT. MD5_CRYPT_ENAB is no
|
||||||
more used by chpasswd and newusers.
|
more used by chpasswd and newusers.
|
||||||
* debian/patches/*: Updated patches to the new quilt and shadow versions.
|
* debian/patches/*: Updated patches to the new quilt and shadow versions.
|
||||||
* debian/patches/506_relaxed_usernames: usernames with a slash will not only
|
* debian/patches/506_relaxed_usernames: usernames with a slash will not only
|
||||||
break one option. Move to the discussion on the usernames.
|
break one option. Move to the discussion on the usernames.
|
||||||
@@ -557,7 +944,7 @@ shadow (1:4.1.4-1) unstable; urgency=low
|
|||||||
- Updated Russian translation. Closes: #527636
|
- Updated Russian translation. Closes: #527636
|
||||||
- passwd: Report password properties changes if the password is not
|
- passwd: Report password properties changes if the password is not
|
||||||
actually changed. Closes: #525967
|
actually changed. Closes: #525967
|
||||||
- Fixed lastlog. 4.1.3 only reported empty logs. Closes: #524873
|
- Fixed lastlog. 4.1.3 only reported empty logs. Closes: #524873
|
||||||
- Remove patches applied upstream:
|
- Remove patches applied upstream:
|
||||||
+ debian/patches/403_fix_PATH-MAX_hurd
|
+ debian/patches/403_fix_PATH-MAX_hurd
|
||||||
- Updated patches:
|
- Updated patches:
|
||||||
@@ -987,7 +1374,7 @@ shadow (1:4.0.18.1-9) unstable; urgency=low
|
|||||||
- 409_man_generate_from_PO: Generate the translated man pages at build
|
- 409_man_generate_from_PO: Generate the translated man pages at build
|
||||||
time.
|
time.
|
||||||
- 200_regenerate_manpages: No more needed.
|
- 200_regenerate_manpages: No more needed.
|
||||||
|
|
||||||
|
|
||||||
-- Christian Perrier <bubulle@debian.org> Tue, 15 May 2007 23:40:13 +0200
|
-- Christian Perrier <bubulle@debian.org> Tue, 15 May 2007 23:40:13 +0200
|
||||||
|
|
||||||
@@ -1014,7 +1401,7 @@ shadow (1:4.0.18.1-8) unstable; urgency=low
|
|||||||
neither -n nor -g are specified. See also 407_adduser_disable_PUG_with-n
|
neither -n nor -g are specified. See also 407_adduser_disable_PUG_with-n
|
||||||
- no longer include /usr/bin/X11 in defaults PATH variable. Closes: #395890
|
- no longer include /usr/bin/X11 in defaults PATH variable. Closes: #395890
|
||||||
- set debhelper compatibility to 5 through debian/compat
|
- set debhelper compatibility to 5 through debian/compat
|
||||||
- ignore a false positive lintian warning about
|
- ignore a false positive lintian warning about
|
||||||
possible-missing-colon-in-closes in line 668 of the changelog
|
possible-missing-colon-in-closes in line 668 of the changelog
|
||||||
* Upstream bugs not yet fixed in upstream releases or CVS:
|
* Upstream bugs not yet fixed in upstream releases or CVS:
|
||||||
- 493_pwck_no_SHADOWPWD: SHADOWPWD no more exist.
|
- 493_pwck_no_SHADOWPWD: SHADOWPWD no more exist.
|
||||||
@@ -1651,7 +2038,7 @@ shadow (1:4.0.13-5) unstable; urgency=low
|
|||||||
Working user password crypted preseeding (it probably failed earlier)
|
Working user password crypted preseeding (it probably failed earlier)
|
||||||
* Debconf translation updates:
|
* Debconf translation updates:
|
||||||
- Russian updated. Closes: #337370
|
- Russian updated. Closes: #337370
|
||||||
|
|
||||||
-- Christian Perrier <bubulle@debian.org> Tue, 1 Nov 2005 18:10:30 +0100
|
-- Christian Perrier <bubulle@debian.org> Tue, 1 Nov 2005 18:10:30 +0100
|
||||||
|
|
||||||
shadow (1:4.0.13-4) unstable; urgency=low
|
shadow (1:4.0.13-4) unstable; urgency=low
|
||||||
@@ -1799,7 +2186,7 @@ shadow (1:4.0.12-6) unstable; urgency=low
|
|||||||
- manpages-fi (removed because distributes translations we don't have)
|
- manpages-fi (removed because distributes translations we don't have)
|
||||||
- manpages-pt (removed because distributes translations we don't have)
|
- manpages-pt (removed because distributes translations we don't have)
|
||||||
- manpages-tr (removed because distributes translations we don't have)
|
- manpages-tr (removed because distributes translations we don't have)
|
||||||
- manpages-zh for login
|
- manpages-zh for login
|
||||||
(removed because distributes translations we don't have)
|
(removed because distributes translations we don't have)
|
||||||
- debian/login.pam, debian/login.su.pam:
|
- debian/login.pam, debian/login.su.pam:
|
||||||
- use "readenv=1" with pam_env so that /etc/environment settings are
|
- use "readenv=1" with pam_env so that /etc/environment settings are
|
||||||
@@ -1822,9 +2209,9 @@ shadow (1:4.0.12-6) unstable; urgency=low
|
|||||||
shadow (1:4.0.12-5) unstable; urgency=low
|
shadow (1:4.0.12-5) unstable; urgency=low
|
||||||
|
|
||||||
* Really add /etc/pam.d/su. Closes: #330291
|
* Really add /etc/pam.d/su. Closes: #330291
|
||||||
|
|
||||||
-- Christian Perrier <bubulle@debian.org> Wed, 28 Sep 2005 19:59:31 +0200
|
-- Christian Perrier <bubulle@debian.org> Wed, 28 Sep 2005 19:59:31 +0200
|
||||||
|
|
||||||
shadow (1:4.0.12-4) unstable; urgency=low
|
shadow (1:4.0.12-4) unstable; urgency=low
|
||||||
|
|
||||||
* The "Epoisses" release
|
* The "Epoisses" release
|
||||||
@@ -1884,7 +2271,7 @@ shadow (1:4.0.12-1) experimental; urgency=low
|
|||||||
ULIMIT
|
ULIMIT
|
||||||
- NEWS.Debian: added
|
- NEWS.Debian: added
|
||||||
- Ship a (currently useless) PAM configuration file for chage, useradd,
|
- Ship a (currently useless) PAM configuration file for chage, useradd,
|
||||||
usermod, userdel, groupadd, groupmod, groupdel, including
|
usermod, userdel, groupadd, groupmod, groupdel, including
|
||||||
pam_rootok.so alone
|
pam_rootok.so alone
|
||||||
- use dh_installpam to install PAM configuration files
|
- use dh_installpam to install PAM configuration files
|
||||||
- start the cleanup of the unused patches list
|
- start the cleanup of the unused patches list
|
||||||
@@ -2172,7 +2559,7 @@ shadow (1:4.0.3-35) unstable; urgency=low
|
|||||||
(change made in sarge branch also)
|
(change made in sarge branch also)
|
||||||
Closes: #300720
|
Closes: #300720
|
||||||
- debian/rules: Add removal of config.log in the clean target
|
- debian/rules: Add removal of config.log in the clean target
|
||||||
- debian/control:
|
- debian/control:
|
||||||
- Add Martin to Uploaders
|
- Add Martin to Uploaders
|
||||||
- Remove Sam Hartman from Uploaders. The team is now setup and this
|
- Remove Sam Hartman from Uploaders. The team is now setup and this
|
||||||
does not really have a real meaning now. You're still welcome for
|
does not really have a real meaning now. You're still welcome for
|
||||||
@@ -2424,7 +2811,7 @@ shadow (1:4.0.3-30.6) unstable; urgency=low
|
|||||||
|
|
||||||
* Revert back to Ian Gulliver genuine patch
|
* Revert back to Ian Gulliver genuine patch
|
||||||
to chpasswd. Update man page accordingly.
|
to chpasswd. Update man page accordingly.
|
||||||
Closes: #283961
|
Closes: #283961
|
||||||
(again)
|
(again)
|
||||||
* Programs translations
|
* Programs translations
|
||||||
- German updated. Closes: #286522
|
- German updated. Closes: #286522
|
||||||
@@ -2544,7 +2931,7 @@ shadow (1:4.0.3-30) unstable; urgency=high
|
|||||||
* Correct check for root password being already set in passwd.config
|
* Correct check for root password being already set in passwd.config
|
||||||
Closes: #260799
|
Closes: #260799
|
||||||
|
|
||||||
* Acknowledge 29.1 NMU:
|
* Acknowledge 29.1 NMU:
|
||||||
Closes: #256664, #257949, #258241, #258563, #258566, #258957,
|
Closes: #256664, #257949, #258241, #258563, #258566, #258957,
|
||||||
#190567, #259389, #260223, #257949, #259663, #259827
|
#190567, #259389, #260223, #257949, #259663, #259827
|
||||||
|
|
||||||
@@ -2591,14 +2978,14 @@ shadow (1:4.0.3-29) unstable; urgency=low
|
|||||||
Closes: #253792
|
Closes: #253792
|
||||||
this change was already in 28.5 but was forgotten in the
|
this change was already in 28.5 but was forgotten in the
|
||||||
changelog
|
changelog
|
||||||
* Acknowledge NMUs:
|
* Acknowledge NMUs:
|
||||||
closes: #244604, #244734, #246302, #246376, #246848, #246859,
|
closes: #244604, #244734, #246302, #246376, #246848, #246859,
|
||||||
#247084, #247698, #247770, #248386, #248391, #248392,
|
#247084, #247698, #247770, #248386, #248391, #248392,
|
||||||
#248392, #248516, #248516, #248648, #248938, #248957,
|
#248392, #248516, #248516, #248648, #248938, #248957,
|
||||||
#249141, #249257, #249682, #250169, #250339, #250496,
|
#249141, #249257, #249682, #250169, #250339, #250496,
|
||||||
#251140, #251141, #251317, #251495, #251716, #251990,
|
#251140, #251141, #251317, #251495, #251716, #251990,
|
||||||
#252087, #252499, #253165, #253186, #253570, #254503,
|
#252087, #252499, #253165, #253186, #253570, #254503,
|
||||||
#254760
|
#254760
|
||||||
|
|
||||||
-- Karl Ramm <kcr@debian.org> Sat, 3 Jul 2004 00:24:55 -0400
|
-- Karl Ramm <kcr@debian.org> Sat, 3 Jul 2004 00:24:55 -0400
|
||||||
|
|
||||||
@@ -2796,7 +3183,7 @@ shadow (1:4.0.3-23) unstable; urgency=low
|
|||||||
|
|
||||||
shadow (1:4.0.3-22) unstable; urgency=low
|
shadow (1:4.0.3-22) unstable; urgency=low
|
||||||
|
|
||||||
* Don't assume that lastlog.ll_time or utmp.ut_time or utmpx.ut_tv are made
|
* Don't assume that lastlog.ll_time or utmp.ut_time or utmpx.ut_tv are made
|
||||||
up of time_ts and timevals, because they aren't on x86-64. Dismaying
|
up of time_ts and timevals, because they aren't on x86-64. Dismaying
|
||||||
but true.
|
but true.
|
||||||
|
|
||||||
@@ -2804,7 +3191,7 @@ shadow (1:4.0.3-22) unstable; urgency=low
|
|||||||
|
|
||||||
shadow (1:4.0.3-21) unstable; urgency=low
|
shadow (1:4.0.3-21) unstable; urgency=low
|
||||||
|
|
||||||
* Try and get the right French translation update in the right place,
|
* Try and get the right French translation update in the right place,
|
||||||
Karl, you can do it even if you do only speak English. Closes: #236993
|
Karl, you can do it even if you do only speak English. Closes: #236993
|
||||||
|
|
||||||
-- Karl Ramm <kcr@debian.org> Wed, 10 Mar 2004 15:31:35 -0500
|
-- Karl Ramm <kcr@debian.org> Wed, 10 Mar 2004 15:31:35 -0500
|
||||||
@@ -2862,7 +3249,7 @@ shadow (1:4.0.3-17) unstable; urgency=low
|
|||||||
shadow (1:4.0.3-16) unstable; urgency=low
|
shadow (1:4.0.3-16) unstable; urgency=low
|
||||||
|
|
||||||
* run dh_installdeb *after* dh_installdebconf,
|
* run dh_installdeb *after* dh_installdebconf,
|
||||||
remove . from short description of passwd,
|
remove . from short description of passwd,
|
||||||
add versioned conflict with debconf older than 0.5
|
add versioned conflict with debconf older than 0.5
|
||||||
closes: #224133
|
closes: #224133
|
||||||
* replace manpages-it due to man page conflict
|
* replace manpages-it due to man page conflict
|
||||||
@@ -2873,7 +3260,7 @@ shadow (1:4.0.3-16) unstable; urgency=low
|
|||||||
* fix permissions on chage and expiry, closes: #224717
|
* fix permissions on chage and expiry, closes: #224717
|
||||||
* run debconf-updatepo
|
* run debconf-updatepo
|
||||||
* remove debian/compat as redundant
|
* remove debian/compat as redundant
|
||||||
|
|
||||||
-- Karl Ramm <kcr@debian.org> Mon, 22 Dec 2003 19:53:30 -0500
|
-- Karl Ramm <kcr@debian.org> Mon, 22 Dec 2003 19:53:30 -0500
|
||||||
|
|
||||||
shadow (1:4.0.3-15) unstable; urgency=low
|
shadow (1:4.0.3-15) unstable; urgency=low
|
||||||
@@ -2886,7 +3273,7 @@ shadow (1:4.0.3-15) unstable; urgency=low
|
|||||||
|
|
||||||
shadow (1:4.0.3-14) unstable; urgency=low
|
shadow (1:4.0.3-14) unstable; urgency=low
|
||||||
|
|
||||||
* exit 30 when backing all the way out in passwd.conf, and
|
* exit 30 when backing all the way out in passwd.conf, and
|
||||||
depend on base-config 2.00, closes: #222772
|
depend on base-config 2.00, closes: #222772
|
||||||
* adjust debconf templates for debian-installer work,
|
* adjust debconf templates for debian-installer work,
|
||||||
closes: #222832
|
closes: #222832
|
||||||
@@ -2903,11 +3290,11 @@ shadow (1:4.0.3-13) unstable; urgency=low
|
|||||||
shadow (1:4.0.3-12) unstable; urgency=low
|
shadow (1:4.0.3-12) unstable; urgency=low
|
||||||
|
|
||||||
* Explicitly use automake-1.7 and aclocal-1.7. closes: #216594
|
* Explicitly use automake-1.7 and aclocal-1.7. closes: #216594
|
||||||
* Update Danish debconf translation. closes: #216542
|
* Update Danish debconf translation. closes: #216542
|
||||||
* Update French debconf translation. closes: #206352
|
* Update French debconf translation. closes: #206352
|
||||||
* Update Dutch debconf translation. closes: #212995
|
* Update Dutch debconf translation. closes: #212995
|
||||||
* Remove redundant dependency on grep. closes: #216535
|
* Remove redundant dependency on grep. closes: #216535
|
||||||
* Fix chfn documentation bug. closes: #213931
|
* Fix chfn documentation bug. closes: #213931
|
||||||
* Fix su syslogs to be less ambiguous. (old:new instead of old-new
|
* Fix su syslogs to be less ambiguous. (old:new instead of old-new
|
||||||
because '-' can appear in usernames.) Not clearer, mind you, but less
|
because '-' can appear in usernames.) Not clearer, mind you, but less
|
||||||
ambiguous. closes: #213592
|
ambiguous. closes: #213592
|
||||||
@@ -3023,7 +3410,7 @@ shadow (1:4.0.3-3) unstable; urgency=low
|
|||||||
|
|
||||||
* the "fix the brain damage" release
|
* the "fix the brain damage" release
|
||||||
* fix pam brain-damage in ch{age,passwd}, {group,user}{add,del,mod}, newusers
|
* fix pam brain-damage in ch{age,passwd}, {group,user}{add,del,mod}, newusers
|
||||||
closes: #162181, #162199, #162228
|
closes: #162181, #162199, #162228
|
||||||
* fix vipw symlink brain-damage: closes: #162218
|
* fix vipw symlink brain-damage: closes: #162218
|
||||||
* fix package description brain damage, closes: #139563
|
* fix package description brain damage, closes: #139563
|
||||||
* install cp{pw,gr} brain damge
|
* install cp{pw,gr} brain damge
|
||||||
@@ -3124,7 +3511,7 @@ shadow (20000902-8) unstable; urgency=low
|
|||||||
from going off on its own.
|
from going off on its own.
|
||||||
* terminate argument validation in login when it hits a '--'.
|
* terminate argument validation in login when it hits a '--'.
|
||||||
closes: #66368
|
closes: #66368
|
||||||
|
|
||||||
-- Karl Ramm <kcr@debian.org> Mon, 22 Oct 2001 11:17:35 -0400
|
-- Karl Ramm <kcr@debian.org> Mon, 22 Oct 2001 11:17:35 -0400
|
||||||
|
|
||||||
shadow (20000902-7) unstable; urgency=low
|
shadow (20000902-7) unstable; urgency=low
|
||||||
@@ -3151,12 +3538,12 @@ shadow (20000902-7) unstable; urgency=low
|
|||||||
-- Karl Ramm <kcr@debian.org> Wed, 22 Aug 2001 12:09:27 -0400
|
-- Karl Ramm <kcr@debian.org> Wed, 22 Aug 2001 12:09:27 -0400
|
||||||
|
|
||||||
shadow (20000902-6.1) unstable; urgency=low
|
shadow (20000902-6.1) unstable; urgency=low
|
||||||
|
|
||||||
* Non-maintainer upload.
|
* Non-maintainer upload.
|
||||||
* Upgrade to latest config.sub and config.guess. Closes: #88547
|
* Upgrade to latest config.sub and config.guess. Closes: #88547
|
||||||
|
|
||||||
-- Gerhard Tonn <gt@debian.org> Fri, 1 Jun 2001 20:38:43 +0200
|
-- Gerhard Tonn <gt@debian.org> Fri, 1 Jun 2001 20:38:43 +0200
|
||||||
|
|
||||||
shadow (20000902-6) unstable; urgency=medium
|
shadow (20000902-6) unstable; urgency=medium
|
||||||
|
|
||||||
* actually set root's password when appropriate
|
* actually set root's password when appropriate
|
||||||
@@ -3181,7 +3568,7 @@ shadow (20000902-4) unstable; urgency=low
|
|||||||
shadow (20000902-3.1) unstable; urgency=low
|
shadow (20000902-3.1) unstable; urgency=low
|
||||||
|
|
||||||
* Non-maintainer upload
|
* Non-maintainer upload
|
||||||
* Recompile to fix ARM lossage
|
* Recompile to fix ARM lossage
|
||||||
|
|
||||||
-- Philip Blundell <philb@armlinux.org> Sun, 11 Mar 2001 07:47:27 -0500
|
-- Philip Blundell <philb@armlinux.org> Sun, 11 Mar 2001 07:47:27 -0500
|
||||||
|
|
||||||
@@ -3505,7 +3892,7 @@ shadow (19990827-3) unstable; urgency=low
|
|||||||
* login.defs: documented above change
|
* login.defs: documented above change
|
||||||
* {login,passwd}.postinst: fixed some bashisms, closes: #45159
|
* {login,passwd}.postinst: fixed some bashisms, closes: #45159
|
||||||
* login.defs.pam.linux: documented the FAKE_SHELL option, closes: 31987
|
* login.defs.pam.linux: documented the FAKE_SHELL option, closes: 31987
|
||||||
* su.1,login.1: documented the subsystem root ability in login and su, closes:
|
* su.1,login.1: documented the subsystem root ability in login and su, closes:
|
||||||
* doc directory for both packages now includes the README.shadow-paper file
|
* doc directory for both packages now includes the README.shadow-paper file
|
||||||
closes: #15391
|
closes: #15391
|
||||||
|
|
||||||
@@ -3646,7 +4033,7 @@ shadow (980403-0.3.3) unstable; urgency=low
|
|||||||
shadow (980403-0.3.2) unstable; urgency=low
|
shadow (980403-0.3.2) unstable; urgency=low
|
||||||
|
|
||||||
* configure.in patched for utmpx.h (for arm)
|
* configure.in patched for utmpx.h (for arm)
|
||||||
|
|
||||||
-- Jim Pick <jim@jimpick.com> Sun, 4 Oct 1998 19:06:15 -0700
|
-- Jim Pick <jim@jimpick.com> Sun, 4 Oct 1998 19:06:15 -0700
|
||||||
|
|
||||||
shadow (980403-0.3.1) frozen unstable; urgency=low
|
shadow (980403-0.3.1) frozen unstable; urgency=low
|
||||||
@@ -3674,7 +4061,7 @@ shadow (980403-0.2) frozen unstable; urgency=low
|
|||||||
-- Joel Klecker <jk@espy.org> Mon, 11 May 1998 11:25:22 -0700
|
-- Joel Klecker <jk@espy.org> Mon, 11 May 1998 11:25:22 -0700
|
||||||
|
|
||||||
shadow (980403-0.1) frozen unstable; urgency=low
|
shadow (980403-0.1) frozen unstable; urgency=low
|
||||||
|
|
||||||
* Non-maintainer release.
|
* Non-maintainer release.
|
||||||
* New upstream release (18225).
|
* New upstream release (18225).
|
||||||
* (debian/login.postinst)
|
* (debian/login.postinst)
|
||||||
@@ -3703,7 +4090,7 @@ shadow (980403-0.1) frozen unstable; urgency=low
|
|||||||
* Install upstream changelog as 'changelog.gz' as per policy (20052).
|
* Install upstream changelog as 'changelog.gz' as per policy (20052).
|
||||||
* (secure-su): Changed /etc/suauth to reference the group 'root'
|
* (secure-su): Changed /etc/suauth to reference the group 'root'
|
||||||
instead of 'wheel' (17593).
|
instead of 'wheel' (17593).
|
||||||
|
|
||||||
-- Joel Klecker <jk@espy.org> Thu, 30 Apr 1998 18:32:12 -0700
|
-- Joel Klecker <jk@espy.org> Thu, 30 Apr 1998 18:32:12 -0700
|
||||||
|
|
||||||
shadow (970616-1) unstable; urgency=low
|
shadow (970616-1) unstable; urgency=low
|
||||||
@@ -3773,7 +4160,7 @@ shadow (961025-2) frozen unstable; urgency=medium
|
|||||||
-- Guy Maor <maor@ece.utexas.edu> Sat, 19 Apr 1997 02:34:59 -0500
|
-- Guy Maor <maor@ece.utexas.edu> Sat, 19 Apr 1997 02:34:59 -0500
|
||||||
|
|
||||||
shadow (961025-1) unstable; urgency=low
|
shadow (961025-1) unstable; urgency=low
|
||||||
|
|
||||||
* Upstream upgrade, new source format.
|
* Upstream upgrade, new source format.
|
||||||
|
|
||||||
-- Guy Maor <maor@ece.utexas.edu> Mon, 10 Feb 1997 02:56:56 -0600
|
-- Guy Maor <maor@ece.utexas.edu> Mon, 10 Feb 1997 02:56:56 -0600
|
||||||
@@ -3806,4 +4193,3 @@ shadow (960810-1) base; urgency=LOW
|
|||||||
* New upstream version
|
* New upstream version
|
||||||
|
|
||||||
-- Unknown <unknown@debian.org> Mon, 01 Jan 1996 00:00:00 +0000
|
-- Unknown <unknown@debian.org> Mon, 01 Jan 1996 00:00:00 +0000
|
||||||
|
|
||||||
|
|||||||
1
debian/compat
vendored
1
debian/compat
vendored
@@ -1 +0,0 @@
|
|||||||
10
|
|
||||||
129
debian/control
vendored
129
debian/control
vendored
@@ -1,38 +1,50 @@
|
|||||||
Source: shadow
|
Source: shadow
|
||||||
Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
Uploaders: Christian Perrier <bubulle@debian.org>,
|
Uploaders:
|
||||||
Balint Reczey <balint@balintreczey.hu>,
|
Serge Hallyn <serge@hallyn.com>,
|
||||||
Serge Hallyn <serge@hallyn.com>
|
Chris Hofstaedtler <zeha@debian.org>
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: required
|
Priority: required
|
||||||
Build-Depends: dh-autoreconf,
|
Build-Depends:
|
||||||
gettext,
|
bison,
|
||||||
libpam0g-dev,
|
debhelper-compat (= 13),
|
||||||
debhelper (>= 10~),
|
dh-package-notes,
|
||||||
quilt,
|
dh-sequence-zz-debputy-rrr (>= 0.1.23~),
|
||||||
xsltproc,
|
docbook-xml <!nodoc>,
|
||||||
docbook-xsl,
|
docbook-xsl <!nodoc>,
|
||||||
docbook-xml,
|
gettext,
|
||||||
libxml2-utils,
|
itstool <!nodoc>,
|
||||||
cdbs,
|
libacl1-dev,
|
||||||
libselinux1-dev [linux-any],
|
libattr1-dev,
|
||||||
libsemanage1-dev [linux-any],
|
libaudit-dev [linux-any],
|
||||||
gnome-doc-utils,
|
libbsd-dev,
|
||||||
bison,
|
libcrypt-dev,
|
||||||
libaudit-dev [linux-any]
|
libcmocka-dev <!nocheck>,
|
||||||
Standards-Version: 3.9.5
|
libltdl-dev,
|
||||||
Vcs-Browser: https://anonscm.debian.org/git/pkg-shadow/shadow.git
|
libpam0g-dev,
|
||||||
Vcs-Git: https://anonscm.debian.org/git/pkg-shadow/shadow.git
|
libselinux1-dev [linux-any],
|
||||||
|
libsemanage-dev [linux-any],
|
||||||
|
libsystemd-dev [linux-any],
|
||||||
|
libxml2-utils <!nodoc>,
|
||||||
|
pkgconf,
|
||||||
|
quilt,
|
||||||
|
systemd-dev [linux-any],
|
||||||
|
xsltproc <!nodoc>
|
||||||
|
Standards-Version: 4.7.0
|
||||||
|
Vcs-Git: https://salsa.debian.org/debian/shadow.git -b master
|
||||||
|
Vcs-Browser: https://salsa.debian.org/debian/shadow
|
||||||
Homepage: https://github.com/shadow-maint/shadow
|
Homepage: https://github.com/shadow-maint/shadow
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
Package: passwd
|
Package: passwd
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Multi-Arch: foreign
|
Multi-Arch: foreign
|
||||||
Depends: ${shlibs:Depends},
|
Depends:
|
||||||
${misc:Depends},
|
base-passwd (>= 3.6.4),
|
||||||
libpam-modules
|
libpam-modules,
|
||||||
Replaces: manpages-tr (<< 1.0.5),
|
login
|
||||||
manpages-zh (<< 1.5.1-1)
|
Recommends:
|
||||||
|
sensible-utils
|
||||||
Description: change and administer password and group data
|
Description: change and administer password and group data
|
||||||
This package includes passwd, chsh, chfn, and many other programs to
|
This package includes passwd, chsh, chfn, and many other programs to
|
||||||
maintain password and group data.
|
maintain password and group data.
|
||||||
@@ -41,37 +53,50 @@ Description: change and administer password and group data
|
|||||||
|
|
||||||
Package: login
|
Package: login
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Essential: yes
|
Multi-Arch: foreign
|
||||||
Pre-Depends: ${shlibs:Depends},
|
Protected: yes
|
||||||
${misc:Depends},
|
Depends:
|
||||||
libpam-runtime,
|
libpam-modules,
|
||||||
libpam-modules (>= 1.1.8-1)
|
libpam-runtime
|
||||||
Breaks: coreutils (<< 8.21~) [hurd-any],
|
Breaks:
|
||||||
passwd (<< 1:4.1.5.1-2~) [hurd-any],
|
hurd (<< 20140206~) [hurd-any]
|
||||||
hurd (<< 20140206~) [hurd-any]
|
Conflicts:
|
||||||
Conflicts: gnunet (<< 0.7.0c-2),
|
python-4suite (<< 0.99cvs20060405-1)
|
||||||
amavisd-new (<< 2.3.3-8),
|
Replaces:
|
||||||
python-4suite (<< 0.99cvs20060405-1),
|
hurd (<< 20140206~) [hurd-any]
|
||||||
backupninja (<< 0.9.3-5),
|
|
||||||
echolot (<< 2.1.8-4)
|
|
||||||
Replaces: manpages-de (<< 0.5-3),
|
|
||||||
manpages-tr (<< 1.0.5),
|
|
||||||
manpages-zh (<< 1.5.1-1),
|
|
||||||
passwd (<< 1:4.1.5.1-2~) [hurd-any],
|
|
||||||
coreutils (<< 8.21~) [hurd-any],
|
|
||||||
hurd (<< 20140206~) [hurd-any]
|
|
||||||
Description: system login tools
|
Description: system login tools
|
||||||
These tools are required to be able to login and use your system. The
|
This package provides support for console-based logins and for
|
||||||
login program invokes your user shell and enables command execution. The
|
changing effective user or group IDs, including:
|
||||||
newgrp program is used to change your effective group ID (useful for
|
* login, the program that invokes a user shell on a virtual terminal;
|
||||||
workgroup type situations). The su program allows changing your effective
|
* nologin, a dummy shell for disabled user accounts;
|
||||||
user ID (useful being able to execute commands as another user).
|
|
||||||
|
|
||||||
Package: uidmap
|
Package: uidmap
|
||||||
Architecture: any
|
Architecture: any
|
||||||
|
Multi-Arch: foreign
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Depends: ${shlibs:Depends},
|
|
||||||
${misc:Depends}
|
|
||||||
Description: programs to help use subuids
|
Description: programs to help use subuids
|
||||||
These programs help unprivileged users to create uid and gid mappings in
|
These programs help unprivileged users to create uid and gid mappings in
|
||||||
user namespaces.
|
user namespaces.
|
||||||
|
|
||||||
|
Package: libsubid4
|
||||||
|
Section: libs
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Multi-Arch: same
|
||||||
|
Description: subordinate id handling library -- shared library
|
||||||
|
The library provides an interface for querying, granding and ungranting
|
||||||
|
subordinate user and group ids.
|
||||||
|
|
||||||
|
Package: libsubid-dev
|
||||||
|
Section: libdevel
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Multi-Arch: same
|
||||||
|
Depends:
|
||||||
|
libsubid4 (= ${binary:Version})
|
||||||
|
Description: subordinate id handling library -- shared library
|
||||||
|
The library provides an interface for querying, granding and ungranting
|
||||||
|
subordinate user and group ids.
|
||||||
|
.
|
||||||
|
This package contains the C header files that are
|
||||||
|
needed for applications to use the libsubid4 library.
|
||||||
|
|||||||
260
debian/copyright
vendored
260
debian/copyright
vendored
@@ -1,103 +1,191 @@
|
|||||||
This is Debian GNU/Linux's prepackaged version of the shadow utilities.
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: Shadow
|
||||||
|
Source: https://github.com/shadow-maint/shadow
|
||||||
|
|
||||||
It was downloaded from: <ftp://ftp.pld.org.pl/software/shadow/>.
|
Files: *
|
||||||
As of May 2007, this site is no longer available.
|
Copyright: 1989-1994, Julianne Frances Haugh
|
||||||
|
2016-2022, Serge Hallyn <serge@hallyn.com>
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
Copyright:
|
Files: man/po/da.po
|
||||||
|
man/po/de.po
|
||||||
|
man/tr/man1/su.1
|
||||||
|
po/da.po
|
||||||
|
po/de.po
|
||||||
|
po/es.po
|
||||||
|
po/eu.po
|
||||||
|
po/fi.po
|
||||||
|
po/gl.po
|
||||||
|
po/it.po
|
||||||
|
po/kk.po
|
||||||
|
po/nb.po
|
||||||
|
po/nl.po
|
||||||
|
po/nn.po
|
||||||
|
po/pl.po
|
||||||
|
po/pt_BR.po
|
||||||
|
po/ru.po
|
||||||
|
po/sq.po
|
||||||
|
po/sv.po
|
||||||
|
po/vi.po
|
||||||
|
Copyright: 1999-2015, Free Software Foundation, Inc
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
Parts of this software are copyright 1988 - 1994, Julianne Frances Haugh.
|
Files: man/fi/man1/chfn.1
|
||||||
All rights reserved.
|
man/id/man1/*
|
||||||
|
man/ko/man1/chfn.1
|
||||||
|
man/ko/man1/chsh.1
|
||||||
|
man/tr/man1/chfn.1
|
||||||
|
man/zh_TW/man1/chfn.1
|
||||||
|
man/zh_TW/man1/chsh.1
|
||||||
|
Copyright: 1994, salvatore valente <svalente@athena.mit.edu>
|
||||||
|
License: GPL-1
|
||||||
|
|
||||||
Parts of this software are copyright 1997 - 2001, Marek Michałkiewicz.
|
Files: man/pt_BR/man8/*
|
||||||
All rights reserved.
|
man/zh_TW/man8/usermod.8
|
||||||
|
Copyright: 1991-1994, Julianne Frances Haugh
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
Parts of this software are copyright 2001 - 2004, Andrzej Krzysztofowicz
|
Files: man/hu/man1/gpasswd.1
|
||||||
All rights reserved.
|
man/ja/man1/gpasswd.1
|
||||||
|
man/pt_BR/man1/*
|
||||||
|
Copyright: 1996, Rafal Maszkowski <rzm@pdi.net>
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
Parts of this software are copyright 2000 - 2007, Tomasz Kłoczko.
|
Files: man/id/man1/login.1
|
||||||
All rights reserved.
|
man/ko/man1/login.1
|
||||||
|
man/tr/man1/login.1
|
||||||
|
Copyright: 1993, Rickard E. Faith <faith@cs.unc.edu>
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Files: man/ja/man1/groups.1
|
||||||
modification, are permitted provided that the following conditions
|
man/ja/man5/limits.5
|
||||||
are met:
|
man/ja/man8/vipw.8
|
||||||
1. Redistributions of source code must retain the above copyright
|
Copyright: 2001, Maki KURODA
|
||||||
notice, this list of conditions and the following disclaimer.
|
License: BSD-3-clause
|
||||||
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. Neither the name of Julianne F. Haugh 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 JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
|
Files: man/pt_BR/man5/passwd.5
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
man/tr/man5/passwd.5
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
Copyright: 1993, Michael Haardt <michael@moria.de>
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
|
License: GPL-2+
|
||||||
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.
|
|
||||||
|
|
||||||
This source code is currently archived on ftp.uu.net in the
|
Files: man/ja/man1/chage.1
|
||||||
comp.sources.misc portion of the USENET archives. You may also contact
|
man/ja/man5/suauth.5
|
||||||
the author, Julianne F. Haugh, at jockgrrl@ix.netcom.com if you have
|
Copyright: 1997, Kazuyoshi Furutaka
|
||||||
any questions regarding this package.
|
License: BSD-3-clause
|
||||||
|
|
||||||
THIS SOFTWARE IS BEING DISTRIBUTED AS-IS. THE AUTHORS DISCLAIM ALL
|
Files: man/po/fr.po
|
||||||
LIABILITY FOR ANY CONSEQUENCES OF USE. THE USER IS SOLELY RESPONSIBLE
|
po/fr.po
|
||||||
FOR THE MAINTENANCE OF THIS SOFTWARE PACKAGE. THE AUTHORS ARE UNDER NO
|
Copyright: 2011-2013, Debian French l10n team <debian-l10n-french@lists.debian.org>
|
||||||
OBLIGATION TO PROVIDE MODIFICATIONS OR IMPROVEMENTS. THE USER IS
|
License: BSD-3-clause
|
||||||
ENCOURAGED TO TAKE ANY AND ALL STEPS NEEDED TO PROTECT AGAINST ACCIDENTAL
|
|
||||||
LOSS OF INFORMATION OR MACHINE RESOURCES.
|
|
||||||
|
|
||||||
Special thanks are due to Chip Rosenthal for his fine testing efforts;
|
Files: man/zh_TW/man5/*
|
||||||
to Steve Simmons for his work in porting this code to BSD; and to Bill
|
Copyright: 1993, Michael Haardt <michael@moria.de>
|
||||||
Kennedy for his contributions of LaserJet printer time and energies.
|
1993, Scorpio, www.linuxforum.net
|
||||||
Also, thanks for Dennis L. Mumaugh for the initial shadow password
|
License: GPL-2+
|
||||||
information and to Tony Walton (olapw@olgb1.oliv.co.uk) for the System
|
|
||||||
V Release 4 changes. Effort in porting to SunOS has been contributed
|
|
||||||
by Dr. Michael Newberry (miken@cs.adfa.oz.au) and Micheal J. Miller, Jr.
|
|
||||||
(mke@kaberd.rain.com). Effort in porting to AT&T UNIX System V Release
|
|
||||||
4 has been provided by Andrew Herbert (andrew@werple.pub.uu.oz.au).
|
|
||||||
Special thanks to Marek Michalkiewicz (marekm@i17linuxb.ists.pwr.wroc.pl)
|
|
||||||
for taking over the Linux port of this software.
|
|
||||||
|
|
||||||
Source files: login_access.c, login_desrpc.c, login_krb.c are derived
|
Files: man/hu/man5/*
|
||||||
from the logdaemon-5.0 package, which is under the following license:
|
Copyright: 1993, Michael Haardt <u31b3hs@pool.informatik.rwth-aachen.de>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
/************************************************************************
|
Files: contrib/adduser2.sh
|
||||||
* Copyright 1995 by Wietse Venema. All rights reserved. Individual files
|
Copyright: 1996, Petri Mattila, Prihateam Networks <petri@prihateam.fi>
|
||||||
* may be covered by other copyrights (as noted in the file itself.)
|
License: GPL-2+
|
||||||
*
|
|
||||||
* This material was originally written and compiled by Wietse Venema at
|
|
||||||
* Eindhoven University of Technology, The Netherlands, in 1990, 1991,
|
|
||||||
* 1992, 1993, 1994 and 1995.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms are permitted
|
|
||||||
* provided that this entire copyright notice is duplicated in all such
|
|
||||||
* copies.
|
|
||||||
*
|
|
||||||
* This software is provided "as is" and without any expressed or implied
|
|
||||||
* warranties, including, without limitation, the implied warranties of
|
|
||||||
* merchantibility and fitness for any particular purpose.
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
Some parts substantially in src/su.c derived from an ancestor of
|
Files: lib/subordinateio.h
|
||||||
su for GNU. Run a shell with substitute user and group IDs.
|
Copyright: 2012, Eric W. Biederman
|
||||||
Copyright (C) 1992-2003 Free Software Foundation, Inc.
|
License: BSD-3-clause
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
Files: man/hu/man1/su.1
|
||||||
it under the terms of the GNU General Public License as published by
|
Copyright: 1999, Ragnar Hojland Espinosa <ragnar@macula.net>
|
||||||
the Free Software Foundation; either version 2, or (at your option)
|
License: BSD-3-clause
|
||||||
any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
Files: man/ja/man1/id.1
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
Copyright: 2000, ISHIKAWA Keisuke
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
License: BSD-3-clause
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
On Debian GNU/Linux systems, the complete text of the GNU General Public
|
Files: man/ja/man8/pwconv.8
|
||||||
License can be found in '/usr/share/common-licenses/GPL-2'
|
Copyright: 2001, Yuichi SATO
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
Files: src/login_nopam.c
|
||||||
|
Copyright: 1995, Wietse Venema
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
Files: src/su.c
|
||||||
|
Copyright: 1989 - 1994, Julianne Frances Haugh
|
||||||
|
1996 - 2000, Marek Michałkiewicz
|
||||||
|
2000 - 2006, Tomasz Kłoczko
|
||||||
|
2007 - 2013, Nicolas François
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: src/vipw.c
|
||||||
|
Copyright: 1997, Guy Maor <maor@ece.utexas.edu>
|
||||||
|
1999 - 2000, Marek Michałkiewicz
|
||||||
|
2002 - 2006, Tomasz Kłoczko
|
||||||
|
2007 - 2013, Nicolas François
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: man/ko/man5/*
|
||||||
|
Copyright: 2000, ASPLINUX <man@asp-linux.co.kr>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 1999-2001, Ben Collins <bcollins@debian.org>
|
||||||
|
2001-2004 Karl Ramm <kcr@debian.org>
|
||||||
|
2004-2014 Christian Perrier <bubulle@debian.org>
|
||||||
|
2006-2012 Nicolas Francois (Nekral) <nicolas.francois@centraliens.net>
|
||||||
|
2017-2022 Balint Reczey <balint@balintreczey.hu>
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
Files: debian/patches/cppw-Add-tool.patch
|
||||||
|
Copyright: 1997, Guy Maor <maor@ece.utexas.edu>
|
||||||
|
1999, Stephen Frost <sfrost@snowman.net>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: debian/passwd.expire.cron
|
||||||
|
Copyright: 1999, Ben Collins <bcollins@debian.org>
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
License: BSD-3-clause
|
||||||
|
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. 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.
|
||||||
|
|
||||||
|
License: GPL-1
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 1
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of version 1 of the GNU General
|
||||||
|
Public License can be found in '/usr/share/common-licenses/GPL-1'.
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 dated June, 1991, or (at
|
||||||
|
your option) any later version.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of version 2 of the GNU General
|
||||||
|
Public License can be found in '/usr/share/common-licenses/GPL-2'.
|
||||||
|
|||||||
37
debian/debputy.manifest
vendored
Normal file
37
debian/debputy.manifest
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
manifest-version: '0.1'
|
||||||
|
packages:
|
||||||
|
passwd:
|
||||||
|
transformations:
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/chfn
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/chsh
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/gpasswd
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/passwd
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/chage
|
||||||
|
group: "shadow"
|
||||||
|
mode: "u=rwx,go=rxs"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/expiry
|
||||||
|
group: "shadow"
|
||||||
|
mode: "u=rwx,go=rxs"
|
||||||
|
login:
|
||||||
|
transformations:
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/newgrp
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
uidmap:
|
||||||
|
transformations:
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/newgidmap
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
|
- path-metadata:
|
||||||
|
path: usr/bin/newuidmap
|
||||||
|
mode: "u=rwxs,go=rx"
|
||||||
37
debian/default/useradd
vendored
Normal file
37
debian/default/useradd
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Default values for useradd(8)
|
||||||
|
#
|
||||||
|
# The SHELL variable specifies the default login shell on your
|
||||||
|
# system.
|
||||||
|
# Similar to DSHELL in adduser. However, we use "sh" here because
|
||||||
|
# useradd is a low level utility and should be as general
|
||||||
|
# as possible
|
||||||
|
SHELL=/bin/sh
|
||||||
|
#
|
||||||
|
# The default group for users
|
||||||
|
# 100=users on Debian systems
|
||||||
|
# Same as USERS_GID in adduser
|
||||||
|
# This argument is used when the -n flag is specified.
|
||||||
|
# The default behavior (when -n and -g are not specified) is to create a
|
||||||
|
# primary user group with the same name as the user being added to the
|
||||||
|
# system.
|
||||||
|
# GROUP=100
|
||||||
|
#
|
||||||
|
# The default home directory. Same as DHOME for adduser
|
||||||
|
# HOME=/home
|
||||||
|
#
|
||||||
|
# The number of days after a password expires until the account
|
||||||
|
# is permanently disabled
|
||||||
|
# INACTIVE=-1
|
||||||
|
#
|
||||||
|
# The default expire date
|
||||||
|
# EXPIRE=
|
||||||
|
#
|
||||||
|
# The SKEL variable specifies the directory containing "skeletal" user
|
||||||
|
# files; in other words, files such as a sample .profile that will be
|
||||||
|
# copied to the new user's home directory when it is created.
|
||||||
|
# SKEL=/etc/skel
|
||||||
|
#
|
||||||
|
# Defines whether the mail spool should be created while
|
||||||
|
# creating the account
|
||||||
|
# CREATE_MAIL_SPOOL=no
|
||||||
|
|
||||||
7
debian/gitlab-ci.yml
vendored
Normal file
7
debian/gitlab-ci.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
variables:
|
||||||
|
RELEASE: 'unstable'
|
||||||
|
# workaround for https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/259
|
||||||
|
SALSA_CI_REPROTEST_ARGS: --vary=domain_host.use_sudo=1
|
||||||
|
include:
|
||||||
|
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
|
||||||
|
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
|
||||||
3
debian/libsubid-dev.install
vendored
Normal file
3
debian/libsubid-dev.install
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
usr/include/*
|
||||||
|
usr/lib/*/libsubid.a
|
||||||
|
usr/lib/*/libsubid.so
|
||||||
1
debian/libsubid4.install
vendored
Normal file
1
debian/libsubid4.install
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
usr/lib/*/libsubid.so.*
|
||||||
10
debian/libsubid4.symbols
vendored
Normal file
10
debian/libsubid4.symbols
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
libsubid.so.4 libsubid4 #MINVER#
|
||||||
|
subid_get_gid_owners@Base 1:4.11.1
|
||||||
|
subid_get_gid_ranges@Base 1:4.11.1
|
||||||
|
subid_get_uid_owners@Base 1:4.11.1
|
||||||
|
subid_get_uid_ranges@Base 1:4.11.1
|
||||||
|
subid_grant_gid_range@Base 1:4.11.1
|
||||||
|
subid_grant_uid_range@Base 1:4.11.1
|
||||||
|
subid_init@Base 1:4.11.1
|
||||||
|
subid_ungrant_gid_range@Base 1:4.11.1
|
||||||
|
subid_ungrant_uid_range@Base 1:4.11.1
|
||||||
90
debian/login.defs
vendored
90
debian/login.defs
vendored
@@ -35,12 +35,6 @@
|
|||||||
MAIL_DIR /var/mail
|
MAIL_DIR /var/mail
|
||||||
#MAIL_FILE .mail
|
#MAIL_FILE .mail
|
||||||
|
|
||||||
#
|
|
||||||
# Enable logging and display of /var/log/faillog login failure info.
|
|
||||||
# This option conflicts with the pam_tally PAM module.
|
|
||||||
#
|
|
||||||
FAILLOG_ENAB yes
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Enable display of unknown usernames when login failures are recorded.
|
# Enable display of unknown usernames when login failures are recorded.
|
||||||
#
|
#
|
||||||
@@ -72,12 +66,6 @@ SYSLOG_SG_ENAB yes
|
|||||||
#
|
#
|
||||||
#TTYTYPE_FILE /etc/ttytype
|
#TTYTYPE_FILE /etc/ttytype
|
||||||
|
|
||||||
#
|
|
||||||
# If defined, login failures will be logged here in a utmp format
|
|
||||||
# last, when invoked as lastb, will read /var/log/btmp, so...
|
|
||||||
#
|
|
||||||
FTMP_FILE /var/log/btmp
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# If defined, the command name to display when running "su -". For
|
# If defined, the command name to display when running "su -". For
|
||||||
# example, if this is defined as "su" then a "ps" will display the
|
# example, if this is defined as "su" then a "ps" will display the
|
||||||
@@ -128,27 +116,15 @@ TTYPERM 0600
|
|||||||
#
|
#
|
||||||
# ERASECHAR Terminal ERASE character ('\010' = backspace).
|
# ERASECHAR Terminal ERASE character ('\010' = backspace).
|
||||||
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
|
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
|
||||||
# UMASK Default "umask" value.
|
|
||||||
#
|
#
|
||||||
# The ERASECHAR and KILLCHAR are used only on System V machines.
|
# The ERASECHAR and KILLCHAR are used only on System V machines.
|
||||||
#
|
#
|
||||||
# UMASK is the default umask value for pam_umask and is used by
|
|
||||||
# useradd and newusers to set the mode of the new home directories.
|
|
||||||
# 022 is the "historical" value in Debian for UMASK
|
|
||||||
# 027, or even 077, could be considered better for privacy
|
|
||||||
# There is no One True Answer here : each sysadmin must make up his/her
|
|
||||||
# mind.
|
|
||||||
#
|
|
||||||
# If USERGROUPS_ENAB is set to "yes", that will modify this UMASK default value
|
|
||||||
# for private user groups, i. e. the uid is the same as gid, and username is
|
|
||||||
# the same as the primary group name: for these, the user permissions will be
|
|
||||||
# used as group permissions, e. g. 022 will become 002.
|
|
||||||
#
|
|
||||||
# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
|
|
||||||
#
|
|
||||||
ERASECHAR 0177
|
ERASECHAR 0177
|
||||||
KILLCHAR 025
|
KILLCHAR 025
|
||||||
UMASK 022
|
|
||||||
|
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
|
||||||
|
# home directories.
|
||||||
|
HOME_MODE 0700
|
||||||
|
|
||||||
#
|
#
|
||||||
# Password aging controls:
|
# Password aging controls:
|
||||||
@@ -169,6 +145,10 @@ UID_MAX 60000
|
|||||||
# System accounts
|
# System accounts
|
||||||
#SYS_UID_MIN 100
|
#SYS_UID_MIN 100
|
||||||
#SYS_UID_MAX 999
|
#SYS_UID_MAX 999
|
||||||
|
# Extra per user uids
|
||||||
|
SUB_UID_MIN 100000
|
||||||
|
SUB_UID_MAX 600100000
|
||||||
|
SUB_UID_COUNT 65536
|
||||||
|
|
||||||
#
|
#
|
||||||
# Min/max values for automatic gid selection in groupadd
|
# Min/max values for automatic gid selection in groupadd
|
||||||
@@ -178,6 +158,10 @@ GID_MAX 60000
|
|||||||
# System accounts
|
# System accounts
|
||||||
#SYS_GID_MIN 100
|
#SYS_GID_MIN 100
|
||||||
#SYS_GID_MAX 999
|
#SYS_GID_MAX 999
|
||||||
|
# Extra per user group ids
|
||||||
|
SUB_GID_MIN 100000
|
||||||
|
SUB_GID_MAX 600100000
|
||||||
|
SUB_GID_COUNT 65536
|
||||||
|
|
||||||
#
|
#
|
||||||
# Max number of login retries if password is bad. This will most likely be
|
# Max number of login retries if password is bad. This will most likely be
|
||||||
@@ -202,7 +186,7 @@ CHFN_RESTRICT rwh
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Should login be allowed if we can't cd to the home directory?
|
# Should login be allowed if we can't cd to the home directory?
|
||||||
# Default in no.
|
# Default is no.
|
||||||
#
|
#
|
||||||
DEFAULT_HOME yes
|
DEFAULT_HOME yes
|
||||||
|
|
||||||
@@ -255,43 +239,43 @@ USERGROUPS_ENAB yes
|
|||||||
#CONSOLE_GROUPS floppy:audio:cdrom
|
#CONSOLE_GROUPS floppy:audio:cdrom
|
||||||
|
|
||||||
#
|
#
|
||||||
# If set to "yes", new passwords will be encrypted using the MD5-based
|
# If set to MD5, MD5-based algorithm will be used for encrypting password
|
||||||
# algorithm compatible with the one used by recent releases of FreeBSD.
|
|
||||||
# It supports passwords of unlimited length and longer salt strings.
|
|
||||||
# Set to "no" if you need to copy encrypted passwords to other systems
|
|
||||||
# which don't understand the new algorithm. Default is "no".
|
|
||||||
#
|
|
||||||
# This variable is deprecated. You should use ENCRYPT_METHOD.
|
|
||||||
#
|
|
||||||
#MD5_CRYPT_ENAB no
|
|
||||||
|
|
||||||
#
|
|
||||||
# If set to MD5 , MD5-based algorithm will be used for encrypting password
|
|
||||||
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
|
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
|
||||||
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
|
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
|
||||||
|
# If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password
|
||||||
|
# If set to YESCRYPT, YESCRYPT-based algorithm will be used for encrypting password
|
||||||
# If set to DES, DES-based algorithm will be used for encrypting password (default)
|
# If set to DES, DES-based algorithm will be used for encrypting password (default)
|
||||||
|
# MD5 and DES should not be used for new hashes, see crypt(5) for recommendations.
|
||||||
# Overrides the MD5_CRYPT_ENAB option
|
# Overrides the MD5_CRYPT_ENAB option
|
||||||
#
|
#
|
||||||
# Note: It is recommended to use a value consistent with
|
# Note: It is recommended to use a value consistent with
|
||||||
# the PAM modules configuration.
|
# the PAM modules configuration.
|
||||||
#
|
#
|
||||||
ENCRYPT_METHOD SHA512
|
ENCRYPT_METHOD YESCRYPT
|
||||||
|
|
||||||
#
|
#
|
||||||
# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512.
|
# The pwck(8) utility emits a warning for any system account with a home
|
||||||
|
# directory that does not exist. Some system accounts intentionally do
|
||||||
|
# not have a home directory. Such accounts may have this string as
|
||||||
|
# their home directory in /etc/passwd to avoid a spurious warning.
|
||||||
#
|
#
|
||||||
# Define the number of SHA rounds.
|
NONEXISTENT /nonexistent
|
||||||
# With a lot of rounds, it is more difficult to brute forcing the password.
|
|
||||||
# But note also that it more CPU resources will be needed to authenticate
|
|
||||||
# users.
|
|
||||||
#
|
#
|
||||||
# If not specified, the libc will choose the default number of rounds (5000).
|
# Allow newuidmap and newgidmap when running under an alternative
|
||||||
# The values must be inside the 1000-999999999 range.
|
# primary group.
|
||||||
# If only one of the MIN or MAX values is set, then this value will be used.
|
|
||||||
# If MIN > MAX, the highest value will be used.
|
|
||||||
#
|
#
|
||||||
# SHA_CRYPT_MIN_ROUNDS 5000
|
#GRANT_AUX_GROUP_SUBIDS yes
|
||||||
# SHA_CRYPT_MAX_ROUNDS 5000
|
|
||||||
|
#
|
||||||
|
# Select the HMAC cryptography algorithm.
|
||||||
|
# Used in pam_timestamp module to calculate the keyed-hash message
|
||||||
|
# authentication code.
|
||||||
|
#
|
||||||
|
# Note: It is recommended to check hmac(3) to see the possible algorithms
|
||||||
|
# that are available in your system.
|
||||||
|
#
|
||||||
|
#HMAC_CRYPTO_ALGO SHA512
|
||||||
|
|
||||||
################# OBSOLETED BY PAM ##############
|
################# OBSOLETED BY PAM ##############
|
||||||
# #
|
# #
|
||||||
|
|||||||
28
debian/login.install
vendored
28
debian/login.install
vendored
@@ -1,25 +1,5 @@
|
|||||||
usr/share/locale/*/LC_MESSAGES/shadow.mo
|
bin/login usr/bin
|
||||||
usr/share/man/*/man1/login.1
|
debian/login.defs etc
|
||||||
usr/share/man/*/man1/newgrp.1
|
sbin/nologin usr/sbin
|
||||||
usr/share/man/*/man1/sg.1
|
|
||||||
usr/share/man/*/man1/su.1
|
|
||||||
usr/share/man/*/man5/faillog.5
|
|
||||||
usr/share/man/*/man5/login.defs.5
|
|
||||||
usr/share/man/*/man8/faillog.8
|
|
||||||
usr/share/man/*/man8/lastlog.8
|
|
||||||
usr/share/man/*/man8/nologin.8
|
|
||||||
usr/share/man/man1/login.1
|
|
||||||
usr/share/man/man1/newgrp.1
|
|
||||||
usr/share/man/man1/sg.1
|
|
||||||
usr/share/man/man1/su.1
|
|
||||||
usr/share/man/man5/faillog.5
|
|
||||||
usr/share/man/man5/login.defs.5
|
|
||||||
usr/share/man/man8/faillog.8
|
|
||||||
usr/share/man/man8/lastlog.8
|
|
||||||
usr/share/man/man8/nologin.8
|
|
||||||
usr/sbin/nologin
|
|
||||||
usr/bin/faillog
|
|
||||||
usr/bin/lastlog
|
|
||||||
usr/bin/newgrp
|
usr/bin/newgrp
|
||||||
bin/login
|
usr/share/locale/*/LC_MESSAGES/shadow.mo
|
||||||
bin/su
|
|
||||||
|
|||||||
4
debian/login.lintian-overrides
vendored
4
debian/login.lintian-overrides
vendored
@@ -1,3 +1 @@
|
|||||||
login: setuid-binary usr/bin/newgrp 4755 root/root
|
login: elevated-privileges 4755 root/root [usr/bin/newgrp]
|
||||||
login: setuid-binary bin/su 4755 root/root
|
|
||||||
login: possible-missing-colon-in-closes l667:closes bug 336321
|
|
||||||
|
|||||||
1
debian/login.maintscript
vendored
Normal file
1
debian/login.maintscript
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
rm_conffile /etc/securetty 1:4.7-1~
|
||||||
10
debian/login.manpages
vendored
Normal file
10
debian/login.manpages
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
usr/share/man/*/man1/login.1
|
||||||
|
usr/share/man/*/man1/newgrp.1
|
||||||
|
usr/share/man/*/man1/sg.1
|
||||||
|
usr/share/man/*/man5/login.defs.5
|
||||||
|
usr/share/man/*/man8/nologin.8
|
||||||
|
usr/share/man/man1/login.1
|
||||||
|
usr/share/man/man1/newgrp.1
|
||||||
|
usr/share/man/man1/sg.1
|
||||||
|
usr/share/man/man5/login.defs.5
|
||||||
|
usr/share/man/man8/nologin.8
|
||||||
42
debian/login.pam
vendored
42
debian/login.pam
vendored
@@ -12,25 +12,6 @@ auth optional pam_faildelay.so delay=3000000
|
|||||||
# ISSUE_FILE option from login.defs). Uncomment for use
|
# ISSUE_FILE option from login.defs). Uncomment for use
|
||||||
# auth required pam_issue.so issue=/etc/issue
|
# auth required pam_issue.so issue=/etc/issue
|
||||||
|
|
||||||
# Disallows root logins except on tty's listed in /etc/securetty
|
|
||||||
# (Replaces the `CONSOLE' setting from login.defs)
|
|
||||||
#
|
|
||||||
# With the default control of this module:
|
|
||||||
# [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die]
|
|
||||||
# root will not be prompted for a password on insecure lines.
|
|
||||||
# if an invalid username is entered, a password is prompted (but login
|
|
||||||
# will eventually be rejected)
|
|
||||||
#
|
|
||||||
# You can change it to a "requisite" module if you think root may mis-type
|
|
||||||
# her login and should not be prompted for a password in that case. But
|
|
||||||
# this will leave the system as vulnerable to user enumeration attacks.
|
|
||||||
#
|
|
||||||
# You can change it to a "required" module if you think it permits to
|
|
||||||
# guess valid user names of your system (invalid user names are considered
|
|
||||||
# as possibly being root on insecure lines), but root passwords may be
|
|
||||||
# communicated over insecure lines.
|
|
||||||
auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
|
|
||||||
|
|
||||||
# Disallows other than root logins when /etc/nologin exists
|
# Disallows other than root logins when /etc/nologin exists
|
||||||
# (Replaces the `NOLOGINS_FILE' option from login.defs)
|
# (Replaces the `NOLOGINS_FILE' option from login.defs)
|
||||||
auth requisite pam_nologin.so
|
auth requisite pam_nologin.so
|
||||||
@@ -45,9 +26,19 @@ session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux
|
|||||||
# Sets the loginuid process attribute
|
# Sets the loginuid process attribute
|
||||||
session required pam_loginuid.so
|
session required pam_loginuid.so
|
||||||
|
|
||||||
|
# Prints the message of the day upon successful login.
|
||||||
|
# (Replaces the `MOTD_FILE' option in login.defs)
|
||||||
|
# This includes a dynamically generated part from /run/motd.dynamic
|
||||||
|
# and a static (admin-editable) part from /etc/motd.
|
||||||
|
session optional pam_motd.so motd=/run/motd.dynamic
|
||||||
|
session optional pam_motd.so noupdate
|
||||||
|
|
||||||
# SELinux needs to intervene at login time to ensure that the process
|
# SELinux needs to intervene at login time to ensure that the process
|
||||||
# starts in the proper default security context. Only sessions which are
|
# starts in the proper default security context. Only sessions which are
|
||||||
# intended to run in the user's context should be run after this.
|
# intended to run in the user's context should be run after this.
|
||||||
|
# pam_selinux.so changes the SELinux context of the used TTY and configures
|
||||||
|
# SELinux in order to transition to the user context with the next execve()
|
||||||
|
# call.
|
||||||
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
|
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
|
||||||
# When the module is present, "required" would be sufficient (When SELinux
|
# When the module is present, "required" would be sufficient (When SELinux
|
||||||
# is disabled, this returns success.)
|
# is disabled, this returns success.)
|
||||||
@@ -58,7 +49,7 @@ session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux
|
|||||||
#
|
#
|
||||||
# parsing /etc/environment needs "readenv=1"
|
# parsing /etc/environment needs "readenv=1"
|
||||||
session required pam_env.so readenv=1
|
session required pam_env.so readenv=1
|
||||||
# locale variables are also kept into /etc/default/locale in etch
|
# locale variables can also be set in /etc/default/locale
|
||||||
# reading this file *in addition to /etc/environment* does not hurt
|
# reading this file *in addition to /etc/environment* does not hurt
|
||||||
session required pam_env.so readenv=1 envfile=/etc/default/locale
|
session required pam_env.so readenv=1 envfile=/etc/default/locale
|
||||||
|
|
||||||
@@ -86,17 +77,6 @@ auth optional pam_group.so
|
|||||||
# (Replaces the use of /etc/limits in old login)
|
# (Replaces the use of /etc/limits in old login)
|
||||||
session required pam_limits.so
|
session required pam_limits.so
|
||||||
|
|
||||||
# Prints the last login info upon successful login
|
|
||||||
# (Replaces the `LASTLOG_ENAB' option from login.defs)
|
|
||||||
session optional pam_lastlog.so
|
|
||||||
|
|
||||||
# Prints the message of the day upon successful login.
|
|
||||||
# (Replaces the `MOTD_FILE' option in login.defs)
|
|
||||||
# This includes a dynamically generated part from /run/motd.dynamic
|
|
||||||
# and a static (admin-editable) part from /etc/motd.
|
|
||||||
session optional pam_motd.so motd=/run/motd.dynamic
|
|
||||||
session optional pam_motd.so noupdate
|
|
||||||
|
|
||||||
# Prints the status of the user's mailbox upon successful login
|
# Prints the status of the user's mailbox upon successful login
|
||||||
# (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
|
# (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
|
||||||
#
|
#
|
||||||
|
|||||||
56
debian/login.postinst
vendored
56
debian/login.postinst
vendored
@@ -1,56 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if test "$1" = configure
|
|
||||||
then
|
|
||||||
if test -f /etc/init.d/logoutd
|
|
||||||
then
|
|
||||||
if test "$(md5sum /etc/init.d/logoutd)" = "9080f92783dd53f6f2108e698c06bd53 /etc/init.d/logoutd"
|
|
||||||
then
|
|
||||||
echo "removing logoutd cruft"
|
|
||||||
rm /etc/init.d/logoutd
|
|
||||||
update-rc.d logoutd remove
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
rm -f /etc/pam.d/login.pre-upgrade 2>/dev/null
|
|
||||||
|
|
||||||
if [ "$1" = "configure" ]; then
|
|
||||||
# Install faillog during initial installs only
|
|
||||||
if [ "$2" = "" ] && [ ! -f /var/log/faillog ] ; then
|
|
||||||
touch /var/log/faillog
|
|
||||||
chown root:root /var/log/faillog
|
|
||||||
chmod 644 /var/log/faillog
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create subuid/subgid if missing
|
|
||||||
if [ ! -e /etc/subuid ]; then
|
|
||||||
touch /etc/subuid
|
|
||||||
chown root:root /etc/subuid
|
|
||||||
chmod 644 /etc/subuid
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e /etc/subgid ]; then
|
|
||||||
touch /etc/subgid
|
|
||||||
chown root:root /etc/subgid
|
|
||||||
chmod 644 /etc/subgid
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create subuid/subgid if missing
|
|
||||||
if [ ! -e /etc/subuid ]; then
|
|
||||||
touch /etc/subuid
|
|
||||||
chown root:root /etc/subuid
|
|
||||||
chmod 644 /etc/subuid
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e /etc/subgid ]; then
|
|
||||||
touch /etc/subgid
|
|
||||||
chown root:root /etc/subgid
|
|
||||||
chmod 644 /etc/subgid
|
|
||||||
fi
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
52
debian/login.preinst
vendored
52
debian/login.preinst
vendored
@@ -1,52 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# see: dh_installdeb(1)
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# summary of how this script can be called:
|
|
||||||
# * <new-preinst> `install'
|
|
||||||
# * <new-preinst> `install' <old-version>
|
|
||||||
# * <new-preinst> `upgrade' <old-version>
|
|
||||||
# * <old-preinst> `abort-upgrade' <new-version>
|
|
||||||
#
|
|
||||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
|
||||||
# the debian-policy package
|
|
||||||
|
|
||||||
remove_md5() {
|
|
||||||
if md5sum $1 2>/dev/null |grep -q $2; then
|
|
||||||
cp $1 $1.pre-upgrade
|
|
||||||
sed -e '/^[^#][ \t]*assword[ \t]*required[ \t]*pam_unix.so/ s/ md5$//' $1 >$1.post-upgrade \
|
|
||||||
&& mv $1.post-upgrade $1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
install|upgrade)
|
|
||||||
if [ "x$2" != "x" ] ; then
|
|
||||||
if dpkg --compare-versions $2 lt 1:4.0.3 ; then
|
|
||||||
remove_md5 /etc/pam.d/login 5e61c3334e25625fe1fa4d79cf9123ff
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
;;
|
|
||||||
|
|
||||||
abort-upgrade)
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "preinst called with unknown argument \`$1'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# dh_installdeb will replace this with shell code automatically
|
|
||||||
# generated by other debhelper scripts.
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
||||||
61
debian/login.su.pam
vendored
61
debian/login.su.pam
vendored
@@ -1,61 +0,0 @@
|
|||||||
#
|
|
||||||
# The PAM configuration file for the Shadow `su' service
|
|
||||||
#
|
|
||||||
|
|
||||||
# This allows root to su without passwords (normal operation)
|
|
||||||
auth sufficient pam_rootok.so
|
|
||||||
|
|
||||||
# Uncomment this to force users to be a member of group root
|
|
||||||
# before they can use `su'. You can also add "group=foo"
|
|
||||||
# to the end of this line if you want to use a group other
|
|
||||||
# than the default "root" (but this may have side effect of
|
|
||||||
# denying "root" user, unless she's a member of "foo" or explicitly
|
|
||||||
# permitted earlier by e.g. "sufficient pam_rootok.so").
|
|
||||||
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
|
|
||||||
# auth required pam_wheel.so
|
|
||||||
|
|
||||||
# Uncomment this if you want wheel members to be able to
|
|
||||||
# su without a password.
|
|
||||||
# auth sufficient pam_wheel.so trust
|
|
||||||
|
|
||||||
# Uncomment this if you want members of a specific group to not
|
|
||||||
# be allowed to use su at all.
|
|
||||||
# auth required pam_wheel.so deny group=nosu
|
|
||||||
|
|
||||||
# Uncomment and edit /etc/security/time.conf if you need to set
|
|
||||||
# time restrainst on su usage.
|
|
||||||
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
|
|
||||||
# as well as /etc/porttime)
|
|
||||||
# account requisite pam_time.so
|
|
||||||
|
|
||||||
# This module parses environment configuration file(s)
|
|
||||||
# and also allows you to use an extended config
|
|
||||||
# file /etc/security/pam_env.conf.
|
|
||||||
#
|
|
||||||
# parsing /etc/environment needs "readenv=1"
|
|
||||||
session required pam_env.so readenv=1
|
|
||||||
# locale variables are also kept into /etc/default/locale in etch
|
|
||||||
# reading this file *in addition to /etc/environment* does not hurt
|
|
||||||
session required pam_env.so readenv=1 envfile=/etc/default/locale
|
|
||||||
|
|
||||||
# Defines the MAIL environment variable
|
|
||||||
# However, userdel also needs MAIL_DIR and MAIL_FILE variables
|
|
||||||
# in /etc/login.defs to make sure that removing a user
|
|
||||||
# also removes the user's mail spool file.
|
|
||||||
# See comments in /etc/login.defs
|
|
||||||
#
|
|
||||||
# "nopen" stands to avoid reporting new mail when su'ing to another user
|
|
||||||
session optional pam_mail.so nopen
|
|
||||||
|
|
||||||
# Sets up user limits according to /etc/security/limits.conf
|
|
||||||
# (Replaces the use of /etc/limits in old login)
|
|
||||||
session required pam_limits.so
|
|
||||||
|
|
||||||
# The standard Unix authentication modules, used with
|
|
||||||
# NIS (man nsswitch) as well as normal /etc/passwd and
|
|
||||||
# /etc/shadow entries.
|
|
||||||
@include common-auth
|
|
||||||
@include common-account
|
|
||||||
@include common-session
|
|
||||||
|
|
||||||
|
|
||||||
40
debian/not-installed
vendored
Normal file
40
debian/not-installed
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
bin/groups
|
||||||
|
etc/login.defs
|
||||||
|
etc/pam.d/chfn
|
||||||
|
etc/pam.d/chage
|
||||||
|
etc/pam.d/chpasswd
|
||||||
|
etc/pam.d/chsh
|
||||||
|
etc/pam.d/groupadd
|
||||||
|
etc/pam.d/groupdel
|
||||||
|
etc/pam.d/groupmems
|
||||||
|
etc/pam.d/groupmod
|
||||||
|
etc/pam.d/login
|
||||||
|
etc/pam.d/newusers
|
||||||
|
etc/pam.d/passwd
|
||||||
|
etc/pam.d/useradd
|
||||||
|
etc/pam.d/userdel
|
||||||
|
etc/pam.d/usermod
|
||||||
|
usr/bin/faillog
|
||||||
|
usr/bin/sg
|
||||||
|
usr/lib/*/libsubid.la
|
||||||
|
usr/sbin/logoutd
|
||||||
|
usr/sbin/vigr
|
||||||
|
usr/share/man/*/man1/groups.1
|
||||||
|
usr/share/man/*/man1/logoutd.1
|
||||||
|
usr/share/man/*/man1/su.1
|
||||||
|
usr/share/man/*/man3/getspnam.3
|
||||||
|
usr/share/man/*/man3/shadow.3
|
||||||
|
usr/share/man/*/man5/faillog.5
|
||||||
|
usr/share/man/*/man5/suauth.5
|
||||||
|
usr/share/man/*/man8/faillog.8
|
||||||
|
usr/share/man/*/man8/logoutd.8
|
||||||
|
usr/share/man/man1/groups.1
|
||||||
|
usr/share/man/man1/logoutd.1
|
||||||
|
usr/share/man/man1/su.1
|
||||||
|
usr/share/man/man3/getspnam.3
|
||||||
|
usr/share/man/man3/shadow.3
|
||||||
|
usr/share/man/man5/faillog.5
|
||||||
|
usr/share/man/man5/suauth.5
|
||||||
|
usr/share/man/man8/faillog.8
|
||||||
|
usr/share/man/man8/logoutd.8
|
||||||
|
|
||||||
9
debian/passwd.cron.daily
vendored
9
debian/passwd.cron.daily
vendored
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd /var/backups || exit 0
|
|
||||||
|
|
||||||
for FILE in passwd group shadow gshadow; do
|
|
||||||
test -f /etc/$FILE || continue
|
|
||||||
cmp -s $FILE.bak /etc/$FILE && continue
|
|
||||||
cp -p /etc/$FILE $FILE.bak && chmod 600 $FILE.bak
|
|
||||||
done
|
|
||||||
2
debian/passwd.dirs
vendored
2
debian/passwd.dirs
vendored
@@ -1,2 +1,2 @@
|
|||||||
usr/share/lintian/overrides
|
|
||||||
etc/default
|
etc/default
|
||||||
|
usr/share/lintian/overrides
|
||||||
|
|||||||
62
debian/passwd.install
vendored
62
debian/passwd.install
vendored
@@ -1,16 +1,18 @@
|
|||||||
|
debian/default/useradd etc/default
|
||||||
|
debian/shadowconfig usr/sbin
|
||||||
usr/bin/chage
|
usr/bin/chage
|
||||||
usr/bin/chfn
|
usr/bin/chfn
|
||||||
usr/bin/chsh
|
usr/bin/chsh
|
||||||
usr/bin/expiry
|
usr/bin/expiry
|
||||||
usr/bin/gpasswd
|
usr/bin/gpasswd
|
||||||
usr/bin/passwd
|
usr/bin/passwd
|
||||||
usr/sbin/chpasswd
|
|
||||||
usr/sbin/chgpasswd
|
usr/sbin/chgpasswd
|
||||||
|
usr/sbin/chpasswd
|
||||||
usr/sbin/cppw
|
usr/sbin/cppw
|
||||||
usr/sbin/groupadd
|
usr/sbin/groupadd
|
||||||
usr/sbin/groupdel
|
usr/sbin/groupdel
|
||||||
usr/sbin/groupmod
|
|
||||||
usr/sbin/groupmems
|
usr/sbin/groupmems
|
||||||
|
usr/sbin/groupmod
|
||||||
usr/sbin/grpck
|
usr/sbin/grpck
|
||||||
usr/sbin/grpconv
|
usr/sbin/grpconv
|
||||||
usr/sbin/grpunconv
|
usr/sbin/grpunconv
|
||||||
@@ -22,59 +24,3 @@ usr/sbin/useradd
|
|||||||
usr/sbin/userdel
|
usr/sbin/userdel
|
||||||
usr/sbin/usermod
|
usr/sbin/usermod
|
||||||
usr/sbin/vipw
|
usr/sbin/vipw
|
||||||
usr/share/man/*/man1/chage.1
|
|
||||||
usr/share/man/*/man1/chfn.1
|
|
||||||
usr/share/man/*/man1/chsh.1
|
|
||||||
usr/share/man/*/man1/expiry.1
|
|
||||||
usr/share/man/*/man1/gpasswd.1
|
|
||||||
usr/share/man/*/man1/passwd.1
|
|
||||||
usr/share/man/*/man5/passwd.5
|
|
||||||
usr/share/man/*/man5/shadow.5
|
|
||||||
usr/share/man/*/man5/gshadow.5
|
|
||||||
usr/share/man/*/man8/chpasswd.8
|
|
||||||
usr/share/man/*/man8/groupadd.8
|
|
||||||
usr/share/man/*/man8/groupdel.8
|
|
||||||
usr/share/man/*/man8/groupmod.8
|
|
||||||
usr/share/man/*/man8/groupmems.8
|
|
||||||
usr/share/man/*/man8/grpck.8
|
|
||||||
usr/share/man/*/man8/grpconv.8
|
|
||||||
usr/share/man/*/man8/grpunconv.8
|
|
||||||
usr/share/man/*/man8/newusers.8
|
|
||||||
usr/share/man/*/man8/pwck.8
|
|
||||||
usr/share/man/*/man8/pwconv.8
|
|
||||||
usr/share/man/*/man8/pwunconv.8
|
|
||||||
usr/share/man/*/man8/useradd.8
|
|
||||||
usr/share/man/*/man8/userdel.8
|
|
||||||
usr/share/man/*/man8/usermod.8
|
|
||||||
usr/share/man/*/man8/vigr.8
|
|
||||||
usr/share/man/*/man8/vipw.8
|
|
||||||
usr/share/man/man1/chage.1
|
|
||||||
usr/share/man/man1/chfn.1
|
|
||||||
usr/share/man/man1/chsh.1
|
|
||||||
usr/share/man/man1/expiry.1
|
|
||||||
usr/share/man/man1/gpasswd.1
|
|
||||||
usr/share/man/man1/passwd.1
|
|
||||||
usr/share/man/man5/passwd.5
|
|
||||||
usr/share/man/man5/shadow.5
|
|
||||||
usr/share/man/man5/gshadow.5
|
|
||||||
usr/share/man/man5/subuid.5
|
|
||||||
usr/share/man/man5/subgid.5
|
|
||||||
usr/share/man/man5/subgid.5
|
|
||||||
usr/share/man/man5/subuid.5
|
|
||||||
usr/share/man/man8/chgpasswd.8
|
|
||||||
usr/share/man/man8/chpasswd.8
|
|
||||||
usr/share/man/man8/groupadd.8
|
|
||||||
usr/share/man/man8/groupdel.8
|
|
||||||
usr/share/man/man8/groupmod.8
|
|
||||||
usr/share/man/man8/grpck.8
|
|
||||||
usr/share/man/man8/grpconv.8
|
|
||||||
usr/share/man/man8/grpunconv.8
|
|
||||||
usr/share/man/man8/newusers.8
|
|
||||||
usr/share/man/man8/pwck.8
|
|
||||||
usr/share/man/man8/pwconv.8
|
|
||||||
usr/share/man/man8/pwunconv.8
|
|
||||||
usr/share/man/man8/useradd.8
|
|
||||||
usr/share/man/man8/userdel.8
|
|
||||||
usr/share/man/man8/usermod.8
|
|
||||||
usr/share/man/man8/vigr.8
|
|
||||||
usr/share/man/man8/vipw.8
|
|
||||||
|
|||||||
2
debian/passwd.links
vendored
2
debian/passwd.links
vendored
@@ -1,2 +1,2 @@
|
|||||||
usr/sbin/vipw usr/sbin/vigr
|
|
||||||
usr/sbin/cppw usr/sbin/cpgr
|
usr/sbin/cppw usr/sbin/cpgr
|
||||||
|
usr/sbin/vipw usr/sbin/vigr
|
||||||
|
|||||||
12
debian/passwd.lintian-overrides
vendored
12
debian/passwd.lintian-overrides
vendored
@@ -1,6 +1,6 @@
|
|||||||
passwd: setgid-binary usr/bin/chage 2755 root/shadow
|
passwd: elevated-privileges 2755 root/shadow [usr/bin/chage]
|
||||||
passwd: setuid-binary usr/bin/chfn 4755 root/root
|
passwd: elevated-privileges 4755 root/root [usr/bin/chfn]
|
||||||
passwd: setuid-binary usr/bin/chsh 4755 root/root
|
passwd: elevated-privileges 4755 root/root [usr/bin/chsh]
|
||||||
passwd: setgid-binary usr/bin/expiry 2755 root/shadow
|
passwd: elevated-privileges 2755 root/shadow [usr/bin/expiry]
|
||||||
passwd: setuid-binary usr/bin/gpasswd 4755 root/root
|
passwd: elevated-privileges 4755 root/root [usr/bin/gpasswd]
|
||||||
passwd: setuid-binary usr/bin/passwd 4755 root/root
|
passwd: elevated-privileges 4755 root/root [usr/bin/passwd]
|
||||||
|
|||||||
1
debian/passwd.maintscript
vendored
Normal file
1
debian/passwd.maintscript
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
rm_conffile /etc/cron.daily/passwd 1:4.7-2~
|
||||||
62
debian/passwd.manpages
vendored
Normal file
62
debian/passwd.manpages
vendored
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
debian/cpgr.8
|
||||||
|
debian/cppw.8
|
||||||
|
usr/share/man/*/man1/chage.1
|
||||||
|
usr/share/man/*/man1/chfn.1
|
||||||
|
usr/share/man/*/man1/chsh.1
|
||||||
|
usr/share/man/*/man1/expiry.1
|
||||||
|
usr/share/man/*/man1/gpasswd.1
|
||||||
|
usr/share/man/*/man1/passwd.1
|
||||||
|
usr/share/man/*/man5/gshadow.5
|
||||||
|
usr/share/man/*/man5/passwd.5
|
||||||
|
usr/share/man/*/man5/shadow.5
|
||||||
|
usr/share/man/*/man5/subgid.5
|
||||||
|
usr/share/man/*/man5/subuid.5
|
||||||
|
usr/share/man/*/man8/chgpasswd.8
|
||||||
|
usr/share/man/*/man8/chpasswd.8
|
||||||
|
usr/share/man/*/man8/groupadd.8
|
||||||
|
usr/share/man/*/man8/groupdel.8
|
||||||
|
usr/share/man/*/man8/groupmems.8
|
||||||
|
usr/share/man/*/man8/groupmod.8
|
||||||
|
usr/share/man/*/man8/grpck.8
|
||||||
|
usr/share/man/*/man8/grpconv.8
|
||||||
|
usr/share/man/*/man8/grpunconv.8
|
||||||
|
usr/share/man/*/man8/newusers.8
|
||||||
|
usr/share/man/*/man8/pwck.8
|
||||||
|
usr/share/man/*/man8/pwconv.8
|
||||||
|
usr/share/man/*/man8/pwunconv.8
|
||||||
|
usr/share/man/*/man8/shadowconfig.8
|
||||||
|
usr/share/man/*/man8/useradd.8
|
||||||
|
usr/share/man/*/man8/userdel.8
|
||||||
|
usr/share/man/*/man8/usermod.8
|
||||||
|
usr/share/man/*/man8/vigr.8
|
||||||
|
usr/share/man/*/man8/vipw.8
|
||||||
|
usr/share/man/man1/chage.1
|
||||||
|
usr/share/man/man1/chfn.1
|
||||||
|
usr/share/man/man1/chsh.1
|
||||||
|
usr/share/man/man1/expiry.1
|
||||||
|
usr/share/man/man1/gpasswd.1
|
||||||
|
usr/share/man/man1/passwd.1
|
||||||
|
usr/share/man/man5/gshadow.5
|
||||||
|
usr/share/man/man5/passwd.5
|
||||||
|
usr/share/man/man5/shadow.5
|
||||||
|
usr/share/man/man5/subgid.5
|
||||||
|
usr/share/man/man5/subuid.5
|
||||||
|
usr/share/man/man8/chgpasswd.8
|
||||||
|
usr/share/man/man8/chpasswd.8
|
||||||
|
usr/share/man/man8/groupadd.8
|
||||||
|
usr/share/man/man8/groupdel.8
|
||||||
|
usr/share/man/man8/groupmems.8
|
||||||
|
usr/share/man/man8/groupmod.8
|
||||||
|
usr/share/man/man8/grpck.8
|
||||||
|
usr/share/man/man8/grpconv.8
|
||||||
|
usr/share/man/man8/grpunconv.8
|
||||||
|
usr/share/man/man8/newusers.8
|
||||||
|
usr/share/man/man8/pwck.8
|
||||||
|
usr/share/man/man8/pwconv.8
|
||||||
|
usr/share/man/man8/pwunconv.8
|
||||||
|
usr/share/man/man8/shadowconfig.8
|
||||||
|
usr/share/man/man8/useradd.8
|
||||||
|
usr/share/man/man8/userdel.8
|
||||||
|
usr/share/man/man8/usermod.8
|
||||||
|
usr/share/man/man8/vigr.8
|
||||||
|
usr/share/man/man8/vipw.8
|
||||||
14
debian/passwd.postinst
vendored
14
debian/passwd.postinst
vendored
@@ -4,20 +4,6 @@ set -e
|
|||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
configure)
|
configure)
|
||||||
# Fix permissions on various log files from old versions of the debian
|
|
||||||
# installer, some unrelated to passwd but we decided to put the fix
|
|
||||||
# here since there was no better place. This can safely be removed
|
|
||||||
# after etch is released.
|
|
||||||
if dpkg --compare-versions "$2" lt "1:4.0.14-9"; then
|
|
||||||
for log in /var/log/base-config* \
|
|
||||||
$(find /var/log/debian-installer/ /var/log/installer/ -type f 2>/dev/null ); do
|
|
||||||
if [ -e "$log" ]; then
|
|
||||||
chmod 600 "$log"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f /etc/pam.d/passwd.pre-upgrade 2>/dev/null
|
|
||||||
if ! getent group shadow | grep -q '^shadow:[^:]*:42'
|
if ! getent group shadow | grep -q '^shadow:[^:]*:42'
|
||||||
then
|
then
|
||||||
groupadd -g 42 shadow || (
|
groupadd -g 42 shadow || (
|
||||||
|
|||||||
51
debian/passwd.preinst
vendored
51
debian/passwd.preinst
vendored
@@ -1,51 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# see: dh_installdeb(1)
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# summary of how this script can be called:
|
|
||||||
# * <new-preinst> `install'
|
|
||||||
# * <new-preinst> `install' <old-version>
|
|
||||||
# * <new-preinst> `upgrade' <old-version>
|
|
||||||
# * <old-preinst> `abort-upgrade' <new-version>
|
|
||||||
#
|
|
||||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
|
||||||
# the debian-policy package
|
|
||||||
|
|
||||||
remove_md5() {
|
|
||||||
if md5sum $1 2>/dev/null |grep -q $2; then
|
|
||||||
cp $1 $1.pre-upgrade
|
|
||||||
sed -e '/^[^#]*[ \t]*password[ \t]*required[ \t]*pam_unix.so/ s/ md5$//' $1 >$1.post-upgrade \
|
|
||||||
&& mv $1.post-upgrade $1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
install|upgrade)
|
|
||||||
if [ "x$2" != "x" ] ; then
|
|
||||||
if dpkg --compare-versions $2 lt 1:4.0.3 ; then
|
|
||||||
remove_md5 /etc/pam.d/passwd 23a5d1465bbc1e39ca6e0c32f22a75c9
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
abort-upgrade)
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "preinst called with unknown argument \`$1'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# dh_installdeb will replace this with shell code automatically
|
|
||||||
# generated by other debhelper scripts.
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
From bdd68116b7c5f3cbb29ea4fe3bb81e338e9544f7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Simon Kainz <simon@familiekainz.at>
|
|
||||||
Date: Wed, 18 Jan 2017 17:24:04 +0100
|
|
||||||
Subject: [PATCH 1/2] Typos fix in german translation of man pages
|
|
||||||
|
|
||||||
Reported to Debian BTS in #734609
|
|
||||||
---
|
|
||||||
man/po/de.po | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/man/po/de.po b/man/po/de.po
|
|
||||||
index b4d7218..340e15d 100644
|
|
||||||
--- a/man/po/de.po
|
|
||||||
+++ b/man/po/de.po
|
|
||||||
@@ -3087,7 +3087,7 @@ msgstr "5"
|
|
||||||
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
|
|
||||||
#: faillog.5.xml:59(refmiscinfo)
|
|
||||||
msgid "File Formats and Conversions"
|
|
||||||
-msgstr "Dateiformate und -konvertierung"
|
|
||||||
+msgstr "Dateiformate und konvertierung"
|
|
||||||
|
|
||||||
#: suauth.5.xml:65(refpurpose)
|
|
||||||
msgid "detailed su control file"
|
|
||||||
@@ -4370,7 +4370,7 @@ msgstr ""
|
|
||||||
|
|
||||||
#: shadow.5.xml:235(para)
|
|
||||||
msgid "An empty field means that the account will never expire."
|
|
||||||
-msgstr "Ein leeren Feld bedeutet, dass das Konto nicht verfallen wird."
|
|
||||||
+msgstr "Ein leeres Feld bedeutet, dass das Konto nicht verfallen wird."
|
|
||||||
|
|
||||||
#: shadow.5.xml:238(para)
|
|
||||||
msgid ""
|
|
||||||
@@ -6961,7 +6961,7 @@ msgid ""
|
|
||||||
"contents of this file should be a message indicating why logins are "
|
|
||||||
"inhibited."
|
|
||||||
msgstr ""
|
|
||||||
-"Falls angegeben, der Name einer Datei, dessen Existenz Anmeldungen außer von "
|
|
||||||
+"Falls angegeben, der Name einer Datei, deren Existenz Anmeldungen außer von "
|
|
||||||
"Root verhindert. Der Inhalt der Datei sollte die Gründe enthalten, weshalb "
|
|
||||||
"Anmeldungen untersagt sind."
|
|
||||||
|
|
||||||
--
|
|
||||||
2.1.4
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From 578d495f91af8dc5dd774d4310ca06f7013712e7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Micah Anderson <micah@riseup.net>
|
|
||||||
Date: Wed, 18 Jan 2017 18:06:05 +0100
|
|
||||||
Subject: [PATCH 2/2] Last bits of enabling subuids
|
|
||||||
|
|
||||||
This patch has been carried by Debian, originally
|
|
||||||
submitted to BTS in #739981
|
|
||||||
---
|
|
||||||
src/newusers.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/newusers.c b/src/newusers.c
|
|
||||||
index 724cbb4..0c0cfe4 100644
|
|
||||||
--- a/src/newusers.c
|
|
||||||
+++ b/src/newusers.c
|
|
||||||
@@ -988,8 +988,8 @@ int main (int argc, char **argv)
|
|
||||||
is_shadow_grp = sgr_file_present ();
|
|
||||||
#endif
|
|
||||||
#ifdef ENABLE_SUBIDS
|
|
||||||
- is_sub_uid = sub_uid_file_present ();
|
|
||||||
- is_sub_gid = sub_gid_file_present ();
|
|
||||||
+ is_sub_uid = sub_uid_file_present () && !rflg;
|
|
||||||
+ is_sub_gid = sub_gid_file_present () && !rflg;
|
|
||||||
#endif /* ENABLE_SUBIDS */
|
|
||||||
|
|
||||||
open_files ();
|
|
||||||
--
|
|
||||||
2.1.4
|
|
||||||
|
|
||||||
3048
debian/patches/0003-Dutch-translation-update.patch
vendored
3048
debian/patches/0003-Dutch-translation-update.patch
vendored
File diff suppressed because it is too large
Load Diff
1481
debian/patches/0004-Updated-Czech-translation.patch
vendored
1481
debian/patches/0004-Updated-Czech-translation.patch
vendored
File diff suppressed because it is too large
Load Diff
1050
debian/patches/0005-Update-for-German-man-pages.patch
vendored
1050
debian/patches/0005-Update-for-German-man-pages.patch
vendored
File diff suppressed because it is too large
Load Diff
13703
debian/patches/0006-French-manpage-translation.patch
vendored
13703
debian/patches/0006-French-manpage-translation.patch
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,98 +0,0 @@
|
|||||||
From 8a122a90fa2afe39f2b1e56c5d45ea20f486bf0b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lars Bahner <bahner@debian.org>
|
|
||||||
Date: Thu, 19 Jan 2017 17:50:24 +0100
|
|
||||||
Subject: [PATCH 7/7] Fix some spelling issues in the Norwegian translation
|
|
||||||
|
|
||||||
---
|
|
||||||
po/nb.po | 13 +++++++------
|
|
||||||
po/nl.po | 8 ++++----
|
|
||||||
2 files changed, 11 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/po/nb.po b/po/nb.po
|
|
||||||
index d42a864..7ad1ecb 100644
|
|
||||||
--- a/po/nb.po
|
|
||||||
+++ b/po/nb.po
|
|
||||||
@@ -7,12 +7,13 @@
|
|
||||||
# Bjørn Steensrud <bjornst@powertech.no>, 2006.
|
|
||||||
# Bjørn Steensrud <bjornst@skogkatt.homelinux.org>, 2009, 2012.
|
|
||||||
# Hans Fredrik Nordhaug <hans@nordhaug.priv.no>, 2012.
|
|
||||||
+# Lars Bahner <bahner@debian.org>, 2015
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: shadow 4.0.17\n"
|
|
||||||
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
|
|
||||||
"POT-Creation-Date: 2016-09-18 14:03-0500\n"
|
|
||||||
-"PO-Revision-Date: 2012-01-18 17:19+0100\n"
|
|
||||||
+"PO-Revision-Date: 2015-09-30 18:15+0100\n"
|
|
||||||
"Last-Translator: Bjørn Steensrud <bjornst@skogkatt.homelinux.org>\n"
|
|
||||||
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
|
||||||
"Language: nb\n"
|
|
||||||
@@ -20,7 +21,7 @@ msgstr ""
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
||||||
-"X-Generator: Lokalize 1.2\n"
|
|
||||||
+"X-Generator: Poedit 1.7.5\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
@@ -48,10 +49,9 @@ msgstr "feil med oppsettet - ukjent element «%s» (kontakt administrator)\n"
|
|
||||||
msgid "%s: nscd did not terminate normally (signal %d)\n"
|
|
||||||
msgstr "%s: nscd avsluttet ikke normallt (signal %d)\n"
|
|
||||||
|
|
||||||
-#, fuzzy, c-format
|
|
||||||
-#| msgid "%s: nscd exited with status %d"
|
|
||||||
+#, c-format
|
|
||||||
msgid "%s: nscd exited with status %d\n"
|
|
||||||
-msgstr "%s: nscd avsluttet med status %d"
|
|
||||||
+msgstr "%s: nscd avsluttet med status %d\n"
|
|
||||||
|
|
||||||
msgid "Password: "
|
|
||||||
msgstr "Passord: "
|
|
||||||
@@ -415,8 +415,9 @@ msgstr "passwd: %s\n"
|
|
||||||
msgid "passwd: password unchanged\n"
|
|
||||||
msgstr "passwd: passordet er uendret\n"
|
|
||||||
|
|
||||||
+#, fuzzy
|
|
||||||
msgid "passwd: password updated successfully\n"
|
|
||||||
-msgstr "passwd: passorder ble oppdatert\n"
|
|
||||||
+msgstr "passwd: passordet ble oppdatert\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Incorrect password for %s.\n"
|
|
||||||
diff --git a/po/nl.po b/po/nl.po
|
|
||||||
index 923c1d1..6cbabdd 100644
|
|
||||||
--- a/po/nl.po
|
|
||||||
+++ b/po/nl.po
|
|
||||||
@@ -745,7 +745,7 @@ msgstr "%s: ongeldige naam: '%s'\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%s: room number with non-ASCII characters: '%s'\n"
|
|
||||||
-msgstr "%s: kamernummer bevat niet-ASCII tekens: '%s'"
|
|
||||||
+msgstr "%s: kamernummer bevat niet-ASCII tekens: '%s'\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%s: invalid room number: '%s'\n"
|
|
||||||
@@ -1571,7 +1571,7 @@ msgstr "Ongeldig wachtwoord.\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%s: failure forking: %s\n"
|
|
||||||
-msgstr "%s: nieuw proces beginnen is mislukt: %s"
|
|
||||||
+msgstr "%s: nieuw proces beginnen is mislukt: %s\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%s: GID '%lu' does not exist\n"
|
|
||||||
@@ -2633,8 +2633,8 @@ msgstr "Kon bestand niet vergrendelen"
|
|
||||||
msgid "Couldn't make backup"
|
|
||||||
msgstr "Kon geen reservekopie maken"
|
|
||||||
|
|
||||||
-#| msgid "Unable to open group file\n"
|
|
||||||
-msgid "failed to open scratch file"
|
|
||||||
+#| msgid "Unable to open group file"
|
|
||||||
+msgid "failed to open scratch file\n"
|
|
||||||
msgstr "initieel bestand openen is mislukt\n"
|
|
||||||
|
|
||||||
#| msgid "%s: fields too long\n"
|
|
||||||
--
|
|
||||||
2.1.4
|
|
||||||
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
From 08fd4b69e84364677a10e519ccb25b71710ee686 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
||||||
Date: Thu, 23 Feb 2017 09:47:29 -0600
|
|
||||||
Subject: [PATCH] su: properly clear child PID
|
|
||||||
|
|
||||||
If su is compiled with PAM support, it is possible for any local user
|
|
||||||
to send SIGKILL to other processes with root privileges. There are
|
|
||||||
only two conditions. First, the user must be able to perform su with
|
|
||||||
a successful login. This does NOT have to be the root user, even using
|
|
||||||
su with the same id is enough, e.g. "su $(whoami)". Second, SIGKILL
|
|
||||||
can only be sent to processes which were executed after the su process.
|
|
||||||
It is not possible to send SIGKILL to processes which were already
|
|
||||||
running. I consider this as a security vulnerability, because I was
|
|
||||||
able to write a proof of concept which unlocked a screen saver of
|
|
||||||
another user this way.
|
|
||||||
---
|
|
||||||
src/su.c | 19 +++++++++++++++++--
|
|
||||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/src/su.c
|
|
||||||
+++ b/src/su.c
|
|
||||||
@@ -363,11 +363,13 @@
|
|
||||||
/* wake child when resumed */
|
|
||||||
kill (pid, SIGCONT);
|
|
||||||
stop = false;
|
|
||||||
+ } else {
|
|
||||||
+ pid_child = 0;
|
|
||||||
}
|
|
||||||
} while (!stop);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (0 != caught) {
|
|
||||||
+ if (0 != caught && 0 != pid_child) {
|
|
||||||
(void) fputs ("\n", stderr);
|
|
||||||
(void) fputs (_("Session terminated, terminating shell..."),
|
|
||||||
stderr);
|
|
||||||
@@ -377,9 +379,22 @@
|
|
||||||
snprintf (wait_msg, 256, _(" ...waiting for child to terminate.\n"));
|
|
||||||
|
|
||||||
(void) signal (SIGALRM, kill_child);
|
|
||||||
+ (void) signal (SIGCHLD, catch_signals);
|
|
||||||
(void) alarm (2);
|
|
||||||
|
|
||||||
- (void) wait (&status);
|
|
||||||
+ sigemptyset (&ourset);
|
|
||||||
+ if ((sigaddset (&ourset, SIGALRM) != 0)
|
|
||||||
+ || (sigprocmask (SIG_BLOCK, &ourset, NULL) != 0)) {
|
|
||||||
+ fprintf (stderr, _("%s: signal masking malfunction\n"), Prog);
|
|
||||||
+ kill_child (0);
|
|
||||||
+ } else {
|
|
||||||
+ while (0 == waitpid (pid_child, &status, WNOHANG)) {
|
|
||||||
+ sigsuspend (&ourset);
|
|
||||||
+ }
|
|
||||||
+ pid_child = 0;
|
|
||||||
+ (void) sigprocmask (SIG_UNBLOCK, &ourset, NULL);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
(void) fputs (_(" ...terminated.\n"), stderr);
|
|
||||||
}
|
|
||||||
|
|
||||||
55
debian/patches/008_login_log_failure_in_FTMP
vendored
55
debian/patches/008_login_log_failure_in_FTMP
vendored
@@ -1,55 +0,0 @@
|
|||||||
Goal: Log login failures to the btmp file
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
* I'm not sure login should add an entry in the FTMP file when PAM is used.
|
|
||||||
(but nothing in /etc/login.defs indicates that the failure is not logged)
|
|
||||||
|
|
||||||
Index: shadow-4.4/src/login.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/login.c
|
|
||||||
+++ shadow-4.4/src/login.c
|
|
||||||
@@ -834,6 +834,24 @@ int main (int argc, char **argv)
|
|
||||||
(void) puts ("");
|
|
||||||
(void) puts (_("Login incorrect"));
|
|
||||||
|
|
||||||
+ if (getdef_str("FTMP_FILE") != NULL) {
|
|
||||||
+#ifdef USE_UTMPX
|
|
||||||
+ struct utmpx *failent =
|
|
||||||
+ prepare_utmpx (failent_user,
|
|
||||||
+ tty,
|
|
||||||
+ /* FIXME: or fromhost? */hostname,
|
|
||||||
+ utent);
|
|
||||||
+#else /* !USE_UTMPX */
|
|
||||||
+ struct utmp *failent =
|
|
||||||
+ prepare_utmp (failent_user,
|
|
||||||
+ tty,
|
|
||||||
+ hostname,
|
|
||||||
+ utent);
|
|
||||||
+#endif /* !USE_UTMPX */
|
|
||||||
+ failtmp (failent_user, failent);
|
|
||||||
+ free (failent);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (failcount >= retries) {
|
|
||||||
SYSLOG ((LOG_NOTICE,
|
|
||||||
"TOO MANY LOGIN TRIES (%u)%s FOR '%s'",
|
|
||||||
Index: shadow-4.4/lib/getdef.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/getdef.c
|
|
||||||
+++ shadow-4.4/lib/getdef.c
|
|
||||||
@@ -57,7 +57,6 @@ struct itemdef {
|
|
||||||
{"ENVIRON_FILE", NULL}, \
|
|
||||||
{"ENV_TZ", NULL}, \
|
|
||||||
{"FAILLOG_ENAB", NULL}, \
|
|
||||||
- {"FTMP_FILE", NULL}, \
|
|
||||||
{"ISSUE_FILE", NULL}, \
|
|
||||||
{"LASTLOG_ENAB", NULL}, \
|
|
||||||
{"LOGIN_STRING", NULL}, \
|
|
||||||
@@ -88,6 +87,7 @@ static struct itemdef def_table[] = {
|
|
||||||
{"ERASECHAR", NULL},
|
|
||||||
{"FAIL_DELAY", NULL},
|
|
||||||
{"FAKE_SHELL", NULL},
|
|
||||||
+ {"FTMP_FILE", NULL},
|
|
||||||
{"GID_MAX", NULL},
|
|
||||||
{"GID_MIN", NULL},
|
|
||||||
{"HUSHLOGIN_FILE", NULL},
|
|
||||||
3119
debian/patches/1010_vietnamese_translation
vendored
3119
debian/patches/1010_vietnamese_translation
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,29 +0,0 @@
|
|||||||
From 7d82f203eeec881c584b2fa06539b39e82985d97 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
||||||
Date: Sun, 14 May 2017 17:58:10 +0200
|
|
||||||
Subject: [PATCH] Reset pid_child only if waitpid was successful.
|
|
||||||
|
|
||||||
Do not reset the pid_child to 0 if the child process is still
|
|
||||||
running. This else-condition can be reached with pid being -1,
|
|
||||||
therefore explicitly test this condition.
|
|
||||||
|
|
||||||
This is a regression fix for CVE-2017-2616. If su receives a
|
|
||||||
signal like SIGTERM, it is not propagated to the child.
|
|
||||||
|
|
||||||
Reported-by: Radu Duta <raduduta@gmail.com>
|
|
||||||
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
||||||
---
|
|
||||||
src/su.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/src/su.c
|
|
||||||
+++ b/src/su.c
|
|
||||||
@@ -363,7 +363,7 @@ static void prepare_pam_close_session (v
|
|
||||||
/* wake child when resumed */
|
|
||||||
kill (pid, SIGCONT);
|
|
||||||
stop = false;
|
|
||||||
- } else {
|
|
||||||
+ } else if ( (pid_t)-1 != pid) {
|
|
||||||
pid_child = 0;
|
|
||||||
}
|
|
||||||
} while (!stop);
|
|
||||||
88
debian/patches/429_login_FAILLOG_ENAB
vendored
88
debian/patches/429_login_FAILLOG_ENAB
vendored
@@ -1,88 +0,0 @@
|
|||||||
Goal: Re-enable logging and displaying failures on login when login is
|
|
||||||
compiled with PAM and when FAILLOG_ENAB is set to yes. And create the
|
|
||||||
faillog file if it does not exist on postinst (as on Woody).
|
|
||||||
Depends: 008_login_more_LOG_UNKFAIL_ENAB
|
|
||||||
Fixes: #192849
|
|
||||||
|
|
||||||
Note: It could be removed if pam_tally could report the number of failures
|
|
||||||
preceding a successful login.
|
|
||||||
|
|
||||||
Index: shadow-4.4/src/login.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/login.c
|
|
||||||
+++ shadow-4.4/src/login.c
|
|
||||||
@@ -131,9 +131,9 @@ static void update_utmp (const char *use
|
|
||||||
const char *host,
|
|
||||||
/*@null@*/const struct utmp *utent);
|
|
||||||
|
|
||||||
-#ifndef USE_PAM
|
|
||||||
static struct faillog faillog;
|
|
||||||
|
|
||||||
+#ifndef USE_PAM
|
|
||||||
static void bad_time_notify (void);
|
|
||||||
static void check_nologin (bool login_to_root);
|
|
||||||
#else
|
|
||||||
@@ -794,6 +794,9 @@ int main (int argc, char **argv)
|
|
||||||
SYSLOG ((LOG_NOTICE,
|
|
||||||
"TOO MANY LOGIN TRIES (%u)%s FOR '%s'",
|
|
||||||
failcount, fromhost, failent_user));
|
|
||||||
+ if ((NULL != pwd) && getdef_bool("FAILLOG_ENAB")) {
|
|
||||||
+ failure (pwd->pw_uid, tty, &faillog);
|
|
||||||
+ }
|
|
||||||
fprintf (stderr,
|
|
||||||
_("Maximum number of tries exceeded (%u)\n"),
|
|
||||||
failcount);
|
|
||||||
@@ -811,6 +814,14 @@ int main (int argc, char **argv)
|
|
||||||
pam_strerror (pamh, retcode)));
|
|
||||||
failed = true;
|
|
||||||
}
|
|
||||||
+ if ( (NULL != pwd)
|
|
||||||
+ && getdef_bool("FAILLOG_ENAB")
|
|
||||||
+ && ! failcheck (pwd->pw_uid, &faillog, failed)) {
|
|
||||||
+ SYSLOG((LOG_CRIT,
|
|
||||||
+ "exceeded failure limit for `%s' %s",
|
|
||||||
+ failent_user, fromhost));
|
|
||||||
+ failed = 1;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (!failed) {
|
|
||||||
break;
|
|
||||||
@@ -834,6 +845,10 @@ int main (int argc, char **argv)
|
|
||||||
(void) puts ("");
|
|
||||||
(void) puts (_("Login incorrect"));
|
|
||||||
|
|
||||||
+ if ((NULL != pwd) && getdef_bool("FAILLOG_ENAB")) {
|
|
||||||
+ failure (pwd->pw_uid, tty, &faillog);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (getdef_str("FTMP_FILE") != NULL) {
|
|
||||||
#ifdef USE_UTMPX
|
|
||||||
struct utmpx *failent =
|
|
||||||
@@ -1288,6 +1303,7 @@ int main (int argc, char **argv)
|
|
||||||
*/
|
|
||||||
#ifndef USE_PAM
|
|
||||||
motd (); /* print the message of the day */
|
|
||||||
+#endif
|
|
||||||
if ( getdef_bool ("FAILLOG_ENAB")
|
|
||||||
&& (0 != faillog.fail_cnt)) {
|
|
||||||
failprint (&faillog);
|
|
||||||
@@ -1300,6 +1316,7 @@ int main (int argc, char **argv)
|
|
||||||
username, (int) faillog.fail_cnt));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#ifndef USE_PAM
|
|
||||||
if ( getdef_bool ("LASTLOG_ENAB")
|
|
||||||
&& (ll.ll_time != 0)) {
|
|
||||||
time_t ll_time = ll.ll_time;
|
|
||||||
Index: shadow-4.4/lib/getdef.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/getdef.c
|
|
||||||
+++ shadow-4.4/lib/getdef.c
|
|
||||||
@@ -86,6 +86,7 @@ static struct itemdef def_table[] = {
|
|
||||||
{"ENV_SUPATH", NULL},
|
|
||||||
{"ERASECHAR", NULL},
|
|
||||||
{"FAIL_DELAY", NULL},
|
|
||||||
+ {"FAILLOG_ENAB", NULL},
|
|
||||||
{"FAKE_SHELL", NULL},
|
|
||||||
{"FTMP_FILE", NULL},
|
|
||||||
{"GID_MAX", NULL},
|
|
||||||
66
debian/patches/501_commonio_group_shadow
vendored
66
debian/patches/501_commonio_group_shadow
vendored
@@ -1,66 +0,0 @@
|
|||||||
Goal: save the [g]shadow files with the 'shadow' group and mode 0440
|
|
||||||
|
|
||||||
Fixes: #166793
|
|
||||||
|
|
||||||
Index: shadow-4.4/lib/commonio.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/commonio.c
|
|
||||||
+++ shadow-4.4/lib/commonio.c
|
|
||||||
@@ -44,6 +44,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <signal.h>
|
|
||||||
+#include <grp.h>
|
|
||||||
#include "nscd.h"
|
|
||||||
#ifdef WITH_TCB
|
|
||||||
#include <tcb.h>
|
|
||||||
@@ -966,12 +967,23 @@ int commonio_close (struct commonio_db *
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
+ struct group *grp;
|
|
||||||
/*
|
|
||||||
* Default permissions for new [g]shadow files.
|
|
||||||
*/
|
|
||||||
sb.st_mode = db->st_mode;
|
|
||||||
sb.st_uid = db->st_uid;
|
|
||||||
sb.st_gid = db->st_gid;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Try to retrieve the shadow's GID, and fall back to GID 0.
|
|
||||||
+ */
|
|
||||||
+ if (sb.st_gid == 0) {
|
|
||||||
+ if ((grp = getgrnam("shadow")) != NULL)
|
|
||||||
+ sb.st_gid = grp->gr_gid;
|
|
||||||
+ else
|
|
||||||
+ sb.st_gid = 0;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
snprintf (buf, sizeof buf, "%s+", db->filename);
|
|
||||||
Index: shadow-4.4/lib/sgroupio.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/sgroupio.c
|
|
||||||
+++ shadow-4.4/lib/sgroupio.c
|
|
||||||
@@ -228,7 +228,7 @@ static struct commonio_db gshadow_db = {
|
|
||||||
#ifdef WITH_SELINUX
|
|
||||||
NULL, /* scontext */
|
|
||||||
#endif
|
|
||||||
- 0400, /* st_mode */
|
|
||||||
+ 0440, /* st_mode */
|
|
||||||
0, /* st_uid */
|
|
||||||
0, /* st_gid */
|
|
||||||
NULL, /* head */
|
|
||||||
Index: shadow-4.4/lib/shadowio.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/shadowio.c
|
|
||||||
+++ shadow-4.4/lib/shadowio.c
|
|
||||||
@@ -104,7 +104,7 @@ static struct commonio_db shadow_db = {
|
|
||||||
#ifdef WITH_SELINUX
|
|
||||||
NULL, /* scontext */
|
|
||||||
#endif /* WITH_SELINUX */
|
|
||||||
- 0400, /* st_mode */
|
|
||||||
+ 0440, /* st_mode */
|
|
||||||
0, /* st_uid */
|
|
||||||
0, /* st_gid */
|
|
||||||
NULL, /* head */
|
|
||||||
106
debian/patches/506_relaxed_usernames
vendored
106
debian/patches/506_relaxed_usernames
vendored
@@ -1,106 +0,0 @@
|
|||||||
Goal: Relaxed usernames/groupnames checking patch.
|
|
||||||
|
|
||||||
Status wrt upstream: Debian specific. Not to be used upstream
|
|
||||||
|
|
||||||
Details:
|
|
||||||
Allows any non-empty user/grounames that don't contain ':', ',' or '\n'
|
|
||||||
characters and don't start with '-', '+', or '~'. This patch is more
|
|
||||||
restrictive than original Karl's version. closes: #264879
|
|
||||||
Also closes: #377844
|
|
||||||
|
|
||||||
Comments from Karl Ramm (shadow 1:4.0.3-9, 20 Aug 2003 02:06:50 -0400):
|
|
||||||
|
|
||||||
I can't come up with a good justification as to why characters other
|
|
||||||
than ':'s and '\0's should be disallowed in group and usernames (other
|
|
||||||
than '-' as the leading character). Thus, the maintenance tools don't
|
|
||||||
anymore. closes: #79682, #166798, #171179
|
|
||||||
|
|
||||||
Index: git/libmisc/chkname.c
|
|
||||||
===================================================================
|
|
||||||
--- git.orig/libmisc/chkname.c
|
|
||||||
+++ git/libmisc/chkname.c
|
|
||||||
@@ -48,6 +48,7 @@
|
|
||||||
|
|
||||||
static bool is_valid_name (const char *name)
|
|
||||||
{
|
|
||||||
+#if 0
|
|
||||||
/*
|
|
||||||
* User/group names must match [a-z_][a-z0-9_-]*[$]
|
|
||||||
*/
|
|
||||||
@@ -66,6 +67,26 @@
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
+ /*
|
|
||||||
+ * POSIX indicate that usernames are composed of characters from the
|
|
||||||
+ * portable filename character set [A-Za-z0-9._-], and that the hyphen
|
|
||||||
+ * should not be used as the first character of a portable user name.
|
|
||||||
+ *
|
|
||||||
+ * Allow more relaxed user/group names in Debian -- ^[^-~+:,\s][^:,\s]*$
|
|
||||||
+ */
|
|
||||||
+ if ( ('\0' == *name)
|
|
||||||
+ || ('-' == *name)
|
|
||||||
+ || ('~' == *name)
|
|
||||||
+ || ('+' == *name)) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ do {
|
|
||||||
+ if ((':' == *name) || (',' == *name) || isspace(*name)) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ name++;
|
|
||||||
+ } while ('\0' != *name);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
Index: git/man/useradd.8.xml
|
|
||||||
===================================================================
|
|
||||||
--- git.orig/man/useradd.8.xml
|
|
||||||
+++ git/man/useradd.8.xml
|
|
||||||
@@ -633,12 +633,20 @@
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
- Usernames must start with a lower case letter or an underscore,
|
|
||||||
+ It is usually recommended to only use usernames that begin with a lower case letter or an underscore,
|
|
||||||
followed by lower case letters, digits, underscores, or dashes.
|
|
||||||
They can end with a dollar sign.
|
|
||||||
In regular expression terms: [a-z_][a-z0-9_-]*[$]?
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
+ On Debian, the only constraints are that usernames must neither start
|
|
||||||
+ with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a
|
|
||||||
+ colon (':'), a comma (','), or a whitespace (space: ' ',
|
|
||||||
+ end of line: '\n', tabulation: '\t', etc.). Note that using a slash
|
|
||||||
+ ('/') may break the default algorithm for the definition of the
|
|
||||||
+ user's home directory.
|
|
||||||
+ </para>
|
|
||||||
+ <para>
|
|
||||||
Usernames may only be up to 32 characters long.
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
|
||||||
Index: git/man/groupadd.8.xml
|
|
||||||
===================================================================
|
|
||||||
--- git.orig/man/groupadd.8.xml
|
|
||||||
+++ git/man/groupadd.8.xml
|
|
||||||
@@ -256,12 +256,18 @@
|
|
||||||
<refsect1 id='caveats'>
|
|
||||||
<title>CAVEATS</title>
|
|
||||||
<para>
|
|
||||||
- Groupnames must start with a lower case letter or an underscore,
|
|
||||||
+ It is usually recommended to only use groupnames that begin with a lower case letter or an underscore,
|
|
||||||
followed by lower case letters, digits, underscores, or dashes.
|
|
||||||
They can end with a dollar sign.
|
|
||||||
In regular expression terms: [a-z_][a-z0-9_-]*[$]?
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
+ On Debian, the only constraints are that groupnames must neither start
|
|
||||||
+ with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a
|
|
||||||
+ colon (':'), a comma (','), or a whitespace (space:' ',
|
|
||||||
+ end of line: '\n', tabulation: '\t', etc.).
|
|
||||||
+ </para>
|
|
||||||
+ <para>
|
|
||||||
Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
20
debian/patches/508_nologin_in_usr_sbin
vendored
20
debian/patches/508_nologin_in_usr_sbin
vendored
@@ -1,20 +0,0 @@
|
|||||||
Index: git/src/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- git.orig/src/Makefile.am
|
|
||||||
+++ git/src/Makefile.am
|
|
||||||
@@ -23,7 +23,6 @@
|
|
||||||
# $prefix/bin and $prefix/sbin, no install-data hacks...)
|
|
||||||
|
|
||||||
bin_PROGRAMS = groups login su
|
|
||||||
-sbin_PROGRAMS = nologin
|
|
||||||
ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
|
|
||||||
if ENABLE_SUBIDS
|
|
||||||
ubin_PROGRAMS += newgidmap newuidmap
|
|
||||||
@@ -41,6 +40,7 @@
|
|
||||||
grpunconv \
|
|
||||||
logoutd \
|
|
||||||
newusers \
|
|
||||||
+ nologin \
|
|
||||||
pwck \
|
|
||||||
pwconv \
|
|
||||||
pwunconv \
|
|
||||||
50
debian/patches/523_su_arguments_are_concatenated
vendored
50
debian/patches/523_su_arguments_are_concatenated
vendored
@@ -1,50 +0,0 @@
|
|||||||
Goal: Concatenate the non-su arguments and provide them to the shell with
|
|
||||||
the -c option
|
|
||||||
Fixes: #317264
|
|
||||||
see also #276419
|
|
||||||
|
|
||||||
Status wrt upstream: This is a Debian specific patch.
|
|
||||||
|
|
||||||
Note: the fix of the man page is still missing.
|
|
||||||
(to be taken from the trunk)
|
|
||||||
|
|
||||||
Index: shadow-4.4/src/su.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/su.c
|
|
||||||
+++ shadow-4.4/src/su.c
|
|
||||||
@@ -1155,6 +1155,35 @@ int main (int argc, char **argv)
|
|
||||||
argv[0] = "-c";
|
|
||||||
argv[1] = command;
|
|
||||||
}
|
|
||||||
+ /* On Debian, the arguments are concatenated and the
|
|
||||||
+ * resulting string is always given to the shell with its
|
|
||||||
+ * -c option.
|
|
||||||
+ */
|
|
||||||
+ {
|
|
||||||
+ char **parg;
|
|
||||||
+ unsigned int cmd_len = 0;
|
|
||||||
+ char *cmd = NULL;
|
|
||||||
+ if (strcmp(argv[0], "-c") != 0) {
|
|
||||||
+ argv--;
|
|
||||||
+ argv[0] = "-c";
|
|
||||||
+ }
|
|
||||||
+ /* Now argv[0] is always -c, and other arguments
|
|
||||||
+ * can be concatenated
|
|
||||||
+ */
|
|
||||||
+ cmd_len = 1; /* finale '\0' */
|
|
||||||
+ for (parg = &argv[1]; *parg; parg++) {
|
|
||||||
+ cmd_len += strlen (*parg) + 1;
|
|
||||||
+ }
|
|
||||||
+ cmd = (char *) xmalloc (sizeof (char) * cmd_len);
|
|
||||||
+ cmd[0] = '\0';
|
|
||||||
+ for (parg = &argv[1]; *parg; parg++) {
|
|
||||||
+ strcat (cmd, " ");
|
|
||||||
+ strcat (cmd, *parg);
|
|
||||||
+ }
|
|
||||||
+ cmd[cmd_len - 1] = '\0';
|
|
||||||
+ argv[1] = &cmd[1]; /* do not take first space */
|
|
||||||
+ argv[2] = NULL;
|
|
||||||
+ }
|
|
||||||
/*
|
|
||||||
* Use the shell and create an argv
|
|
||||||
* with the rest of the command line included.
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
Goal: Do not concatenate the additional arguments, and support an
|
|
||||||
environment variable to revert to the old Debian's su behavior.
|
|
||||||
|
|
||||||
This patch needs the su_arguments_are_concatenated patch.
|
|
||||||
|
|
||||||
This patch, and su_arguments_are_concatenated should be dropped after
|
|
||||||
Etch.
|
|
||||||
|
|
||||||
Status wrt upstream: This patch is Debian specific.
|
|
||||||
|
|
||||||
Index: shadow-4.4/src/su.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/su.c
|
|
||||||
+++ shadow-4.4/src/su.c
|
|
||||||
@@ -104,6 +104,19 @@ static char caller_name[BUFSIZ];
|
|
||||||
/* If nonzero, change some environment vars to indicate the user su'd to. */
|
|
||||||
static bool change_environment = true;
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * If nonzero, keep the old Debian behavior:
|
|
||||||
+ * * concatenate all the arguments and provide them to the -c option of
|
|
||||||
+ * the shell
|
|
||||||
+ * * If there are some additional arguments, but no -c, add a -c
|
|
||||||
+ * argument anyway
|
|
||||||
+ * Drawbacks:
|
|
||||||
+ * * you can't provide options to the shell (other than -c)
|
|
||||||
+ * * you can't rely on the argument count
|
|
||||||
+ * See http://bugs.debian.org/276419
|
|
||||||
+ */
|
|
||||||
+static int old_debian_behavior;
|
|
||||||
+
|
|
||||||
#ifdef USE_PAM
|
|
||||||
static char kill_msg[256];
|
|
||||||
static char wait_msg[256];
|
|
||||||
@@ -952,6 +965,8 @@ int main (int argc, char **argv)
|
|
||||||
int ret;
|
|
||||||
#endif /* USE_PAM */
|
|
||||||
|
|
||||||
+ old_debian_behavior = (getenv("SU_NO_SHELL_ARGS") != NULL);
|
|
||||||
+
|
|
||||||
(void) setlocale (LC_ALL, "");
|
|
||||||
(void) bindtextdomain (PACKAGE, LOCALEDIR);
|
|
||||||
(void) textdomain (PACKAGE);
|
|
||||||
@@ -1159,7 +1174,7 @@ int main (int argc, char **argv)
|
|
||||||
* resulting string is always given to the shell with its
|
|
||||||
* -c option.
|
|
||||||
*/
|
|
||||||
- {
|
|
||||||
+ if (old_debian_behavior) {
|
|
||||||
char **parg;
|
|
||||||
unsigned int cmd_len = 0;
|
|
||||||
char *cmd = NULL;
|
|
||||||
47
debian/patches/542_useradd-O_option
vendored
47
debian/patches/542_useradd-O_option
vendored
@@ -1,47 +0,0 @@
|
|||||||
Goal: accepts the -O flag for backward compatibility. (was used by adduser?)
|
|
||||||
|
|
||||||
Note: useradd.8 needs to be regenerated.
|
|
||||||
|
|
||||||
Status wrt upstream: not included as this is just specific
|
|
||||||
backward compatibility for Debian
|
|
||||||
|
|
||||||
Index: shadow-4.4/man/useradd.8.xml
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/man/useradd.8.xml
|
|
||||||
+++ shadow-4.4/man/useradd.8.xml
|
|
||||||
@@ -329,6 +329,11 @@
|
|
||||||
databases are reset to avoid reusing the entry from a previously
|
|
||||||
deleted user.
|
|
||||||
</para>
|
|
||||||
+ <para>
|
|
||||||
+ For the compatibility with previous Debian's
|
|
||||||
+ <command>useradd</command>, the <option>-O</option> option is
|
|
||||||
+ also supported.
|
|
||||||
+ </para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
Index: shadow-4.4/src/useradd.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/useradd.c
|
|
||||||
+++ shadow-4.4/src/useradd.c
|
|
||||||
@@ -1056,9 +1056,9 @@ static void process_flags (int argc, cha
|
|
||||||
};
|
|
||||||
while ((c = getopt_long (argc, argv,
|
|
||||||
#ifdef WITH_SELINUX
|
|
||||||
- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:UZ:",
|
|
||||||
+ "b:c:d:De:f:g:G:hk:O:K:lmMNop:rR:s:u:UZ:",
|
|
||||||
#else /* !WITH_SELINUX */
|
|
||||||
- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:U",
|
|
||||||
+ "b:c:d:De:f:g:G:hk:O:K:lmMNop:rR:s:u:U",
|
|
||||||
#endif /* !WITH_SELINUX */
|
|
||||||
long_options, NULL)) != -1) {
|
|
||||||
switch (c) {
|
|
||||||
@@ -1181,6 +1181,7 @@ static void process_flags (int argc, cha
|
|
||||||
kflg = true;
|
|
||||||
break;
|
|
||||||
case 'K':
|
|
||||||
+ case 'O': /* compatibility with previous Debian useradd */
|
|
||||||
/*
|
|
||||||
* override login.defs defaults (-K name=value)
|
|
||||||
* example: -K UID_MIN=100 -K UID_MAX=499
|
|
||||||
81
debian/patches/900_testsuite_groupmems
vendored
81
debian/patches/900_testsuite_groupmems
vendored
@@ -1,81 +0,0 @@
|
|||||||
--- a/debian/passwd.install
|
|
||||||
+++ b/debian/passwd.install
|
|
||||||
@@ -9,6 +9,7 @@
|
|
||||||
usr/sbin/cppw
|
|
||||||
usr/sbin/groupadd
|
|
||||||
usr/sbin/groupdel
|
|
||||||
+usr/sbin/groupmems
|
|
||||||
usr/sbin/groupmod
|
|
||||||
usr/sbin/grpck
|
|
||||||
usr/sbin/grpconv
|
|
||||||
@@ -33,6 +34,7 @@
|
|
||||||
usr/share/man/*/man8/chpasswd.8
|
|
||||||
usr/share/man/*/man8/groupadd.8
|
|
||||||
usr/share/man/*/man8/groupdel.8
|
|
||||||
+usr/share/man/*/man8/groupmems.8
|
|
||||||
usr/share/man/*/man8/groupmod.8
|
|
||||||
usr/share/man/*/man8/grpck.8
|
|
||||||
usr/share/man/*/man8/grpconv.8
|
|
||||||
@@ -59,6 +61,7 @@
|
|
||||||
usr/share/man/man8/chpasswd.8
|
|
||||||
usr/share/man/man8/groupadd.8
|
|
||||||
usr/share/man/man8/groupdel.8
|
|
||||||
+usr/share/man/man8/groupmems.8
|
|
||||||
usr/share/man/man8/groupmod.8
|
|
||||||
usr/share/man/man8/grpck.8
|
|
||||||
usr/share/man/man8/grpconv.8
|
|
||||||
--- a/debian/passwd.postinst
|
|
||||||
+++ b/debian/passwd.postinst
|
|
||||||
@@ -31,6 +31,24 @@
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
+ if ! getent group groupmems | grep -q '^groupmems:[^:]*:99'
|
|
||||||
+ then
|
|
||||||
+ groupadd -g 99 groupmems || (
|
|
||||||
+ cat <<EOF
|
|
||||||
+************************ TESTSUITE *****************************
|
|
||||||
+Group ID 99 has been allocated for the groupmems group. You have either
|
|
||||||
+used 99 yourself or created a groupmems group with a different ID.
|
|
||||||
+Please correct this problem and reconfigure with ``dpkg --configure passwd''.
|
|
||||||
+
|
|
||||||
+Note that both user and group IDs in the range 0-99 are globally
|
|
||||||
+allocated by the Debian project and must be the same on every Debian
|
|
||||||
+system.
|
|
||||||
+EOF
|
|
||||||
+ exit 1
|
|
||||||
+ )
|
|
||||||
+# FIXME
|
|
||||||
+ chgrp groupmems /usr/sbin/groupmems
|
|
||||||
+ fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
--- a/debian/rules
|
|
||||||
+++ b/debian/rules
|
|
||||||
@@ -60,6 +60,7 @@
|
|
||||||
dh_installpam -p passwd --name=chsh
|
|
||||||
dh_installpam -p passwd --name=chpasswd
|
|
||||||
dh_installpam -p passwd --name=newusers
|
|
||||||
+ dh_installpam -p passwd --name=groupmems
|
|
||||||
ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
|
||||||
# login is not built on The Hurd, but some utilities of passwd depends on
|
|
||||||
# /etc/login.defs.
|
|
||||||
@@ -87,3 +88,6 @@
|
|
||||||
chgrp shadow debian/passwd/usr/bin/expiry
|
|
||||||
chmod g+s debian/passwd/usr/bin/chage
|
|
||||||
chmod g+s debian/passwd/usr/bin/expiry
|
|
||||||
+ chgrp groupmems debian/passwd/usr/sbin/groupmems
|
|
||||||
+ chmod u+s debian/passwd/usr/sbin/groupmems
|
|
||||||
+ chmod o-x debian/passwd/usr/sbin/groupmems
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/debian/passwd.groupmems.pam
|
|
||||||
@@ -0,0 +1,8 @@
|
|
||||||
+# The PAM configuration file for the Shadow 'groupmod' service
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+# This allows root to modify groups without being prompted for a password
|
|
||||||
+auth sufficient pam_rootok.so
|
|
||||||
+
|
|
||||||
+@include common-auth
|
|
||||||
+@include common-account
|
|
||||||
76
debian/patches/901_testsuite_gcov
vendored
76
debian/patches/901_testsuite_gcov
vendored
@@ -1,76 +0,0 @@
|
|||||||
--- a/lib/Makefile.am
|
|
||||||
+++ b/lib/Makefile.am
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = 1.0 foreign
|
|
||||||
|
|
||||||
+CFLAGS += -fprofile-arcs -ftest-coverage
|
|
||||||
+
|
|
||||||
DEFS =
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libshadow.la
|
|
||||||
--- a/libmisc/Makefile.am
|
|
||||||
+++ b/libmisc/Makefile.am
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
|
|
||||||
EXTRA_DIST = .indent.pro xgetXXbyYY.c
|
|
||||||
|
|
||||||
+CFLAGS += -fprofile-arcs -ftest-coverage
|
|
||||||
+
|
|
||||||
INCLUDES = -I$(top_srcdir)/lib
|
|
||||||
|
|
||||||
noinst_LIBRARIES = libmisc.a
|
|
||||||
--- a/src/Makefile.am
|
|
||||||
+++ b/src/Makefile.am
|
|
||||||
@@ -7,6 +7,8 @@
|
|
||||||
suidperms = 4755
|
|
||||||
sgidperms = 2755
|
|
||||||
|
|
||||||
+CFLAGS += -fprofile-arcs -ftest-coverage
|
|
||||||
+
|
|
||||||
INCLUDES = \
|
|
||||||
-I${top_srcdir}/lib \
|
|
||||||
-I$(top_srcdir)/libmisc
|
|
||||||
--- a/debian/rules
|
|
||||||
+++ b/debian/rules
|
|
||||||
@@ -40,6 +40,12 @@
|
|
||||||
endif
|
|
||||||
export CFLAGS
|
|
||||||
|
|
||||||
+clean:: clean_gcov
|
|
||||||
+
|
|
||||||
+clean_gcov:
|
|
||||||
+ find . -name "*.gcda" -delete
|
|
||||||
+ find . -name "*.gcno" -delete
|
|
||||||
+
|
|
||||||
# Add extras to the install process:
|
|
||||||
binary-install/login::
|
|
||||||
dh_installpam -p login
|
|
||||||
--- a/lib/defines.h
|
|
||||||
+++ b/lib/defines.h
|
|
||||||
@@ -174,23 +174,9 @@
|
|
||||||
trust the formatted time received from the unix domain (or worse,
|
|
||||||
UDP) socket. -MM */
|
|
||||||
/* Avoid translated PAM error messages: Set LC_ALL to "C".
|
|
||||||
+ * This is disabled for coverage testing
|
|
||||||
* --Nekral */
|
|
||||||
-#define SYSLOG(x) \
|
|
||||||
- do { \
|
|
||||||
- char *old_locale = setlocale (LC_ALL, NULL); \
|
|
||||||
- char *saved_locale = NULL; \
|
|
||||||
- if (NULL != old_locale) { \
|
|
||||||
- saved_locale = strdup (old_locale); \
|
|
||||||
- } \
|
|
||||||
- if (NULL != saved_locale) { \
|
|
||||||
- (void) setlocale (LC_ALL, "C"); \
|
|
||||||
- } \
|
|
||||||
- syslog x ; \
|
|
||||||
- if (NULL != saved_locale) { \
|
|
||||||
- (void) setlocale (LC_ALL, saved_locale); \
|
|
||||||
- free (saved_locale); \
|
|
||||||
- } \
|
|
||||||
- } while (false)
|
|
||||||
+#define SYSLOG(x) syslog x
|
|
||||||
#else /* !ENABLE_NLS */
|
|
||||||
#define SYSLOG(x) syslog x
|
|
||||||
#endif /* !ENABLE_NLS */
|
|
||||||
73
debian/patches/README.patches
vendored
73
debian/patches/README.patches
vendored
@@ -1,73 +0,0 @@
|
|||||||
Small intro to the system for numbering the patches here...
|
|
||||||
|
|
||||||
-The 00xx-... patches are forwarded to upstream's git repository
|
|
||||||
|
|
||||||
-The 0xx_... series of patches are patches isolated from the latest
|
|
||||||
version of the shadow Debian package not using quilt in order to
|
|
||||||
separate upstream from Debian-specific stuff.
|
|
||||||
|
|
||||||
NO MORE PATCHES SHOULD BE ADDED IN THESE SERIES
|
|
||||||
|
|
||||||
-The 1xx series are l10n patches to upstream 4.0.18.1. As upstream has
|
|
||||||
adopted Debian translations, it is very likely that these patches
|
|
||||||
will become useless when we will have synced with upstream
|
|
||||||
|
|
||||||
-The 2xx series are patches for manual pages translations to upstream
|
|
||||||
4.0.18.1.
|
|
||||||
|
|
||||||
-The 3xx series are patches which have been temporarily applied to
|
|
||||||
Debian's shadow while we *know* they have been applied upstream as well
|
|
||||||
These patches should NOT be kept when we will sync with upstream
|
|
||||||
|
|
||||||
-The 4xx series are patches which have been applied to Debian's shadow
|
|
||||||
and have NOT been accepted and/or applied upstream. These patches MUST be kept
|
|
||||||
even after resynced with upstream
|
|
||||||
|
|
||||||
-The 5xx series are patches which are applied to Debian's shadow
|
|
||||||
and will never be proposed upstream because they're too specific
|
|
||||||
This list SHOULD BE AS SHORT AS POSSIBLE
|
|
||||||
|
|
||||||
In short, while we are working towards synchronisation with upstream,
|
|
||||||
our goal is to make 0xx patches disappear by moving them either to 3xx
|
|
||||||
series (things already implemented upstream) or to 4xx series
|
|
||||||
(Debian-specific patches).
|
|
||||||
|
|
||||||
|
|
||||||
Short HOWTO for quilt
|
|
||||||
=====================
|
|
||||||
|
|
||||||
The quilt system can be assimilated to a Pile Of Patches management system.
|
|
||||||
Patches live in debian/patches, the working directory is "."
|
|
||||||
|
|
||||||
The basic commands are (abbreviation accepted):
|
|
||||||
quilt push (asks to apply the next patch in the pile)
|
|
||||||
quilt pop (removes the current patch and go up in the pile)
|
|
||||||
quilt refresh (take the current changes in tree onto the patch)
|
|
||||||
|
|
||||||
When a file is changed by a patch, quilt saves it somewhere under .pc on
|
|
||||||
application. This is how it can refresh it afterward (comparing the version
|
|
||||||
in .pc and the one you currently have in your working dir).
|
|
||||||
|
|
||||||
There are three common pitfalls with quilt:
|
|
||||||
- doing "quilt pop" without doing "quilt refresh". The version of current
|
|
||||||
dir is replaced with the version of the .pc dir. Your changes are lost.
|
|
||||||
Quilt wont let you do so, but you can force it with '-f' if you're fool.
|
|
||||||
- editing a file with is not in the patch yet. Quilt didn't do any previous
|
|
||||||
backup.
|
|
||||||
Use "quilt add" to add files to patches.
|
|
||||||
Set $EDITOR and use "quilt edit" to edit a file, and add it onto the
|
|
||||||
patch if needed.
|
|
||||||
- If you update your working directory, patches may not revert cleanly.
|
|
||||||
It is thus recommended to use "quilt pop -a" before updating with
|
|
||||||
"svn up".
|
|
||||||
If you forget (and run into trouble), you may want to remove the whole
|
|
||||||
shadow-?.?.? directory. If you use the makefile which is in the upper
|
|
||||||
directory (trunk/), shadow-?.?.?/debian/patches is a link to
|
|
||||||
debian/patches, so this dirctory does not contain any valuable info.
|
|
||||||
|
|
||||||
The documentation is quite well done, I think. "quilt -h" will list you the
|
|
||||||
commands. "quilt <cmd> -h" will give you some hints about it. "man quilt" is
|
|
||||||
a reference documentation. /usr/share/doc/quilt/quilt.pdf.gz is a complete
|
|
||||||
manual, with tutorial.
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,12 +1,183 @@
|
|||||||
Goal: Document the shadowconfig utility
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Document the shadowconfig utility
|
||||||
|
|
||||||
Status wrt upstream: The shadowconfig utility is debian specific.
|
Status wrt upstream: The shadowconfig utility is debian specific.
|
||||||
Its man page also (but it used to be distributed)
|
Its man page also (but it used to be distributed)
|
||||||
|
---
|
||||||
|
man/Makefile.am | 2 ++
|
||||||
|
man/fr/Makefile.am | 1 +
|
||||||
|
man/fr/man8/shadowconfig.8 | 26 +++++++++++++++++++++++
|
||||||
|
man/ja/Makefile.am | 1 +
|
||||||
|
man/ja/man8/shadowconfig.8 | 25 ++++++++++++++++++++++
|
||||||
|
man/pl/Makefile.am | 1 +
|
||||||
|
man/pl/man8/shadowconfig.8 | 27 ++++++++++++++++++++++++
|
||||||
|
man/shadowconfig.8 | 41 ++++++++++++++++++++++++++++++++++++
|
||||||
|
man/shadowconfig.8.xml | 52 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
9 files changed, 176 insertions(+)
|
||||||
|
create mode 100644 man/fr/man8/shadowconfig.8
|
||||||
|
create mode 100644 man/ja/man8/shadowconfig.8
|
||||||
|
create mode 100644 man/pl/man8/shadowconfig.8
|
||||||
|
create mode 100644 man/shadowconfig.8
|
||||||
|
create mode 100644 man/shadowconfig.8.xml
|
||||||
|
|
||||||
Index: git/man/shadowconfig.8
|
diff --git a/man/Makefile.am b/man/Makefile.am
|
||||||
===================================================================
|
index 83b1d68..dab98f4 100644
|
||||||
|
--- a/man/Makefile.am
|
||||||
|
+++ b/man/Makefile.am
|
||||||
|
@@ -37,6 +37,7 @@ man_MANS = \
|
||||||
|
man8/pwck.8 \
|
||||||
|
man8/pwconv.8 \
|
||||||
|
man8/pwunconv.8 \
|
||||||
|
+ man8/shadowconfig.8 \
|
||||||
|
man1/sg.1 \
|
||||||
|
man3/shadow.3 \
|
||||||
|
man5/shadow.5 \
|
||||||
|
@@ -108,6 +109,7 @@ man_XMANS = \
|
||||||
|
porttime.5.xml \
|
||||||
|
pwck.8.xml \
|
||||||
|
pwconv.8.xml \
|
||||||
|
+ shadowconfig.8.xml \
|
||||||
|
shadow.3.xml \
|
||||||
|
shadow.5.xml \
|
||||||
|
sg.1.xml \
|
||||||
|
diff --git a/man/fr/Makefile.am b/man/fr/Makefile.am
|
||||||
|
index 335e029..78aee9a 100644
|
||||||
|
--- a/man/fr/Makefile.am
|
||||||
|
+++ b/man/fr/Makefile.am
|
||||||
|
@@ -32,6 +32,7 @@ man_MANS = \
|
||||||
|
man8/pwck.8 \
|
||||||
|
man8/pwconv.8 \
|
||||||
|
man8/pwunconv.8 \
|
||||||
|
+ man8/shadowconfig.8 \
|
||||||
|
man1/sg.1 \
|
||||||
|
man3/shadow.3 \
|
||||||
|
man5/shadow.5 \
|
||||||
|
diff --git a/man/fr/man8/shadowconfig.8 b/man/fr/man8/shadowconfig.8
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..784da70
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ git/man/shadowconfig.8
|
+++ b/man/fr/man8/shadowconfig.8
|
||||||
|
@@ -0,0 +1,26 @@
|
||||||
|
+.\" This file was generated with po4a. Translate the source file.
|
||||||
|
+.\"
|
||||||
|
+.\"$Id: shadowconfig.8,v 1.4 2001/08/23 23:10:48 kloczek Exp $
|
||||||
|
+.TH SHADOWCONFIG 8 "19 avril 1997" "Debian GNU/Linux"
|
||||||
|
+.SH NOM
|
||||||
|
+shadowconfig \- active ou désactive les mots de passe cachés
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+\fBshadowconfig\fP \fIon\fP | \fIoff\fP
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+.PP
|
||||||
|
+\fBshadowconfig on\fP active les mots de passe cachés («\ shadow passwords\ »)\ ; \fBshadowconfig off\fP les désactive. \fBShadowconfig\fP affiche un message
|
||||||
|
+d'erreur et quitte avec une valeur de retour non nulle s'il rencontre
|
||||||
|
+quelque chose d'inattendu. Dans ce cas, vous devrez corriger l'erreur avant
|
||||||
|
+de recommencer.
|
||||||
|
+
|
||||||
|
+Activer les mots de passe cachés lorsqu'ils sont déjà activés, ou les
|
||||||
|
+désactiver lorsqu'ils ne sont pas actifs est sans effet.
|
||||||
|
+
|
||||||
|
+Lisez \fI/usr/share/doc/passwd/README.Debian\fP pour une brève introduction aux
|
||||||
|
+mots de passe cachés et à leurs fonctionnalités.
|
||||||
|
+
|
||||||
|
+Notez que désactiver puis réactiver les mots de passe cachés aura pour
|
||||||
|
+conséquence la perte des informations d'âge sur les mots de passe.
|
||||||
|
+.SH TRADUCTION
|
||||||
|
+Nicolas FRANÇOIS, 2004.
|
||||||
|
+Veuillez signaler toute erreur à <\fIdebian\-l10\-french@lists.debian.org\fR>.
|
||||||
|
diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am
|
||||||
|
index 13f18da..c72097f 100644
|
||||||
|
--- a/man/ja/Makefile.am
|
||||||
|
+++ b/man/ja/Makefile.am
|
||||||
|
@@ -27,6 +27,7 @@ man_MANS = \
|
||||||
|
man8/pwck.8 \
|
||||||
|
man8/pwconv.8 \
|
||||||
|
man8/pwunconv.8 \
|
||||||
|
+ man8/shadowconfig.8 \
|
||||||
|
man1/sg.1 \
|
||||||
|
man5/shadow.5 \
|
||||||
|
man1/su.1 \
|
||||||
|
diff --git a/man/ja/man8/shadowconfig.8 b/man/ja/man8/shadowconfig.8
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..a75c6f7
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/ja/man8/shadowconfig.8
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+.\" all right reserved,
|
||||||
|
+.\" Translated Tue Oct 30 11:59:11 JST 2001
|
||||||
|
+.\" by Maki KURODA <mkuroda@aisys-jp.com>
|
||||||
|
+.\"
|
||||||
|
+.TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux"
|
||||||
|
+.SH 名前
|
||||||
|
+shadowconfig \- shadow パスワードの設定をオン及びオフに切替える
|
||||||
|
+.SH 書式
|
||||||
|
+.B "shadowconfig"
|
||||||
|
+.IR on " | " off
|
||||||
|
+.SH 説明
|
||||||
|
+.PP
|
||||||
|
+.B shadowconfig on
|
||||||
|
+は shadow パスワードを有効にする。
|
||||||
|
+.B shadowconfig off
|
||||||
|
+は shadow パスワードを無効にする。
|
||||||
|
+.B shadowconfig
|
||||||
|
+は何らかの間違いがあると、エラーメッセージを表示し、
|
||||||
|
+ゼロではない返り値を返す。
|
||||||
|
+もしそのようなことが起こった場合、エラーを修正し、再度実行しなければならない。
|
||||||
|
+shadow パスワードの設定がすでにオンの場合にオンに設定したり、
|
||||||
|
+すでにオフの場合にオフに設定しても、何の影響もない。
|
||||||
|
+
|
||||||
|
+.I /usr/share/doc/passwd/README.debian.gz
|
||||||
|
+には shadow パスワードとそれに関する特徴の簡単な紹介が書かれている。
|
||||||
|
diff --git a/man/pl/Makefile.am b/man/pl/Makefile.am
|
||||||
|
index b2f096f..aa79af2 100644
|
||||||
|
--- a/man/pl/Makefile.am
|
||||||
|
+++ b/man/pl/Makefile.am
|
||||||
|
@@ -18,6 +18,7 @@ man_MANS = \
|
||||||
|
man8/logoutd.8 \
|
||||||
|
man1/newgrp.1 \
|
||||||
|
man1/sg.1 \
|
||||||
|
+ man8/shadowconfig.8 \
|
||||||
|
man3/shadow.3 \
|
||||||
|
man8/userdel.8 \
|
||||||
|
man8/usermod.8 \
|
||||||
|
diff --git a/man/pl/man8/shadowconfig.8 b/man/pl/man8/shadowconfig.8
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2016c9f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/pl/man8/shadowconfig.8
|
||||||
|
@@ -0,0 +1,27 @@
|
||||||
|
+.\" $Id: shadowconfig.8,v 1.3 2001/08/23 23:10:51 kloczek Exp $
|
||||||
|
+.\" {PTM/WK/1999-09-14}
|
||||||
|
+.TH SHADOWCONFIG 8 "19 kwietnia 1997" "Debian GNU/Linux"
|
||||||
|
+.SH NAZWA
|
||||||
|
+shadowconfig - przełącza ochronę haseł i grup przez pliki shadow
|
||||||
|
+.SH SKŁADNIA
|
||||||
|
+.B "shadowconfig"
|
||||||
|
+.IR on " | " off
|
||||||
|
+.SH OPIS
|
||||||
|
+.PP
|
||||||
|
+.B shadowconfig on
|
||||||
|
+włącza ochronę haseł i grup przez dodatkowe, przesłaniane pliki (shadow);
|
||||||
|
+.B shadowconfig off
|
||||||
|
+wyłącza dodatkowe pliki haseł i grup.
|
||||||
|
+.B shadowconfig
|
||||||
|
+wyświetla komunikat o błędzie i kończy pracę z niezerowym kodem jeśli
|
||||||
|
+znajdzie coś nieprawidłowego. W takim wypadku powinieneś poprawić błąd
|
||||||
|
+.\" if it finds anything awry.
|
||||||
|
+i uruchomić program ponownie.
|
||||||
|
+
|
||||||
|
+Włączenie ochrony haseł, gdy jest ona już włączona lub jej wyłączenie,
|
||||||
|
+gdy jest wyłączona jest nieszkodliwe.
|
||||||
|
+
|
||||||
|
+Przeczytaj
|
||||||
|
+.IR /usr/share/doc/passwd/README.debian.gz ,
|
||||||
|
+gdzie znajdziesz krótkie wprowadzenie do ochrony haseł z użyciem dodatkowych
|
||||||
|
+plików haseł przesłanianych (shadow passwords) i związanych tematów.
|
||||||
|
diff --git a/man/shadowconfig.8 b/man/shadowconfig.8
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..c0ee0af
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/shadowconfig.8
|
||||||
@@ -0,0 +1,41 @@
|
@@ -0,0 +1,41 @@
|
||||||
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
|
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
|
||||||
+.de Sh \" Subsection
|
+.de Sh \" Subsection
|
||||||
@@ -49,10 +220,11 @@ Index: git/man/shadowconfig.8
|
|||||||
+.PP
|
+.PP
|
||||||
+Note that turning shadow passwords off and on again will lose all password aging information\&.
|
+Note that turning shadow passwords off and on again will lose all password aging information\&.
|
||||||
+
|
+
|
||||||
Index: git/man/shadowconfig.8.xml
|
diff --git a/man/shadowconfig.8.xml b/man/shadowconfig.8.xml
|
||||||
===================================================================
|
new file mode 100644
|
||||||
|
index 0000000..b4080ea
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ git/man/shadowconfig.8.xml
|
+++ b/man/shadowconfig.8.xml
|
||||||
@@ -0,0 +1,52 @@
|
@@ -0,0 +1,52 @@
|
||||||
+<?xml version="1.0" encoding="UTF-8"?>
|
+<?xml version="1.0" encoding="UTF-8"?>
|
||||||
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||||
@@ -106,96 +278,3 @@ Index: git/man/shadowconfig.8.xml
|
|||||||
+ </para>
|
+ </para>
|
||||||
+ </refsect1>
|
+ </refsect1>
|
||||||
+</refentry>
|
+</refentry>
|
||||||
Index: git/man/fr/shadowconfig.8
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ git/man/fr/shadowconfig.8
|
|
||||||
@@ -0,0 +1,26 @@
|
|
||||||
+.\" This file was generated with po4a. Translate the source file.
|
|
||||||
+.\"
|
|
||||||
+.\"$Id: shadowconfig.8,v 1.4 2001/08/23 23:10:48 kloczek Exp $
|
|
||||||
+.TH SHADOWCONFIG 8 "19 avril 1997" "Debian GNU/Linux"
|
|
||||||
+.SH NOM
|
|
||||||
+shadowconfig \- active ou désactive les mots de passe cachés
|
|
||||||
+.SH SYNOPSIS
|
|
||||||
+\fBshadowconfig\fP \fIon\fP | \fIoff\fP
|
|
||||||
+.SH DESCRIPTION
|
|
||||||
+.PP
|
|
||||||
+\fBshadowconfig on\fP active les mots de passe cachés («\ shadow passwords\ »)\ ; \fBshadowconfig off\fP les désactive. \fBShadowconfig\fP affiche un message
|
|
||||||
+d'erreur et quitte avec une valeur de retour non nulle s'il rencontre
|
|
||||||
+quelque chose d'inattendu. Dans ce cas, vous devrez corriger l'erreur avant
|
|
||||||
+de recommencer.
|
|
||||||
+
|
|
||||||
+Activer les mots de passe cachés lorsqu'ils sont déjà activés, ou les
|
|
||||||
+désactiver lorsqu'ils ne sont pas actifs est sans effet.
|
|
||||||
+
|
|
||||||
+Lisez \fI/usr/share/doc/passwd/README.Debian\fP pour une brève introduction aux
|
|
||||||
+mots de passe cachés et à leurs fonctionnalités.
|
|
||||||
+
|
|
||||||
+Notez que désactiver puis réactiver les mots de passe cachés aura pour
|
|
||||||
+conséquence la perte des informations d'âge sur les mots de passe.
|
|
||||||
+.SH TRADUCTION
|
|
||||||
+Nicolas FRANÇOIS, 2004.
|
|
||||||
+Veuillez signaler toute erreur à <\fIdebian\-l10\-french@lists.debian.org\fR>.
|
|
||||||
Index: git/man/ja/shadowconfig.8
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ git/man/ja/shadowconfig.8
|
|
||||||
@@ -0,0 +1,25 @@
|
|
||||||
+.\" all right reserved,
|
|
||||||
+.\" Translated Tue Oct 30 11:59:11 JST 2001
|
|
||||||
+.\" by Maki KURODA <mkuroda@aisys-jp.com>
|
|
||||||
+.\"
|
|
||||||
+.TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux"
|
|
||||||
+.SH 名前
|
|
||||||
+shadowconfig \- shadow パスワードの設定をオン及びオフに切替える
|
|
||||||
+.SH 書式
|
|
||||||
+.B "shadowconfig"
|
|
||||||
+.IR on " | " off
|
|
||||||
+.SH 説明
|
|
||||||
+.PP
|
|
||||||
+.B shadowconfig on
|
|
||||||
+は shadow パスワードを有効にする。
|
|
||||||
+.B shadowconfig off
|
|
||||||
+は shadow パスワードを無効にする。
|
|
||||||
+.B shadowconfig
|
|
||||||
+は何らかの間違いがあると、エラーメッセージを表示し、
|
|
||||||
+ゼロではない返り値を返す。
|
|
||||||
+もしそのようなことが起こった場合、エラーを修正し、再度実行しなければならない。
|
|
||||||
+shadow パスワードの設定がすでにオンの場合にオンに設定したり、
|
|
||||||
+すでにオフの場合にオフに設定しても、何の影響もない。
|
|
||||||
+
|
|
||||||
+.I /usr/share/doc/passwd/README.debian.gz
|
|
||||||
+には shadow パスワードとそれに関する特徴の簡単な紹介が書かれている。
|
|
||||||
Index: git/man/pl/shadowconfig.8
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ git/man/pl/shadowconfig.8
|
|
||||||
@@ -0,0 +1,27 @@
|
|
||||||
+.\" $Id: shadowconfig.8,v 1.3 2001/08/23 23:10:51 kloczek Exp $
|
|
||||||
+.\" {PTM/WK/1999-09-14}
|
|
||||||
+.TH SHADOWCONFIG 8 "19 kwietnia 1997" "Debian GNU/Linux"
|
|
||||||
+.SH NAZWA
|
|
||||||
+shadowconfig - przełącza ochronę haseł i grup przez pliki shadow
|
|
||||||
+.SH SKŁADNIA
|
|
||||||
+.B "shadowconfig"
|
|
||||||
+.IR on " | " off
|
|
||||||
+.SH OPIS
|
|
||||||
+.PP
|
|
||||||
+.B shadowconfig on
|
|
||||||
+włącza ochronę haseł i grup przez dodatkowe, przesłaniane pliki (shadow);
|
|
||||||
+.B shadowconfig off
|
|
||||||
+wyłącza dodatkowe pliki haseł i grup.
|
|
||||||
+.B shadowconfig
|
|
||||||
+wyświetla komunikat o błędzie i kończy pracę z niezerowym kodem jeśli
|
|
||||||
+znajdzie coś nieprawidłowego. W takim wypadku powinieneś poprawić błąd
|
|
||||||
+.\" if it finds anything awry.
|
|
||||||
+i uruchomić program ponownie.
|
|
||||||
+
|
|
||||||
+Włączenie ochrony haseł, gdy jest ona już włączona lub jej wyłączenie,
|
|
||||||
+gdy jest wyłączona jest nieszkodliwe.
|
|
||||||
+
|
|
||||||
+Przeczytaj
|
|
||||||
+.IR /usr/share/doc/passwd/README.debian.gz ,
|
|
||||||
+gdzie znajdziesz krótkie wprowadzenie do ochrony haseł z użyciem dodatkowych
|
|
||||||
+plików haseł przesłanianych (shadow passwords) i związanych tematów.
|
|
||||||
52
debian/patches/debian/Keep-using-Debian-adduser-defaults.patch
vendored
Normal file
52
debian/patches/debian/Keep-using-Debian-adduser-defaults.patch
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
From: Balint Reczey <balint@balintreczey.hu>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Keep using Debian's adduser defaults
|
||||||
|
|
||||||
|
Bug: https://github.com/shadow-maint/shadow/issues/501
|
||||||
|
Bug-Debian: https://bugs.debian.org/1004710
|
||||||
|
Forwarded: not-needed
|
||||||
|
|
||||||
|
Upstream's bbf4b79bc49fd1826eb41f6629669ef0b647267b commit
|
||||||
|
in 4.9 merged those values from upstream's default configuration file
|
||||||
|
which is not shipped in Debian.
|
||||||
|
This patch keeps the program's compiled in defaults in sync with the
|
||||||
|
configuration files shipped in Debian (debian/default/useradd).
|
||||||
|
---
|
||||||
|
man/useradd.8.xml | 2 +-
|
||||||
|
src/useradd.c | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
|
||||||
|
index 001e7d1..4888100 100644
|
||||||
|
--- a/man/useradd.8.xml
|
||||||
|
+++ b/man/useradd.8.xml
|
||||||
|
@@ -248,7 +248,7 @@
|
||||||
|
command line), useradd will set the primary group of the new
|
||||||
|
user to the value specified by the <option>GROUP</option>
|
||||||
|
variable in <filename>/etc/default/useradd</filename>, or
|
||||||
|
- 1000 by default.
|
||||||
|
+ 100 by default.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
diff --git a/src/useradd.c b/src/useradd.c
|
||||||
|
index 347334a..ac43edd 100644
|
||||||
|
--- a/src/useradd.c
|
||||||
|
+++ b/src/useradd.c
|
||||||
|
@@ -91,14 +91,14 @@ static const char Prog[] = "useradd";
|
||||||
|
/*
|
||||||
|
* These defaults are used if there is no defaults file.
|
||||||
|
*/
|
||||||
|
-static gid_t def_group = 1000;
|
||||||
|
+static gid_t def_group = 100;
|
||||||
|
static const char *def_groups = "";
|
||||||
|
static const char *def_gname = "other";
|
||||||
|
static const char *def_home = "/home";
|
||||||
|
static const char *def_shell = "/bin/bash";
|
||||||
|
static const char *def_template = SKEL_DIR;
|
||||||
|
static const char *def_usrtemplate = USRSKELDIR;
|
||||||
|
-static const char *def_create_mail_spool = "yes";
|
||||||
|
+static const char *def_create_mail_spool = "no";
|
||||||
|
static const char *def_log_init = "yes";
|
||||||
|
|
||||||
|
static long def_inactive = -1;
|
||||||
@@ -1,33 +1,50 @@
|
|||||||
Goal: Do not hardcode pam_fail_delay and let pam_unix do its
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
job to set a delay...or not
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Let pam_unix handle login failure delays
|
||||||
|
|
||||||
Fixes: #87648
|
Fixes: #87648
|
||||||
|
|
||||||
Status wrt upstream: Forwarded but not applied yet
|
Status wrt upstream: Forwarded but not applied yet
|
||||||
|
|
||||||
Note: If removed, FAIL_DELAY must be re-added to /etc/login.defs
|
Note: If removed, FAIL_DELAY must be re-added to /etc/login.defs
|
||||||
|
---
|
||||||
|
lib/getdef.c | 1 -
|
||||||
|
src/login.c | 19 +++++--------------
|
||||||
|
2 files changed, 5 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
Index: shadow-4.4/src/login.c
|
diff --git a/lib/getdef.c b/lib/getdef.c
|
||||||
===================================================================
|
index 30f54ba..21307bb 100644
|
||||||
--- shadow-4.4.orig/src/login.c
|
--- a/lib/getdef.c
|
||||||
+++ shadow-4.4/src/login.c
|
+++ b/lib/getdef.c
|
||||||
@@ -525,7 +525,6 @@ int main (int argc, char **argv)
|
@@ -84,7 +84,6 @@ static struct itemdef def_table[] = {
|
||||||
#if defined(HAVE_STRFTIME) && !defined(USE_PAM)
|
{"ENV_PATH", NULL},
|
||||||
char ptime[80];
|
{"ENV_SUPATH", NULL},
|
||||||
#endif
|
{"ERASECHAR", NULL},
|
||||||
- unsigned int delay;
|
- {"FAIL_DELAY", NULL},
|
||||||
unsigned int retries;
|
{"FAKE_SHELL", NULL},
|
||||||
bool subroot = false;
|
{"GID_MAX", NULL},
|
||||||
#ifndef USE_PAM
|
{"GID_MIN", NULL},
|
||||||
@@ -546,6 +545,7 @@ int main (int argc, char **argv)
|
diff --git a/src/login.c b/src/login.c
|
||||||
pid_t child;
|
index 9fed7b3..a5512d1 100644
|
||||||
char *pam_user = NULL;
|
--- a/src/login.c
|
||||||
|
+++ b/src/login.c
|
||||||
|
@@ -490,7 +490,6 @@ int main (int argc, char **argv)
|
||||||
|
const char *tmptty;
|
||||||
|
const char *cp;
|
||||||
|
const char *tmp;
|
||||||
|
- unsigned int delay;
|
||||||
|
unsigned int retries;
|
||||||
|
unsigned int timeout;
|
||||||
|
struct passwd *pwd = NULL;
|
||||||
|
@@ -500,6 +499,7 @@ int main (int argc, char **argv)
|
||||||
|
char *pam_user = NULL;
|
||||||
|
pid_t child;
|
||||||
#else
|
#else
|
||||||
+ unsigned int delay;
|
+ unsigned int delay;
|
||||||
|
bool is_console;
|
||||||
struct spwd *spwd = NULL;
|
struct spwd *spwd = NULL;
|
||||||
#endif
|
# if defined(ENABLE_LASTLOG)
|
||||||
/*
|
@@ -669,7 +669,6 @@ int main (int argc, char **argv)
|
||||||
@@ -708,7 +708,6 @@ int main (int argc, char **argv)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
environ = newenvp; /* make new environment active */
|
environ = newenvp; /* make new environment active */
|
||||||
@@ -35,7 +52,7 @@ Index: shadow-4.4/src/login.c
|
|||||||
retries = getdef_unum ("LOGIN_RETRIES", RETRIES);
|
retries = getdef_unum ("LOGIN_RETRIES", RETRIES);
|
||||||
|
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
@@ -724,8 +723,7 @@ int main (int argc, char **argv)
|
@@ -685,8 +684,7 @@ int main (int argc, char **argv)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hostname & tty are either set to NULL or their correct values,
|
* hostname & tty are either set to NULL or their correct values,
|
||||||
@@ -45,7 +62,7 @@ Index: shadow-4.4/src/login.c
|
|||||||
*
|
*
|
||||||
* PAM_RHOST and PAM_TTY are used for authentication, only use
|
* PAM_RHOST and PAM_TTY are used for authentication, only use
|
||||||
* information coming from login or from the caller (e.g. no utmp)
|
* information coming from login or from the caller (e.g. no utmp)
|
||||||
@@ -734,10 +732,6 @@ int main (int argc, char **argv)
|
@@ -695,10 +693,6 @@ int main (int argc, char **argv)
|
||||||
PAM_FAIL_CHECK;
|
PAM_FAIL_CHECK;
|
||||||
retcode = pam_set_item (pamh, PAM_TTY, tty);
|
retcode = pam_set_item (pamh, PAM_TTY, tty);
|
||||||
PAM_FAIL_CHECK;
|
PAM_FAIL_CHECK;
|
||||||
@@ -55,8 +72,8 @@ Index: shadow-4.4/src/login.c
|
|||||||
-#endif
|
-#endif
|
||||||
/* if fflg, then the user has already been authenticated */
|
/* if fflg, then the user has already been authenticated */
|
||||||
if (!fflg) {
|
if (!fflg) {
|
||||||
unsigned int failcount = 0;
|
char hostn[256];
|
||||||
@@ -778,12 +772,6 @@ int main (int argc, char **argv)
|
@@ -736,12 +730,6 @@ int main (int argc, char **argv)
|
||||||
bool failed = false;
|
bool failed = false;
|
||||||
|
|
||||||
failcount++;
|
failcount++;
|
||||||
@@ -69,7 +86,7 @@ Index: shadow-4.4/src/login.c
|
|||||||
|
|
||||||
retcode = pam_authenticate (pamh, 0);
|
retcode = pam_authenticate (pamh, 0);
|
||||||
|
|
||||||
@@ -1106,14 +1094,17 @@ int main (int argc, char **argv)
|
@@ -1032,14 +1020,17 @@ int main (int argc, char **argv)
|
||||||
free (username);
|
free (username);
|
||||||
username = NULL;
|
username = NULL;
|
||||||
|
|
||||||
@@ -87,15 +104,3 @@ Index: shadow-4.4/src/login.c
|
|||||||
|
|
||||||
(void) puts (_("Login incorrect"));
|
(void) puts (_("Login incorrect"));
|
||||||
|
|
||||||
Index: shadow-4.4/lib/getdef.c
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/lib/getdef.c
|
|
||||||
+++ shadow-4.4/lib/getdef.c
|
|
||||||
@@ -85,7 +85,6 @@ static struct itemdef def_table[] = {
|
|
||||||
{"ENV_PATH", NULL},
|
|
||||||
{"ENV_SUPATH", NULL},
|
|
||||||
{"ERASECHAR", NULL},
|
|
||||||
- {"FAIL_DELAY", NULL},
|
|
||||||
{"FAILLOG_ENAB", NULL},
|
|
||||||
{"FAKE_SHELL", NULL},
|
|
||||||
{"FTMP_FILE", NULL},
|
|
||||||
@@ -1,40 +1,46 @@
|
|||||||
Goal: Recommend using adduser and deluser.
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Recommend using adduser and deluser
|
||||||
|
|
||||||
Fixes: #406046
|
Fixes: #406046
|
||||||
|
|
||||||
Status wrt upstream: Debian specific patch.
|
Status wrt upstream: Debian specific patch.
|
||||||
|
---
|
||||||
|
man/useradd.8.xml | 6 ++++++
|
||||||
|
man/userdel.8.xml | 6 ++++++
|
||||||
|
2 files changed, 12 insertions(+)
|
||||||
|
|
||||||
Index: git/man/useradd.8.xml
|
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
|
||||||
===================================================================
|
index 4888100..17987a6 100644
|
||||||
--- git.orig/man/useradd.8.xml
|
--- a/man/useradd.8.xml
|
||||||
+++ git/man/useradd.8.xml
|
+++ b/man/useradd.8.xml
|
||||||
@@ -105,6 +105,12 @@
|
@@ -82,6 +82,12 @@
|
||||||
|
|
||||||
<refsect1 id='description'>
|
<refsect1 id='description'>
|
||||||
<title>DESCRIPTION</title>
|
<title>DESCRIPTION</title>
|
||||||
<para>
|
+ <para>
|
||||||
+ <command>useradd</command> is a low level utility for adding
|
+ <command>useradd</command> is a low level utility for adding
|
||||||
+ users. On Debian, administrators should usually use
|
+ users. On Debian, administrators should usually use
|
||||||
+ <citerefentry><refentrytitle>adduser</refentrytitle>
|
+ <citerefentry><refentrytitle>adduser</refentrytitle>
|
||||||
+ <manvolnum>8</manvolnum></citerefentry> instead.
|
+ <manvolnum>8</manvolnum></citerefentry> instead.
|
||||||
+ </para>
|
+ </para>
|
||||||
+ <para>
|
<para>
|
||||||
When invoked without the <option>-D</option> option, the
|
When invoked without the <option>-D</option> option, the
|
||||||
<command>useradd</command> command creates a new user account using
|
<command>useradd</command> command creates a new user account using
|
||||||
the values specified on the command line plus the default values from
|
diff --git a/man/userdel.8.xml b/man/userdel.8.xml
|
||||||
Index: git/man/userdel.8.xml
|
index 5bd2981..384cc86 100644
|
||||||
===================================================================
|
--- a/man/userdel.8.xml
|
||||||
--- git.orig/man/userdel.8.xml
|
+++ b/man/userdel.8.xml
|
||||||
+++ git/man/userdel.8.xml
|
@@ -58,6 +58,12 @@
|
||||||
@@ -83,6 +83,12 @@
|
|
||||||
<refsect1 id='description'>
|
<refsect1 id='description'>
|
||||||
<title>DESCRIPTION</title>
|
<title>DESCRIPTION</title>
|
||||||
<para>
|
+ <para>
|
||||||
+ <command>userdel</command> is a low level utility for removing
|
+ <command>userdel</command> is a low level utility for removing
|
||||||
+ users. On Debian, administrators should usually use
|
+ users. On Debian, administrators should usually use
|
||||||
+ <citerefentry><refentrytitle>deluser</refentrytitle>
|
+ <citerefentry><refentrytitle>deluser</refentrytitle>
|
||||||
+ <manvolnum>8</manvolnum></citerefentry> instead.
|
+ <manvolnum>8</manvolnum></citerefentry> instead.
|
||||||
+ </para>
|
+ </para>
|
||||||
+ <para>
|
<para>
|
||||||
The <command>userdel</command> command modifies the system account
|
The <command>userdel</command> command modifies the system account
|
||||||
files, deleting all entries that refer to the user name <emphasis
|
files, deleting all entries that refer to the user name <emphasis
|
||||||
remap='I'>LOGIN</emphasis>. The named user must exist.
|
|
||||||
123
debian/patches/debian/Relax-usernames-groupnames-checking.patch
vendored
Normal file
123
debian/patches/debian/Relax-usernames-groupnames-checking.patch
vendored
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Relax usernames/groupnames checking
|
||||||
|
|
||||||
|
Allows any non-empty user/grounames that don't contain ':', ',' or '\n'
|
||||||
|
characters and don't start with '-', '+', or '~'. This patch is more
|
||||||
|
restrictive than original Karl's version. closes: #264879
|
||||||
|
Also closes: #377844
|
||||||
|
|
||||||
|
Comments from Karl Ramm (shadow 1:4.0.3-9, 20 Aug 2003 02:06:50 -0400):
|
||||||
|
|
||||||
|
I can't come up with a good justification as to why characters other
|
||||||
|
than ':'s and '\0's should be disallowed in group and usernames (other
|
||||||
|
than '-' as the leading character). Thus, the maintenance tools don't
|
||||||
|
anymore. closes: #79682, #166798, #171179
|
||||||
|
|
||||||
|
Status wrt upstream: Debian specific. Not to be used upstream
|
||||||
|
---
|
||||||
|
lib/chkname.c | 47 +++++++++++++++--------------------------------
|
||||||
|
man/groupadd.8.xml | 6 ++++++
|
||||||
|
man/useradd.8.xml | 8 ++++++++
|
||||||
|
3 files changed, 29 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/chkname.c b/lib/chkname.c
|
||||||
|
index 995562f..d9678c6 100644
|
||||||
|
--- a/lib/chkname.c
|
||||||
|
+++ b/lib/chkname.c
|
||||||
|
@@ -54,44 +54,27 @@ static bool is_valid_name (const char *name)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * User/group names must match BRE regex:
|
||||||
|
- * [a-zA-Z0-9_.][a-zA-Z0-9_.-]*$\?
|
||||||
|
- *
|
||||||
|
- * as a non-POSIX, extension, allow "$" as the last char for
|
||||||
|
- * sake of Samba 3.x "add machine script"
|
||||||
|
- *
|
||||||
|
- * Also do not allow fully numeric names or just "." or "..".
|
||||||
|
- */
|
||||||
|
- int numeric;
|
||||||
|
-
|
||||||
|
- if ('\0' == *name ||
|
||||||
|
- ('.' == *name && (('.' == name[1] && '\0' == name[2]) ||
|
||||||
|
- '\0' == name[1])) ||
|
||||||
|
- !((*name >= 'a' && *name <= 'z') ||
|
||||||
|
- (*name >= 'A' && *name <= 'Z') ||
|
||||||
|
- (*name >= '0' && *name <= '9') ||
|
||||||
|
- *name == '_' ||
|
||||||
|
- *name == '.')) {
|
||||||
|
+ * POSIX indicate that usernames are composed of characters from the
|
||||||
|
+ * portable filename character set [A-Za-z0-9._-], and that the hyphen
|
||||||
|
+ * should not be used as the first character of a portable user name.
|
||||||
|
+ *
|
||||||
|
+ * Allow more relaxed user/group names in Debian -- ^[^-~+:,\s][^:,\s]*$
|
||||||
|
+ */
|
||||||
|
+ if ( ('\0' == *name)
|
||||||
|
+ || ('-' == *name)
|
||||||
|
+ || ('~' == *name)
|
||||||
|
+ || ('+' == *name)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- numeric = isdigit(*name);
|
||||||
|
-
|
||||||
|
- while ('\0' != *++name) {
|
||||||
|
- if (!((*name >= 'a' && *name <= 'z') ||
|
||||||
|
- (*name >= 'A' && *name <= 'Z') ||
|
||||||
|
- (*name >= '0' && *name <= '9') ||
|
||||||
|
- *name == '_' ||
|
||||||
|
- *name == '.' ||
|
||||||
|
- *name == '-' ||
|
||||||
|
- (*name == '$' && name[1] == '\0')
|
||||||
|
- )) {
|
||||||
|
+ do {
|
||||||
|
+ if ((':' == *name) || (',' == *name) || isspace(*name)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
- numeric &= isdigit(*name);
|
||||||
|
- }
|
||||||
|
+ name++;
|
||||||
|
+ } while ('\0' != *name);
|
||||||
|
|
||||||
|
- return !numeric;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
|
||||||
|
index 61a548f..d472bd0 100644
|
||||||
|
--- a/man/groupadd.8.xml
|
||||||
|
+++ b/man/groupadd.8.xml
|
||||||
|
@@ -71,6 +71,12 @@
|
||||||
|
Fully numeric groupnames and groupnames . or .. are
|
||||||
|
also disallowed.
|
||||||
|
</para>
|
||||||
|
+ <para>
|
||||||
|
+ On Debian, the only constraints are that groupnames must neither start
|
||||||
|
+ with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a
|
||||||
|
+ colon (':'), a comma (','), or a whitespace (space:' ',
|
||||||
|
+ end of line: '\n', tabulation: '\t', etc.).
|
||||||
|
+ </para>
|
||||||
|
<para>
|
||||||
|
Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
|
||||||
|
</para>
|
||||||
|
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
|
||||||
|
index 17987a6..c98b214 100644
|
||||||
|
--- a/man/useradd.8.xml
|
||||||
|
+++ b/man/useradd.8.xml
|
||||||
|
@@ -735,6 +735,14 @@
|
||||||
|
<para>
|
||||||
|
Usernames may only be up to 256 characters long.
|
||||||
|
</para>
|
||||||
|
+ <para>
|
||||||
|
+ On Debian, the only constraints are that usernames must neither start
|
||||||
|
+ with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a
|
||||||
|
+ colon (':'), a comma (','), or a whitespace (space: ' ',
|
||||||
|
+ end of line: '\n', tabulation: '\t', etc.). Note that using a slash
|
||||||
|
+ ('/') may break the default algorithm for the definition of the
|
||||||
|
+ user's home directory.
|
||||||
|
+ </para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 id='configuration'>
|
||||||
75
debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch
vendored
Normal file
75
debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch
vendored
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
|
Subject: Set group and mode for [g]shadow files
|
||||||
|
|
||||||
|
Set group 'shadow' and mode 0400.
|
||||||
|
|
||||||
|
Fixes: #166793
|
||||||
|
---
|
||||||
|
lib/commonio.c | 12 ++++++++++++
|
||||||
|
lib/sgroupio.c | 2 +-
|
||||||
|
lib/shadowio.c | 2 +-
|
||||||
|
3 files changed, 14 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/commonio.c b/lib/commonio.c
|
||||||
|
index 01a26c9..72e53b0 100644
|
||||||
|
--- a/lib/commonio.c
|
||||||
|
+++ b/lib/commonio.c
|
||||||
|
@@ -21,6 +21,7 @@
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <signal.h>
|
||||||
|
+#include <grp.h>
|
||||||
|
|
||||||
|
#include "alloc.h"
|
||||||
|
#include "memzero.h"
|
||||||
|
@@ -956,12 +957,23 @@ int commonio_close (struct commonio_db *db)
|
||||||
|
if (errors != 0)
|
||||||
|
goto fail;
|
||||||
|
} else {
|
||||||
|
+ struct group *grp;
|
||||||
|
/*
|
||||||
|
* Default permissions for new [g]shadow files.
|
||||||
|
*/
|
||||||
|
sb.st_mode = db->st_mode;
|
||||||
|
sb.st_uid = db->st_uid;
|
||||||
|
sb.st_gid = db->st_gid;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Try to retrieve the shadow's GID, and fall back to GID 0.
|
||||||
|
+ */
|
||||||
|
+ if (sb.st_gid == 0) {
|
||||||
|
+ if ((grp = getgrnam("shadow")) != NULL)
|
||||||
|
+ sb.st_gid = grp->gr_gid;
|
||||||
|
+ else
|
||||||
|
+ sb.st_gid = 0;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SNPRINTF(buf, "%s+", db->filename) == -1)
|
||||||
|
diff --git a/lib/sgroupio.c b/lib/sgroupio.c
|
||||||
|
index 0297df4..107b1e5 100644
|
||||||
|
--- a/lib/sgroupio.c
|
||||||
|
+++ b/lib/sgroupio.c
|
||||||
|
@@ -209,7 +209,7 @@ static struct commonio_db gshadow_db = {
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif
|
||||||
|
- 0400, /* st_mode */
|
||||||
|
+ 0440, /* st_mode */
|
||||||
|
0, /* st_uid */
|
||||||
|
0, /* st_gid */
|
||||||
|
NULL, /* head */
|
||||||
|
diff --git a/lib/shadowio.c b/lib/shadowio.c
|
||||||
|
index d2c3b47..53dac0b 100644
|
||||||
|
--- a/lib/shadowio.c
|
||||||
|
+++ b/lib/shadowio.c
|
||||||
|
@@ -85,7 +85,7 @@ static struct commonio_db shadow_db = {
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif /* WITH_SELINUX */
|
||||||
|
- 0400, /* st_mode */
|
||||||
|
+ 0440, /* st_mode */
|
||||||
|
0, /* st_uid */
|
||||||
|
0, /* st_gid */
|
||||||
|
NULL, /* head */
|
||||||
@@ -1,14 +1,51 @@
|
|||||||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
From: Nicolas FRANCOIS <nicolas.francois@centraliens.net>
|
||||||
## 401_cppw_src.dpatch by Nicolas FRANCOIS <nicolas.francois@centraliens.net>
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
##
|
Subject: cppw: Add tool
|
||||||
## All lines beginning with `## DP:' are a description of the patch.
|
|
||||||
## DP: Add cppw / cpgr
|
|
||||||
|
|
||||||
@DPATCH@
|
---
|
||||||
Index: shadow-4.4/src/cppw.c
|
po/POTFILES.in | 1 +
|
||||||
===================================================================
|
src/Makefile.am | 2 +
|
||||||
|
src/cppw.c | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
3 files changed, 241 insertions(+)
|
||||||
|
create mode 100644 src/cppw.c
|
||||||
|
|
||||||
|
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||||
|
index 9ff6100..a60c93e 100644
|
||||||
|
--- a/po/POTFILES.in
|
||||||
|
+++ b/po/POTFILES.in
|
||||||
|
@@ -86,6 +86,7 @@ src/chfn.c
|
||||||
|
src/chgpasswd.c
|
||||||
|
src/chpasswd.c
|
||||||
|
src/chsh.c
|
||||||
|
+src/cppw.c
|
||||||
|
src/expiry.c
|
||||||
|
src/faillog.c
|
||||||
|
src/gpasswd.c
|
||||||
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||||
|
index b6cb09e..c86ba52 100644
|
||||||
|
--- a/src/Makefile.am
|
||||||
|
+++ b/src/Makefile.am
|
||||||
|
@@ -39,6 +39,7 @@ if WITH_SU
|
||||||
|
bin_PROGRAMS += su
|
||||||
|
endif
|
||||||
|
usbin_PROGRAMS = \
|
||||||
|
+ cppw \
|
||||||
|
chgpasswd \
|
||||||
|
chpasswd \
|
||||||
|
groupadd \
|
||||||
|
@@ -104,6 +105,7 @@ newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -l
|
||||||
|
newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -ldl
|
||||||
|
chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
|
||||||
|
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
|
||||||
|
+cppw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX)
|
||||||
|
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
|
||||||
|
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl
|
||||||
|
expiry_LDADD = $(LDADD) $(LIBECONF)
|
||||||
|
diff --git a/src/cppw.c b/src/cppw.c
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..beb4c36
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ shadow-4.4/src/cppw.c
|
+++ b/src/cppw.c
|
||||||
@@ -0,0 +1,238 @@
|
@@ -0,0 +1,238 @@
|
||||||
+/*
|
+/*
|
||||||
+ cppw, cpgr copy with locking given file over the password or group file
|
+ cppw, cpgr copy with locking given file over the password or group file
|
||||||
@@ -248,35 +285,3 @@ Index: shadow-4.4/src/cppw.c
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
Index: shadow-4.4/src/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/src/Makefile.am
|
|
||||||
+++ shadow-4.4/src/Makefile.am
|
|
||||||
@@ -29,6 +29,7 @@ if ENABLE_SUBIDS
|
|
||||||
ubin_PROGRAMS += newgidmap newuidmap
|
|
||||||
endif
|
|
||||||
usbin_PROGRAMS = \
|
|
||||||
+ cppw \
|
|
||||||
chgpasswd \
|
|
||||||
chpasswd \
|
|
||||||
groupadd \
|
|
||||||
@@ -90,6 +91,7 @@ chfn_LDADD = $(LDADD) $(LIBPAM) $(LI
|
|
||||||
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT)
|
|
||||||
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD)
|
|
||||||
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT)
|
|
||||||
+cppw_LDADD = $(LDADD) $(LIBSELINUX)
|
|
||||||
gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
|
|
||||||
groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
|
|
||||||
groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
|
|
||||||
Index: shadow-4.4/po/POTFILES.in
|
|
||||||
===================================================================
|
|
||||||
--- shadow-4.4.orig/po/POTFILES.in
|
|
||||||
+++ shadow-4.4/po/POTFILES.in
|
|
||||||
@@ -85,6 +85,7 @@ src/chfn.c
|
|
||||||
src/chgpasswd.c
|
|
||||||
src/chpasswd.c
|
|
||||||
src/chsh.c
|
|
||||||
+src/cppw.c
|
|
||||||
src/expiry.c
|
|
||||||
src/faillog.c
|
|
||||||
src/gpasswd.c
|
|
||||||
@@ -1,18 +1,17 @@
|
|||||||
Goal: Add selinux support to cppw
|
From: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 22 Jun 2024 17:39:41 +0200
|
||||||
Fix:
|
Subject: cppw: add selinux support
|
||||||
|
|
||||||
Status wrt upstream: cppw is not available upstream.
|
Status wrt upstream: cppw is not available upstream.
|
||||||
The patch was made based on the
|
Needs to be reviewed by an SE-Linux aware person.
|
||||||
302_vim_selinux_support patch. It needs to be
|
---
|
||||||
reviewed by an SE-Linux aware person.
|
src/cppw.c | 28 ++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 28 insertions(+)
|
||||||
|
|
||||||
Depends on 401_cppw_src.dpatch
|
diff --git a/src/cppw.c b/src/cppw.c
|
||||||
|
index beb4c36..2cbbbc0 100644
|
||||||
Index: git/src/cppw.c
|
--- a/src/cppw.c
|
||||||
===================================================================
|
+++ b/src/cppw.c
|
||||||
--- git.orig/src/cppw.c
|
|
||||||
+++ git/src/cppw.c
|
|
||||||
@@ -34,6 +34,9 @@
|
@@ -34,6 +34,9 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
@@ -23,7 +22,7 @@ Index: git/src/cppw.c
|
|||||||
#include "exitcodes.h"
|
#include "exitcodes.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@@ -139,6 +142,22 @@
|
@@ -139,6 +142,22 @@ static void cppwcopy (const char *file,
|
||||||
if (access (file, F_OK) != 0) {
|
if (access (file, F_OK) != 0) {
|
||||||
cppwexit (file, 1, 1);
|
cppwexit (file, 1, 1);
|
||||||
}
|
}
|
||||||
@@ -46,7 +45,7 @@ Index: git/src/cppw.c
|
|||||||
if (file_lock () == 0) {
|
if (file_lock () == 0) {
|
||||||
cppwexit (_("Couldn't lock file"), 0, 5);
|
cppwexit (_("Couldn't lock file"), 0, 5);
|
||||||
}
|
}
|
||||||
@@ -167,6 +186,15 @@
|
@@ -167,6 +186,15 @@ static void cppwcopy (const char *file,
|
||||||
cppwexit (NULL,0,1);
|
cppwexit (NULL,0,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
89
debian/patches/debian/tests-disable-su.patch
vendored
Normal file
89
debian/patches/debian/tests-disable-su.patch
vendored
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
From: Serge Hallyn <serge@hallyn.com>
|
||||||
|
Date: Thu, 27 Jun 2024 01:23:05 +0200
|
||||||
|
Subject: upstream testsuite: disable su tests
|
||||||
|
|
||||||
|
Debian uses su from util-linux, pointless/impossible to test shadow's su
|
||||||
|
here.
|
||||||
|
---
|
||||||
|
tests/run_some | 68 ----------------------------------------------------------
|
||||||
|
1 file changed, 68 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/run_some b/tests/run_some
|
||||||
|
index c58f59b..46317eb 100755
|
||||||
|
--- a/tests/run_some
|
||||||
|
+++ b/tests/run_some
|
||||||
|
@@ -79,74 +79,6 @@ echo "-: test failed"
|
||||||
|
find "${build_path}" -name "*.gcda" -delete
|
||||||
|
# ignore the result of the first test. ~magic~
|
||||||
|
run_test ./su/01/su_user.test ignore_failure
|
||||||
|
-run_test ./su/01/su_user.test
|
||||||
|
-run_test ./su/01/su_root.test
|
||||||
|
-find "${build_path}" -name "*.gcda" -exec chmod a+rw {} \;
|
||||||
|
-run_test ./su/02/env_FOO-options_--login
|
||||||
|
-run_test ./su/02/env_FOO-options_--login_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_--preserve-environment
|
||||||
|
-run_test ./su/02/env_FOO-options_--preserve-environment_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_-
|
||||||
|
-run_test ./su/02/env_FOO-options_-_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_-l-m
|
||||||
|
-run_test ./su/02/env_FOO-options_-l-m_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_-l
|
||||||
|
-run_test ./su/02/env_FOO-options_-l_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_-m_bash
|
||||||
|
-run_test ./su/02/env_FOO-options_-m
|
||||||
|
-run_test ./su/02/env_FOO-options_-p
|
||||||
|
-run_test ./su/02/env_FOO-options_-p_bash
|
||||||
|
-run_test ./su/02/env_FOO-options__bash
|
||||||
|
-run_test ./su/02/env_FOO-options_
|
||||||
|
-run_test ./su/02/env_FOO-options_-p-
|
||||||
|
-run_test ./su/02/env_FOO-options_-p-_bash
|
||||||
|
-run_test ./su/02/env_special-options_-l-p
|
||||||
|
-run_test ./su/02/env_special-options_-l
|
||||||
|
-run_test ./su/02/env_special-options_-l-p_bash
|
||||||
|
-run_test ./su/02/env_special-options_-l_bash
|
||||||
|
-run_test ./su/02/env_special-options_-p
|
||||||
|
-run_test ./su/02/env_special-options_-p_bash
|
||||||
|
-run_test ./su/02/env_special-options_
|
||||||
|
-run_test ./su/02/env_special-options__bash
|
||||||
|
-run_test ./su/02/env_special_root-options_-l-p
|
||||||
|
-run_test ./su/02/env_special_root-options_-l-p_bash
|
||||||
|
-run_test ./su/02/env_special_root-options_-l
|
||||||
|
-run_test ./su/02/env_special_root-options_-l_bash
|
||||||
|
-run_test ./su/02/env_special_root-options_-p
|
||||||
|
-run_test ./su/02/env_special_root-options_-p_bash
|
||||||
|
-run_test ./su/02/env_special_root-options_
|
||||||
|
-run_test ./su/02/env_special_root-options__bash
|
||||||
|
-run_test ./su/03/su_run_command01.test
|
||||||
|
-run_test ./su/03/su_run_command02.test
|
||||||
|
-run_test ./su/03/su_run_command03.test
|
||||||
|
-run_test ./su/03/su_run_command04.test
|
||||||
|
-run_test ./su/03/su_run_command05.test
|
||||||
|
-run_test ./su/03/su_run_command06.test
|
||||||
|
-run_test ./su/03/su_run_command07.test
|
||||||
|
-run_test ./su/03/su_run_command08.test
|
||||||
|
-run_test ./su/03/su_run_command09.test
|
||||||
|
-run_test ./su/03/su_run_command10.test
|
||||||
|
-run_test ./su/03/su_run_command11.test
|
||||||
|
-run_test ./su/03/su_run_command12.test
|
||||||
|
-run_test ./su/03/su_run_command13.test
|
||||||
|
-run_test ./su/03/su_run_command14.test
|
||||||
|
-run_test ./su/03/su_run_command15.test
|
||||||
|
-run_test ./su/03/su_run_command16.test
|
||||||
|
-run_test ./su/03/su_run_command17.test
|
||||||
|
-run_test ./su/04/su_wrong_user.test
|
||||||
|
-run_test ./su/04/su_user_wrong_passwd.test
|
||||||
|
-run_test ./su/04/su_user_wrong_passwd_syslog.test
|
||||||
|
-run_test ./su/05/su_user_wrong_passwd_syslog.test
|
||||||
|
-run_test ./su/06/su_user_syslog.test
|
||||||
|
-run_test ./su/07/su_user_syslog.test
|
||||||
|
-run_test ./su/08/env_special-options_
|
||||||
|
-run_test ./su/08/env_special_root-options_
|
||||||
|
-run_test ./su/09/env_special-options_
|
||||||
|
-run_test ./su/09/env_special_root-options_
|
||||||
|
-run_test ./su/10_su_sulog_success/su.test
|
||||||
|
-run_test ./su/11_su_sulog_failure/su.test
|
||||||
|
-run_test ./su/12_su_child_failure/su.test
|
||||||
|
-run_test ./su/13_su_child_success/su.test
|
||||||
|
run_test ./libsubid/01_list_ranges/list_ranges.test
|
||||||
|
run_test ./libsubid/02_get_subid_owners/get_subid_owners.test
|
||||||
|
run_test ./libsubid/03_add_remove/add_remove_subids.test
|
||||||
22
debian/patches/debian/tests-libsubid-04_nss-fix-setting-basedir.patch
vendored
Normal file
22
debian/patches/debian/tests-libsubid-04_nss-fix-setting-basedir.patch
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
From: Chris Hofstaedtler <zeha@debian.org>
|
||||||
|
Date: Sat, 6 Jul 2024 23:35:51 +0200
|
||||||
|
Subject: tests/libsubid/04_nss: fix setting basedir
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/libsubid/04_nss/Makefile | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/libsubid/04_nss/Makefile b/tests/libsubid/04_nss/Makefile
|
||||||
|
index 7d7ae3e..3fbf989 100644
|
||||||
|
--- a/tests/libsubid/04_nss/Makefile
|
||||||
|
+++ b/tests/libsubid/04_nss/Makefile
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
all: test_nss libsubid_zzz.so
|
||||||
|
|
||||||
|
-BASE_TEST_DIR ?= $(shell git rev-parse --show-toplevel)
|
||||||
|
-basedir := $(BASE_TEST_DIR)
|
||||||
|
+BUILD_BASE_DIR ?= $(shell git rev-parse --show-toplevel)
|
||||||
|
+basedir := $(BUILD_BASE_DIR)
|
||||||
|
|
||||||
|
test_nss: test_nss.c $(basedir)/lib/nss.c
|
||||||
|
gcc -c -I$(basedir)/lib/ -I$(basedir) -o test_nss.o test_nss.c
|
||||||
40
debian/patches/series
vendored
40
debian/patches/series
vendored
@@ -1,30 +1,10 @@
|
|||||||
0001-Typos-fix-in-german-translation-of-man-pages.patch
|
debian/cppw-Add-tool.patch
|
||||||
0002-Last-bits-of-enabling-subuids.patch
|
debian/cppw-add-selinux-support.patch
|
||||||
0003-Dutch-translation-update.patch
|
debian/Let-pam_unix-handle-login-failure-delays.patch
|
||||||
0004-Updated-Czech-translation.patch
|
debian/Set-group-and-mode-for-g-shadow-files.patch
|
||||||
0005-Update-for-German-man-pages.patch
|
debian/Keep-using-Debian-adduser-defaults.patch
|
||||||
0006-French-manpage-translation.patch
|
debian/Document-the-shadowconfig-utility.patch
|
||||||
0007-Fix-some-spelling-issues-in-the-Norwegian-translatio.patch
|
debian/Recommend-using-adduser-and-deluser.patch
|
||||||
0008-su-properly-clear-child-PID.patch
|
debian/Relax-usernames-groupnames-checking.patch
|
||||||
301-Reset-pid_child-only-if-waitpid-was-successful.patch
|
debian/tests-disable-su.patch
|
||||||
|
debian/tests-libsubid-04_nss-fix-setting-basedir.patch
|
||||||
# These patches are only for the testsuite:
|
|
||||||
#900_testsuite_groupmems
|
|
||||||
#901_testsuite_gcov
|
|
||||||
|
|
||||||
503_shadowconfig.8
|
|
||||||
008_login_log_failure_in_FTMP
|
|
||||||
429_login_FAILLOG_ENAB
|
|
||||||
401_cppw_src.dpatch
|
|
||||||
# 402 should be merged in 401, but should be reviewed by SE Linux experts first
|
|
||||||
402_cppw_selinux
|
|
||||||
506_relaxed_usernames
|
|
||||||
542_useradd-O_option
|
|
||||||
463_login_delay_obeys_to_PAM
|
|
||||||
523_su_arguments_are_concatenated
|
|
||||||
523_su_arguments_are_no_more_concatenated_by_default
|
|
||||||
508_nologin_in_usr_sbin
|
|
||||||
505_useradd_recommend_adduser
|
|
||||||
501_commonio_group_shadow
|
|
||||||
# does not apply cleanly, please merge at upstream
|
|
||||||
1010_vietnamese_translation
|
|
||||||
|
|||||||
101
debian/rules
vendored
101
debian/rules
vendored
@@ -1,98 +1,69 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
# -*- mode: makefile; coding: utf-8 -*-
|
# -*- mode: makefile; coding: utf-8 -*-
|
||||||
|
|
||||||
DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
|
|
||||||
|
|
||||||
# Enable PIE, BINDNOW, and possible future flags.
|
# Enable PIE, BINDNOW, and possible future flags.
|
||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
DPKG_EXPORT_BUILDFLAGS = 1
|
DPKG_EXPORT_BUILDFLAGS = 1
|
||||||
include /usr/share/dpkg/buildflags.mk
|
include /usr/share/dpkg/buildflags.mk
|
||||||
|
include /usr/share/debhelper/dh_package_notes/package-notes.mk
|
||||||
# Call autoreconf since we need to regenerate all the autofoo files
|
|
||||||
include /usr/share/cdbs/1/rules/autoreconf.mk
|
|
||||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
|
||||||
# Specify where dh_install will find the files that it needs to move:
|
|
||||||
DEB_DH_INSTALL_SOURCEDIR=debian/tmp
|
|
||||||
# Specify the destination of shadow's "make install"
|
|
||||||
# (This is only needed on The Hurd, where only one package is built. On
|
|
||||||
# the other arch, DEB_DESTDIR already points to debian/tmp)
|
|
||||||
DEB_DESTDIR=$(CURDIR)/debian/tmp
|
|
||||||
|
|
||||||
include /usr/share/cdbs/1/class/autotools.mk
|
|
||||||
|
|
||||||
# Adds extra options when calling the configure script:
|
# Adds extra options when calling the configure script:
|
||||||
DEB_CONFIGURE_EXTRA_FLAGS := --disable-shared \
|
DEB_CONFIGURE_EXTRA_FLAGS := \
|
||||||
--without-libcrack \
|
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
--with-libpam \
|
--with-libpam \
|
||||||
|
--with-yescrypt \
|
||||||
--enable-shadowgrp \
|
--enable-shadowgrp \
|
||||||
|
--enable-subordinate-ids \
|
||||||
|
--enable-lastlog=no \
|
||||||
--enable-man \
|
--enable-man \
|
||||||
--disable-account-tools-setuid \
|
--disable-account-tools-setuid \
|
||||||
--with-group-name-max-length=32 \
|
--with-group-name-max-length=32 \
|
||||||
--without-acl \
|
--with-acl \
|
||||||
--without-attr \
|
--with-attr \
|
||||||
|
--without-su \
|
||||||
--without-tcb \
|
--without-tcb \
|
||||||
SHELL=/bin/sh
|
|
||||||
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
|
|
||||||
DEB_CONFIGURE_EXTRA_FLAGS += --host=$(DEB_HOST_GNU_TYPE)
|
ifneq ($(DEB_HOST_ARCH_OS),linux)
|
||||||
|
DEB_CONFIGURE_EXTRA_FLAGS += --enable-logind
|
||||||
|
DEB_CONFIGURE_EXTRA_FLAGS += --with-audit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
|
||||||
|
DEB_CONFIGURE_EXTRA_FLAGS += --disable-man
|
||||||
|
endif
|
||||||
|
|
||||||
|
DEB_CONFIGURE_EXTRA_FLAGS += SHELL=/bin/sh
|
||||||
|
|
||||||
# Set the default editor for vipw/vigr
|
# Set the default editor for vipw/vigr
|
||||||
CFLAGS += -DDEFAULT_EDITOR=\\\"sensible-editor\\\"
|
CFLAGS += -DDEFAULT_EDITOR="\"sensible-editor\""
|
||||||
|
|
||||||
# Add extras to the install process:
|
%:
|
||||||
binary-install/login::
|
dh $@
|
||||||
ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
|
||||||
# /bin/login is provided by the hurd package.
|
override_dh_auto_configure:
|
||||||
rm -f debian/login/bin/login
|
dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_FLAGS)
|
||||||
endif
|
|
||||||
|
override_dh_install-arch:
|
||||||
ifneq ($(DEB_HOST_ARCH_OS),linux)
|
ifneq ($(DEB_HOST_ARCH_OS),linux)
|
||||||
sed -i 's/session optional pam_keyinit.so/# Linux only # session optional pam_keyinit.so/' debian/login.pam
|
sed -i 's/session optional pam_keyinit.so/# Linux only # session optional pam_keyinit.so/' debian/login.pam
|
||||||
endif
|
endif
|
||||||
dh_installpam -p login
|
dh_install -a
|
||||||
dh_installpam -p login --name=su
|
ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
||||||
install -c -m 444 debian/login.defs debian/login/etc/login.defs
|
# /bin/login is provided by the hurd package.
|
||||||
install -c -m 444 debian/securetty.$(DEB_HOST_ARCH_OS) debian/login/etc/securetty
|
rm -f debian/login/usr/bin/login
|
||||||
dh_lintian -p login
|
endif
|
||||||
|
|
||||||
binary-install/passwd::
|
override_dh_installpam:
|
||||||
install -c -m 444 man/shadowconfig.8 debian/passwd/usr/share/man/man8
|
|
||||||
install -c -m 444 man/ja/shadowconfig.8 debian/passwd/usr/share/man/ja/man8
|
|
||||||
install -c -m 444 man/pl/shadowconfig.8 debian/passwd/usr/share/man/pl/man8
|
|
||||||
install -c -m 444 man/fr/shadowconfig.8 debian/passwd/usr/share/man/fr/man8
|
|
||||||
# Distribute the pam.d files; unless for the commands with disabled PAM
|
# Distribute the pam.d files; unless for the commands with disabled PAM
|
||||||
# support
|
# support
|
||||||
|
dh_installpam -p login
|
||||||
dh_installpam -p passwd --name=passwd
|
dh_installpam -p passwd --name=passwd
|
||||||
dh_installpam -p passwd --name=chfn
|
dh_installpam -p passwd --name=chfn
|
||||||
dh_installpam -p passwd --name=chsh
|
dh_installpam -p passwd --name=chsh
|
||||||
dh_installpam -p passwd --name=chpasswd
|
dh_installpam -p passwd --name=chpasswd
|
||||||
dh_installpam -p passwd --name=newusers
|
dh_installpam -p passwd --name=newusers
|
||||||
install -c -m 644 debian/useradd.default debian/passwd/etc/default/useradd
|
|
||||||
install -d debian/passwd/sbin
|
|
||||||
install -c -m 555 debian/shadowconfig.sh debian/passwd/sbin/shadowconfig
|
|
||||||
install -c -m 444 debian/cpgr.8 debian/passwd/usr/share/man/man8
|
|
||||||
install -c -m 444 debian/cppw.8 debian/passwd/usr/share/man/man8
|
|
||||||
dh_lintian -p passwd
|
|
||||||
|
|
||||||
binary-predeb/uidmap::
|
override_dh_auto_clean:
|
||||||
chmod u+s debian/uidmap/usr/bin/newuidmap
|
|
||||||
chmod u+s debian/uidmap/usr/bin/newgidmap
|
|
||||||
|
|
||||||
binary-predeb/login::
|
|
||||||
# No real need for login to be setuid root
|
|
||||||
# chmod u+s debian/login/bin/login
|
|
||||||
chmod u+s debian/login/bin/su
|
|
||||||
chmod u+s debian/login/usr/bin/newgrp
|
|
||||||
|
|
||||||
binary-predeb/passwd::
|
|
||||||
chmod u+s debian/passwd/usr/bin/chfn
|
|
||||||
chmod u+s debian/passwd/usr/bin/chsh
|
|
||||||
chmod u+s debian/passwd/usr/bin/gpasswd
|
|
||||||
chmod u+s debian/passwd/usr/bin/passwd
|
|
||||||
chgrp shadow debian/passwd/usr/bin/chage
|
|
||||||
chgrp shadow debian/passwd/usr/bin/expiry
|
|
||||||
chmod g+s debian/passwd/usr/bin/chage
|
|
||||||
chmod g+s debian/passwd/usr/bin/expiry
|
|
||||||
|
|
||||||
clean::
|
|
||||||
sed -i 's/# Linux only # //' debian/login.pam
|
sed -i 's/# Linux only # //' debian/login.pam
|
||||||
|
dh_auto_clean
|
||||||
|
|||||||
71
debian/securetty.hurd
vendored
71
debian/securetty.hurd
vendored
@@ -1,71 +0,0 @@
|
|||||||
# /etc/securetty: list of terminals on which root is allowed to login.
|
|
||||||
# See securetty(5) and login(1).
|
|
||||||
console
|
|
||||||
|
|
||||||
# for people with serial port consoles
|
|
||||||
com0
|
|
||||||
|
|
||||||
# Standard consoles
|
|
||||||
tty1
|
|
||||||
tty2
|
|
||||||
tty3
|
|
||||||
tty4
|
|
||||||
tty5
|
|
||||||
tty6
|
|
||||||
tty7
|
|
||||||
tty8
|
|
||||||
tty9
|
|
||||||
tty10
|
|
||||||
tty11
|
|
||||||
tty12
|
|
||||||
tty13
|
|
||||||
tty14
|
|
||||||
tty15
|
|
||||||
tty16
|
|
||||||
tty17
|
|
||||||
tty18
|
|
||||||
tty19
|
|
||||||
tty20
|
|
||||||
tty21
|
|
||||||
tty22
|
|
||||||
tty23
|
|
||||||
tty24
|
|
||||||
tty25
|
|
||||||
tty26
|
|
||||||
tty27
|
|
||||||
tty28
|
|
||||||
tty29
|
|
||||||
tty30
|
|
||||||
tty31
|
|
||||||
tty32
|
|
||||||
tty33
|
|
||||||
tty34
|
|
||||||
tty35
|
|
||||||
tty36
|
|
||||||
tty37
|
|
||||||
tty38
|
|
||||||
tty39
|
|
||||||
tty40
|
|
||||||
tty41
|
|
||||||
tty42
|
|
||||||
tty43
|
|
||||||
tty44
|
|
||||||
tty45
|
|
||||||
tty46
|
|
||||||
tty47
|
|
||||||
tty48
|
|
||||||
tty49
|
|
||||||
tty50
|
|
||||||
tty51
|
|
||||||
tty52
|
|
||||||
tty53
|
|
||||||
tty54
|
|
||||||
tty55
|
|
||||||
tty56
|
|
||||||
tty57
|
|
||||||
tty58
|
|
||||||
tty59
|
|
||||||
tty60
|
|
||||||
tty61
|
|
||||||
tty62
|
|
||||||
tty63
|
|
||||||
24
debian/securetty.kfreebsd
vendored
24
debian/securetty.kfreebsd
vendored
@@ -1,24 +0,0 @@
|
|||||||
# /etc/securetty: list of terminals on which root is allowed to login.
|
|
||||||
# See securetty(5) and login(1).
|
|
||||||
console
|
|
||||||
|
|
||||||
# for people with serial port consoles
|
|
||||||
ttyd0
|
|
||||||
ttyd1
|
|
||||||
|
|
||||||
# Standard consoles
|
|
||||||
ttyv0
|
|
||||||
ttyv1
|
|
||||||
ttyv2
|
|
||||||
ttyv3
|
|
||||||
ttyv4
|
|
||||||
ttyv5
|
|
||||||
ttyv6
|
|
||||||
ttyv7
|
|
||||||
ttyva
|
|
||||||
ttyvb
|
|
||||||
ttyvc
|
|
||||||
ttyvd
|
|
||||||
ttyve
|
|
||||||
ttyvf
|
|
||||||
|
|
||||||
12
debian/securetty.knetbsd
vendored
12
debian/securetty.knetbsd
vendored
@@ -1,12 +0,0 @@
|
|||||||
# /etc/securetty: list of terminals on which root is allowed to login.
|
|
||||||
# See securetty(5) and login(1).
|
|
||||||
console
|
|
||||||
|
|
||||||
# for people with serial port consoles
|
|
||||||
tty00
|
|
||||||
|
|
||||||
# Standard consoles
|
|
||||||
ttyE0
|
|
||||||
ttyE1
|
|
||||||
ttyE2
|
|
||||||
ttyE3
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user