Compare commits

..

870 Commits

Author SHA1 Message Date
Sylvain Beucler
7f6e0ec904 Import Debian changes 1:4.8.1-1+deb11u1
shadow (1:4.8.1-1+deb11u1) bullseye-security; urgency=high
.
  * Non-maintainer upload by the LTS Security Team.
  * CVE-2023-4641: When asking for a new password, shadow-utils asks the
    password twice. If the password fails on the second attempt,
    shadow-utils fails in cleaning the buffer used to store the first
    entry. This may allow an attacker with enough access to retrieve the
    password from the memory. (Closes: #1051062)
  * CVE-2023-29383: It is possible to inject control characters into
    fields provided to the SUID program chfn (change finger). Although it
    is not possible to exploit this directly (e.g., adding a new user
    fails because \n is in the block list), it is possible to misrepresent
    the /etc/passwd file when viewed. (Closes: #1034482)
  * Add Salsa-CI configuration.
  * Silence lintian error that can't be fixed after freeze.
2025-04-18 17:29:39 +02:00
Balint Reczey
7456cef7e2 Update changelog 2020-02-07 15:54:36 +01:00
Balint Reczey
dc0f840741 debian/HOME_MODE.xml: Ship the file that was accidentally omitted from upstream tarball 2020-02-07 00:22:41 +01:00
Balint Reczey
10af5ab4c4 Update changelog 2020-02-07 00:10:01 +01:00
Balint Reczey
2d2f190b5f Refresh patches 2020-02-06 23:33:56 +01:00
Balint Reczey
8b9729cf03 Update upstream source from tag 'upstream/4.8.1'
Update to upstream version '4.8.1'
with Debian dir 4e0ff7ffe2
2020-02-06 23:15:01 +01:00
Balint Reczey
d906ecd3b6 New upstream version 4.8.1 2020-02-06 23:14:47 +01:00
Balint Reczey
8a1d6c51aa debian/default/useradd: Fix typo DHSELL -> DSHELL
Closes: #897028
2019-12-27 22:44:17 +01:00
Balint Reczey
b1eaec13e7 Update changelog 2019-12-20 16:40:45 +01:00
Balint Reczey
262a350c14 debian/login.su.pam: Drop unused file 2019-12-16 23:02:27 +01:00
Andreas Henriksson
752c64e4e4 Update debian/changelog 2019-12-05 15:17:06 +01:00
Andreas Henriksson
fa4dccbc4a Fix lintian warning useless-autoreconf-build-depends
Newer debhelper will pull in and run dh-autoreconf
by default, so no need for explicit build-depends or
usage.
2019-12-05 15:17:06 +01:00
Andreas Henriksson
e34706dd5b Cherry-pick upstream patch reverting bindir/sbindir
From:
3cc3948d71.patch
2019-12-05 15:12:17 +01:00
Andreas Henriksson
787ebc3336 Refresh and massage patches to apply
The following needed massaging to apply:
* debian/patches/508_nologin_in_usr_sbin
* debian/patches/401_cppw_src.dpatch

The remaining patches just got trivial quilt refresh updates,
except debian/patches/506_relaxed_usernames which needed
special attention to be correctly refreshed.
2019-12-05 15:08:29 +01:00
Andreas Henriksson
93ea3fe510 Use explicit --without-su configure flag
The shadow package did now ship the su program even before this,
Debian uses the util-linux implementation of su (since Buster).
In shadow 4.8 there's now an explicit configure flag that can be
used to disable su explicitly, rather than just not shipping it in
the resulting debian package.

See commit 88de51965d
"Stop shipping su and break old util-linux version. (See #833256)"
2019-12-05 13:39:26 +01:00
Andreas Henriksson
30e6a960ee Replace gnome-doc-utils build-dep with itstool
Closes: #881889
2019-12-05 13:34:19 +01:00
Andreas Henriksson
e38381641b Update debian/changelog 2019-12-05 13:34:19 +01:00
Andreas Henriksson
69d932140c New upstream version 4.8 2019-12-05 13:29:31 +01:00
Andreas Henriksson
dc46a7a96f Update upstream source from tag 'upstream/4.8'
Update to upstream version '4.8'
with Debian dir 22c83fa39e
2019-12-05 13:29:31 +01:00
Andreas Henriksson
1177f4b257 Update debian/changelog 2019-12-05 13:29:18 +01:00
Yuriy M. Kaminskiy
0a3492dd90 Mark uidmap and login as Multi-Arch: foreign
Closes: #934473
2019-11-11 16:54:57 +01:00
Justin B Rye
77901f4115 login: Update package description
Closes: #808301
2019-11-11 16:25:49 +01:00
Balint Reczey
042e76175a Merge branch 'pam_selinux' into 'master'
Move the call to pam_motd before pam_selinux open

See merge request debian/shadow!8
2019-09-16 13:21:49 +00:00
Laurent Bigonville
4d8a10d86c Move the call to pam_motd before pam_selinux open
pam_selinux calls setexeccon() with the context of the user, that means
that the first execve() after the call to "pam_selinux open" will be
executed in the user's context.

As pam_motd in debian calls system() to run run-parts to generate the
motd dynamically we need to be sure that this is done before that so it
runs in the context of the login executable.
2019-09-03 17:00:06 +02:00
Balint Reczey
9bda99f55d Update changelog 2019-07-16 18:49:41 +02:00
Balint Reczey
927c6cbdd6 Merge branch 'fix-securetty-news' into 'master'
Improve NEWS entry about securetty

See merge request debian/shadow!7
2019-07-16 15:11:11 +00:00
Gaudenz Steinlin
8f33168316 Improve NEWS entry about securetty
The original version was unclear because it was missing a not in the second part of the sentence.
2019-07-16 07:36:39 +00:00
Balint Reczey
488bb269c9 Update changelog 2019-07-15 23:45:51 +02:00
Balint Reczey
1a76a81ccc Remove Christian Perrier from Uploaders according to his request
Thank you for maintaining shadow for long years!

Closes: #893944, #927576
2019-07-15 23:11:39 +02:00
Balint Reczey
1e63ff4abc Remove obsolete /etc/cron.daily/passwd in maintainer scripts
Closes: #932017
2019-07-15 12:51:34 +02:00
Balint Reczey
8931f490ed Update changelog 2019-07-08 15:59:16 +02:00
Balint Reczey
1ddb81753d Clean up /etc/securetty properly on upgrade 2019-07-08 15:46:55 +02:00
Balint Reczey
252ca1a609 debian/NEWS: Fix version of latest entry 2019-07-08 15:36:32 +02:00
Balint Reczey
3709c159af Run autopkgtest in Salsa CI when it exists 2019-06-23 22:25:01 +02:00
Balint Reczey
00c091542c Update changelog 2019-06-23 22:13:18 +02:00
Balint Reczey
084a543a03 Refresh patches 2019-06-23 22:11:48 +02:00
Balint Reczey
4793149a12 Update upstream source from tag 'upstream/4.7'
Update to upstream version '4.7'
with Debian dir ae6ca0721c
2019-06-23 22:07:03 +02:00
Balint Reczey
b28d45d2bd New upstream version 4.7 2019-06-23 22:06:37 +02:00
Balint Reczey
d04fc57f13 Fix checking upstream tarball's OpenPGP signature 2019-06-23 16:49:11 +02:00
Balint Reczey
1daf68f0a3 Ship some missing man files 2019-06-23 16:17:34 +02:00
Balint Reczey
58ead426f4 Migrate to dh from cdbs 2019-06-23 16:02:51 +02:00
Balint Reczey
9be33624de Update changelog 2019-06-23 15:48:31 +02:00
Balint Reczey
f1f3ef5674 Stop shipping and honoring /etc/securetty
Closes: #731656, #830255, #879903, #920764, #771675, #917893, #607073
2019-06-23 15:48:00 +02:00
Balint Reczey
c60535694b Update changelog 2019-06-19 15:59:55 +02:00
Balint Reczey
7bc992f580 Drop Lintian override for su, it is not shipped in login anymore 2019-06-19 14:51:45 +02:00
Balint Reczey
7c34f34109 Merge branch 'master' into 'master'
Remove cron daily backup

See merge request debian/shadow!6
2019-06-19 10:09:37 +00:00
Balint Reczey
e153c45690 Update changelog 2019-06-19 00:46:57 +02:00
Bryan Quigley
9c70ce4480 Remove cron daily backup
It was added in 2010 (#554170) as a split off from a previous cron
job.  I haven't seen an arguement 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.
2019-06-17 09:38:53 -07:00
Balint Reczey
6170e87bd5 Add Salsa CI configuration 2019-05-14 17:07:31 +02:00
Balint Reczey
2ace7fb8f5 Merge remote-tracking branch 'origin/master' 2019-05-14 16:42:35 +02:00
Balint Reczey
b2a4d20bf7 Merge branch 'set-rules-requires-root' into 'master'
Declare the explicit requirement for (fake)root

See merge request debian/shadow!2
2019-05-14 14:35:25 +00:00
Balint Reczey
089560d90e Refresh patches 2019-03-03 23:40:55 +01:00
Balint Reczey
d6eb9f97a0 Update upstream source from tag 'upstream/4.6'
Update to upstream version '4.6'
with Debian dir e58f54ac48
2019-03-03 23:31:37 +01:00
Ondřej Nový
7ca7e82ae8 d/changelog: Remove trailing whitespaces 2018-10-01 09:38:15 +02:00
Niels Thykier
19c35c70e1 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.
2018-08-12 18:07:23 +00:00
Balint Reczey
b001531192 Move packaging repository to Salsa 2018-07-28 17:35:13 +08:00
Andreas Henriksson
88de51965d 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).
2018-07-28 17:31:41 +08:00
Balint Reczey
df6b651325 Update changelog 2017-09-27 12:56:13 -04:00
Balint Reczey
406a28db14 Use my @ubuntu.com email address in Maintainer field 2017-09-27 12:45:10 -04:00
Balint Reczey
00bcf65d58 Revert "Add pts/0 and pts/1 to securetty"
Adding pts/* defeats the purpose of securetty. Let containers add it if
needed as described in #830255.

This reverts commit 8b5c7cace3
2017-09-17 23:42:28 +02:00
Balint Reczey
9105fcd24c Update changelog 2017-08-22 16:44:34 +02:00
Balint Reczey
ba18b6cab2 Cut redundant information from Debian-specific README files 2017-08-12 18:48:09 -04:00
Balint Reczey
b43b5a89d1 Drop patches manipulating su argument concatenation:
- 523_su_arguments_are_concatenated
- su_arguments_are_no_more_concatenated_by_default
2017-08-11 11:16:45 -04:00
Balint Reczey
591aa8debe Refresh patches
Dropped patches:
- 0001-Typos-fix-in-german-translation-of-man-pages.patch
- 0002-Last-bits-of-enabling-subuids.patch
- 0003-Dutch-translation-update.patch
- 0004-Updated-Czech-translation.patch
- 0005-Update-for-German-man-pages.patch
- 0006-French-manpage-translation.patch
- 0007-Fix-some-spelling-issues-in-the-Norwegian-translatio.patch
- 0008-su-properly-clear-child-PID.patch
- 1010_vietnamese_translation
- 301-Reset-pid_child-only-if-waitpid-was-successful.patch
2017-08-10 18:36:48 -04:00
Balint Reczey
bcd42a4c62 Merge tag 'upstream/4.5'
Upstream version 4.5

# gpg: Signature made 2017. aug. 10., csütörtök, 18:26:48 EDT
# gpg:                using RSA key F664D256B4691A7D
# gpg:                issuer "balint.reczey@canonical.com"
# gpg: Good signature from "Balint Reczey <rbalint@ubuntu.com>" [unknown]
# gpg:                 aka "Balint Reczey <balint@balintreczey.hu>" [unknown]
# gpg:                 aka "Balint Reczey <rbalint@debian.org>" [unknown]
# gpg:                 aka "Balint Reczey <balint@cursorinsight.com>" [unknown]
# gpg:                 aka "Balint Reczey <balint.reczey@interri.com>" [unknown]
# gpg:                 aka "Balint Reczey <balint.reczey@canonical.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8A12 5F69 8A1F 7762 B5D5  363E 55AD 1415 21E7 64DF
#      Subkey fingerprint: 397A 4810 EEB1 3306 8C2E  8B7A F664 D256 B469 1A7D
2017-08-10 18:26:49 -04:00
Salvatore Bonaccorso
d7f24f954e Import Debian changes 1:4.4-4.1
shadow (1:4.4-4.1) unstable; urgency=high

  * Non-maintainer upload.
  * Reset pid_child only if waitpid was successful.
    This is a regression fix for CVE-2017-2616. If su receives a signal like
    SIGTERM, it is not propagated to the child. (Closes: #862806)
2017-08-10 18:25:45 -04:00
Balint Reczey
f9176c3be3 Update changelog 2017-02-24 01:50:13 +01:00
Balint Reczey
bc6cd09194 su: properly clear child PID (CVE-2017-2616)
Closes: #855943
2017-02-24 01:50:09 +01:00
Balint Reczey
b8a7c3ac04 Update changelog 2017-01-25 16:43:47 +01:00
Stéphane Graber
133b10b734 Add missing /etc/{subgid|subuid} in postinst 2017-01-20 20:53:36 +01:00
Balint Reczey
40146019e6 Sync motd handling with sshd
Using patch from Ubuntu

Closes: #757148
2017-01-20 20:41:49 +01:00
Balint Reczey
3588f5d2a3 Clean up stale locks on boot
Closes: #478771
2017-01-20 20:11:49 +01:00
Balint Reczey
af6b417156 Start working on next upload 2017-01-20 20:08:36 +01:00
Balint Reczey
9b4168f0b2 Update changelog 2017-01-19 18:55:32 +01:00
Balint Reczey
fd20e4fe4b Add ttySC[4-9] to securetty
Closes: #768020
2017-01-19 18:55:32 +01:00
Balint Reczey
d779e83350 Add ttySAC* to securetty
Closes: #824391
2017-01-19 18:55:32 +01:00
Balint Reczey
8b5c7cace3 Add pts/0 and pts/1 to securetty
Closes: #830255
2017-01-19 18:55:32 +01:00
Lars Bahner
182a8cf464 Fix some spelling issues in the Norwegian translation
Closes: #800553
2017-01-19 18:55:28 +01:00
Thomas Blein
b20639f055 French manpage translation
Closes: #805182
2017-01-19 18:25:01 +01:00
Holger Wansing
0531cb85a4 Update for German man pages 2017-01-19 18:25:00 +01:00
Miroslav Kuře
19ebc9d55a Updated Czech translation
Closes: #759113
2017-01-19 18:24:54 +01:00
Trần Ngọc Quân
f19610854c Update Vietnamese translation
Closes: #777107
2017-01-19 17:24:11 +01:00
Frans Spiesschaert
398a6d383a Dutch translation update
Closes: #772470
2017-01-19 17:17:57 +01:00
Balint Reczey
70c472f91d Add call to pam_keyinit for login pam service
This module is linux-any only, so copy what openssh has already done and
remove the call at build time for other architectures.

The call to this module is needed to have proper per-session kernel
keyring.

Closes: #734671
2017-01-19 16:14:42 +01:00
Christian Perrier
3b66774757 Include groupmems(8) in the passwd package
Closes: #663117
2017-01-18 18:19:11 +01:00
Christian Perrier
a975974d2c Fix typos in login.pam (thanks to Jakub Wilk for reporting)
Closes: #747115
2017-01-18 18:17:55 +01:00
Balint Reczey
25df6ffc55 Send 1000_configure_userns patch upstream 2017-01-18 18:14:19 +01:00
Balint Reczey
9eb5f5e758 Fix typos in German man pages
Closes: #734609
2017-01-18 18:12:18 +01:00
Balint Reczey
e530aed7c6 Don't .gitignore patches 2017-01-18 18:11:14 +01:00
Balint Reczey
39c9155f66 Update patch naming docmentation 2017-01-18 18:09:35 +01:00
Laurent Bigonville
60d4dc5ae0 Move pam_selinux open call higher in the session stack
Closes: #747313
2017-01-18 17:05:36 +01:00
Balint Reczey
5a3eada191 Replace user´s -> user's to make login.def file valid ASCII
Closes: #850338
2017-01-18 16:58:05 +01:00
Balint Reczey
616a2b0c7b Always use /bin/sh shell in the build
Closes: #817971
2017-01-18 13:38:50 +01:00
Balint Reczey
9089583e08 Update homepage to new upstream 2017-01-07 19:43:54 +01:00
Balint Reczey
b89c17643b Start working on next upload 2017-01-07 19:42:10 +01:00
Balint Reczey
83c828d86a Update changelog 2017-01-06 17:42:24 +01:00
Balint Reczey
786bb46ef9 Tag login package as essential properly 2017-01-06 17:29:01 +01:00
Balint Reczey
d4fc50519b Stop build-depending on build-essential dpkg-dev 2017-01-06 16:24:48 +01:00
Balint Reczey
45c29ff8ce Add myself to Uploaders 2016-12-01 13:47:51 +01:00
Balint Reczey
8e21a0615d Update d/control using cme fix 2016-12-01 13:47:09 +01:00
Balint Reczey
b679e205d8 ACK NMU by Samuel Thibault 2016-11-30 23:06:24 +01:00
Balint Reczey
186f8f8c5a Update changelog 2016-11-30 23:05:02 +01:00
Balint Reczey
d53df510ec Bump debhelper compat level to 10 2016-11-30 03:05:17 +01:00
Balint Reczey
569a90cd97 Disable Vietnamese translation patch because it does not apply cleanly 2016-11-30 03:03:43 +01:00
Balint Reczey
b5d9320f6d Update changelog 2016-11-30 03:03:39 +01:00
Balint Reczey
f1e917cc43 Merge tag 'upstream/4.4'
Upstream version 4.4

Conflicts:
	.gitignore
	po/bs.po
	po/ca.po
	po/cs.po
	po/da.po
	po/de.po
	po/dz.po
	po/el.po
	po/es.po
	po/eu.po
	po/fi.po
	po/fr.po
	po/gl.po
	po/he.po
	po/hu.po
	po/id.po
	po/it.po
	po/ja.po
	po/kk.po
	po/km.po
	po/ko.po
	po/nb.po
	po/ne.po
	po/nl.po
	po/nn.po
	po/pl.po
	po/pt.po
	po/pt_BR.po
	po/ro.po
	po/ru.po
	po/shadow.pot
	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
2016-11-30 02:44:37 +01:00
Balint Reczey
83e36d1e1b Update debian/watch to use GitHub releases 2016-11-30 02:25:33 +01:00
Serge Hallyn
d9e428fd63 Imported Debian patch 1:4.4-1 2016-10-13 10:19:55 -05:00
Serge Hallyn
3fcf082618 Imported Upstream version 4.4 2016-10-13 10:14:46 -05:00
Serge Hallyn
68cd195044 add three security patches
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2016-08-05 17:44:27 -05:00
Serge Hallyn
d8af4b7e5b debian/control: use https in VCS fields 2016-07-30 23:36:32 -05:00
Serge Hallyn
598853e638 debian/control: replace nekral with myself in Uploaders
Closes #832380
2016-07-30 23:32:45 -05:00
Serge Hallyn
5a6e0c0ebd Merge upstream 4.3 2016-07-30 23:29:49 -05:00
Christian Perrier
f9aecd19f3 Don't forget the English manpage for groupmems 2014-05-09 22:55:10 +02:00
Christian Perrier
14d5db18a8 Next release will be 4.2.1 2014-05-09 19:52:30 +02:00
Christian Perrier
7df6dd8cf2 Next release will be 4.2.1 2014-05-09 19:18:43 +02:00
Christian Perrier
d5849a0f2b Drop patches merged upstream or no longer used 2014-05-09 19:16:39 +02:00
Christian Perrier
e56640f2af Merge upstream 4.2.1 2014-05-09 19:14:14 +02:00
Christian Perrier
e1782606c1 Include groupmems(8) in the passwd package. Closes: #663117 2014-05-09 12:12:46 +02:00
Christian Perrier
11e8de1be1 Fix a typo in su manpage. Done as an upstream patch, as of now and will be part of 4.2.1 Closes: #730692 2014-05-08 10:49:25 +02:00
Christian Perrier
dedf96dd6f Fix some typos and errors in German translation of manpages. Done as an upstream patch, as of now and will be part of 4.2.1 Closes: #734609 2014-05-08 10:44:29 +02:00
Christian Perrier
4ea3973200 Update French translations of programs messages and manpages. Done as an upstream patch, as of now and will be part of 4.2.1 Closes: #725793 2014-05-08 10:09:46 +02:00
Christian Perrier
2fb68149d6 Move pam_selinux open call higher in the session stack. Closes: #747313 2014-05-08 08:48:00 +02:00
Laurent Bigonville
a154eb5401 Move pam_selinux open call higher in the session stack 2014-05-08 08:46:37 +02:00
Christian Perrier
4a2fadfa21 Fix typos in login.pam (thanks to Jakub Wilk for reporting) Closes: #747115 2014-05-06 07:39:52 +02:00
Christian Perrier
1566e6de21 I forgot the cheese name. Really really release 4.2-2 2014-05-04 19:50:54 +02:00
Christian Perrier
acf9e8fa4a Release 4.2-3 in unsctable 2014-05-04 19:39:31 +02:00
Christian Perrier
6c29058c9f Fix typo in changelog entry 2014-05-04 19:38:27 +02:00
Christian Perrier
16e593e364 * Check upstream signing key in debian/watch 2014-05-04 19:38:08 +02:00
Christian Perrier
e8c4143fdc Properly name the upstream signing key file 2014-05-04 19:36:54 +02:00
Christian Perrier
b4ad01d830 Add upstream signing key as debian/upstream-signing-key.asc 2014-05-04 19:01:50 +02:00
Christian Perrier
ea64aa07a8 Release 4.2-2 to unstable 2014-05-04 18:05:05 +02:00
Christian Perrier
523b9000fd Add a lintian override for newuidmap and newgidmap setuid binaries 2014-05-04 18:04:15 +02:00
Christian Perrier
71869c2d24 Don't forget the series file 2014-04-30 22:56:50 +02:00
Christian Perrier
2aa9297367 Vietnamese translation update. 2014-04-30 22:56:20 +02:00
Christian Perrier
9bc936e018 Fix conflict in debian/changelog 2014-04-30 22:53:53 +02:00
Christian Perrier
2ef82ecb53 Revert Vietnamese translation update. It should go in upstream patches 2014-04-30 22:53:10 +02:00
Christian Perrier
5fc7602f3e Enable libaudit support. Closes: #745774 2014-04-30 22:29:03 +02:00
Christian Perrier
0274441ec5 Vietnamese translation update. 2014-04-30 22:26:25 +02:00
Christian Perrier
60c9571605 use the new pam_exec functionality from pam 1.1.8-1 to implement the dynamic motd, rather than using /run/motd.dynamic from initscripts. This will allow initscripts to drop /etc/init.d/motd. Closes: #741129 2014-04-30 22:23:26 +02:00
Christian Perrier
c7e2932be4 Enable the login package on hurd-any, but without /bin/login, still provided by the hurd package. Closes: #737805. This fix was accidentally forgotten in 1:4.2-1 2014-04-30 22:20:05 +02:00
Christian Perrier
d480b7dfee Add 1:4.1.5.1-1.1 NMU changelog entries 2014-04-30 22:17:11 +02:00
Christian Perrier
260b0eb77a Last upload integrates the use of dh_autoreconf which has the same effect then Eric Dorland's patch in 1:4.1.5.1-1.1 NMU to drop the use of automake1.9. Closes: #724434 2014-04-30 22:16:01 +02:00
Christian Perrier
34599da75c Release to experimental 2014-04-22 09:02:17 +02:00
Christian Perrier
aeb11d0c3e Really bump Standards to 3.9.5 2014-04-18 08:30:35 +02:00
Christian Perrier
9c7fd6b104 Explicitly point to GPL-2 document in debian/copyright 2014-04-18 08:29:43 +02:00
Christian Perrier
1f40da3a5f Use 'set -e' in postinst scripts and not in thei shebang line 2014-04-18 08:27:30 +02:00
Christian Perrier
c84a3fd5f8 Bump Standards to 3.9.5 (checked) 2014-04-18 08:25:16 +02:00
Christian Perrier
25cba03d2d Fix 1000_configure_userns to avoid dropping a needed #endif Closes: #744877 2014-04-16 06:27:01 +02:00
Christian Perrier
68ee6e45ad Unfuzz all patches 2014-03-15 17:31:14 +01:00
Christian Perrier
00e4c00838 Changelog entries for Laurent patches 2014-03-15 12:14:27 +01:00
Laurent Bigonville
45c41f0de6 Switch to dpkg-source 3.0 (quilt) format 2014-03-15 12:12:50 +01:00
Laurent Bigonville
b27aad278a Add build-dependency against bison 2014-03-15 12:12:09 +01:00
Laurent Bigonville
57283d75f7 Call dh-autoreconf since we need to regenerate all the autofoo files
The .gitignore is removing all the autofoo files and we need to
regenerate them at build time
2014-03-15 12:11:45 +01:00
Christian Perrier
2649a0dc50 Delete extraneous files 2014-03-14 21:51:48 +01:00
Christian Perrier
68fb7adaf7 Adapt userns patches to 4.2.0 (hopefully) 2014-03-14 21:51:03 +01:00
Christian Perrier
bbfcca9015 Merge tag 'upstream/4.2'
Upstream version 4.2
2014-03-01 19:59:51 +01:00
Micah Anderson
0e011449f7 fix installation of setuid/setgid/newuidmap/newgidmap man pages 2014-02-26 11:42:34 -05:00
Micah Anderson
99a8e345da login.postinst: install a default /etc/subuid and /etc/subgid 2014-02-25 23:11:41 -05:00
Micah Anderson
7573a1f684 Update documentation of UMASK: Explain that USERGROUPS_ENAB will modify this default for UPGs. (Closes: #583971) 2014-02-25 23:11:41 -05:00
Micah Anderson
d89d44af82 add LXC devices to debian/securetty.linux 2014-02-25 23:11:41 -05:00
Micah Anderson
13f031cd67 Add debian/patches/userns: patches to enable use of subuids (Closes: #739981) 2014-02-25 23:11:31 -05:00
Nicolas François
0c7f32eab6 Set default editor to sensible-editor for vipw.
* debian/rules: Set default editor to sensible-editor for vipw.
    Closes: #688252
2013-08-25 21:05:03 +02:00
Nicolas François
16796d7e3b Document bug closed in next version.
- vipw: Fix error reporting when editor fails. Closes: #688260
2013-08-25 21:00:41 +02:00
Nicolas François
371d5aa969 Close #705301 and #720004
* Document the upstream update of the Japanese translation.
  * debian/login.su.pam: Enable pam_limits by default. Closes: #705301
2013-08-23 23:21:50 +02:00
Nicolas François
0687637b17 Remove TODO entries no more relevant. 2013-08-16 00:50:34 +02:00
Nicolas François
4294d76926 Updated to current upstream. 2013-08-16 00:49:34 +02:00
Nicolas François
e2fa8501ca Set uidmap as priority optional. 2013-08-16 00:48:52 +02:00
Nicolas François
0047ae2042 Document bugs closed in next version.
- su: child cleanup is performed before terminating PAM sessions. This
      avoids anoying "...terminated" messages when PAM module send signal to
      su during session close. Closes: #670132
    - vipw/vigr is checking arguments provided after options. Closes: #677812
2013-08-16 00:45:22 +02:00
Nicolas François
820997101a Install translated manpages. 2013-08-10 00:07:09 +02:00
Nicolas François
2e8f003402 Add uidmap package, based on Ubuntu.
* passwd.install: add new subuid.5 and subgid.5 manpages
  * debian/rules, debian/control, debian/uidmap.install: create new uidmap
    package containing the new setuid-root binaries newuidmap and newgidmap
2013-08-09 23:54:47 +02:00
Nicolas François
2e014282f7 Debian bug #675824 will be fixed in next version.
- Support C libraries with unknown fields in struct passwd.
      Closes: #675824
2013-08-07 02:01:11 +02:00
Nicolas François
be2dc119ed Bug#677275 will be closed in next release. 2013-08-05 15:34:59 +02:00
Christian Perrier
1e2d22eb6b Russian translation update. Closes: #718356 2013-08-01 21:26:01 +02:00
Christian Perrier
35d80a0a73 login.defs will be fixed by next upstream 2013-07-28 19:05:49 +02:00
Christian Perrier
f06ef92c66 German manpages translation will be fixed by next upstream 2013-07-28 18:58:29 +02:00
Christian Perrier
22d833f38e Use Laurent's patch 2013-07-28 18:51:01 +02:00
Christian Perrier
08807ee3fc Add pam_loginuid to login PAM sattings. Closes: #677441 2013-07-28 18:49:00 +02:00
Christian Perrier
80a1bae6fe One more bug foxed upstream 2013-07-28 14:43:20 +02:00
Christian Perrier
e8bdaa552b Document issues fixed by the next upstream release 2013-07-28 14:19:11 +02:00
Christian Perrier
60bf0e1338 Moved to git: replace Vcs-Git in place of Vcs-Svn and adapt Vcs-Browser. 2013-07-27 20:15:27 +02:00
Christian Perrier
33f491513e Merge tag 'upstream/4.1.5.1'
Upstream version 4.1.5.1
2013-07-27 18:42:28 +02:00
Christian Perrier
36ff9fa1df Merge branch 'upstream' 2013-07-27 18:41:48 +02:00
Christian Perrier
c0dbed948f Drop tests from master 2013-07-27 18:39:30 +02:00
Christian Perrier
03e6eeb8bb Move Debian-related files to debian/ 2013-07-27 18:36:40 +02:00
nekral-guest
9cf5fea519 Updated timestamp. 2012-05-25 17:32:12 +00:00
bubulle
62c424ce33 Another change suggested by Roger 2012-05-22 18:43:16 +00:00
nekral-guest
346bc7c0df * debian/control: Bump Standards-Version to 3.9.3 (no changes needed).
* debian/rules: Simplify setting of hardening flags. cdbs 0.4.103 needed to
    get hardened version of shadow-utils. Restore previous requirement on
    dpkg-dev to 1.13.5.
2012-05-20 15:30:55 +00:00
nekral-guest
d977bc5d19 - useradd(8): Return code 13 no more documented. Closes: #661802 2012-05-20 12:28:09 +00:00
nekral-guest
4a0d11ba27 Update debian/patches/series because 428_grpck_add_prune_option was
removed.
2012-05-20 11:06:53 +00:00
nekral-guest
8d3f289bd8 - manpages: .so links point to paths relative to the top-level manual
hierarchy. Closes: #661025
2012-05-20 11:05:39 +00:00
nekral-guest
7a04299f9e * German translation of manpages completed. Closes: #673234 2012-05-18 19:27:30 +00:00
nekral-guest
770fddc081 - userdel: Fix segfault when userdel removes the user's group.
Closes: #660406
2012-05-18 18:56:49 +00:00
nekral-guest
b079e4f331 Cleanup and new entry:
- login: log into utmp(x) but not into wtmp (this is done by pam_lastlog).
      Log to utmp(x) was broken by the fix for #605329. Closes: 659957
2012-05-18 18:29:59 +00:00
bubulle
ac43a9a2d5 Separation of static and dynamic motd components in login PAM module
Closes: #669698
2012-04-21 12:06:55 +00:00
bubulle
5c999162fa Complete Polish translation of logoutd(8. Closes: #668880 2012-04-15 10:54:54 +00:00
nekral-guest
4d45becee0 #657763 was closed in 1:4.1.5-1. 2012-02-16 20:30:43 +00:00
nekral-guest
057ad9bb69 * debian/patches/428_grpck_add_prune_option: removed -p option. The option
was not documented and was meant to fix consequences of a bug now fixed
    more than 10 years ago.
Note that debian/patches/428_grpck_add_prune_option was broken by the
refresh in 4.1.5-1
  * debian/shadowconfig.sh: Display issues, but dot not prompt interactively
    to fix passwd/group/shadow/gshadow issues. Closes: #638263
2012-02-16 20:28:21 +00:00
nekral-guest
27c3b04789 Added common chroot files for i386. 2012-02-12 22:19:32 +00:00
nekral-guest
553718623c Do not copy the .svn directories when preparing a chroot. 2012-02-12 22:19:05 +00:00
nekral-guest
438596a720 Update release date. 2012-02-12 21:34:49 +00:00
nekral-guest
5e3b5ba676 * execute missing tests
* make sure /etc/shadow remain owned by group shadow after each test execution
* make sure /nonexistent is not created after each test execution
2012-02-04 16:10:02 +00:00
nekral-guest
7ca179b885 Add 24 tests for the --root options 2012-02-04 16:07:22 +00:00
nekral-guest
1bd5acfa3f * debian/login.defs: Set the default encryption method to SHA512.
Closes: #657717
2012-01-28 19:05:05 +00:00
nekral-guest
a10d121ff7 * debian/control: depends on dpkg-dev (>= 1.16.1~) for including
/usr/share/dpkg/buildflags.mk
  * debian/control: Standards-Version: bumped to 3.9.2. No changes.
2012-01-28 18:57:31 +00:00
bubulle
c16590aaf3 Add bug closure 2012-01-28 13:30:33 +00:00
bubulle
013637e2de Bug closures for French translation updates 2012-01-27 18:46:51 +00:00
bubulle
c8c3924815 Add bug closure for Danish manpages translation 2012-01-26 18:59:09 +00:00
bubulle
18d4a7a6a9 Add bug closure for Danish translation 2012-01-26 18:55:36 +00:00
nekral-guest
36018131dd * debian/rules: Do not hard-code CFLAGS and LDFLAGS. Build with all
hardening flags set. Closes: #657010
2012-01-24 22:23:06 +00:00
nekral-guest
f35045dcf1 * Raisethe security issue at the top of the debian changelog.
* Refreshed patches
2012-01-24 19:36:45 +00:00
bubulle
2a2cee4a95 Portuguese. Closes: #623722, #656686 2012-01-21 07:18:05 +00:00
bubulle
30eae84422 German. Closes: #622908, #656503 2012-01-19 19:38:49 +00:00
nekral-guest
62c0ed4fcb * debian/control: Add Build-Depends on libsemanage1-dev [linux-any] 2012-01-15 21:24:44 +00:00
nekral-guest
315479a6ce gpasswd sets the /etc/group's password to 'x' when the /etc/shadow is
updated.
2012-01-15 14:24:01 +00:00
nekral-guest
a240b74921 Updated usage message for chpasswd, userdel, and usermod. 2012-01-15 14:21:47 +00:00
nekral-guest
48841074a0 Updated chgpasswd usage message. 2012-01-15 14:20:17 +00:00
bubulle
c55dcada36 Bug closure 2012-01-14 13:29:44 +00:00
bubulle
b7d5465b0e Add bug closure for #655194 2012-01-09 19:01:02 +00:00
nekral-guest
5f5b7d56a6 Remove data files generated by the tests. 2011-11-20 14:52:44 +00:00
nekral-guest
ca30001269 Ignore generated log files. 2011-11-20 14:25:58 +00:00
nekral-guest
e45face1d2 Ignore generated log files. 2011-11-20 14:17:48 +00:00
nekral-guest
2ad689b454 Updated comments. 2011-11-20 14:05:25 +00:00
nekral-guest
53b76ca815 Ignore generated log files. 2011-11-20 13:33:21 +00:00
nekral-guest
21b505094a Refreshed patches. 2011-11-19 15:13:17 +00:00
nekral-guest
89c37173e1 * debian/patches/506_relaxed_usernames: Also forbid names containing a
comma.
2011-11-19 15:09:54 +00:00
nekral-guest
7ab1a77227 * debian/patches/901_testsuite_gcov: Do not revert the locale when testing
with gcov to avoid coverage false negatives. This does not impact the
    debian binary package, only the test package.
2011-11-19 15:01:22 +00:00
nekral-guest
1d04d40bc6 Add tests
* grpck (1)
 * pwck (11)
2011-11-14 23:09:09 +00:00
nekral-guest
3bde6ef31b Add failure tests
* pwck (9)
 * groupmems (2)
2011-11-14 21:05:26 +00:00
nekral-guest
2dd2472e22 Add /etc/default/useradd to avoid creating spool files. 2011-11-14 21:00:41 +00:00
nekral-guest
e065751f91 Only report the requested access mode because the complete mode differs on
different architectures.
2011-11-14 20:57:22 +00:00
nekral-guest
f2973dcc5a Fix test (avoid fixed date). 2011-11-14 20:55:36 +00:00
nekral-guest
907c0ab20b Change in cppw error message. 2011-11-14 20:54:54 +00:00
nekral-guest
9171ec4eae Newlines were introduced in the useradd error messages. 2011-11-14 20:53:58 +00:00
nekral-guest
f21fe99292 newusers was fixed not to set the password to x in /etc/group when there
are no gshadow file.
2011-11-14 20:50:05 +00:00
nekral-guest
96845a5867 Update newusers usage message with the --root option. 2011-11-14 20:49:08 +00:00
nekral-guest
d984dcb999 Fix test. 2011-11-14 20:42:35 +00:00
nekral-guest
eafbe03cc8 /etc/default/useradd is mandatory for the correct operation of useradd. 2011-11-14 20:39:28 +00:00
nekral-guest
b63ac7ac95 Update the lastlog and faillog usage with the --root option. 2011-11-14 20:34:09 +00:00
nekral-guest
3dc001c683 Relax timeout checks. 2011-11-14 20:33:29 +00:00
nekral-guest
3cb3fec04a Add one test for passwd. 2011-11-14 20:28:33 +00:00
nekral-guest
d6508a4fed Add 3 tests for expiry. 2011-11-14 20:26:11 +00:00
nekral-guest
3b694115de Use simple test (without expect) for usage checking. 2011-11-14 20:25:01 +00:00
nekral-guest
903f041993 Add tests
* pwconv (2)
 * pwunconv (2)
 * grpconv (2)
 * grpunconv (2)
2011-11-14 20:19:14 +00:00
nekral-guest
9811f7fd4a The pwconv, pwunconv, grpconv, and grpunconv utils now have complete usage
message and report a usage error if needed.
2011-11-14 19:45:13 +00:00
nekral-guest
5852c4eb9b Fix the file ownership. 2011-11-14 19:43:28 +00:00
nekral-guest
b954300b83 Add 2 tests for chsh. 2011-11-14 19:35:35 +00:00
nekral-guest
a2c7f4c8a5 Update chsh usage with the --root option. 2011-11-14 19:33:55 +00:00
nekral-guest
8e85d1cb82 Update chage error message. 2011-11-14 19:32:54 +00:00
nekral-guest
ec7f69e97a Add one test for chage. 2011-11-14 19:32:08 +00:00
nekral-guest
fbdc52a86d Update the chage usage with the --root option. 2011-11-14 19:28:42 +00:00
nekral-guest
dff2fa836e chage/31_chage_interractive_date_invalid is currently failing and chage
gets killed.
Cleanup the lock files anyway.
2011-11-14 19:27:43 +00:00
nekral-guest
190dfc30eb Add one test for cppw. 2011-11-14 19:22:28 +00:00
nekral-guest
8ba58a61d5 Update cppw error message. 2011-11-14 19:21:04 +00:00
nekral-guest
c980cb6b3a Update the chpasswd, userdel, and usermod usage with the --root option. 2011-11-14 19:19:57 +00:00
nekral-guest
30b6ca81e0 /etc/default/useradd is necessary for the correct operation of useradd. 2011-11-14 19:18:53 +00:00
nekral-guest
541f6a66b8 useradd was fixed and does not set the password to x when there are no
shadow file.
2011-11-14 19:16:02 +00:00
nekral-guest
c6175f07e3 Update useradd usage with the --root option. 2011-11-14 19:15:10 +00:00
nekral-guest
0b8b6534cc Update the gpasswd and chgpasswd usage with the --root option. 2011-11-14 19:13:46 +00:00
nekral-guest
f6de85357c Add one test for groupmod. 2011-11-14 19:12:47 +00:00
nekral-guest
913827c3c1 Update groupmod usage with --root option. 2011-11-14 19:11:57 +00:00
nekral-guest
5fdb900d7b Add one test for groupadd. 2011-11-14 19:11:18 +00:00
nekral-guest
7803aa52ab Updated usage with the --root option. 2011-11-14 19:10:21 +00:00
nekral-guest
54746f0d92 Add 2 tests for groupdel. 2011-11-14 18:59:14 +00:00
nekral-guest
dd612ca974 Updated usage with options. 2011-11-14 18:58:15 +00:00
nekral-guest
55b516ba94 Add 8 tests for groupmems 2011-11-14 18:47:05 +00:00
nekral-guest
bda5661096 Fix test purpose. 2011-11-14 18:27:50 +00:00
nekral-guest
186f0b002a Usage message reported to stdout with the now valid -h option 2011-11-14 18:26:56 +00:00
nekral-guest
ce533f3250 Typo fixed in grpck. 2011-11-14 18:26:01 +00:00
nekral-guest
eb3cd52450 Update grpck usage message. 2011-11-14 18:25:11 +00:00
nekral-guest
28af4c5bc5 * debian/patches/401_cppw_src.dpatch: Detect as well too many and too
few arguments.
  * Fix section of debian changelog where update of patches are documented
2011-11-13 16:30:37 +00:00
nekral-guest
5bb64ec036 * debian/securetty.linux: Add s390/s390x ports ttysclp0. Closes: #647469 2011-11-06 19:14:12 +00:00
nekral-guest
6b8409e9e8 Refreshed patches. 2011-11-06 19:08:11 +00:00
nekral-guest
4a5447d4d7 Fix issue introduced by the synchronization with coding style. 2011-11-06 19:06:37 +00:00
nekral-guest
1c619c768d * New upstream release:
- groupmod: document that /etc/passwd can be modified by groupmod -g.
      Closes: #647308
2011-11-06 19:05:27 +00:00
nekral-guest
af075bffc9 - debian/patches/506_relaxed_usernames: Really check if the user/group
name starts with a dash. Also forbid names starting with '+' or '~'.
      Document the naming policy in useradd.8 / groupadd.8.
2011-10-31 22:54:38 +00:00
nekral-guest
971f260e94 Only report the requested access mode because the complete mode differs on different architectures. 2011-10-20 18:17:28 +00:00
nekral-guest
9f71e81c91 Usage of useradd was updated. 2011-10-20 18:15:31 +00:00
nekral-guest
7dc1f3b2dd Usage messages of cppw and grpconv were missing. 2011-10-20 18:13:50 +00:00
nekral-guest
5431d2abe2 cppw error returned in case of bad usage was changed (1->2). 2011-10-20 18:12:03 +00:00
nekral-guest
47bbcf4dc4 Fix messages. 2011-10-20 18:11:29 +00:00
nekral-guest
b512961c12 Continue synchronization with coding style
* Use of gettext (even if no messages would be translated in the current
   infrastructure)
 * report an additional strerror only if a message was provided
 * fix issue when cppwexit is called before the copy of file
2011-10-20 18:09:12 +00:00
nekral-guest
efab223b05 - debian/patches/401_cppw_src.dpatch, debian/patches/402_cppw_selinux:
Synchronize with coding style.
2011-10-18 22:44:46 +00:00
nekral-guest
cd964eccb5 - debian/patches/402_cppw_selinux: Avoid implicit conversion between
integer and boolean.
    - debian/patches/401_cppw_src.dpatch: Replace progname by Prog. Rename
      create_backup_file to create_copy. The lock functions do not ser errno.
      Do not report the error string on cppwexit.
2011-10-18 21:58:33 +00:00
nekral-guest
1ce22b1adc Refresh patches. 2011-10-18 21:29:56 +00:00
nekral-guest
6c4c7f47a0 * Add the new tests.
* Stop executing tests when RUN_TEST.STOP exists
 * Reset permissions on gcda files after running tests for suid tools (su).
2011-10-16 16:15:04 +00:00
nekral-guest
53ba4f6fc6 Add tests for:
* chage (6)
 * chsh (2)
 * cppw (3)
 * gpasswd (11)
 * grpconv (4)
 * grpunconv (4)
 * newusers (10)
 * pwconv (5)
 * pwunconv (4)
 * useradd (11)
2011-10-16 14:45:54 +00:00
nekral-guest
2d0341ae26 Added 4 failure tests for userdel. 2011-10-16 14:39:08 +00:00
nekral-guest
edc2bc5556 * Fix typos in comments.
* Remove generated directory.
2011-10-16 14:37:49 +00:00
nekral-guest
a3e655cc19 * The logs may be dated from the previous minute.
* Reverse the diff.
2011-10-16 14:34:17 +00:00
nekral-guest
34e67733ad Add 10 tests for cppw. 2011-10-16 14:32:34 +00:00
nekral-guest
f261f8897d Cleanup. 2011-10-16 14:30:56 +00:00
nekral-guest
b2f829c0d9 Add 2 other open failure libraries. 2011-10-16 14:24:39 +00:00
nekral-guest
e44a7c5333 Test that only O_RDWR is set.
Rename internal symbols to *open64.
2011-10-16 14:24:11 +00:00
nekral-guest
5256839da0 Add 12 tests for chsh. 2011-09-25 13:53:11 +00:00
nekral-guest
053fd6f667 Add 36 tests for chage. 2011-09-24 07:32:13 +00:00
nekral-guest
d25fbce118 Usage was fixed (LOGIN mandatory) 2011-09-24 07:30:56 +00:00
nekral-guest
4d3d2852df Fix typo. 2011-09-24 07:30:34 +00:00
nekral-guest
35f6fa4fb2 Add 12 tests for newusers. 2011-09-24 07:29:31 +00:00
nekral-guest
8c79098041 Add tests for
* userdel (9)
 * useradd (68)
2011-09-24 07:27:38 +00:00
nekral-guest
227e780644 When there is a gshadow file, gshadow is activated.
Then a group password change puts the password in the gshadow file (create
an entry) and the group's password is set to 'x'.
2011-09-23 17:50:59 +00:00
nekral-guest
85f90d1aa2 Add 12 tests for gpasswd. 2011-09-23 17:46:57 +00:00
nekral-guest
2fcaf22140 Add separation for the logs. 2011-09-23 17:45:06 +00:00
nekral-guest
ff97ca76fc Remove tmp directory. 2011-09-23 17:43:42 +00:00
nekral-guest
b7a8fec626 Remove tmp directories. 2011-09-23 17:42:54 +00:00
nekral-guest
7d143a73d5 Depending on the system's load, there can be some variability in the
elapsed time.
2011-09-23 17:42:26 +00:00
nekral-guest
fd69ebf5a9 Added tests:
* pwunconv  (2)
 * grpunconv (3)
 * pwconv    (1)
 * grpconv   (1)
2011-09-23 17:36:45 +00:00
nekral-guest
9fa842ffbf Remove generated test log file. 2011-09-23 17:30:31 +00:00
nekral-guest
5305181f4e * debian/rules, debian/man.insert, debian/man.insert.sed: Bug #507673 has
been closed. It is no more needed to patch the generated manpages. This
    also fix failures to build twice is a row. Closes: #636047
2011-08-17 17:36:54 +00:00
nekral-guest
5760010c6a * Added execution of missing tests
* Fix permissions on the .gcda files.
2011-07-26 15:38:45 +00:00
nekral-guest
ed983623b7 Cleanup. Remove gdb. 2011-07-26 15:35:59 +00:00
nekral-guest
871df6e34b Added tests for faillog. 2011-07-26 15:33:12 +00:00
nekral-guest
279b8e9b69 Fix TTY detection. use the lowest unused TTY ID. 2011-07-26 15:25:15 +00:00
nekral-guest
9540ec861e Added test for pwconv. 2011-07-26 15:23:49 +00:00
nekral-guest
d408a3cdda Use a more common config with password in shadow instead of passwd.
(Other tests focus on the less frequent use cases)
2011-07-26 15:23:03 +00:00
nekral-guest
51520f2c77 Added missing cleanup. 2011-07-26 15:17:04 +00:00
nekral-guest
c0a26b82ae Added test for chpasswd. 2011-07-26 15:14:38 +00:00
nekral-guest
133092e437 Fix expected test results. 2011-07-26 14:12:08 +00:00
nekral-guest
6f7963a3ea Added test for expiry. 2011-07-26 14:08:36 +00:00
nekral-guest
d2b12355ee Added changelog entries for issues closed in the new upstream version. 2011-07-24 16:26:51 +00:00
bubulle
c0e2ae0e41 Add bug closure 2011-07-19 08:37:20 +00:00
bubulle
6e0036f616 Use "linux-any" instead of a negated list of architectures in
Build-Depends
2011-07-19 08:36:15 +00:00
nekral-guest
12e0029b68 Remove unused files or files identical to config. 2011-07-17 12:00:16 +00:00
nekral-guest
efd41d31d8 Added missing cleanup. 2011-07-16 18:13:27 +00:00
nekral-guest
ea725da60f Ignore log files. 2011-07-16 18:04:54 +00:00
nekral-guest
ec9d756fc7 Hide failure library's warnings. 2011-07-16 17:36:18 +00:00
nekral-guest
e74300f9f3 Fix test. 2011-07-16 17:33:02 +00:00
nekral-guest
ce687005c7 Fix typo in log message. 2011-07-16 16:12:01 +00:00
nekral-guest
645829be3b Added tests for chpasswd (PAM variant) 2011-07-16 16:11:08 +00:00
nekral-guest
87134054ab Use valid files for 03_chpasswd_no_shadow_file.
This avoid a failure.
The failure will be tested later.
2011-07-16 16:08:51 +00:00
nekral-guest
f26adb9373 Added tests for chpasswd and chgpasswd. 2011-07-16 16:01:27 +00:00
nekral-guest
563facd989 Added tests for chgpasswd. 2011-07-16 15:56:21 +00:00
nekral-guest
5292e8e37e Additional tests for grpck. 2011-07-16 15:45:04 +00:00
nekral-guest
4a79eb6418 Added tests for grpck. 2011-07-16 15:44:21 +00:00
nekral-guest
d36e1588a4 Added library to change the time. 2011-07-15 16:27:27 +00:00
nekral-guest
3a8fc569dc Added tests for lastlog.
--This line, and those below, will be ignored--

A    log
A    log/lastlog
A    log/lastlog/03_lastlog_format
A    log/lastlog/03_lastlog_format/config.txt
AM   log/lastlog/03_lastlog_format/login.exp
AM   log/lastlog/03_lastlog_format/lastlog.test
A    log/lastlog/03_lastlog_format/config
A    log/lastlog/03_lastlog_format/config/etc
A    log/lastlog/03_lastlog_format/config/etc/passwd
A    log/lastlog/03_lastlog_format/config/etc/shadow
A    log/lastlog/03_lastlog_format/config/etc/group
A    log/lastlog/03_lastlog_format/config/etc/gshadow
A    log/lastlog/03_lastlog_format/data
A    log/lastlog/03_lastlog_format/data/lastlog.out
A    log/lastlog/14_lastlog-u_range_invalid3
A    log/lastlog/14_lastlog-u_range_invalid3/config.txt
AM   log/lastlog/14_lastlog-u_range_invalid3/lastlog.test
A    log/lastlog/14_lastlog-u_range_invalid3/config
A    log/lastlog/14_lastlog-u_range_invalid3/config/etc
A    log/lastlog/14_lastlog-u_range_invalid3/config/etc/passwd
A    log/lastlog/14_lastlog-u_range_invalid3/config/etc/shadow
A    log/lastlog/14_lastlog-u_range_invalid3/config/etc/group
A    log/lastlog/14_lastlog-u_range_invalid3/config/etc/gshadow
A    log/lastlog/14_lastlog-u_range_invalid3/data
A    log/lastlog/14_lastlog-u_range_invalid3/data/lastlog.err
A    log/lastlog/04_lastlog_mulitple
A    log/lastlog/04_lastlog_mulitple/config.txt
AM   log/lastlog/04_lastlog_mulitple/login.exp
AM   log/lastlog/04_lastlog_mulitple/lastlog.test
A    log/lastlog/04_lastlog_mulitple/config
A    log/lastlog/04_lastlog_mulitple/config/etc
A    log/lastlog/04_lastlog_mulitple/config/etc/passwd
A    log/lastlog/04_lastlog_mulitple/config/etc/shadow
A    log/lastlog/04_lastlog_mulitple/config/etc/group
A    log/lastlog/04_lastlog_mulitple/config/etc/gshadow
A    log/lastlog/04_lastlog_mulitple/data
A    log/lastlog/04_lastlog_mulitple/data/lastlog.list
A    log/lastlog/08_lastlog-u_name_invalid
A    log/lastlog/08_lastlog-u_name_invalid/config.txt
AM   log/lastlog/08_lastlog-u_name_invalid/lastlog.test
A    log/lastlog/08_lastlog-u_name_invalid/config
A    log/lastlog/08_lastlog-u_name_invalid/config/etc
A    log/lastlog/08_lastlog-u_name_invalid/config/etc/passwd
A    log/lastlog/08_lastlog-u_name_invalid/config/etc/shadow
A    log/lastlog/08_lastlog-u_name_invalid/config/etc/group
A    log/lastlog/08_lastlog-u_name_invalid/config/etc/gshadow
A    log/lastlog/08_lastlog-u_name_invalid/data
A    log/lastlog/08_lastlog-u_name_invalid/data/lastlog.err
A    log/lastlog/19_lastlog-t_invalid
A    log/lastlog/19_lastlog-t_invalid/tmp
A    log/lastlog/19_lastlog-t_invalid/config.txt
AM   log/lastlog/19_lastlog-t_invalid/lastlog.test
A    log/lastlog/19_lastlog-t_invalid/config
A    log/lastlog/19_lastlog-t_invalid/config/etc
A    log/lastlog/19_lastlog-t_invalid/config/etc/passwd
A    log/lastlog/19_lastlog-t_invalid/config/etc/shadow
A    log/lastlog/19_lastlog-t_invalid/config/etc/group
A    log/lastlog/19_lastlog-t_invalid/config/etc/gshadow
A    log/lastlog/19_lastlog-t_invalid/data
A    log/lastlog/19_lastlog-t_invalid/data/lastlog.err
A    log/lastlog/01_lastlog_no_lastlog
A    log/lastlog/01_lastlog_no_lastlog/config.txt
AM   log/lastlog/01_lastlog_no_lastlog/lastlog.test
A    log/lastlog/01_lastlog_no_lastlog/config
A    log/lastlog/01_lastlog_no_lastlog/config/etc
A    log/lastlog/01_lastlog_no_lastlog/config/etc/passwd
A    log/lastlog/01_lastlog_no_lastlog/config/etc/shadow
A    log/lastlog/01_lastlog_no_lastlog/config/etc/group
A    log/lastlog/01_lastlog_no_lastlog/config/etc/gshadow
A    log/lastlog/01_lastlog_no_lastlog/data
A    log/lastlog/01_lastlog_no_lastlog/data/lastlog.err
A    log/lastlog/05_lastlog-u_ID
A    log/lastlog/05_lastlog-u_ID/config.txt
AM   log/lastlog/05_lastlog-u_ID/lastlog.test
A    log/lastlog/05_lastlog-u_ID/config
A    log/lastlog/05_lastlog-u_ID/config/etc
A    log/lastlog/05_lastlog-u_ID/config/etc/passwd
A    log/lastlog/05_lastlog-u_ID/config/etc/shadow
A    log/lastlog/05_lastlog-u_ID/config/etc/group
A    log/lastlog/05_lastlog-u_ID/config/etc/gshadow
A    log/lastlog/05_lastlog-u_ID/data
A    log/lastlog/05_lastlog-u_ID/data/lastlog.list
A    log/lastlog/02_lastlog_usage
A    log/lastlog/02_lastlog_usage/config.txt
AM   log/lastlog/02_lastlog_usage/lastlog.test
A    log/lastlog/02_lastlog_usage/config
A    log/lastlog/02_lastlog_usage/config/etc
A    log/lastlog/02_lastlog_usage/config/etc/passwd
A    log/lastlog/02_lastlog_usage/config/etc/shadow
A    log/lastlog/02_lastlog_usage/config/etc/group
A    log/lastlog/02_lastlog_usage/config/etc/gshadow
A    log/lastlog/02_lastlog_usage/data
A    log/lastlog/02_lastlog_usage/data/usage.out
A    log/lastlog/20_lastlog-b_invalid
A    log/lastlog/20_lastlog-b_invalid/config.txt
AM   log/lastlog/20_lastlog-b_invalid/lastlog.test
A    log/lastlog/20_lastlog-b_invalid/config
A    log/lastlog/20_lastlog-b_invalid/config/etc
A    log/lastlog/20_lastlog-b_invalid/config/etc/passwd
A    log/lastlog/20_lastlog-b_invalid/config/etc/shadow
A    log/lastlog/20_lastlog-b_invalid/config/etc/group
A    log/lastlog/20_lastlog-b_invalid/config/etc/gshadow
A    log/lastlog/20_lastlog-b_invalid/data
A    log/lastlog/20_lastlog-b_invalid/data/lastlog.err
A    log/lastlog/09_lastlog-u_range
A    log/lastlog/09_lastlog-u_range/config.txt
AM   log/lastlog/09_lastlog-u_range/lastlog.test
A    log/lastlog/09_lastlog-u_range/config
A    log/lastlog/09_lastlog-u_range/config/etc
A    log/lastlog/09_lastlog-u_range/config/etc/passwd
A    log/lastlog/09_lastlog-u_range/config/etc/shadow
A    log/lastlog/09_lastlog-u_range/config/etc/group
A    log/lastlog/09_lastlog-u_range/config/etc/gshadow
A    log/lastlog/09_lastlog-u_range/data
A    log/lastlog/09_lastlog-u_range/data/lastlog.list
A    log/lastlog/18_lastlog-b
A    log/lastlog/18_lastlog-b/config.txt
AM   log/lastlog/18_lastlog-b/login.exp
AM   log/lastlog/18_lastlog-b/lastlog.test
A    log/lastlog/18_lastlog-b/config
A    log/lastlog/18_lastlog-b/config/etc
A    log/lastlog/18_lastlog-b/config/etc/passwd
A    log/lastlog/18_lastlog-b/config/etc/shadow
A    log/lastlog/18_lastlog-b/config/etc/group
A    log/lastlog/18_lastlog-b/config/etc/gshadow
A    log/lastlog/18_lastlog-b/data
A    log/lastlog/18_lastlog-b/data/lastlog.list
A    log/lastlog/07_lastlog-u_ID_invalid
A    log/lastlog/07_lastlog-u_ID_invalid/tmp
A    log/lastlog/07_lastlog-u_ID_invalid/tmp/lastlog.list
A    log/lastlog/07_lastlog-u_ID_invalid/config.txt
AM   log/lastlog/07_lastlog-u_ID_invalid/lastlog.test
A    log/lastlog/07_lastlog-u_ID_invalid/config
A    log/lastlog/07_lastlog-u_ID_invalid/config/etc
A    log/lastlog/07_lastlog-u_ID_invalid/config/etc/passwd
A    log/lastlog/07_lastlog-u_ID_invalid/config/etc/shadow
A    log/lastlog/07_lastlog-u_ID_invalid/config/etc/group
A    log/lastlog/07_lastlog-u_ID_invalid/config/etc/gshadow
A    log/lastlog/07_lastlog-u_ID_invalid/data
A    log/lastlog/07_lastlog-u_ID_invalid/data/lastlog.list
A    log/lastlog/10_lastlog-u_open_range
A    log/lastlog/10_lastlog-u_open_range/config.txt
AM   log/lastlog/10_lastlog-u_open_range/lastlog.test
A    log/lastlog/10_lastlog-u_open_range/config
A    log/lastlog/10_lastlog-u_open_range/config/etc
A    log/lastlog/10_lastlog-u_open_range/config/etc/passwd
A    log/lastlog/10_lastlog-u_open_range/config/etc/shadow
A    log/lastlog/10_lastlog-u_open_range/config/etc/group
A    log/lastlog/10_lastlog-u_open_range/config/etc/gshadow
A    log/lastlog/10_lastlog-u_open_range/data
A    log/lastlog/10_lastlog-u_open_range/data/lastlog.list
A    log/lastlog/11_lastlog-u_range_open
A    log/lastlog/11_lastlog-u_range_open/config.txt
AM   log/lastlog/11_lastlog-u_range_open/lastlog.test
A    log/lastlog/11_lastlog-u_range_open/config
A    log/lastlog/11_lastlog-u_range_open/config/etc
A    log/lastlog/11_lastlog-u_range_open/config/etc/passwd
A    log/lastlog/11_lastlog-u_range_open/config/etc/shadow
A    log/lastlog/11_lastlog-u_range_open/config/etc/group
A    log/lastlog/11_lastlog-u_range_open/config/etc/gshadow
A    log/lastlog/11_lastlog-u_range_open/data
A    log/lastlog/11_lastlog-u_range_open/data/lastlog.list
A    log/lastlog/16_lastlog_extra_arg
A    log/lastlog/16_lastlog_extra_arg/config.txt
AM   log/lastlog/16_lastlog_extra_arg/lastlog.test
A    log/lastlog/16_lastlog_extra_arg/config
A    log/lastlog/16_lastlog_extra_arg/config/etc
A    log/lastlog/16_lastlog_extra_arg/config/etc/passwd
A    log/lastlog/16_lastlog_extra_arg/config/etc/shadow
A    log/lastlog/16_lastlog_extra_arg/config/etc/group
A    log/lastlog/16_lastlog_extra_arg/config/etc/gshadow
A    log/lastlog/16_lastlog_extra_arg/data
A    log/lastlog/16_lastlog_extra_arg/data/usage.out
A    log/lastlog/15_lastlog_bad_option
A    log/lastlog/15_lastlog_bad_option/config.txt
AM   log/lastlog/15_lastlog_bad_option/lastlog.test
A    log/lastlog/15_lastlog_bad_option/config
A    log/lastlog/15_lastlog_bad_option/config/etc
A    log/lastlog/15_lastlog_bad_option/config/etc/passwd
A    log/lastlog/15_lastlog_bad_option/config/etc/shadow
A    log/lastlog/15_lastlog_bad_option/config/etc/group
A    log/lastlog/15_lastlog_bad_option/config/etc/gshadow
A    log/lastlog/15_lastlog_bad_option/data
A    log/lastlog/15_lastlog_bad_option/data/usage.out
A    log/lastlog/12_lastlog-u_range_invalid1
A    log/lastlog/12_lastlog-u_range_invalid1/config.txt
AM   log/lastlog/12_lastlog-u_range_invalid1/lastlog.test
A    log/lastlog/12_lastlog-u_range_invalid1/config
A    log/lastlog/12_lastlog-u_range_invalid1/config/etc
A    log/lastlog/12_lastlog-u_range_invalid1/config/etc/passwd
A    log/lastlog/12_lastlog-u_range_invalid1/config/etc/shadow
A    log/lastlog/12_lastlog-u_range_invalid1/config/etc/group
A    log/lastlog/12_lastlog-u_range_invalid1/config/etc/gshadow
A    log/lastlog/12_lastlog-u_range_invalid1/data
A    log/lastlog/12_lastlog-u_range_invalid1/data/lastlog.err
A    log/lastlog/06_lastlog-u_name
A    log/lastlog/06_lastlog-u_name/config.txt
AM   log/lastlog/06_lastlog-u_name/lastlog.test
A    log/lastlog/06_lastlog-u_name/config
A    log/lastlog/06_lastlog-u_name/config/etc
A    log/lastlog/06_lastlog-u_name/config/etc/passwd
A    log/lastlog/06_lastlog-u_name/config/etc/shadow
A    log/lastlog/06_lastlog-u_name/config/etc/group
A    log/lastlog/06_lastlog-u_name/config/etc/gshadow
A    log/lastlog/06_lastlog-u_name/data
A    log/lastlog/06_lastlog-u_name/data/lastlog.list
A    log/lastlog/17_lastlog-t
A    log/lastlog/17_lastlog-t/config.txt
AM   log/lastlog/17_lastlog-t/login.exp
AM   log/lastlog/17_lastlog-t/lastlog.test
A    log/lastlog/17_lastlog-t/config
A    log/lastlog/17_lastlog-t/config/etc
A    log/lastlog/17_lastlog-t/config/etc/passwd
A    log/lastlog/17_lastlog-t/config/etc/shadow
A    log/lastlog/17_lastlog-t/config/etc/group
A    log/lastlog/17_lastlog-t/config/etc/gshadow
A    log/lastlog/17_lastlog-t/data
A    log/lastlog/17_lastlog-t/data/lastlog.list
A    log/lastlog/13_lastlog-u_range_invalid2
A    log/lastlog/13_lastlog-u_range_invalid2/config.txt
AM   log/lastlog/13_lastlog-u_range_invalid2/lastlog.test
A    log/lastlog/13_lastlog-u_range_invalid2/config
A    log/lastlog/13_lastlog-u_range_invalid2/config/etc
A    log/lastlog/13_lastlog-u_range_invalid2/config/etc/passwd
A    log/lastlog/13_lastlog-u_range_invalid2/config/etc/shadow
A    log/lastlog/13_lastlog-u_range_invalid2/config/etc/group
A    log/lastlog/13_lastlog-u_range_invalid2/config/etc/gshadow
A    log/lastlog/13_lastlog-u_range_invalid2/data
A    log/lastlog/13_lastlog-u_range_invalid2/data/lastlog.err
2011-07-15 16:26:34 +00:00
nekral-guest
d88fee56d0 Updated to include the new Chinese translations and the groupmems manpages
(built for the tested package, but not in Debian).
2011-07-14 17:27:27 +00:00
nekral-guest
8c071f98f4 Updated error message. 2011-07-14 17:26:26 +00:00
nekral-guest
17589834e9 The reason for the lock failure is now indicated in the failure message. 2011-07-14 17:25:48 +00:00
nekral-guest
b1dcbb9109 Added tests for groupadd and groupmod 2011-07-14 17:22:15 +00:00
nekral-guest
ff21533772 The reason for the lock failure is now indicated in the failure message. 2011-07-14 17:20:29 +00:00
nekral-guest
8e4062eaad If there are no gshadow entry, but group indicate that gshadow is enabled,
a gshadow entry is created.
2011-07-14 17:19:14 +00:00
nekral-guest
3e7c866497 Since there are no gshadow, it is more logical to have a password (rather
than x).
2011-07-14 17:18:07 +00:00
nekral-guest
25eb9fd7e9 Added grpck tests. 2011-07-14 17:08:39 +00:00
nekral-guest
a472a22b42 Added some groupmod / usermod tests. 2011-07-14 16:41:17 +00:00
nekral-guest
528435663e Added 2 libraries to support error injection. 2011-07-14 16:40:03 +00:00
nekral-guest
13125b6596 Fix typos. 2011-07-14 16:39:22 +00:00
nekral-guest
e642700f7c Added tests for groupadd and groupdel. 2011-07-14 16:38:47 +00:00
nekral-guest
1c05718b49 Updated warnings. 2011-07-14 16:35:57 +00:00
nekral-guest
21b28d9ac2 Lock failures now receive an extra message. 2011-07-14 16:34:53 +00:00
nekral-guest
31b4793161 userdel now warns when the user's mail spool cannot be found. 2011-07-14 16:24:26 +00:00
nekral-guest
831ca2acc0 Added tests for usermod. 2011-07-14 16:19:27 +00:00
nekral-guest
c959b173fa - Spaces have been added between options and arguments in theRussian
manpages. Closes: #606159
2011-06-25 09:14:20 +00:00
nekral-guest
494fe327a2 - passwd(1) references chpasswd(8). Closes: #609117 2011-06-25 09:03:46 +00:00
nekral-guest
32ee5cf5a4 - userdel error message has been clarified when the user is still
executing processes (it used to complain that the user is logged in).
      Closes: #603315
2011-06-25 08:58:55 +00:00
nekral-guest
1dab661a88 The new Simplified Chinese manpages translation should have fix #602264. 2011-06-25 08:54:02 +00:00
nekral-guest
5c743da48c * debian/securetty.linux: Fixed typo: ttyama -> ttyAMA. Closes: #544184 2011-06-24 21:50:20 +00:00
nekral-guest
34b64c6a5c - name the next release (which should be a 4.1.5)
- reindent according to previous entry, and use the same bug closing
   style
 - document bugs closed by the latest upstream
 - refresh patch according to latest upstream
 - remove patch not needed with latest upstream
 - sort translations alphabetically
 - debian/control: mark passwd as 'Multi-Arch: foreign'. Closes: #614321
 - debian/securetty.linux: Add IBM pSeries console ports. Closes: #597661
 - debian/securetty.linux: Add serial Console for MIPS Swarm.
   (http://lists.debian.org/debian-release/2011/02/msg00320.html)
2011-06-24 21:44:27 +00:00
bubulle
520c3d2ee8 * New upstream version
* Upstream fixes:
  - Fix several typos in manpages. Thanks to Simon Brandmair
* Upstream translation updates from Debian BTS:
  - Japanese (Closes: #620978)
  - Kazakh (Closes: #620930)
  - Danish (Closes: #621330)
  - Swedish (Closes: #621126)
  - Russian (Closes: #622106)
  - Brazilian Portuguese (Closes: #622834)
  - German (Closes: #622908)
  - French (Closes: #623608)
  - Portuguese (Closes: #623722)
  - Catalan (Closes: #627526)
  - Spanish (Closes: #630618)
* Upstream manpages translation updates from Debian BTS:
  - French (Closes: #630250)
  - German (Closes: #628777)
2011-06-18 05:33:43 +00:00
bubulle
edc1e3de4c French manpages translation update (Closes: #630250) 2011-06-12 19:57:02 +00:00
nekral-guest
51c1b4fd6e Added missing pieces from 1:4.1.4.2+svn3283-3 2011-06-04 07:42:27 +00:00
bubulle
dc8ebb9a93 German manpages translation update (Closes: #628777) 2011-06-01 12:20:08 +00:00
bubulle
3f81b32b3a Pending changes in new upstream 2011-06-01 12:01:01 +00:00
bubulle
05712cf244 French and Portuguese translation updates 2011-04-25 10:07:09 +00:00
bubulle
3cd211df74 German translation update (Closes: #622908) 2011-04-16 07:33:17 +00:00
bubulle
eed7f843e5 Brazilian Portuguese translation update (Closes: #622834) 2011-04-15 06:22:02 +00:00
bubulle
0dd4550277 Bug closure for Russian translation 2011-04-10 15:51:20 +00:00
bubulle
4f0461c5aa Translations fixes in upcoming release 2011-04-05 18:04:48 +00:00
bubulle
801dc30dc9 Fix typo in /etc/pam.d/login comments. Thanks to Ferenc Wagner.
Closes: #598717
2010-10-02 11:30:52 +00:00
bubulle
81d3f93571 Release 1:4.1.4.2+svn3283-2 2010-10-02 11:24:43 +00:00
bubulle
2bbe223879 Fix backup command line in cron.daily script. Closes: #596283 2010-09-12 13:00:49 +00:00
nekral-guest
5a13d590df New version will be based on revision 3283. 2010-09-05 16:21:31 +00:00
nekral-guest
150d37d441 Fix typo. 2010-08-29 19:26:34 +00:00
nekral-guest
92ada6ae8c Next version should be based on upstream trunk, revision 3280. 2010-08-29 19:17:50 +00:00
nekral-guest
f844f3fc1f * New upstream release:
- Fixed comma splice in chsh(1). Closes: #582166
2010-08-28 20:17:28 +00:00
nekral-guest
f04a81b799 Add the other failure libraries. 2010-08-28 20:07:14 +00:00
nekral-guest
ac62509912 When /var/log/auth.log is checked, flush file system buffers.
And add debug information (content of /var/log/auth.log).
2010-08-28 19:51:48 +00:00
nekral-guest
090dcd4714 Updated default ENV_SUPATH. 2010-08-28 19:50:13 +00:00
nekral-guest
2772f3caaf Even with -p, PATH is reset. This is now documented and tested. 2010-08-28 19:49:12 +00:00
nekral-guest
d4da487911 * debian/rules: Disable new features: --without-acl --without-attr
--without-tcb
2010-08-28 19:44:52 +00:00
nekral-guest
26d47d4a13 Avoid spurious warning messages.
Only display the messages from stderr if the passwords do not match.
2010-08-28 18:05:03 +00:00
nekral-guest
7aa5afbe3e Use an empty /etc/profile to avoid interferences. 2010-08-28 18:03:43 +00:00
nekral-guest
8e07b2236e Add two tests for pwck. 2010-08-27 18:13:35 +00:00
nekral-guest
b82323f6fc SUpport for dash. 2010-08-27 18:07:51 +00:00
nekral-guest
2da85fc32b Updated list of installed files. 2010-08-27 18:05:48 +00:00
nekral-guest
036fdfd2cb Behavior of newusers has changed regarding systeml users (allocation starting from the higest limit and going down). It makes more sens to pass this test with users alredy allocated that way.
etc/passwd changed and data/passwd data/group changed to match the new request's results.
2010-08-27 18:03:36 +00:00
nekral-guest
3081241777 Behavior of usermod was improved regarding (re)moving the old homedir. 2010-08-27 17:58:24 +00:00
nekral-guest
3472bee15a Behavior of usermod was improved regarding (re)moving the old homedir. 2010-08-27 17:57:42 +00:00
nekral-guest
a6336f11f8 * The PAM version now allows chpasswd an user when there are no shadow entries
(or maybe PAM behavior changed).
 * Document the differences between the 2 versions (PAM will add a shadow entry
   and the !PAM version will just update the passwd entry).
   This may have to be fixed later, but is not a clear bug.
 * Remove unnecessary files
2010-08-27 17:53:14 +00:00
nekral-guest
3b6a675f3f Use a PAM configuration with the pam_unix md5 option. 2010-08-26 21:31:56 +00:00
nekral-guest
bcd3d8c1b8 Use a PAM configuration without a specific hash option => default to DES. 2010-08-26 21:29:46 +00:00
nekral-guest
7de171da64 Use a PAM configuration with the pam_unix sha256 option. 2010-08-26 21:28:34 +00:00
nekral-guest
fc3fa0e293 Use a pam configuration with the pam_unix sha512 option 2010-08-26 21:27:17 +00:00
nekral-guest
53b2f99d37 Use a default pam configuration using pam_unix sha512 option. 2010-08-26 21:25:48 +00:00
nekral-guest
056347f7a0 The order of groups returned by id has changed. 2010-08-26 21:16:35 +00:00
nekral-guest
80d3925cc1 * Updated for dash
* There is no need to send a wrong password. The expect script is already changing the password to a wrong one
 * Updated ignore property
2010-08-26 21:11:33 +00:00
nekral-guest
4ff6fdd350 Added missing data files and updated ignore property. 2010-08-26 21:07:25 +00:00
nekral-guest
6fd2918f82 sha512 is now the default pam_unix configuration. 2010-08-26 21:02:41 +00:00
nekral-guest
991d707460 groupmod usage output was changed. 2010-08-26 19:40:23 +00:00
nekral-guest
6268434a34 Error message was updated. 2010-08-26 19:39:20 +00:00
nekral-guest
79bd47d726 * Support for dash
* chage usage is sent to stdout instead of stderr
2010-08-26 19:39:01 +00:00
nekral-guest
6a94f65dc6 Updated debug & log information 2010-08-26 19:37:38 +00:00
nekral-guest
f38390ecf8 Support for dash. 2010-08-26 19:36:43 +00:00
nekral-guest
1906527bb8 Support for dash. 2010-08-26 19:34:04 +00:00
nekral-guest
4de1bfac9c Additional debug information. 2010-08-26 19:32:38 +00:00
nekral-guest
ce8580ca6d Add the last 2 tests to the default tests. 2010-08-26 19:32:12 +00:00
nekral-guest
78fd15bab1 Added 2 tests for su. 2010-08-26 19:30:52 +00:00
nekral-guest
f32335f6f9 System's default PATH has been updated. 2010-08-26 19:27:03 +00:00
nekral-guest
c7df39a736 Support for dash. 2010-08-26 19:24:28 +00:00
nekral-guest
cc5a9f7708 Fix typo is the log rationale. 2010-08-26 19:18:29 +00:00
nekral-guest
f1bb2c3848 Added support for dash. 2010-08-26 19:16:40 +00:00
nekral-guest
5f632d1a86 Explicitly set PS1 in order to support test environments where the default shell is set to dash. 2010-08-26 19:13:30 +00:00
bubulle
56545b1b78 Mark translation update bugfix 2010-06-24 18:43:55 +00:00
nekral-guest
43c4c62ad7 * debian/control: Do not repeat the Section and Priority fields for the
binary packages.
2010-04-05 15:59:06 +00:00
nekral-guest
9530fa372c * debian/passwd.lintian-overrides: Remove old entries relevant for
passwd.config.
2010-04-04 23:14:09 +00:00
nekral-guest
26691d3301 Document the change of Standards-Version. 2010-04-04 23:11:36 +00:00
nekral-guest
a8a28eba99 * debian/control: Standards-Version: bumped to 3.8.4. No changes. 2010-04-02 22:16:29 +00:00
nekral-guest
3cdfbb6cef * debian/rules, debian/man.insert, debian/man.insert.sed: Hack to avoid bug
507673, causing missing apostrophes in the manpages generated by
    docbook-xsl.
2010-04-02 22:12:29 +00:00
nekral-guest
250ed8cf16 Document the addition of ttyPZ0..3 2010-04-01 15:41:44 +00:00
nekral-guest
c6e3185f0c * debian/securetty.linux: Reorganise and synchronise with
Documentation/devices.txt
2010-03-30 23:47:25 +00:00
nekral-guest
cd10fe20c5 * debian/login.defs: Updated description of UMASK (used by pam_umask). 2010-03-26 11:51:51 +00:00
nekral-guest
31678f87d9 * New upstream release:
- mail checking is no more mentioned in login(1) since it is done by PAM.
      Closes: #470059
    - The -e (and -c and -m) option was restored in chpasswd (which still uses
      PAM by default).  Closes: #539354
2010-03-25 19:49:31 +00:00
nekral-guest
b318b6721e * New upstream release:
- Fix interruption of su, newgrp, vipw with Ctrl-Z. Closes: 530231
2010-03-23 13:07:12 +00:00
nekral-guest
0fe9b6b867 * New upstream release:
- pwck and grpck stop sorting at the first line which begins with a '+'.
      This will avoid messing up with NIS entries. Closes: #567836
2010-03-20 22:10:26 +00:00
nekral-guest
3a91912281 Apply patch already described in the curent changelog:
* debian/login.pam: return back to mostly "requisite" for the pam_securetty
    PAM module, but ignore PAM_USER_UNKNOWN. This will avoid root from
    entering a password, and will also avoid user enumeration attacks.
    Mis-typed root login are not protected, only root can be blamed for
    mis-typing and entering a password on an insecure line. Users willing to
    protect against mis-typed root login can use "requisite", but will be
    vulnerable to user enumeration attacks on insecure lines, and should use
    pam 1.1.0-4 at least. Closes: #574082, #531341
2010-03-20 10:57:44 +00:00
nekral-guest
b1286d31fd - Remove patches applied upstream:
+ debian/patches/483_su_fakelogin_wrong_arg0
2010-03-20 10:52:52 +00:00
nekral-guest
5c8a6cd6eb - Updated patches:
+ debian/patches/542_useradd-O_option
2010-03-20 10:45:49 +00:00
nekral-guest
68fdd46a81 * debian/passwd.cron.daily: Handle the backups of the user and group
databases so that it can be removed from the standard daily cron job.
    Closes: #554170
2010-03-20 10:45:12 +00:00
nekral-guest
76097618c2 - Fixed parsing of gshadow. This fix password support in newgrp.
Closes: #569899
2010-03-18 12:18:02 +00:00
nekral-guest
fe99e0edd8 - This also allows, in the chage interactive mode, to specify -1 as the
expiration date to disable it. Closes: #573018
2010-03-18 12:10:09 +00:00
nekral-guest
a000373d8d - Added support for dates already specified as a number of days since
Epoch in useradd, usermod and chage. Closes: #562221
2010-03-18 11:56:44 +00:00
bubulle
8c5876cef0 Add bug closure 2010-03-16 08:41:49 +00:00
bubulle
f5e0895b3a Revert pam_securetty to "requisite" 2010-03-16 06:59:46 +00:00
nekral-guest
da9a0615de * debian/rules: Added DEB_AUTO_UPDATE_LIBTOOL = pre. Closes: #560633 2010-03-15 10:11:01 +00:00
nekral-guest
1640002065 * debian/login.defs: Improve documentation of USERGROUPS_ENAB.
Closes: #572687
2010-03-15 10:06:34 +00:00
nekral-guest
53f2df3ded - Remove patches applied upstream:
+ debian/patches/008_su_no_sanitize_env
2010-03-15 10:00:24 +00:00
nekral-guest
49a95f6c07 - Updated patches:
+ debian/patches/523_su_arguments_are_no_more_concatenated_by_default
2010-03-15 09:59:54 +00:00
nekral-guest
3ababb2263 * debian/control: Removed Martin Quinson from the Uploaders, on his request. 2010-01-24 17:30:36 +00:00
nekral-guest
20ba2e50ab - Remove patches applied upstream:
+ debian/patches/008_su_no_sanitize_env
2010-01-24 17:29:33 +00:00
nekral-guest
282bbb9cfc This patch will be applied in the next release. 2010-01-24 17:28:24 +00:00
nekral-guest
52f620f78d 1:4.1.4.3-1 is not yet released. 2010-01-24 17:27:55 +00:00
bubulle
0bdd59ac57 Bug closure 2009-09-27 06:24:47 +00:00
bubulle
f1127e1aac Mark upstream translation as pending 2009-09-24 20:23:20 +00:00
nekral-guest
e9e97852cf * debian/securetty.linux: Added support for embedded ARM AMBA PL011 ports
(e.g. emulated by QEMU). Closes: #544184
2009-09-05 20:50:24 +00:00
nekral-guest
43cd3dc662 * debian/securetty.kfreebsd: On GNU/kFreeBSD the serial devices have change
from /dev/cuuaX to /dev/ttydX in kernel 6.0. Closes: #544523
2009-09-01 13:32:06 +00:00
nekral-guest
070ba9d6d4 * New upstream release:
- Fix formatting of the login.defs.5 manpage. Closes: #542804
2009-08-21 15:17:09 +00:00
nekral-guest
ce9ed32e74 * debian/control: Standards-Version: bumped to 3.8.2. No changes. 2009-07-24 03:03:14 +00:00
nekral-guest
9e83d9f840 * debian/login.dirs, debian/passwd.dirs: Removed usr/share/linda/overrides. 2009-07-24 02:03:43 +00:00
nekral-guest
96866ff296 * debian/shadowconfig.sh: Do not run shadowoff() and shadowon() in subshell.
This also remove a dependency on bash (even though /bin/sh would have been
    sufficient). Thanks to Luk for spotting this.
2009-07-23 20:58:02 +00:00
nekral-guest
1a58cb2346 * debian/login.pam: pam_securetty included as a required module instead of
requisite to avoid leak of user name information. Closes: #531341
2009-07-23 20:56:32 +00:00
nekral-guest
01b11c5f84 - Added support for shells being shell scripts without a shebang.
Closes: #479406
2009-07-20 19:11:13 +00:00
nekral-guest
91c630033d * debian/patches/506_relaxed_usernames: Fixed typo. groupadd(8) should
document therestriction on groupnames, not usernames.
2009-07-18 18:08:18 +00:00
nekral-guest
8422a00909 * The "Tome des Bauges" release.
* New upstream release:
     - Updated Basque translation. Closes: #535553
     - Fixed some translatable string. Closes: #525726
     - Fixed documentation of the short option for --mindays in passwd(1).
       Closes: #531983
  * debian/securetty.linux: Added Embedded Renesas SuperH ports.
    Closes: #535927
  * debian/securetty.linux: Added ttyS2 to ttyS5. Some extension card provide
    more serial ports, but that should be sufficient until there is a support
    for regular expressions. Closes: #534244
2009-07-18 18:01:54 +00:00
nekral-guest
fa16e07b2e Prepare next release. 2009-05-22 14:30:12 +00:00
nekral-guest
bf28febe2f Added new tests to the testsuite script. 2009-05-22 11:51:00 +00:00
nekral-guest
4375e97124 Added tests for SULOG. 2009-05-22 11:50:26 +00:00
nekral-guest
b42d7cf631 Check the right place for the user's homedir. 2009-05-22 11:48:23 +00:00
nekral-guest
b3a4a77b46 Updated ignore list. 2009-05-22 11:47:18 +00:00
nekral-guest
65269966d5 Make sure the process started by su is killed.
Avoid messages on, stderr.
Make sure the process started by su is actually started when userdel is run.
2009-05-22 11:46:57 +00:00
nekral-guest
86ce147df1 Added tests for userdel. 2009-05-22 11:44:54 +00:00
nekral-guest
d868434939 Updated traps. Avoid removal of files not created by the testsuite 2009-05-22 11:44:21 +00:00
nekral-guest
3e50639cba Added failure libraries to test rmdir and unlink failures. 2009-05-22 11:19:38 +00:00
nekral-guest
d3a0659e13 Added support for adding files that do not exist on the system.
These files are removed later during the cleanup.
2009-05-22 11:19:10 +00:00
nekral-guest
199d8b2719 Added 6 failure tests for userdel. 2009-05-22 11:18:07 +00:00
nekral-guest
e9b12a545d Updated to the new version and updated ignore list. 2009-05-22 11:16:51 +00:00
nekral-guest
0d29450314 * New upstream release:
- newgrp and sg return the exit status of their child. Closes: #529897
2009-05-22 11:13:08 +00:00
nekral-guest
96432cb7a1 Added an userdel failure test. 2009-05-21 16:46:43 +00:00
nekral-guest
d2a6818f17 Run with set -e. 2009-05-21 16:12:47 +00:00
nekral-guest
c2b51209bb su now logs a full tty path (/dev/ used to be strip out). 2009-05-21 16:08:45 +00:00
nekral-guest
436996ed07 Updated to the new passwd message. 2009-05-21 16:07:44 +00:00
nekral-guest
3d5b4ce121 * debian/patches/506_relaxed_usernames: usernames with a slash will not only
break one option. Move to the discussion on the usernames.
2009-05-21 15:55:29 +00:00
nekral-guest
f121e979bb * debian/patches/*: Updated patches to the new quilt and shadow versions. 2009-05-21 15:30:36 +00:00
nekral-guest
cb8f35691a * debian/login.defs: Removed comment about MD5_CRYPT. MD5_CRYPT_ENAB is no
more used by chpasswd and newusers.
2009-05-21 15:19:02 +00:00
nekral-guest
0ea08a3961 - Updated patches:
+ debian/patches/506_relaxed_usernames
2009-05-21 15:17:46 +00:00
nekral-guest
9ef58601e0 * The "Chevrotin" release.
* New upstream release:
     - Fixed typo in the French vipw usage. Closes: #528486
     - Fixed failure to delete an user (wrongly detected as still logged in).
       On Linux, userdel checks if the user has some running processes.
       Otherwise, it still check with utmp if the user is logged in and check
       if the process indicated by utmp is still running to avoid
       mis-detection of logged-in users. Closes: #528060
2009-05-21 15:15:22 +00:00
nekral-guest
130e26d582 Added 3 tests for userdel. 2009-05-20 21:48:16 +00:00
nekral-guest
3462794b84 Added missing file. 2009-05-20 21:44:52 +00:00
nekral-guest
f82f0de34e Added 2 new userdel tests. 2009-05-20 21:23:32 +00:00
nekral-guest
eb61b09070 cleanup. Remove unneeded files. 2009-05-20 21:21:55 +00:00
nekral-guest
a97b3a382b * The "Banonet" release.
* debian/login.pam: Really ignore pam_selinux.so failures when the module do
    not exist. Closes: #528673
2009-05-16 10:15:38 +00:00
nekral-guest
f3ef07b8c7 * debian/rules: Install the lintian overrides with dh_lintian.
* debian/control: Raised dependency on debhelper (>= 6.0.7~) for dh_lintian.
  * debian/compat: Raised to 6
2009-05-14 20:40:43 +00:00
nekral-guest
8f4d210b31 Updated to clean the gcov files. Not used on Debian. 2009-05-14 19:51:55 +00:00
nekral-guest
6ff5ab6af4 * debian/login.pam: Ignore pam_selinux.so failures when the module do not
exist. A required pam_selinux.so makes login fail when the module does not
    exist (e.g. on architecture without SE Linux support). Closes: #528673
2009-05-14 19:11:38 +00:00
nekral-guest
cfbe85f1f0 * debian/login.postinst: Install /var/log/faillog during initial installs
only. This permits admins to disable failed logins recording.
    Closes: #488420
2009-05-12 20:05:53 +00:00
nekral-guest
6752d525c3 * The "Banon" release.
* debian/rules, debian/passwd.linda-overrides, debian/login.linda-overrides:
    Removed linda-overrides files.
2009-05-11 20:30:36 +00:00
nekral-guest
36595ad2cd * debian/control: Standards-Version bumped to 3.8.1. No changes.
* debian/control: Changed gnome-doc-utils dependency to >= 0.4.3 (instead
    of >= 0.4.3-1)
  * debian/control: Added ${misc:Depends} to the passwd's Depends and login's
    Pre-Depends.
2009-05-10 22:30:50 +00:00
nekral-guest
88e88fbf27 * debian/securetty.linux: Added some local X displays. See LP #104957. But
only a limited set of displays were added.
2009-05-10 22:01:48 +00:00
nekral-guest
f2915bc349 Next upstream release will be 4.1.4. 2009-05-10 20:05:43 +00:00
nekral-guest
fca246813e Updated patch for the testsuite. 2009-05-10 19:48:42 +00:00
nekral-guest
9292f7b951 Add the username in failures reports.
Add support for rounds checking in SHA512
Remove the password to extract the salt for MD5.
2009-05-10 19:36:36 +00:00
nekral-guest
ff0f6c28eb Added new tests, and tag PAM and non-PAM specific tests. 2009-05-10 19:29:29 +00:00
nekral-guest
c556de2b56 Added newusers tests specific to the PAM version, to replace the one which use the non-PAM specific options. 2009-05-10 19:27:29 +00:00
nekral-guest
7890eab89b Added PAM configuration files to support the PAM versions of newusers. 2009-05-10 19:18:25 +00:00
nekral-guest
f9aee80330 newusers now sets the lstchg field in shadow. 2009-05-10 19:15:17 +00:00
nekral-guest
d9b8c55516 New release name: Chambérat.
Added entries for new translation and sort translations alphabetically.
2009-05-10 17:12:40 +00:00
nekral-guest
c3e1c92fa7 # 402 should be merged in 401, but should be reviewed by SE Linux experts first 2009-05-10 14:10:11 +00:00
nekral-guest
8cd330b97a - Remove patches applied upstream:
+ debian/patches/403_fix_PATH-MAX_hurd
2009-05-10 14:09:16 +00:00
nekral-guest
156bd855d4 Since chpasswd is now PAM enabled, the crypt tests are passed with chgpasswd.
Do not copy the database which should not change. Directly compare the system files with the files from config/.
Update some test descriptions.
2009-05-09 22:39:12 +00:00
nekral-guest
5324b00638 There were changes in the exit codes of gpasswd. 2009-05-09 22:32:10 +00:00
nekral-guest
ba569f80b6 Added tests for passwd which interractively change (or attemptto change) a password. 2009-05-09 22:30:21 +00:00
nekral-guest
d6495cab07 There is no need to use expect for these tests.
Only check the stdout/stderr output.
2009-05-09 22:27:13 +00:00
nekral-guest
5520ea45cc Added missing PAM configuration files for chpasswd. 2009-05-09 22:23:32 +00:00
nekral-guest
98df44c5a1 Added tests for the PAM version of chpasswd. 2009-05-09 22:20:43 +00:00
nekral-guest
e5aa1773d3 * debian/login.pam: Updated support for SELinux. Closes: #527106 2009-05-09 21:34:55 +00:00
nekral-guest
f810e0a171 Fixed in next release:
- pwck and grpck warn when the shadowed and non-shadowed files contain
       an entry for the same user or group and the non shadowed file password
       field is not 'x'. Closes: #501869
       Other topics raised in this bug were fixed previously.
2009-05-09 21:27:32 +00:00
nekral-guest
4e2e230b07 * debian/rules, debian/passwd.newusers.pam, debian/passwd.chpasswd.pam:
Install the newusers and chpasswd PAM service configuration files.
    newusers and chpasswd now use PAM to update the passwords.
    Closes: #525153
2009-05-09 17:03:49 +00:00
nekral-guest
d65a81cc37 - Updated patches:
+ debian/patches/008_login_log_failure_in_FTMP
        + debian/patches/401_cppw_src.dpatch
        + debian/patches/429_login_FAILLOG_ENAB
        + debian/patches/463_login_delay_obeys_to_PAM
2009-05-09 14:30:06 +00:00
bubulle
9febd5c52e Bug closure 2009-05-08 17:23:06 +00:00
bubulle
c9eb7cb521 Add bug closure 2009-05-08 04:54:49 +00:00
nekral-guest
d6271f27b8 * debian/securetty.linux: Added Freescale i.MX ports. Closes: #527095 2009-05-07 17:23:45 +00:00
nekral-guest
4d7d93d08a Fixed bug number. 2009-04-28 22:04:41 +00:00
nekral-guest
127ac7cf5e - Fixed lastlog. 4.1.3 only reported empty logs. Closes: #52473 2009-04-28 20:48:33 +00:00
nekral-guest
292b47c386 - passwd: Report password properties changes if the password is not
actually changed. Closes: #525967
2009-04-28 20:46:52 +00:00
nekral-guest
2d99df028e Name the release ("Rollot").
Added other bug closures.
2009-04-26 12:52:05 +00:00
bubulle
8009e96f35 Bug closure 2009-04-26 12:29:09 +00:00
nekral-guest
d485633edc Added login tests. 2009-04-15 23:36:17 +00:00
nekral-guest
81c1f063d2 Updated to 4.1.3.1. 2009-04-15 23:35:57 +00:00
nekral-guest
067fb2ff47 GID_MIN was set to 1000. 2009-04-15 23:35:43 +00:00
nekral-guest
3052b0306d ignore log files. 2009-04-15 23:34:44 +00:00
nekral-guest
1b0a6b20be Another bug came in the mean time. 2009-04-15 23:00:59 +00:00
nekral-guest
bce89b7cad - removed debian/patches/302_vim_selinux_support: Applied upstream. 2009-04-15 21:59:18 +00:00
nekral-guest
0a6760339d Added 3 tests for login. 2009-04-15 21:55:36 +00:00
nekral-guest
e379403368 Updated for 1:4.1.3.1. 2009-04-15 21:52:26 +00:00
nekral-guest
02cfa1e96e Added tests for IDs set to -1
long username for gpasswd
and system users with newusers.
2009-04-14 22:26:30 +00:00
nekral-guest
ae2a17ec1c * debian/login.defs: Update GID_MIN to 1000. This is more consistent with
UID_MIN, SYS_GID_MAX and the usage of the same ID for UID and GIDs. This
    should also be more consistent with the assignment of system group IDs
    starting from GID_MAX and going down.
2009-04-14 21:38:52 +00:00
nekral-guest
7b6b6a081f add a patch to update the nb translation (was not included in 4.1.3). 2009-04-14 20:51:58 +00:00
bubulle
a89ae2b415 Bug closure for nb translation 2009-04-12 17:49:14 +00:00
nekral-guest
f6b6e256d0 Fixed typo. 2009-04-12 02:53:21 +00:00
nekral-guest
95611179d1 This is more realistic to have a shell. 2009-04-12 02:26:17 +00:00
nekral-guest
a8fe4890d5 New locale: kk. Removed manpages: es. 2009-04-12 02:25:51 +00:00
nekral-guest
4c58978bf2 Added /usr/local/games to ENV_PATH on Debian 2009-04-12 02:24:44 +00:00
nekral-guest
d97b4164c7 Updated chage usage message. 2009-04-12 02:23:55 +00:00
nekral-guest
049e27557a New system ID allocation. 2009-04-12 02:23:18 +00:00
nekral-guest
11e7186926 * debian/login.defs: Added /usr/local/games/ to ENV_PATH (for regular
users). Closes: #487105
2009-04-12 00:53:09 +00:00
nekral-guest
40065af03f Removed debian/patches/431_su_uid_0_not_root (applied upstream). 2009-04-12 00:36:24 +00:00
nekral-guest
b30988f25e Removed patch applied upstream: 415_login_put-echoctl-back.
Tag #498788 as fixed
2009-04-12 00:19:35 +00:00
nekral-guest
99858683d0 Updated debian/patches/542_useradd-O_option for shadow 4.1.3. 2009-04-11 23:37:38 +00:00
nekral-guest
d3b0033664 * debian/securetty.linux: Removed devfs devices. Usage of devfs enabled
kernel in Lenny was not supported. Closes: #511961
2009-04-11 23:35:49 +00:00
bubulle
e1d86d97bb Updated changelog entry 2009-04-11 13:55:45 +00:00
nekral-guest
a1a7ad3bee Added tests for newusers. 2009-04-11 11:55:40 +00:00
nekral-guest
beb38aa933 Added test for newusers. 2009-04-11 11:36:33 +00:00
nekral-guest
a3a623daed Added tests for newusers. 2009-04-11 11:25:12 +00:00
nekral-guest
d2bd32ab51 Added new newusers tests. 2009-04-11 11:15:13 +00:00
nekral-guest
420463e136 Added new tests. Fixed alphabetical order. 2009-04-10 23:14:57 +00:00
nekral-guest
34cc1b4591 Do not create a passw.new file.
Remove those files.
2009-04-10 23:08:02 +00:00
nekral-guest
40f31fe111 Added new SHA256 test cases. 2009-04-10 23:05:41 +00:00
nekral-guest
66d1c537b8 Fix the tests for SHA256 and SHA512 passwords.
They were testing DES.
2009-04-10 23:00:50 +00:00
nekral-guest
0d5d805ba3 Added support for SHA256 and SHA512 tests. 2009-04-10 22:58:06 +00:00
nekral-guest
af0a5b3a7e Added tests for expiry. 2009-04-10 22:47:47 +00:00
nekral-guest
e6fdd218b5 Added tests for passwd. 2009-04-10 22:45:47 +00:00
nekral-guest
9c9b12ccfb Ignore log files. 2009-04-10 22:43:54 +00:00
nekral-guest
208cc24840 Ignore the log files. 2009-04-10 22:42:08 +00:00
nekral-guest
00fa6ffc89 Added existing tests. 2009-04-06 00:02:22 +00:00
nekral-guest
562ea47e66 Adde test for grpck. 2009-04-06 00:01:30 +00:00
nekral-guest
33d5f5d307 Added tests for pwck. 2009-04-05 23:59:24 +00:00
nekral-guest
7ab05204f9 Added test for chgpasswd. 2009-04-05 23:58:31 +00:00
nekral-guest
7ff74651d9 Added tests for chpasswd. 2009-04-05 23:57:26 +00:00
nekral-guest
b13dde1746 Tagged bugs already fixed upstream. 2009-04-05 23:53:53 +00:00
nekral-guest
5ef093d38e Fix the call to fsync. 2009-03-22 12:08:43 +00:00
nekral-guest
d56e6d08bc * debian/patches/401_cppw_src.dpatch: Call fsync before closing the backup
file descriptor. This ensures that the backup file will be available on
    the storage medium.
2009-03-21 20:40:52 +00:00
nekral-guest
b98c5149da The date changes everyday. Use @TODAY@ instead of the date when the test case was created. 2009-03-18 21:22:22 +00:00
nekral-guest
1ccdb08ab2 Ignore generated files. 2009-03-18 21:21:30 +00:00
nekral-guest
39553bc84a Ignore generated log files. 2009-03-18 21:13:07 +00:00
nekral-guest
2a3f424d3d Ignore generated log files. 2009-03-18 21:11:04 +00:00
nekral-guest
49db6466e1 Ignore generated log files. 2009-03-18 21:01:58 +00:00
nekral-guest
b09af63a5d Ignore generated log files. 2009-03-18 20:54:03 +00:00
nekral-guest
d9a24cc82c Ignore generated log files. 2009-03-18 20:53:16 +00:00
nekral-guest
ab1840c6d6 Ignore generated log files. 2009-03-18 20:34:58 +00:00
nekral-guest
14aaa22238 Ignore generated log files. 2009-03-18 20:30:37 +00:00
nekral-guest
e7bb558118 Ignore generated log files. 2009-03-18 20:29:21 +00:00
nekral-guest
bb269e44d7 ignore generated log files. 2009-03-18 20:27:20 +00:00
nekral-guest
2ad293e849 Ignore the generated log files 2009-03-18 20:25:34 +00:00
nekral-guest
e6bc2c9f9b Fix the exit sequence. 2009-03-18 15:19:44 +00:00
nekral-guest
af76777327 UPdated to new version. 2009-03-18 15:18:30 +00:00
nekral-guest
4d7b872d28 Fixed path of test newusers/29. 2009-03-18 15:17:18 +00:00
nekral-guest
bc66fb0ed3 Added the svn:executable property on the run_groupmems.exp scripts. 2009-03-18 15:13:10 +00:00
nekral-guest
a295dc0f1b Make sure no lock files remain after teh execution of each test.
Added invokation of new test cases.
2009-03-16 23:23:08 +00:00
nekral-guest
097d6864f7 Ignore the .svn directories in the config directories. 2009-03-16 23:21:15 +00:00
nekral-guest
b7bf03b161 Added interposition library necessary for the failures tests. 2009-03-16 23:20:43 +00:00
nekral-guest
7a78d9c181 Added new test cases. 2009-03-16 23:19:40 +00:00
nekral-guest
d548fe213b gshadow is removed anyway in this test. Make it a valid gshadow matching the group file. 2009-03-16 23:06:27 +00:00
nekral-guest
0423800e3e Fix typo. 2009-03-16 22:53:29 +00:00
nekral-guest
e98619c71c Make sure tests fail by exiting a non nul value. 2009-03-16 22:52:47 +00:00
nekral-guest
8f364eb05a Make sure tests fail by exiting a non nul value. 2009-03-16 22:48:45 +00:00
nekral-guest
0ca7b0bfb3 Added new test case. 2009-03-16 22:43:07 +00:00
nekral-guest
09b2603e32 Updated to new shadow version. 2009-03-16 22:37:02 +00:00
nekral-guest
cd0a2dd06d Added new test cases. 2009-03-16 22:32:32 +00:00
nekral-guest
d4931a4aef Updated to new shadow version. 2009-03-16 22:11:32 +00:00
nekral-guest
0b36e4e59f Fix logs. 2009-03-16 22:11:01 +00:00
nekral-guest
51c59171e4 Make sure tests fail by exiting a non nul value. 2009-03-16 22:08:42 +00:00
nekral-guest
474d525137 Added 2 new test cases. 2009-03-16 21:31:26 +00:00
nekral-guest
f0866cc1fb Intent of 14_useradd_out_of_range_UID.test was to test with UID=2**32, not 2**31. Although the limit for UIDs used to be 2**31-1. 2009-03-16 21:27:45 +00:00
nekral-guest
f4c395459d Updated to new shadow version. 2009-03-16 21:19:35 +00:00
nekral-guest
8f64322393 Added new tests. 2009-03-15 23:23:58 +00:00
nekral-guest
5e45536e26 Updated since it is not an error. 2009-03-15 23:13:32 +00:00
nekral-guest
a645f89697 When groupmod only changes the GID, gshadow is not touched and thus it is not required to lock gshadow. 2009-03-15 23:08:40 +00:00
nekral-guest
02e5dbd136 Updated to new shadow version. 2009-03-15 22:54:37 +00:00
nekral-guest
fd204abcae Make sure test fail by exiting a non nul value. 2009-03-15 22:50:11 +00:00
nekral-guest
9fb40391f8 Fix for new shadow version. 2009-03-15 22:37:49 +00:00
nekral-guest
6657ff38e5 Fix message. Did not end with a new line. 2009-03-15 22:36:21 +00:00
nekral-guest
43515a0924 Cleanup for current upstream SVN version. 2009-03-14 17:46:26 +00:00
nekral-guest
66c00bd2be - Translations
+ New Kazakh translation. Closes: #517809
2009-03-03 20:57:50 +00:00
nekral-guest
101469c265 * debian/securetty.linux: Added ttyPZ0, ttyPZ1, ttyPZ2, ttyPZ3 for PowerMac
machines.  Closes: #511739
2009-01-13 22:44:59 +00:00
nekral-guest
dbe74223ee Updated patches for upstream 4.1.3. 2008-09-14 14:10:48 +00:00
nekral-guest
9d3a7eb59a - Remove patches applied upstream (4.1.3):
+ debian/patches/200_Czech_binary_translation
      + debian/patches/302_remove_non_translated_polish_manpages
      + debian/patches/494_passwd_lock-no_account_lock
2008-09-14 14:02:45 +00:00
nekral-guest
21d6b34360 groupmems needs to be setuid, not setgid.
include common-auth and common-account instead of pam_permit.so
2008-09-14 13:52:21 +00:00
nekral-guest
da34d2eac4 Alphabetical order. 2008-09-14 12:28:42 +00:00
nekral-guest
f34f017160 Added missing file. 2008-09-14 12:23:07 +00:00
nekral-guest
0323eeb589 Some Polish manpages were removed. 2008-09-14 12:22:31 +00:00
nekral-guest
26d0bcb51f Updated error messages. 2008-09-14 12:21:19 +00:00
nekral-guest
c5d02f1f2f Updated error messages. 2008-09-14 12:20:52 +00:00
nekral-guest
3ccb21e2ff Updated error messages. 2008-09-14 12:20:15 +00:00
nekral-guest
fe497cb98e Updated error messages. 2008-09-14 12:19:00 +00:00
nekral-guest
557a602026 Updated error messages. 2008-09-14 12:17:29 +00:00
nekral-guest
57d512829c Updated error messages. 2008-09-14 12:16:10 +00:00
nekral-guest
d7e3907ab6 Update for the new error messages. 2008-09-14 12:09:57 +00:00
nekral-guest
6d4f30fbeb Added tests for groupmems. 2008-09-14 11:55:34 +00:00
nekral-guest
f7ea46fe79 - Remove patches applied upstream:
+ debian/patches/301_manpages_missing_options
2008-09-13 17:53:56 +00:00
nekral-guest
1c142ff073 - Remove patches applied upstream:
+ debian/patches/300_SHA_crypt_method
2008-09-13 17:52:09 +00:00
nekral-guest
6edf9089ec - Remove patches applied upstream:
+ debian/patches/414_remove-unwise-advices
2008-09-13 17:50:46 +00:00
nekral-guest
af8755d005 - Remove patches applied upstream:
+ debian/patches/406_vipw_resume_properly
2008-09-13 17:49:05 +00:00
nekral-guest
0c13397839 - Remove patches applied upstream:
+ debian/patches/487_passwd_chauthtok_failed_message
2008-09-13 17:46:57 +00:00
nekral-guest
ec60f91bc5 - Remove patches applied upstream:
+ debian/patches/491_configure.in_friendly_selinux_detection
2008-09-13 17:45:51 +00:00
nekral-guest
1e73fef46e 454_userdel_no_MAIL_FILE was wrong. 2008-09-13 17:42:43 +00:00
nekral-guest
469a214650 Removed 434_login_stop_checking_args_after-- (applied upstream) 2008-09-13 17:42:04 +00:00
nekral-guest
d638e563b6 - Remove patches applied upstream:
+ debian/patches/434_login_stop_checking_args_after--
2008-09-13 17:41:18 +00:00
nekral-guest
ae59303366 * debian/patches/900_testsuite_groupmems, debian/patches/901_testsuite_gcov:
Added patches, only intended to be used in the testsuite.
2008-09-13 17:38:04 +00:00
nekral-guest
291b61a6c3 428_grpck_add_prune_option updated for upstream version 4.1.2. 2008-09-13 17:33:52 +00:00
nekral-guest
515dbe2f9a Fixed typo. 2008-09-13 17:32:52 +00:00
nekral-guest
f1fd47e349 * debian/patches/402_cppw_selinux: Add SE Linux support for cppw / cpgr. 2008-09-13 17:29:48 +00:00
nekral-guest
d181848c75 * debian/patches/454_userdel_no_MAIL_FILE: Patch removed. If MAIL_FILE is
defined, the mailbox is not in MAIL_SPOOL_DIR.
2008-09-13 17:27:12 +00:00
nekral-guest
c0dda226c3 507_32char_grnames.dpatch updated for upstream version 4.1.2. 2008-09-13 17:24:05 +00:00
nekral-guest
7c0c287396 429_login_FAILLOG_ENAB updated for upstream version 4.1.2. 2008-09-13 17:23:17 +00:00
nekral-guest
6232365cea 008_login_log_failure_in_FTMP updated for upstream version 4.1.2. 2008-09-13 17:22:30 +00:00
nekral-guest
455c9e8673 302_vim_selinux_support updated for upstream version 4.1.2. 2008-09-13 17:21:50 +00:00
nekral-guest
3c064bcebb 008_su_get_PAM_username updated for upstream version 4.1.2. 2008-09-13 17:21:05 +00:00
nekral-guest
3152fbd0d2 494_passwd_lock-no_account_lock updated for upstream 4.1.2.
Mention that it is fixed in 4.1.3.
2008-09-13 17:19:29 +00:00
nekral-guest
560095862a Indicate the upstream version where the fix will be present. 2008-09-13 17:18:07 +00:00
nekral-guest
126500c911 * debian/patches/504_undef_USE_PAM.dpatch: USE_PAM needs to be undef after
inclusion of "defines.h".
  * added note about current upstream.
2008-09-13 17:17:21 +00:00
nekral-guest
855c092543 Fixed typo in a comment. 2008-09-13 17:14:42 +00:00
nekral-guest
b705ca4d97 A configure option was added upstream. To be tested with 4.1.3. 2008-09-13 17:13:59 +00:00
nekral-guest
9fc3874093 * debian/patches/506_relaxed_usernames: Use an extra paragraph for the note
on username with a '/'.
2008-09-13 17:11:22 +00:00
nekral-guest
e780891e11 200_Czech_binary_translation updated for upstream version 4.1.2. 2008-09-13 17:09:44 +00:00
nekral-guest
22278063de 579_chowntty_debug updated for upstream version 4.1.2. 2008-09-13 17:09:06 +00:00
nekral-guest
edde4d731d Updated for upstream version 4.1.2. 2008-09-13 17:06:57 +00:00
nekral-guest
30c5ceb601 Updated for upstream version 4.1.2. 2008-09-13 17:04:57 +00:00
nekral-guest
22a26e92e4 debian/patches/505_useradd_recommend_adduser was already included in 1:4.1.1-2 2008-09-13 17:02:03 +00:00
nekral-guest
2d5f7a20d7 Merge changes from the lenny branch:
svn merge svn://svn.debian.org/svn/pkg-shadow/debian/branches/lenny@2000 svn//svn.debian.org/svn/pkg-shadow/debian/branches/lenny@2271 svn://svn.debian.org/svn/pkg-shadow/debian/trunk
Previous changes moved to 4.1.2-1 (experimental).
2008-08-31 19:16:54 +00:00
nekral-guest
8d682b7f61 Remove the transition proposal email for bug 276419.
The transition is now over one year.
2008-05-24 19:20:33 +00:00
bubulle
39c3a9c268 Versioned Replaces on manpages-tr 2008-04-22 20:54:58 +00:00
nekral-guest
510226f810 * The "Brie de Meaux" and "Brie de Melun" double cheese release.
* debian/patches/505_useradd_recommend_adduser: Fix typo: userdel is used
  to remove an user, not to add one. Closes: #475795
2008-04-13 21:21:00 +00:00
bubulle
0db4a29c22 Simplify Replaces by dropping all pre-Etch versions 2008-04-07 21:11:46 +00:00
bubulle
e5dd164814 Versioned Replaces on manpages-zh after 1.5.1-1 upload of that package 2008-04-07 21:05:22 +00:00
nekral-guest
a80f47a81d Add a cheesy check. 2008-04-04 19:43:33 +00:00
nekral-guest
40461f86ed Remove debian/passwd.postrm, which is now empty. Thanks lintian. 2008-04-03 00:03:20 +00:00
nekral-guest
5a1749e06e Alphabetical order. 2008-04-02 23:31:31 +00:00
nekral-guest
7500d0ec1c Prepare the 1:4.1.1-1 release.
Add a Homepage field.
2008-04-02 23:29:34 +00:00
bubulle
6da3c2ba7f German translation update 2008-04-01 19:01:46 +00:00
bubulle
4fa62a74e2 Bug closure for basque translation update 2008-03-31 17:55:24 +00:00
bubulle
5901e73a95 Add bug closure 2008-03-30 12:20:40 +00:00
nekral-guest
79081455e3 Really Update the link to the new repository layout and Add a Vcs-Browser field. 2008-03-29 13:34:40 +00:00
nekral-guest
73fe74c374 Change XS-X-Vcs-Svn to Vcs-Svn. Update the link to the new repository
layout.  Add a Vcs-Browser field.
2008-03-29 12:19:03 +00:00
nekral-guest
d56b246d1b The Slovak translation was also updated upstream. This closes #471802. 2008-03-28 23:25:04 +00:00
nekral-guest
792ea0fa66 4.1.1 also fixes 445484:
Option --password added to groupadd / groupmod (like useradd / usermod).
2008-03-28 21:52:11 +00:00
nekral-guest
42f0bdb7aa Added ttyUSB0, ttyUSB1, ttyUSB2, and MPC5200 serial ports (ttyPSC0,
ttyPSC1, ttyPSC2, ttyPSC3, ttyPSC4, ttyPSC5).  Closes: #461374
2008-03-28 21:40:18 +00:00
nekral-guest
eeccfb8f62 The passwd's Replaces on manpages-de can be versionned again. The su(1) manpage was removed from manpages-de. 2008-03-28 21:00:26 +00:00
nekral-guest
90895612f1 There's no need for a dependency on login (now that it is unversionned; see above) in the passwd package. 2008-03-28 20:46:03 +00:00
nekral-guest
c284183a26 Continue the dependencies cleanup:
libpam-runtime (>= 0.76-14) was already provided by libpam-runtime in Sarge (now oldstable).
2008-03-28 20:42:40 +00:00
nekral-guest
bf4b725f01 Move the dependency on libpam-modules from Depends to Pre-Depends. The
login package is Essential, and without libpam-modules, login or su are
not functional. Thanks to Steve Langasek for pointing this out.
2008-03-28 20:33:32 +00:00
nekral-guest
20de595e37 Simplify the dependencies:
login (>= 970502-1) was already provided by login in Hamm.
libpam-modules (>= 0.72-5) was already provided by libpam-modules in Potato.
2008-03-28 20:18:50 +00:00
bubulle
92ff2a501d Italian translation update: bug closure 2008-03-27 18:57:31 +00:00
nekral-guest
6aec5248e8 New upstream will also fix #472575 2008-03-26 22:04:49 +00:00
bubulle
dbecb8a7c0 Bug closure for the Russian translation update 2008-03-24 18:35:04 +00:00
bubulle
61fb780f5c Mark Debian bugs for l10n as closed by the new upstream upload 2008-03-23 08:42:44 +00:00
nekral-guest
ac4b6af8e9 Do not recode the manpages in UTF-8. 2008-03-19 21:26:12 +00:00
nekral-guest
5f027bb6a4 Fix other dpkg-shlibdeps warnings. 2008-03-19 21:24:15 +00:00
nekral-guest
c53557d535 407_adduser_disable_PUG_with-n was applied upstream. 2008-03-19 20:26:36 +00:00
nekral-guest
afce34ff40 Updated patch to 4.1.1 2008-03-19 20:24:54 +00:00
nekral-guest
312f23ab50 Updated patches to 1.1.1 2008-03-19 20:23:42 +00:00
nekral-guest
93933b959d Updated patch for 1.1.1 2008-03-19 20:19:49 +00:00
nekral-guest
5af0050d0a 412_lastlog_-u_numerical_range was applied upstream. 2008-03-19 19:30:30 +00:00
nekral-guest
993f5134fd 408_passwd_check_arguments was applied upstream. 2008-03-19 19:25:51 +00:00
nekral-guest
89e6ca0d7e 496_login_init_session was applied upstream. 2008-03-19 19:20:38 +00:00
nekral-guest
7857beaf95 480_getopt_args_reorder was applied upstream. 2008-03-19 18:47:33 +00:00
nekral-guest
86aaea0978 466_fflush-prompt was applied upstream. 2008-03-19 18:45:41 +00:00
nekral-guest
8779ad5ec2 Support for -r, --system was added upstream. (467_useradd_-r_LSB) 2008-03-19 18:43:46 +00:00
nekral-guest
eb2337b2c7 462_warn_to_edit_shadow was applied upstream. 2008-03-19 18:41:31 +00:00
nekral-guest
ac972ba6fb 451_login_PATH was applied upstream. 2008-03-19 18:39:15 +00:00
nekral-guest
e8f45d238f 451_login_PATH was applied upstream. 2008-03-19 18:38:28 +00:00
nekral-guest
d27a65e33b Prepare next release.
Indicate bugs fixed in the new upstream release.
2008-03-19 18:37:09 +00:00
nekral-guest
0c6a55969e Fix tests data that depend on the date of execution. 2008-03-19 18:18:21 +00:00
nekral-guest
b3acd37d6d Added debug to find out what happens when it fails. 2008-03-19 18:16:56 +00:00
nekral-guest
99c78a4ae3 The behavior of useradd changed for the creation of groups. Now it
respects GID_MAX.
2008-03-19 18:14:32 +00:00
nekral-guest
ffddc3dbf8 Ad cleanup of tmp/out. 2008-03-19 18:13:25 +00:00
nekral-guest
aaa2195044 Add cleanup of tmp/out. 2008-03-19 18:13:12 +00:00
nekral-guest
9c9b24acaa Print the UID, then the GID. 2008-03-19 18:12:13 +00:00
nekral-guest
bebb89c93b Update to new newusers behavior:
* users are not added automatically to the list of supplementary groups
 * newusers use the same algorithm as useradd to define the new UIDs.
2008-03-09 01:59:59 +00:00
nekral-guest
b53ea15a4d Added tests for the split group feature (MAX_MEMBERS_PER_GROUP). 2008-03-09 00:20:48 +00:00
nekral-guest
a2054f9a9d Added tests for pwconv and pwunconv. 2008-03-09 00:18:07 +00:00
nekral-guest
ed328dc03c Added tests for groupdel. 2008-03-09 00:14:34 +00:00
nekral-guest
f3b4069ba4 Remove generated file. 2008-03-09 00:14:11 +00:00
nekral-guest
dac2b189c2 More tests for pwck and grpck. 2008-03-08 13:21:38 +00:00
nekral-guest
3f9037b282 Add tests for pwck and grpck. 2008-03-08 13:08:37 +00:00
nekral-guest
d4f56275e5 Fix typos groupadd -> groupmod. 2008-03-08 13:04:30 +00:00
nekral-guest
062eb42fd4 Added groupmod tests. 2008-03-08 11:03:49 +00:00
nekral-guest
9768aa54f9 Added groupadd tests. 2008-03-08 11:03:07 +00:00
nekral-guest
326c956bcd Added tests for groupadd. 2008-03-07 20:34:33 +00:00
nekral-guest
49c32e7ec1 Remove tm pdirectory. 2008-02-28 18:46:30 +00:00
nekral-guest
c8f4e36ebf Fix cut&paste typos. 2008-02-28 18:46:04 +00:00
nekral-guest
57d3f9fa83 Quote the salt because it may be an '*' and is expanded to filenames. 2008-02-27 00:27:18 +00:00
nekral-guest
aeae21cf6e Add 59 tests for gpasswd. 2008-02-27 00:02:18 +00:00
nekral-guest
857a615e2c Added watch file. 2008-02-24 17:36:57 +00:00
nekral-guest
7df22c6930 Added new usermod test: usermod can move the user's home directory, over a
new device and changes the owner of the user's file.
2008-02-17 17:09:42 +00:00
nekral-guest
d83880777a Added new usermod test: usermod checks if the uid is valid. 2008-02-17 17:05:17 +00:00
nekral-guest
f490e1a144 Added new usermod test: usermod can change the user's UID to an existing
UID (with -o).
2008-02-17 17:02:48 +00:00
nekral-guest
27ed5d04f7 Fix comment. 2008-02-17 17:02:03 +00:00
nekral-guest
98b7858e66 Added new usermod test: usermod tests if the new user's UID is already used. 2008-02-17 17:00:50 +00:00
nekral-guest
9c0339d436 Fix config description. 2008-02-17 16:58:46 +00:00
nekral-guest
48537b4957 Added new usermod test: usermod can change the user's UID. 2008-02-17 16:57:06 +00:00
nekral-guest
4146176c08 Added new usermod test: usermod -l fails if the gshadow file is locked. 2008-02-17 16:54:32 +00:00
nekral-guest
33ba4c0628 Added new usermod test: usermod -l fails if the group file is locked. 2008-02-17 16:53:05 +00:00
nekral-guest
3cf7c19a56 Added new usermod test: usermod -c does not check if the gshadow file is locked. 2008-02-17 16:49:21 +00:00
nekral-guest
29f48bafae Added new usermod test: usermod -c does not check if the group file is
locked.
2008-02-17 16:37:31 +00:00
nekral-guest
57da5c1045 Added new usermod test: usermod -G checks if the gshadow file is locked. 2008-02-17 16:34:38 +00:00
nekral-guest
897f8481b2 Added new usermod test: usermod -G checks if the shadow file is locked. 2008-02-17 16:33:29 +00:00
nekral-guest
2d428c52c9 Added new usermod test: usermod -G checks if the group file is locked. 2008-02-17 16:31:11 +00:00
nekral-guest
9d4c337ca1 Added new usermod test: usermod -G checks if the passwd file is locked. 2008-02-17 16:27:47 +00:00
nekral-guest
dfff7d3cfe Added new usermod test: usermod renames the user when requested to add an
user to a group it is already a member and to rename this user.
2008-02-17 16:14:58 +00:00
nekral-guest
67ac228c4a Added new usermod test: usermod does not fail when requested to add the
user to a group it is already a member.
2008-02-17 15:54:10 +00:00
nekral-guest
9e4d6448e6 Added new usermod test: usermod rename the user in the lists of members
and uses the right username when adding the user to supplementary groups.
2008-02-17 15:46:27 +00:00
nekral-guest
1cbb3cc320 Added new usermod test: usermod rename the user in the lists of members,
when an user is renamed with -l.
2008-02-17 15:43:32 +00:00
nekral-guest
30d2b24f04 Added new usermod test: usermod fails if asked to add an user to an
unknown numerical group.
2008-02-17 14:50:55 +00:00
nekral-guest
202fb5c463 Added new usermod test: usermod fails if asked to add an user to an
unknown named group.
2008-02-17 14:46:49 +00:00
nekral-guest
c203282681 Added new usermod test: usermod can change the list of supplementary
groups, with numerical groups.
2008-02-17 13:57:07 +00:00
nekral-guest
1937662816 Added new usermod test: usermod can clear the list of supplementary groups. 2008-02-17 13:53:24 +00:00
nekral-guest
d8b44cb331 Added new usermod test: usermod can change the list of supplementary groups. 2008-02-17 13:49:43 +00:00
nekral-guest
4399f64323 Added new usermod test: usermod keeps links or devices when it moves the
user's home directory.
2008-02-17 13:36:39 +00:00
nekral-guest
d17cbbac9f Added new usermod test: usermod does not move non-directory (regular file). 2008-02-17 13:25:52 +00:00
nekral-guest
d073acd750 12_usermod_move_homedir_dev_null test-case tests that usermod does not
move devices (/dev/null).
2008-02-17 13:25:13 +00:00
nekral-guest
1f7ad41762 Added new usermod test: usermod does not move non-directory. 2008-02-17 13:16:30 +00:00
nekral-guest
319a16fc84 Added new usermod test: usermod can move the user's home directory. 2008-02-17 13:05:07 +00:00
nekral-guest
6790d09e85 Added new userdel test: userdel does not delete the user's home directory
if it is not owned by the user.
2008-02-17 12:59:45 +00:00
nekral-guest
de17d213b2 Added new userdel test: userdel can delete the user's home directory. 2008-02-16 17:02:33 +00:00
nekral-guest
e1f8184dc3 Added new userdel test: userdel removes the user from lists in /etc/group
and /etc/gshadow.
2008-02-16 16:26:37 +00:00
nekral-guest
91a8f30a61 Added new userdel test: userdel removes the user from the admins lists of
/etc/gshadow.
2008-02-16 16:00:57 +00:00
nekral-guest
c155f2e39f Added new userdel test: userdel removes the user from the member lists of
/etc/gshadow.
2008-02-16 15:46:40 +00:00
nekral-guest
51f7bfdfde Added new userdel test: userdel removes the user from the member lists of
/etc/group.
2008-02-16 15:22:08 +00:00
nekral-guest
7fb73b155e Added tests to the automatic test suite:
usertools/01/17_useradd_create_homedir.test
  usertools/01/18_userdel_remove_homedir.test
  usertools/01/19_userdel_delete_user_in_group.test
  usertools/01/20_usermod_change_homedir.test
  usertools/01/21_usermod_change_and_move_homedir.test
  usertools/01/22_usermod_new_groups.test
  usertools/01/23_usermod_add_groups.test
  usertools/01/24_usermod_new_groups_remove_old_groups.test
2008-02-16 14:39:19 +00:00
nekral-guest
b088dfeff4 Added new newusers test: newusers can update the password of an existing
user with a pre-encrypted password.
2008-02-16 14:25:23 +00:00
nekral-guest
1dbaebde63 Add last three tests:
newusers/37_create_user_encrypt_MD5/newusers.test
 newusers/38_update_password_no_shadow_encrypted/newusers.test
 newusers/39_update_password_no_shadow_password_encrypted/newusers.test
2008-02-16 14:20:56 +00:00
nekral-guest
1023d83acd Added new newuser test: newusers can update the password of an existing
user with a pre-encrypted password, when this user has no shadow entry.
2008-02-16 14:16:49 +00:00
nekral-guest
d07207326e Added new newuser test: newusers can update the password of an existing
user in the passwd file, with a pre-encrypted password.
2008-02-16 14:11:43 +00:00
nekral-guest
2697c9817e Added new newuser test: newusers can encrypt the passwords with the MD5
algorithm.
2008-02-16 14:06:47 +00:00
nekral-guest
159fbaacc0 Added new newuser test: newusers can create a new user, and provide an
already encrypted password.
2008-02-11 22:46:08 +00:00
nekral-guest
f276efcb29 Added new newuser test: newusers can read the list from stdin. 2008-02-11 22:43:23 +00:00
nekral-guest
9300464b43 Added new newuser test: newusers can update the password of an existing
user, when there is no shadow file.
2008-02-11 22:42:01 +00:00
nekral-guest
52635a7d74 Added new newuser test: newusers can update the password of a user which
does not exist in shadow.
2008-02-11 22:37:17 +00:00
nekral-guest
e47fc28584 Added new newuser test: newusers fails if a user references a group which
exist in gshadow and not in group.
2008-02-11 22:33:46 +00:00
nekral-guest
37385ee60d dded new newuser test: newusers fails with invalid GID. 2008-02-11 22:29:35 +00:00
nekral-guest
7b44b22213 Added new newuser test: newusers can create a new user and new group with
different names.
2008-02-11 22:19:33 +00:00
nekral-guest
fa2b2e905d Added new newuser test: newusers fails if the groupname is invalid. 2008-02-11 22:10:07 +00:00
nekral-guest
494e15df37 Added new newuser test: newusers fails if the username is invalid. 2008-02-11 22:04:57 +00:00
nekral-guest
851446c287 Added new newuser test: newusers fails when there are no more available GIDs. 2008-02-11 22:01:32 +00:00
nekral-guest
0d183e6b94 Added new newuser test: newusers fails when there are no more available UIDs. 2008-02-11 21:52:56 +00:00
nekral-guest
ffe583db50 Added new newuser test: newusers fails with invalid UID. 2008-02-11 21:41:42 +00:00
nekral-guest
fffcc837ac Added new newuser test: newusers fails with negativ UID. 2008-02-11 21:38:56 +00:00
nekral-guest
1712aa91e9 Added new newuser test: newusers reuses a lower GID when GID_MAX is used. 2008-02-11 21:30:59 +00:00
nekral-guest
ee5bd9c521 Rewrite rational: newusers reuses a lower UID when UID_MAX is used. 2008-02-11 21:30:29 +00:00
nekral-guest
25b03d8cd7 Added new newuser test: newusers does not increment the UID when UID_MAX is used. 2008-02-11 21:25:06 +00:00
nekral-guest
4473bc6264 Added new newuser test: newusers can add multiple users. 2008-02-11 21:20:02 +00:00
nekral-guest
7be39fc4aa Added missing execution of 19_update_keep-old-home. 2008-02-11 21:11:50 +00:00
nekral-guest
f4d0f69e35 Added new grpunconv test: grpunconv checks if the gshadow file is locked. 2008-02-11 21:07:16 +00:00
nekral-guest
afabc3beb8 Added new grpunconv test: grpunconv checks if the group file is locked. 2008-02-11 21:06:13 +00:00
nekral-guest
7bbe585f1e Added new grpunconv test: grpunconv exits successfully when the gshadow
file does not exist.
2008-02-11 20:59:31 +00:00
nekral-guest
3ff563252e Added new grpconv test: grpconv tests if gshadow is locked. 2008-02-11 20:50:56 +00:00
nekral-guest
5b6ed9c678 Added new grpconv test. 2008-02-11 20:46:47 +00:00
nekral-guest
f9a23b8f67 Added new grpconv test. 2008-02-11 20:43:50 +00:00
nekral-guest
b140a0da35 Added new grpconv test. 2008-02-11 20:20:44 +00:00
nekral-guest
676f702362 Added new grpconv test. 2008-02-11 20:12:19 +00:00
nekral-guest
1beaa67010 Added new grpconv test. 2008-02-11 20:03:47 +00:00
nekral-guest
f7679480e6 Re-indent. 2008-02-11 19:48:56 +00:00
nekral-guest
3354e2dce7 Do not fail if the expected user is not present in the file, give an
useful warning.
2008-02-11 19:47:53 +00:00
nekral-guest
ca42fa251a Accept password file with multiple password specified as @PASS_MD5 ...@ 2008-02-11 19:46:33 +00:00
nekral-guest
bab3f92304 Accept password file with multiple password specified as @PASS_DES ...@ 2008-02-11 19:44:02 +00:00
nekral-guest
9b9f463b8f Remove the temporary files to permit the automatic tmp cleanup. 2008-01-30 21:15:23 +00:00
nekral-guest
3d84c8c91c Add tests for newusers 2008-01-29 22:12:45 +00:00
bubulle
54e3d28428 Prepare for release 2008-01-13 17:53:41 +00:00
bubulle
0a21c2438e Unversion the conflict with manpages-de, hopefully temporarily 2008-01-13 11:53:50 +00:00
bubulle
5a9ea180fa Release 4.1.0-1 2008-01-12 22:47:40 +00:00
nekral-guest
f77c7d061f Add script to generate coverage analysis of the testsuite. 2008-01-12 17:33:09 +00:00
nekral-guest
02d1ba5c99 Add the crypt tests. 2008-01-12 17:19:39 +00:00
nekral-guest
106a7a690c Fix test name. 2008-01-12 17:19:00 +00:00
bubulle
c3d6c6d5ce Update to Standards 3.7.3 2008-01-12 15:54:32 +00:00
nekral-guest
b2b7993cd0 Add tests for the different crypt methods (and different way to specify
which one shall be used).
2008-01-12 15:49:28 +00:00
nekral-guest
89c07802de Add common utility to compare the password and group files (with support
of variable data (password salt, date, etc.))
2008-01-12 15:47:10 +00:00
nekral-guest
285046bd1e Update the list of su and usertools tests. 2008-01-12 15:44:40 +00:00
nekral-guest
41d38991df Test usage of the default values from etc/default/useradd when an user is
created.
2008-01-12 15:43:37 +00:00
nekral-guest
517cc9fd79 Test setting of default values in useradd.default.
Start with different default values (compared to usertools/02)
2008-01-12 15:38:59 +00:00
nekral-guest
8b991cdd58 Add tests to test the options used to set the default values in the
useradd.default file.
2008-01-12 15:18:12 +00:00
nekral-guest
b1487cf3e6 Switch to the new infrastructure and split the old test in more atomic
tests.
2008-01-12 15:10:58 +00:00
nekral-guest
e158a89d37 Switch to the new config infrastructure. 2008-01-12 15:08:54 +00:00
nekral-guest
632a264077 Test the default ENV_SUPATH and ENV_PATH.
Same tests as su/08, with commented ENV_SUPATH and ENV_PATH in login.defs.
2008-01-12 14:38:01 +00:00
nekral-guest
201d2b1608 Same tests as su/02, with a different config. 2008-01-12 14:36:02 +00:00
nekral-guest
a48e84f0d6 Check non-log of successful su with SYSLOG_SU_ENAB set to "no". 2008-01-12 14:23:07 +00:00
nekral-guest
90b05a2679 Check log of successful su. 2008-01-12 14:22:06 +00:00
nekral-guest
36f46d4dfb Test identical to 04, with SYSLOG_SU_ENAB set to "no". 2008-01-12 14:15:07 +00:00
nekral-guest
4a57055073 Add tests to check the report and log of errors. 2008-01-12 14:05:04 +00:00
nekral-guest
e7ffab6b8e Add the new su/03 tests. 2008-01-12 13:38:45 +00:00
nekral-guest
46b0cb2db2 Split the test script in more atomic tests. 2008-01-12 13:25:11 +00:00
nekral-guest
bd4b7d0c23 Move to the new config infrastructure. 2008-01-12 13:23:19 +00:00
bubulle
960b18e52e Patches refreshed for 4.1.0 2008-01-12 13:17:04 +00:00
nekral-guest
dfcdbb7db5 Improve the securetty config file for Linux:
Add ttyS1. Better comments for the ttyS and xen consoles. Add a note for
the devfs consoles. They are no more needed for most users. Closes:
#454584. Thanks to Bastian Blank.
2008-01-11 22:26:27 +00:00
nekral-guest
dd712a6184 Update the list of tests. 2008-01-06 20:37:20 +00:00
nekral-guest
e4d00c832f Split run.exp and run.exp2 in separate tests for each
options/combinations.
2008-01-06 20:34:19 +00:00
nekral-guest
4cff2127e3 Switch to the new config file infrastructure. 2008-01-06 20:21:47 +00:00
nekral-guest
837e8bcd05 Updated tests to the new infrastructure. 2008-01-06 20:16:25 +00:00
nekral-guest
edb3448880 New config infrastructure. The config directory will be copied in the root
directory of the chroot, and the overwritten files will be restored at the
end of the test.
2008-01-06 20:02:39 +00:00
nekral-guest
2c6ecc3e02 Split run in 2 tests su to root and su to user. 2008-01-06 19:58:46 +00:00
nekral-guest
06f7f0d87f Added comments for the test log. 2008-01-06 19:55:54 +00:00
nekral-guest
80dcfd6690 Add default failure target if one step times out. 2008-01-06 19:53:47 +00:00
nekral-guest
f6249fb88a Fix script name in its usage. 2008-01-06 19:53:09 +00:00
nekral-guest
bb9ad48e4f Add language extension for run_su (run_su.exp). 2008-01-06 19:52:18 +00:00
nekral-guest
6cde8339cf Add helpers for an updated test infrastructure (handling of the chroot's
configuration).
2008-01-06 19:49:24 +00:00
nekral-guest
de62c3d005 Use unified diff for readability of the testsuite log. 2008-01-06 19:41:22 +00:00
nekral-guest
54d8487fe3 There is now a German su.1 manpage. 2008-01-06 19:40:19 +00:00
nekral-guest
cf35478f4d The usage strings now use spaces instead of tabs. 2008-01-06 19:38:29 +00:00
nekral-guest
1c33a0b2e5 Added needed empty line at the end of the testsuite.
Added comments.
2008-01-06 19:36:19 +00:00
nekral-guest
5c207aa3ac Provide progress information. 2008-01-06 19:34:50 +00:00
nekral-guest
fe6fa70efe Use one log file per test. This should ease the debugging.
The big testsuite.log is kept.
2008-01-06 19:32:49 +00:00
nekral-guest
abbf45f14f Make sure the messages of tools will not be localized in the testsuite. 2008-01-06 19:31:28 +00:00
nekral-guest
e3e826734c The only remaining chunk of 419_time_structures.dpatch was coming from
008_login_log_failure_in_FTMP.
Fix 008_login_log_failure_in_FTMP, and remove 419_time_structures.dpatch
2008-01-04 20:28:51 +00:00
nekral-guest
17026efc75 I finally reviewed 419_time_structures.dpatch, and it needs to be applied.
One chunk was not applied upstream.
2008-01-04 19:59:42 +00:00
nekral-guest
41a6258033 479_chowntty_debug is Debian specific (additional debugging to find a
non-reproducible bug).
2008-01-03 20:21:55 +00:00
nekral-guest
191be4c39f #454485 was also fixed upstream in 4.1.0 2008-01-03 20:15:17 +00:00
nekral-guest
09e267dad4 Remove Debian patches already applied in 4.1.0 (already marked as such in
the changelog and in the patches).
2007-12-26 14:56:06 +00:00
nekral-guest
459433e461 Upstream changed from tabulations to spaces in the Usage strings. 2007-11-27 18:59:51 +00:00
nekral-guest
5ec74ab450 Upstream moved from getpwnam to xgetpwnam. 2007-11-27 18:59:14 +00:00
nekral-guest
40d644c1b5 Yuri Kozlov also completed the manpages translation! 2007-11-22 00:16:36 +00:00
nekral-guest
11194f7e88 The updated Russian translation was committed upstream. 2007-11-22 00:07:16 +00:00
nekral-guest
9dcb747e52 compile with -W -Wall
large files are now supported by configure. Remove
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 from
CFLAGS.
2007-11-20 19:10:16 +00:00
nekral-guest
ab9d319d06 Updated to current upstream. 2007-11-20 19:04:43 +00:00
nekral-guest
8b6415c8cb Fix typo in documentation. 2007-11-20 19:04:01 +00:00
nekral-guest
5e1e47c89f Fix warning when compiled with -W -Wall. 2007-11-20 19:03:18 +00:00
nekral-guest
a1bb0a0c36 Fix typo. 2007-11-20 19:02:34 +00:00
nekral-guest
9765bc4a11 MD5_CRYPT_ENAB is back in login.defs to define the default crypt
algorithm. It is tagged as deprecated and ENCRYPT_METHOD is
recommended instead. New algorithms are also available.
Closes: #447747
2007-11-20 19:01:56 +00:00
nekral-guest
3bc2c036d4 Tag patches as fixed in the next release.
Next release will be 4.1.0-1.
#451518 and #451521 will also be closed by this new release.
2007-11-20 18:54:58 +00:00
nekral-guest
d0aa0033ee This patch was committed upstream. 2007-11-10 15:52:09 +00:00
bubulle
6d31d38571 4.0.18.2-1 released 2007-10-30 18:40:52 +00:00
nekral-guest
2e741e5948 New location for the upstream releases. 2007-10-28 18:12:44 +00:00
nekral-guest
8af99d4da2 Replace #bug_not_yet_reported_by_Sesse by an explanation about why audit
support was removed.
2007-10-28 17:47:16 +00:00
nekral-guest
6e28c75c09 Remove old patches. 2007-10-28 17:46:08 +00:00
nekral-guest
164c2b24bf Updated patches for 4.0.18.2:
* 409_man_generate_from_PO
   There is an Italian PO. Patch the Italian Makefile
 * 397_non_numerical_identifier
   usermod was patched. useradd is not patched yet.
2007-10-28 17:17:48 +00:00
nekral-guest
c6f0bda817 Update patches for 4.0.18.2 2007-10-28 17:15:48 +00:00
nekral-guest
8ebce60492 Updated patch. New ident information. 2007-10-28 17:12:43 +00:00
nekral-guest
52af2aa829 Update for 4.0.18.2.
Simplification of the patch. Prefer maintainability to indentation.
2007-10-28 17:07:45 +00:00
nekral-guest
62a24d7d0b Update patches (offsets only). 2007-10-28 17:02:44 +00:00
nekral-guest
a0d0068f7d 499_gettext-0.15 removed because upstream is built with gettext 0.16.
Remove other patches which are no more needed (because they are already applied).
2007-10-28 16:56:38 +00:00
bubulle
b2a73af945 We do not close the Xen console bug as it was closed by xen-tools upload(?) 2007-10-28 08:45:34 +00:00
bubulle
75ee1ef03b #448233 is also closed by next upstream 2007-10-28 08:43:58 +00:00
nekral-guest
9df5820cb5 Mark 442334 as being fixed in 4.0.18.2 2007-10-27 19:47:20 +00:00
nekral-guest
1e502d5cbc The next version will be 4.0.18.2.
Indicate that this release fixes #445480.
2007-10-27 14:01:01 +00:00
bubulle
e4feaa023e Patch 438 is applied 2007-10-27 13:51:33 +00:00
bubulle
e895c05aa3 Patch 433 is applied upstream 2007-10-27 13:45:39 +00:00
nekral-guest
21a85fb04a Fix a typo. Thanks to Justin Pryzby. Closes: #447757 2007-10-27 13:15:50 +00:00
bubulle
cf467c52af Merged upstream 2007-10-27 13:13:54 +00:00
bubulle
4442be02f7 404 is applied upstream 2007-10-27 13:05:47 +00:00
bubulle
1ed4974bf0 Patch 402 is applied upstream 2007-10-27 13:01:54 +00:00
bubulle
32d29775bc Applied upstream 2007-10-27 12:57:50 +00:00
bubulle
d0e332f49c Tag patches as fixed in upstream repository 2007-10-27 12:55:25 +00:00
nekral-guest
39beb1da3a 105_zn_CN was just applied to upstream repository.
Tag 104_man-sv, 101_ja, and 103_man-de as going to be fixed in 4.0.18.2.
2007-10-27 12:51:13 +00:00
10687 changed files with 174009 additions and 385512 deletions

50
.gitignore vendored
View File

@@ -1,50 +0,0 @@
*~
lib*.a
*.o
*.lo
*.la
*.gmo
.deps
.libs
*.patch
*.rej
*.orig
Makefile
Makefile.in
/ABOUT-NLS
/aclocal.m4
/autom4te.cache
/compile
/config.cache
/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
/shadow-*.tar.*
/libmisc/getdate.c

View File

@@ -1,20 +0,0 @@
sudo: false
language: c
compiler:
- gcc
- clang
addons:
apt:
packages:
- autopoint
- xsltproc
script:
- ./autogen.sh --without-selinux --disable-man
- grep ENABLE_ config.status
- make
# vim:et:ts=2:sw=2

1101
ABOUT-NLS Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,76 @@
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

858
Makefile.in Normal file
View File

@@ -0,0 +1,858 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 shadow.spec
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)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/shadow.spec.in $(top_srcdir)/man/po/Makefile.in \
ABOUT-NLS COPYING ChangeLog NEWS README TODO 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
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@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
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@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
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@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMD = @LIBMD@
LIBOBJS = @LIBOBJS@
LIBPAM = @LIBPAM@
LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
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@
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 = NEWS README TODO shadow.spec.in
SUBDIRS = po man libmisc lib src \
contrib doc etc
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 $@
shadow.spec: $(top_builddir)/config.status $(srcdir)/shadow.spec.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
-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-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 ;;\
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) dvi \
&& $(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:
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-lzip dist-shar dist-tarZ \
dist-xz dist-zip 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
# 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:

31
README
View File

@@ -2,30 +2,25 @@ Shadow SITES
============
Homepage
http://pkg-shadow.alioth.debian.org/
http://github.com/shadow-maint/shadow
FTP site
ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow
Issue tracker
http://github.com/shadow-maint/shadow/issues
SVN repository
anonymous read only access: svn://svn.debian.org/pkg-shadow/upstream
SVN web interface
http://svn.debian.org/wsvn/pkg-shadow/upstream
or
http://svn.debian.org/viewsvn/pkg-shadow/upstream
Releases
https://github.com/shadow-maint/shadow/releases
Mailing lists
for general discuss: pkg-shadow-devel@lists.alioth.debian.org
commit list: pkg-shadow-commits@lists.alioth.debian.org
for general discuss: pkg-shadow-devel@alioth-lists.debian.net
commit list: pkg-shadow-commits@alioth-lists.debian.net
Mailing lists subscription
http://lists.alioth.debian.org/mailman/listinfo/pkg-shadow-devel
http://lists.alioth.debian.org/mailman/listinfo/pkg-shadow-commits
http://alioth-lists.debian.net/mailman/listinfo/pkg-shadow-devel
http://alioth-lists.debian.net/mailman/listinfo/pkg-shadow-commits
Mailing lists archives:
http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/
http://lists.alioth.debian.org/pipermail/pkg-shadow-commits/
http://alioth-lists.debian.net/pipermail/pkg-shadow-devel/
http://alioth-lists.debian.net/pipermail/pkg-shadow-commits/
S/Key support:
Shadow can be built with S/Key support using the S/Key package from:
@@ -56,6 +51,7 @@ 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>
@@ -63,6 +59,7 @@ Dave Hagewood <admin@arrowweb.com>
David A. Holland <dholland@hcs.harvard.edu>
David Frey <David.Frey@lugs.ch>
Ed Carp <ecarp@netcom.com>
Eric W. Biederman" <ebiederm@xmission.com>
Floody <flood@evcom.net>
Frank Denis <j@4u.net>
George Kraft IV <gk4@us.ibm.com>
@@ -93,6 +90,7 @@ 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>
@@ -120,4 +118,5 @@ Maintainers
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)

12678
aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -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
View 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-2018 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*)
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/*)
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:

1480
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

630
config.h.in Normal file
View File

@@ -0,0 +1,630 @@
/* 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 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 <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 if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
/* 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 to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the `fchmod' function. */
#undef HAVE_FCHMOD
/* Define to 1 if you have the `fchown' function. */
#undef HAVE_FCHOWN
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
/* Define to 1 if you have the `futimes' function. */
#undef HAVE_FUTIMES
/* Define to 1 if you have the `getaddrinfo' function. */
#undef HAVE_GETADDRINFO
/* Define to 1 if you have the `getgrgid_r' function. */
#undef HAVE_GETGRGID_R
/* Define to 1 if you have the `getgrnam_r' function. */
#undef HAVE_GETGRNAM_R
/* Define to 1 if you have the `getgroups' function. */
#undef HAVE_GETGROUPS
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
/* Define to 1 if you have the `getpwnam_r' function. */
#undef HAVE_GETPWNAM_R
/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R
/* 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 `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getusershell' function. */
#undef HAVE_GETUSERSHELL
/* Define to 1 if you have the `getutent' function. */
#undef HAVE_GETUTENT
/* 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 `l64a' function. */
#undef HAVE_L64A
/* Define to 1 if you have the <lastlog.h> header file. */
#undef HAVE_LASTLOG_H
/* Define to 1 if you have the `lchown' function. */
#undef HAVE_LCHOWN
/* Define to 1 if you have the `lckpwdf' function. */
#undef HAVE_LCKPWDF
/* Defined if you have libcrack. */
#undef HAVE_LIBCRACK
/* Defined if you have the ts&szs cracklib. */
#undef HAVE_LIBCRACK_HIST
/* Defined if it includes *Pw functions. */
#undef HAVE_LIBCRACK_PW
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* 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 <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
/* Define to 1 if you have the `lutimes' function. */
#undef HAVE_LUTIMES
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_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 `rename' function. */
#undef HAVE_RENAME
/* Define to 1 if you have the `rmdir' function. */
#undef HAVE_RMDIR
/* 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 `ruserok' function. */
#undef HAVE_RUSEROK
/* 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 to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
/* 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 you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if `st_atim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIM
/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
/* Define to 1 if `st_mtim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIM
/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIMENSEC
/* Define to 1 if `st_rdev' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV
/* 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 `ut_addr' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_ADDR
/* Define to 1 if `ut_addr_v6' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_ADDR_V6
/* Define to 1 if `ut_host' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_HOST
/* Define to 1 if `ut_id' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_ID
/* Define to 1 if `ut_name' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_NAME
/* Define to 1 if `ut_syslen' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_SYSLEN
/* Define to 1 if `ut_time' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_TIME
/* Define to 1 if `ut_tv' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_TV
/* Define to 1 if `ut_type' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_TYPE
/* Define to 1 if `ut_user' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_USER
/* Define to 1 if `ut_xtime' is a member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_XTIME
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* 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/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_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/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_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/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the <tcb.h> header file. */
#undef HAVE_TCB_H
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if you have the <termio.h> header file. */
#undef HAVE_TERMIO_H
/* Define to 1 if you have the <ulimit.h> header file. */
#undef HAVE_ULIMIT_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `updwtmp' function. */
#undef HAVE_UPDWTMP
/* 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 <utmpx.h> header file. */
#undef HAVE_UTMPX_H
/* Define to 1 if you have the <utmp.h> header file. */
#undef HAVE_UTMP_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* 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 as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* 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 the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to support /etc/suauth su access control. */
#undef SU_ACCESS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* 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
/* Define to use syslog(). */
#undef USE_SYSLOG
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define if utmpx should be used */
#undef USE_UTMPX
/* 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 with SELinux support */
#undef WITH_SELINUX
/* Build with su */
#undef WITH_SU
/* Build shadow with tcb support (incomplete) */
#undef WITH_TCB
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* 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
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Path for utmp file. */
#undef _UTMP_FILE
/* Path for wtmp file. */
#undef _WTMP_FILE
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t

614
config.rpath Executable file
View File

@@ -0,0 +1,614 @@
#! /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-2006 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 AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux*)
case $cc_basename in
icc* | ecc*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
sco3.2v5*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
wl='-Wl,'
;;
sysv4*MP*)
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# 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
aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# 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
;;
interix3*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
linux*)
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
;;
aix4* | aix5*)
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].*|aix5*)
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
hardcode_direct=yes
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*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# 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 test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | kfreebsd*-gnu | 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=:
;;
openbsd*)
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
;;
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*)
;;
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 AC_LIBTOOL_SYS_DYNAMIC_LINKER.
libname_spec='lib$name'
case "$host_os" in
aix3*)
;;
aix4* | aix5*)
;;
amigaos*)
;;
beos*)
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
shrext=.dll
;;
darwin* | rhapsody*)
shrext=.dylib
;;
dgux*)
;;
freebsd1*)
;;
kfreebsd*-gnu)
;;
freebsd* | dragonfly*)
;;
gnu*)
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
;;
interix3*)
;;
irix5* | irix6* | nonstopux*)
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*)
;;
knetbsd*-gnu)
;;
netbsd*)
;;
newsos6)
;;
nto-qnx*)
;;
openbsd*)
;;
os2*)
libname_spec='$name'
shrext=.dll
;;
osf3* | osf4* | osf5*)
;;
solaris*)
;;
sunos4*)
;;
sysv4 | sysv4.3*)
;;
sysv4*MP*)
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
;;
uts4*)
;;
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_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"
# 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

1801
config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

21837
configure vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.64])
AC_INIT([shadow], [4.6], [pkg-shadow-devel@lists.alioth.debian.org], [],
AC_INIT([shadow], [4.8.1], [pkg-shadow-devel@lists.alioth.debian.org], [],
[https://github.com/shadow-maint/shadow])
AM_INIT_AUTOMAKE([1.11 foreign dist-xz])
AM_SILENT_RULES([yes])
@@ -34,7 +34,7 @@ AC_HEADER_STDBOOL
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 \
utime.h ulimit.h sys/capability.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)
@@ -74,12 +74,6 @@ AC_CHECK_MEMBERS([struct utmp.ut_type,
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,
struct utmpx.ut_host,
@@ -116,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr)
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
AC_CACHE_CHECK(for working shadow group support,
@@ -229,7 +226,7 @@ AC_ARG_ENABLE(account-tools-setuid,
*) AC_MSG_ERROR(bad value ${enableval} for --enable-account-tools-setuid)
;;
esac],
[enable_acct_tools_setuid="maybe"]
[enable_acct_tools_setuid="no"]
)
AC_ARG_ENABLE(utmpx,
@@ -250,12 +247,15 @@ AC_ARG_ENABLE(subordinate-ids,
[enable_subids="maybe"]
)
AC_ARG_WITH(audit,
AC_ARG_WITH(audit,
[AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
[with_audit=$withval], [with_audit=maybe])
AC_ARG_WITH(libpam,
[AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
[with_libpam=$withval], [with_libpam=maybe])
AC_ARG_WITH(btrfs,
[AC_HELP_STRING([--with-btrfs], [add BtrFS support @<:@default=yes if found@:>@])],
[with_btrfs=$withval], [with_btrfs=maybe])
AC_ARG_WITH(selinux,
[AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=yes if found@:>@])],
[with_selinux=$withval], [with_selinux=maybe])
@@ -277,12 +277,21 @@ AC_ARG_WITH(libcrack,
AC_ARG_WITH(sha-crypt,
[AC_HELP_STRING([--with-sha-crypt], [allow the SHA256 and SHA512 password encryption algorithms @<:@default=yes@:>@])],
[with_sha_crypt=$withval], [with_sha_crypt=yes])
AC_ARG_WITH(bcrypt,
[AC_HELP_STRING([--with-bcrypt], [allow the bcrypt password encryption algorithm @<:@default=no@:>@])],
[with_bcrypt=$withval], [with_bcrypt=no])
AC_ARG_WITH(nscd,
[AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
[with_nscd=$withval], [with_nscd=yes])
AC_ARG_WITH(sssd,
[AC_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_HELP_STRING([--with-group-name-max-length], [set max group name length @<:@default=16@:>@])],
[with_group_name_max_length=$withval], [with_group_name_max_length=yes])
AC_ARG_WITH(su,
[AC_HELP_STRING([--with-su], [build and install su program and man page @<:@default=yes@:>@])],
[with_su=$withval], [with_su=yes])
if test "$with_group_name_max_length" = "no" ; then
with_group_name_max_length=0
@@ -298,12 +307,26 @@ if test "$with_sha_crypt" = "yes"; then
AC_DEFINE(USE_SHA_CRYPT, 1, [Define to allow the SHA256 and SHA512 password encryption algorithms])
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
if test "$with_nscd" = "yes"; then
AC_CHECK_FUNC(posix_spawn,
[AC_DEFINE(USE_NSCD, 1, [Define to support flushing of nscd caches])],
[AC_MSG_ERROR([posix_spawn is needed for nscd support])])
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 other libraries. This should prevent linking libnsl if not really
dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
@@ -312,6 +335,17 @@ AC_SEARCH_LIBS(inet_ntoa, inet)
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_CHECK_LIB([econf],[econf_readDirs],[LIBECONF="-leconf"],[LIBECONF=""])
if test -n "$LIBECONF"; then
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])
AM_CONDITIONAL([HAVE_VENDORDIR], [test "x$enable_vendordir" != x])
if test "$enable_shadowgrp" = "yes"; then
AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.])
fi
@@ -328,8 +362,8 @@ if test "$enable_man" = "yes"; then
fi
dnl check for DocBook DTD and stylesheets in the local catalog.
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
[DocBook XML DTD V4.1.2], [], enable_man=no)
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.5//EN],
[DocBook XML DTD V4.5], [], enable_man=no)
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
[DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
fi
@@ -453,6 +487,20 @@ if test "$with_libcrack" = "yes"; then
AC_DEFINE(HAVE_LIBCRACK_PW, 1, [Defined if it includes *Pw functions.]))
fi
if test "$with_btrfs" != "no"; then
AC_CHECK_HEADERS([sys/statfs.h linux/magic.h linux/btrfs_tree.h], \
[btrfs_headers="yes"], [btrfs_headers="no"])
if test "$btrfs_headers$with_btrfs" = "noyes" ; then
AC_MSG_ERROR([One of sys/statfs.h linux/magic.h linux/btrfs_tree.h is missing])
fi
if test "$btrfs_headers" = "yes" ; then
AC_DEFINE(WITH_BTRFS, 1, [Build shadow with BtrFS support])
with_btrfs="yes"
fi
fi
AM_CONDITIONAL(WITH_BTRFS, test x$with_btrfs = xyes)
AC_SUBST(LIBSELINUX)
AC_SUBST(LIBSEMANAGE)
if test "$with_selinux" != "no"; then
@@ -477,7 +525,7 @@ if test "$with_selinux" != "no"; then
AC_MSG_ERROR([libsemanage not found])
fi
if test "$selinux_lib$semanage_lib" == "yesyes" ; then
if test "$selinux_lib$semanage_lib" = "yesyes" ; then
AC_DEFINE(WITH_SELINUX, 1,
[Build shadow with SELinux support])
LIBSELINUX="-lselinux"
@@ -597,6 +645,19 @@ if test "$enable_acct_tools_setuid" != "no"; then
fi
AM_CONDITIONAL(ACCT_TOOLS_SETUID, test "x$enable_acct_tools_setuid" = "xyes")
AC_ARG_WITH(fcaps,
[AC_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(LIBMD)
if test "$with_skey" = "yes"; then
@@ -672,12 +733,17 @@ if test "$with_libpam" = "yes"; then
echo " suid account management tools: $enable_acct_tools_setuid"
fi
echo " SELinux support: $with_selinux"
echo " BtrFS support: $with_btrfs"
echo " ACL support: $with_acl"
echo " Extended Attributes support: $with_attr"
echo " tcb support (incomplete): $with_tcb"
echo " shadow group support: $enable_shadowgrp"
echo " S/Key support: $with_skey"
echo " SHA passwords encryption: $with_sha_crypt"
echo " bcrypt passwords encryption: $with_bcrypt"
echo " nscd support: $with_nscd"
echo " sssd support: $with_sssd"
echo " subordinate IDs support: $enable_subids"
echo " use file caps: $with_fcaps"
echo " install su: $with_su"
echo

482
contrib/Makefile.in Normal file
View File

@@ -0,0 +1,482 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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)/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@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
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@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
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@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMD = @LIBMD@
LIBOBJS = @LIBOBJS@
LIBPAM = @LIBPAM@
LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
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@
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-old.c adduser.sh adduser2.sh \
atudel groupmems.shar pwdauth.c shadow-anonftp.patch \
udbachk.tgz
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:

43
debian/HOME_MODE.xml vendored Normal file
View File

@@ -0,0 +1,43 @@
<!--
Copyright (c) 1991 - 1993, Julianne Frances Haugh
Copyright (c) 1991 - 1993, Chip Rosenthal
Copyright (c) 2007 - 2009, Nicolas François
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. The name of the copyright holders or contributors may not be used to
endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT
HOLDERS 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.
-->
<varlistentry>
<term><option>HOME_MODE</option> (number)</term>
<listitem>
<para>
The mode for new home directories. If not specified,
the <option>UMASK</option> is used to create the mode.
</para>
<para>
<command>useradd</command> and <command>newusers</command> use this
to set the mode of the home directory they create.
</para>
</listitem>
</varlistentry>

16
debian/Makefile vendored Normal file
View File

@@ -0,0 +1,16 @@
PKG=shadow
SITE=ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/
deb:: check_cheese
include /usr/share/quilt/quilt.debbuild.mk
check_cheese:
@dpkg-parsechangelog | grep -q "\* The \".*\".* release\." || { \
echo ""; \
echo " ** **"; \
echo " ** Warning: not a cheesy release! **"; \
echo " ** **"; \
echo ""; \
exit 1; \
}

44
debian/NEWS vendored Normal file
View File

@@ -0,0 +1,44 @@
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
* commands passed in argument to su must use su's -c option and must quote
the command if it contains a space, as in:
su - root -c "ls -l /"
The following commands won't work anymore:
su - root -c ls -l /
su - root "ls -l /"
su - root ls -l /
-- Christian Perrier <bubulle@debian.org> Sat, 8 Apr 2006 20:11:38 +0200
shadow (1:4.0.14-1) unstable; urgency=low
* passwd does not support the -f, -s, and -g options anymore. You should use
the chfn, chsh and gpasswd utilities instead.
* login now distributes the nologin utility, which can be used as a shell
to politely refuse a login
-- Christian Perrier <bubulle@debian.org> Thu, 5 Jan 2006 08:47:44 +0100
shadow (1:4.0.12-1) unstable; urgency=low
CLOSE_SESSIONS and other variables are not used anymore in
/etc/login/defs.
As shadow utilities which use this file now warn about unknown
entries there, administrators should remove such unknown entries.
The supplied login.defs file does not include them anymore.
dpasswd is no more distributed by upstream. Login do not support
dialup password anymore. Re-introducing this functionality in
upstream is not trivial.
-- Christian Perrier <bubulle@debian.org> Thu, 25 Aug 2005 08:38:47 +0200

62
debian/README.debian vendored Normal file
View File

@@ -0,0 +1,62 @@
Read this file first for a brief overview of the new versions of login
and passwd.
---Shadow passwords
The command `shadowconfig on' will turn on shadow password support.
`shadowconfig off' will turn it back off. If you turn on shadow
password support, you'll gain the ability to set password ages and
expirations with chage(1).
NOTE: If you use the nscd package, you may have problems with a
slight delay in updating the password information. You may notice
this during upgrades of certain packages that try to add a system
user and then access the users information immediately afterwards.
To avoid this, it is suggested that you stop the nscd daemon before
upgrades, then restart it again.
---General configuration
Most of the configuration for the shadow utilities is in
/etc/login.defs. See login.defs(5). The defaults are quite
reasonable.
Also see the /etc/pam.d/* files for each program to configure the PAM
support. PAM documentation is available in several formats in the
libpam-doc package.
---MD5 Encryption
This is enabled now using the /etc/pam.d/* files. Examples are given.
---Adding users and groups
Though you may add users and groups with the SysV type commands,
useradd and groupadd, I recommend you add them with Debian adduser
version 3+. adduser gives you more configuration and conforms to the
Debian UID and GID allocation.
Editing user and group parameters can be done with usermod and
groupmod. Removing users and groups can be done with userdel and
groupdel.
--- Group administration
Local group allocation is much easier. With gpasswd(1) you can
designate users to administer groups. They can then securely add or
remove users from the group.
--- What to read next?
Read the manpages, the other files in this directory, and the Shadow
Password HOWTO (included in the doc-linux package). A large portion
of these files deals with getting shadow installed. You can, of
course, ignore those parts.
Also, the libpam-doc package will go a long way to allowing you to take
full advantage of the PAM authentication scheme.

4
debian/README.source vendored Normal file
View File

@@ -0,0 +1,4 @@
A testsuite is also available. Instruction on how to run this testsuite
are available in tests/README
-- Balint Reczey <rbalint@ubuntu.com>, Sat, 12 Aug 2017 18:46:44 -0400

19
debian/TODO vendored Normal file
View File

@@ -0,0 +1,19 @@
Things that should be done:
* Verify the files left in debian/tmp
+ e.g. /etc/default/adduser should be installed
* Check the build system: rebuilding the package twoce in the same tree
doubles the size of the diff.gz file
Other points (not related to the release of a syncronized shadow):
* compare the source with the usages and man pages
+ probably add a sentence to chsh/chfn's manpages about authentication
required for ordinary users
* do something (a tool) for the variables in login.defs
In Debian, some tools are not compiled with the PAM support, so upstream
getdef.c won't be OK.
It should be nice to see in each man page the set of variables used.
The Debian package can now compile (export DEB_BUILD_OPTIONS='nostrip debug')
with the debugging informations. This may be used to extract the set of
variables used in Debian/for each tools.
* verify all the patches around (I've found patches for at least RedHat,
OWL, LFS, Mandriva, Gentoo; are they already applied?)

25
debian/bugs-usertags vendored Normal file
View File

@@ -0,0 +1,25 @@
This described the usertags used by the team.
For usertags documentation, see
http://lists.debian.org/debian-devel-announce/2005/09/msg00002.html
All bugs tagged by team members must be tagged with
"user pkg-shadow-devel@lists.alioth.debian.org"
Tags list
---------
toclose: This bug has been announced to be closed in case no more news
or information is received from the bug submitter or someone
else until the delay specified in the limits_YYYYMMDD tag
limits-YYYYMMDD: combine it with "toclose". Specifies the date after which
bugs can be closed without other action in case no news
is received
manpages-replace A bug reported angainst a manpages-xx package to indicate
conflicting man pages. This tag can be used to tune the
Replaces fields.
su-transition: This bug is related to the su transition (#276419)

3938
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

78
debian/control vendored Normal file
View File

@@ -0,0 +1,78 @@
Source: shadow
Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
Uploaders: Balint Reczey <rbalint@ubuntu.com>,
Serge Hallyn <serge@hallyn.com>
Section: admin
Priority: required
Build-Depends: debhelper-compat (= 12),
gettext,
libpam0g-dev,
quilt,
xsltproc,
docbook-xsl,
docbook-xml,
libxml2-utils,
libselinux1-dev [linux-any],
libsemanage1-dev [linux-any],
itstool,
bison,
libaudit-dev [linux-any]
Standards-Version: 3.9.5
Vcs-Git: https://salsa.debian.org/debian/shadow -b master
Vcs-Browser: https://salsa.debian.org/debian/shadow
Homepage: https://github.com/shadow-maint/shadow
Rules-Requires-Root: binary-targets
Package: passwd
Architecture: any
Multi-Arch: foreign
Depends: ${shlibs:Depends},
${misc:Depends},
libpam-modules
Replaces: manpages-tr (<< 1.0.5),
manpages-zh (<< 1.5.1-1)
Description: change and administer password and group data
This package includes passwd, chsh, chfn, and many other programs to
maintain password and group data.
.
Shadow passwords are supported. See /usr/share/doc/passwd/README.Debian
Package: login
Architecture: any
Multi-Arch: foreign
Essential: yes
Pre-Depends: ${shlibs:Depends},
${misc:Depends},
libpam-runtime,
libpam-modules (>= 1.1.8-1)
Breaks: coreutils (<< 8.21~) [hurd-any],
passwd (<< 1:4.1.5.1-2~) [hurd-any],
hurd (<< 20140206~) [hurd-any],
util-linux (<< 2.32-0.2~)
Conflicts: gnunet (<< 0.7.0c-2),
amavisd-new (<< 2.3.3-8),
python-4suite (<< 0.99cvs20060405-1),
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
This package provides some required infrastructure for logins and for
changing effective user or group IDs, including:
* login, the program that invokes a user shell on a virtual terminal;
* nologin, a dummy shell for disabled user accounts;
* su, a basic tool for executing commands as root or another user.
Package: uidmap
Architecture: any
Multi-Arch: foreign
Priority: optional
Depends: ${shlibs:Depends},
${misc:Depends}
Description: programs to help use subuids
These programs help unprivileged users to create uid and gid mappings in
user namespaces.

103
debian/copyright vendored Normal file
View File

@@ -0,0 +1,103 @@
This is Debian GNU/Linux's prepackaged version of the shadow utilities.
It was downloaded from: <ftp://ftp.pld.org.pl/software/shadow/>.
As of May 2007, this site is no longer available.
Copyright:
Parts of this software are copyright 1988 - 1994, Julianne Frances Haugh.
All rights reserved.
Parts of this software are copyright 1997 - 2001, Marek Michałkiewicz.
All rights reserved.
Parts of this software are copyright 2001 - 2004, Andrzej Krzysztofowicz
All rights reserved.
Parts of this software are copyright 2000 - 2007, Tomasz Kłoczko.
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 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
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 JULIE HAUGH 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.
This source code is currently archived on ftp.uu.net in the
comp.sources.misc portion of the USENET archives. You may also contact
the author, Julianne F. Haugh, at jockgrrl@ix.netcom.com if you have
any questions regarding this package.
THIS SOFTWARE IS BEING DISTRIBUTED AS-IS. THE AUTHORS DISCLAIM ALL
LIABILITY FOR ANY CONSEQUENCES OF USE. THE USER IS SOLELY RESPONSIBLE
FOR THE MAINTENANCE OF THIS SOFTWARE PACKAGE. THE AUTHORS ARE UNDER NO
OBLIGATION TO PROVIDE MODIFICATIONS OR IMPROVEMENTS. THE USER IS
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;
to Steve Simmons for his work in porting this code to BSD; and to Bill
Kennedy for his contributions of LaserJet printer time and energies.
Also, thanks for Dennis L. Mumaugh for the initial shadow password
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
from the logdaemon-5.0 package, which is under the following license:
/************************************************************************
* Copyright 1995 by Wietse Venema. All rights reserved. Individual files
* may be covered by other copyrights (as noted in the file itself.)
*
* 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
su for GNU. Run a shell with substitute user and group IDs.
Copyright (C) 1992-2003 Free Software Foundation, Inc.
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.
On Debian GNU/Linux systems, the complete text of the GNU General Public
License can be found in '/usr/share/common-licenses/GPL-2'

1
debian/cpgr.8 vendored Normal file
View File

@@ -0,0 +1 @@
.so man8/cppw.8

27
debian/cppw.8 vendored Normal file
View File

@@ -0,0 +1,27 @@
.TH CPPW 8 "7 Apr 2005"
.SH NAME
cppw, cpgr \- copy with locking the given file to the password or group file
.SH SYNOPSIS
\fBcppw\fR [\fB\-h\fR] [\fB\-s\fR] password_file
.br
\fBcpgr\fR [\fB\-h\fR] [\fB\-s\fR] group_file
.SH DESCRIPTION
.BR cppw " and " cpgr
will copy, with locking, the given file to
.IR /etc/passwd " and " /etc/group ", respectively."
With the \fB\-s\fR flag, they will copy the shadow versions of those files,
.IR /etc/shadow " and " /etc/gshadow ", respectively."
With the \fB\-h\fR flag, the commands display a short help message and exit
silently.
.SH "SEE ALSO"
.BR vipw (8),
.BR vigr (8),
.BR group (5),
.BR passwd (5),
.BR shadow (5),
.BR gshadow (5)
.SH AUTHOR
\fBcppw\fR and \fBcpgr\fR were written by Stephen Frost, based on
\fBvipw\fR and \fBvigr\fR written by Guy Maor.

37
debian/default/useradd vendored Normal file
View 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=yes

94
debian/dependencies vendored Normal file
View File

@@ -0,0 +1,94 @@
Build-Depends:
==============
* autoconf
* automake1.9
works with 1.7 or 1.9 (at least)
* libtool
* gettext
POT, PO, GMO regenerated?
* libpam0g-dev
OK
* debhelper (>= 4.1.16)
* po-debconf
OK
* quilt
patch system
* dpkg-dev (>= 1.13.5)
* xsltproc
used to generate the manpages
* docbook-xsl
needed for /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
* docbook-xml
manpages/docbook.xsl includes html/docbook.xsl
(But it is not strictly needed. The generated manpages are identical.
Without it, a warning is generated.)
Needed by JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN], [DocBook XML DTD V4.1.2], [], enable_man=no)
* libxml2-utils
needed by the JH_CHECK_XML_CATALOG macros
* cdbs
used in debian/rules
* libselinux1-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64]
* gnome-doc-utils (>= 0.4.3-1)
xml2po, 0.4.3-1 needed for the -l switch.
passwd Depends:
===============
* ${shlibs:Depends}
OK
* ${loginpam}
- hurd
login
libpam-modules (>= 0.72-5)
- other archs
+ login (>= 970502-1)
login is needed because some passwd utils need /etc/login.defs
login is Essential, so this is just to enforce the version
+ libpam-modules (>= 0.72-5)
* debianutils (>= 2.15.2)
After 1:4.0.12-6, {add,remove}-shell are distributed in debianutils (2.15)
/etc/shell was forgotten and introduced in debianutils in 2.15.2
passwd Conflicts:
=================
passwd Replaces:
================
Some of the passwd man pages are also distributed in some manpages* packages.
Look at the debian/02/run test to optimize these dependencies.
NOTE: Not all maintainers have been notified.
* manpages-de (<< 0.4-9), manpages-fi (<< 0.2-4), manpages-fr (<<1.64.0-1), manpages-hu (<< 20010119-5), manpages-it (<< 0.3.4-3), manpages-ja (<< 0.5.0.0.20050915-1), manpages-ko (<< 20050219-2), manpages-es (<< 1.55-4), manpages-es-extra (<< 0.8a-15), manpages-ru (<< 0.98-3)
All those packages have been updated during sarge->etch. So these Replaces
should be removed after lenny release
* manpages-tr, manpages-zh
Those packages are still in etch, so the Replaces should be kept even
after lenny release
login Pre-Depends:
==================
* ${shlibs:Depends}
* libpam-runtime (>= 0.76-14)
sarge contained 0.76-22
Why Pre-Depends? (because it's an essential package?)
login Depends:
==============
* libpam-modules (>= 0.72-5)
libpam-modules is needed.
potato contained 0.72-9
login Conflicts:
================
login Replaces:
===============
* Some of the login man pages are also distributed in some manpages* packages.
Look at the debian/02/run test to optimize these dependencies.
NOTE: Not all maintainers have been notified.
- manpages-fi, manpages-fr (<<1.64.0-1), manpages-hu, manpages-it, manpages-ko, manpages-ja (<< 0.5.0.0.20050915-1), manpages-de (<< 0.4-10), manpages-es-extra (<<0.8a-15)
Those are packages that have been updated during sarge->etch. These
Replaces should be removed after lenny
- manpages-tr, manpages-zh
Those packages are still in etch, so the Replaces should be kept even
after lenny release

5
debian/gitlab-ci.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
variables:
RELEASE: 'unstable'
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

340
debian/login.defs vendored Normal file
View File

@@ -0,0 +1,340 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
# Modified for Linux. --marekm
# REQUIRED for useradd/userdel/usermod
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define MAIL_DIR and MAIL_FILE,
# MAIL_DIR takes precedence.
#
# Essentially:
# - MAIL_DIR defines the location of users mail spool files
# (for mbox use) by appending the username to MAIL_DIR as defined
# below.
# - MAIL_FILE defines the location of the users mail spool files as the
# fully-qualified filename obtained by prepending the user home
# directory before $MAIL_FILE
#
# NOTE: This is no more used for setting up users MAIL environment variable
# which is, starting from shadow 4.0.12-1 in Debian, entirely the
# job of the pam_mail PAM modules
# See default PAM configuration files provided for
# login, su, etc.
#
# This is a temporary situation: setting these variables will soon
# move to /etc/default/useradd and the variables will then be
# no more supported
MAIL_DIR /var/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.
#
# WARNING: Unknown usernames may become world readable.
# See #290803 and #298773 for details about how this could become a security
# concern
LOG_UNKFAIL_ENAB no
#
# Enable logging of successful logins
#
LOG_OK_LOGINS no
#
# Enable "syslog" logging of su activity - in addition to sulog file logging.
# SYSLOG_SG_ENAB does the same for newgrp and sg.
#
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
#
# If defined, all su activity is logged to this file.
#
#SULOG_FILE /var/log/sulog
#
# If defined, file which maps tty line to TERM environment parameter.
# Each line of the file is in a format something like "vt100 tty01".
#
#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
# example, if this is defined as "su" then a "ps" will display the
# command is "-su". If not defined, then "ps" would display the
# name of the shell actually being run, e.g. something like "-sh".
#
SU_NAME su
#
# If defined, file which inhibits all the usual chatter during the login
# sequence. If a full pathname, then hushed mode will be enabled if the
# user's name or shell are found in the file. If not a full pathname, then
# hushed mode will be enabled if the file exists in the user's home directory.
#
HUSHLOGIN_FILE .hushlogin
#HUSHLOGIN_FILE /etc/hushlogins
#
# *REQUIRED* The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
#
# Terminal permissions
#
# TTYGROUP Login tty will be assigned this group ownership.
# TTYPERM Login tty will be set to this permission.
#
# If you have a "write" program which is "setgid" to a special group
# which owns the terminals, define TTYGROUP to the group number and
# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
# TTYPERM to either 622 or 600.
#
# In Debian /usr/bin/bsd-write or similar programs are setgid tty
# However, the default and recommended value for TTYPERM is still 0600
# to not allow anyone to write to anyone else console or terminal
# Users can still allow other people to write them by issuing
# the "mesg y" command.
TTYGROUP tty
TTYPERM 0600
#
# Login configuration initializations:
#
# ERASECHAR Terminal ERASE character ('\010' = backspace).
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
# UMASK Default "umask" value.
#
# 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
KILLCHAR 025
UMASK 022
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
#SYS_UID_MIN 100
#SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
#SYS_GID_MIN 100
#SYS_GID_MAX 999
#
# Max number of login retries if password is bad. This will most likely be
# overriden by PAM, since the default pam_unix module has it's own built
# in of 3 retries. However, this is a safe fallback in case you are using
# an authentication module that does not enforce PAM_MAXTRIES.
#
LOGIN_RETRIES 5
#
# Max time in seconds for login
#
LOGIN_TIMEOUT 60
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Should login be allowed if we can't cd to the home directory?
# Default in no.
#
DEFAULT_HOME yes
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If set to yes, userdel will remove the user's group if it contains no
# more members, and useradd will create by default a group with the name
# of the user.
#
# Other former uses of this variable such as setting the umask when
# user==primary group are not used in PAM environments, such as Debian
#
USERGROUPS_ENAB yes
#
# Instead of the real user shell, the program specified by this parameter
# will be launched, although its visible name (argv[0]) will be the shell's.
# The program may do whatever it wants (logging, additional authentification,
# banner, ...) before running the actual shell.
#
# FAKE_SHELL /bin/fakeshell
#
# If defined, either full pathname of a file containing device names or
# a ":" delimited list of device names. Root logins will be allowed only
# upon these devices.
#
# This variable is used by login and su.
#
#CONSOLE /etc/consoles
#CONSOLE console:tty01:tty02:tty03:tty04
#
# List of groups to add to the user's supplementary group set
# when logging in on the console (as determined by the CONSOLE
# setting). Default is none.
#
# Use with caution - it is possible for users to gain permanent
# access to these groups, even when not logged in on the console.
# How to do it is left as an exercise for the reader...
#
# This variable is used by login and su.
#
#CONSOLE_GROUPS floppy:audio:cdrom
#
# If set to "yes", new passwords will be encrypted using the MD5-based
# 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 SHA512, SHA512-based algorithm will be used for encrypting password
# If set to DES, DES-based algorithm will be used for encrypting password (default)
# Overrides the MD5_CRYPT_ENAB option
#
# Note: It is recommended to use a value consistent with
# the PAM modules configuration.
#
ENCRYPT_METHOD SHA512
#
# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512.
#
# Define the number of SHA rounds.
# 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).
# The values must be inside the 1000-999999999 range.
# 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
# SHA_CRYPT_MAX_ROUNDS 5000
################# OBSOLETED BY PAM ##############
# #
# These options are now handled by PAM. Please #
# edit the appropriate file in /etc/pam.d/ to #
# enable the equivelants of them.
#
###############
#MOTD_FILE
#DIALUPS_CHECK_ENAB
#LASTLOG_ENAB
#MAIL_CHECK_ENAB
#OBSCURE_CHECKS_ENAB
#PORTTIME_CHECKS_ENAB
#SU_WHEEL_ONLY
#CRACKLIB_DICTPATH
#PASS_CHANGE_TRIES
#PASS_ALWAYS_WARN
#ENVIRON_FILE
#NOLOGINS_FILE
#ISSUE_FILE
#PASS_MIN_LEN
#PASS_MAX_LEN
#ULIMIT
#ENV_HZ
#CHFN_AUTH
#CHSH_AUTH
#FAIL_DELAY
################# OBSOLETED #######################
# #
# These options are no more handled by shadow. #
# #
# Shadow utilities will display a warning if they #
# still appear. #
# #
###################################################
# CLOSE_SESSIONS
# LOGIN_STRING
# NO_PASSWORD_CONSOLE
# QMAIL_DIR

1
debian/login.dirs vendored Normal file
View File

@@ -0,0 +1 @@
usr/share/lintian/overrides

23
debian/login.install vendored Normal file
View File

@@ -0,0 +1,23 @@
debian/login.defs etc
usr/share/locale/*/LC_MESSAGES/shadow.mo
usr/share/man/*/man1/login.1
usr/share/man/*/man1/newgrp.1
usr/share/man/*/man1/sg.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/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
bin/login

1
debian/login.links vendored Normal file
View File

@@ -0,0 +1 @@
usr/bin/newgrp usr/bin/sg

2
debian/login.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,2 @@
login: setuid-binary usr/bin/newgrp 4755 root/root
login: possible-missing-colon-in-closes l667:closes bug 336321

1
debian/login.maintscript vendored Normal file
View File

@@ -0,0 +1 @@
rm_conffile /etc/securetty 1:4.7-1~

100
debian/login.pam vendored Normal file
View File

@@ -0,0 +1,100 @@
#
# The PAM configuration file for the Shadow `login' service
#
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
# Outputs an issue file prior to each login prompt (Replaces the
# ISSUE_FILE option from login.defs). Uncomment for use
# auth required pam_issue.so issue=/etc/issue
# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth requisite pam_nologin.so
# SELinux needs to be the first session rule. This ensures that any
# lingering context has been cleared. Without this it is possible
# that a module could execute code in the wrong domain.
# When the module is present, "required" would be sufficient (When SELinux
# is disabled, this returns success.)
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
# Sets the loginuid process attribute
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
# starts in the proper default security context. Only sessions which are
# 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
# When the module is present, "required" would be sufficient (When SELinux
# is disabled, this returns success.)
# 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
# Standard Un*x authentication.
@include common-auth
# This allows certain extra groups to be granted to a user
# based on things like time of day, tty, service, and user.
# Please edit /etc/security/group.conf to fit your needs
# (Replaces the `CONSOLE_GROUPS' option in login.defs)
auth optional pam_group.so
# Uncomment and edit /etc/security/time.conf if you need to set
# time restraint on logins.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account requisite pam_time.so
# Uncomment and edit /etc/security/access.conf if you need to
# set access limits.
# (Replaces /etc/login.access file)
# account required pam_access.so
# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
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 status of the user's mailbox upon successful login
# (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
#
# This also 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
session optional pam_mail.so standard
# Create a new session keyring.
session optional pam_keyinit.so force revoke
# Standard Un*x account and session
@include common-account
@include common-session
@include common-password

56
debian/login.postinst vendored Normal file
View File

@@ -0,0 +1,56 @@
#!/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 Normal file
View File

@@ -0,0 +1,52 @@
#! /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

8
debian/passwd.chage.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'chage' service
#
# This allows root to change password aging being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

16
debian/passwd.chfn.pam vendored Normal file
View File

@@ -0,0 +1,16 @@
#
# The PAM configuration file for the Shadow `chfn' service
#
# This allows root to change user infomation without being
# prompted for a password
auth sufficient pam_rootok.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

2
debian/passwd.dirs vendored Normal file
View File

@@ -0,0 +1,2 @@
usr/share/lintian/overrides
etc/default

1
debian/passwd.examples vendored Normal file
View File

@@ -0,0 +1 @@
debian/passwd.expire.cron

57
debian/passwd.expire.cron vendored Normal file
View File

@@ -0,0 +1,57 @@
#!/usr/bin/perl
#
# passwd.expire.cron: sample expiry notification script for use as a cronjob
#
# Copyright 1999 by Ben Collins <bcollins@debian.org>, complete rights granted
# for use, distribution, modification, etc.
#
# Usage:
# edit the listed options, including the actual email, then rename to
# /etc/cron.daily/passwd
#
# If your users don't have a valid login shell (ie. they are ftp or mail
# users only), they will need some other way to change their password
# (telnet will work since login will handle password aging, or a poppasswd
# program, if they are mail users).
# <CONFIG> #
# should be same as /etc/adduser.conf
$LOW_UID=1000;
$HIGH_UID=29999;
# this let's the MTA handle the domain,
# set it manually if you want. Make sure
# you also add the @ like "\@domain.com"
$MAIL_DOM="";
# </CONFIG> #
# Set the current day reference
$curdays = int(time() / (60 * 60 * 24));
# Now go through the list
open(SH, "< /etc/shadow");
while (<SH>) {
@shent = split(':', $_);
@userent = getpwnam($shent[0]);
if ($userent[2] >= $LOW_UID && $userent[2] <= $HIGH_UID) {
if ($curdays > $shent[2] + $shent[4] - $shent[5] &&
$shent[4] != -1 && $shent[4] != 0 &&
$shent[5] != -1 && $shent[5] != 0) {
$daysleft = ($shent[2] + $shent[4]) - $curdays;
if ($daysleft == 1) { $days = "day"; } else {$days = "days"; }
if ($daysleft < 0) { next; }
open (MAIL, "| mail -s '[WARNING] account will expire in $daysleft $days' $shent[0]${MAIL_DOM}");
print MAIL <<EOF;
Your account will expire in $daysleft $days. Please change your password before
then or your account will expire
EOF
close (MAIL);
# This makes sure we also get a list of almost expired users
print "$shent[0]'s account will expire in $daysleft days\n";
}
}
@userent = getpwent();
}

8
debian/passwd.groupadd.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'groupadd' service
#
# This allows root to add groups without being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

8
debian/passwd.groupdel.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'groupdel' service
#
# This allows root to remove groups without being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

8
debian/passwd.groupmod.pam vendored Normal file
View File

@@ -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
# checks for account validity
account required pam_permit.so

83
debian/passwd.install vendored Normal file
View File

@@ -0,0 +1,83 @@
debian/default/useradd etc/default
debian/shadowconfig sbin
usr/bin/chage
usr/bin/chfn
usr/bin/chsh
usr/bin/expiry
usr/bin/gpasswd
usr/bin/passwd
usr/sbin/chpasswd
usr/sbin/chgpasswd
usr/sbin/cppw
usr/sbin/groupadd
usr/sbin/groupdel
usr/sbin/groupmod
usr/sbin/groupmems
usr/sbin/grpck
usr/sbin/grpconv
usr/sbin/grpunconv
usr/sbin/newusers
usr/sbin/pwck
usr/sbin/pwconv
usr/sbin/pwunconv
usr/sbin/useradd
usr/sbin/userdel
usr/sbin/usermod
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/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/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 Normal file
View File

@@ -0,0 +1,2 @@
usr/sbin/vipw usr/sbin/vigr
usr/sbin/cppw usr/sbin/cpgr

8
debian/passwd.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,8 @@
passwd: setgid-binary usr/bin/chage 2755 root/shadow
passwd: setuid-binary usr/bin/chfn 4755 root/root
passwd: setuid-binary usr/bin/chsh 4755 root/root
passwd: setgid-binary usr/bin/expiry 2755 root/shadow
passwd: setuid-binary usr/bin/gpasswd 4755 root/root
passwd: setuid-binary usr/bin/passwd 4755 root/root
# Fixed in a0f09c4de7ad35b1a7c64cbe7024c9b7236ad491 but would add a Recommend: during LTS
passwd: missing-depends-on-sensible-utils sensible-editor usr/sbin/vipw

1
debian/passwd.maintscript vendored Normal file
View File

@@ -0,0 +1 @@
rm_conffile /etc/cron.daily/passwd 1:4.7-2~

2
debian/passwd.manpages vendored Normal file
View File

@@ -0,0 +1,2 @@
debian/cpgr.8
debian/cppw.8

5
debian/passwd.newusers.pam vendored Normal file
View File

@@ -0,0 +1,5 @@
# The PAM configuration file for the Shadow 'newusers' service
#
@include common-password

6
debian/passwd.passwd.pam vendored Normal file
View File

@@ -0,0 +1,6 @@
#
# The PAM configuration file for the Shadow `passwd' service
#
@include common-password

44
debian/passwd.postinst vendored Normal file
View File

@@ -0,0 +1,44 @@
#!/bin/sh
set -e
case "$1" in
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'
then
groupadd -g 42 shadow || (
cat <<EOF
Group ID 42 has been allocated for the shadow group. You have either
used 42 yourself or created a shadow 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
)
fi
;;
esac
# Run shadowconfig only on new installs
[ -z "$2" ] && shadowconfig on
#DEBHELPER#
exit 0

51
debian/passwd.preinst vendored Normal file
View File

@@ -0,0 +1,51 @@
#! /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

8
debian/passwd.tmpfile vendored Normal file
View File

@@ -0,0 +1,8 @@
# If a password operation is in progress and we lose power, stale lockfiles
# can be left behind. Clear them on boot.
r! /etc/gshadow.lock
r! /etc/shadow.lock
r! /etc/passwd.lock
r! /etc/group.lock
r! /etc/subuid.lock
r! /etc/subgid.lock

8
debian/passwd.useradd.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'useradd' service
#
# This allows root to add users without being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

8
debian/passwd.userdel.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'userdel' service
#
# This allows root to remove users without being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

8
debian/passwd.usermod.pam vendored Normal file
View File

@@ -0,0 +1,8 @@
# The PAM configuration file for the Shadow 'groupdel' service
#
# This allows root to remove groups without being prompted for a password
auth sufficient pam_rootok.so
# checks for account validity
account required pam_permit.so

View File

@@ -0,0 +1,51 @@
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)
--- a/src/login.c
+++ b/src/login.c
@@ -849,6 +849,24 @@
(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'",
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -60,7 +60,6 @@
{"ENVIRON_FILE", NULL}, \
{"ENV_TZ", NULL}, \
{"FAILLOG_ENAB", NULL}, \
- {"FTMP_FILE", NULL}, \
{"ISSUE_FILE", NULL}, \
{"LASTLOG_ENAB", NULL}, \
{"LOGIN_STRING", NULL}, \
@@ -91,6 +90,7 @@
{"ERASECHAR", NULL},
{"FAIL_DELAY", NULL},
{"FAKE_SHELL", NULL},
+ {"FTMP_FILE", NULL},
{"GID_MAX", NULL},
{"GID_MIN", NULL},
{"HOME_MODE", NULL},

276
debian/patches/401_cppw_src.dpatch vendored Normal file
View File

@@ -0,0 +1,276 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 401_cppw_src.dpatch by Nicolas FRANCOIS <nicolas.francois@centraliens.net>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Add cppw / cpgr
@DPATCH@
--- /dev/null
+++ b/src/cppw.c
@@ -0,0 +1,238 @@
+/*
+ cppw, cpgr copy with locking given file over the password or group file
+ with -s will copy with locking given file over shadow or gshadow file
+
+ Copyright (C) 1999 Stephen Frost <sfrost@snowman.net>
+
+ Based on vipw, vigr by:
+ Copyright (C) 1997 Guy Maor <maor@ece.utexas.edu>
+
+ 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 of the License, 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, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ */
+
+#include <config.h>
+#include "defines.h"
+
+#include <errno.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <signal.h>
+#include <utime.h>
+#include "exitcodes.h"
+#include "prototypes.h"
+#include "pwio.h"
+#include "shadowio.h"
+#include "groupio.h"
+#include "sgroupio.h"
+
+
+const char *Prog;
+
+const char *filename, *filenewname;
+static bool filelocked = false;
+static int (*unlock) (void);
+
+/* local function prototypes */
+static int create_copy (FILE *fp, const char *dest, struct stat *sb);
+static void cppwexit (const char *msg, int syserr, int ret);
+static void cppwcopy (const char *file,
+ const char *in_file,
+ int (*file_lock) (void),
+ int (*file_unlock) (void));
+
+static int create_copy (FILE *fp, const char *dest, struct stat *sb)
+{
+ struct utimbuf ub;
+ FILE *bkfp;
+ int c;
+ mode_t mask;
+
+ mask = umask (077);
+ bkfp = fopen (dest, "w");
+ (void) umask (mask);
+ if (NULL == bkfp) {
+ return -1;
+ }
+
+ rewind (fp);
+ while ((c = getc (fp)) != EOF) {
+ if (putc (c, bkfp) == EOF) {
+ break;
+ }
+ }
+
+ if ( (c != EOF)
+ || (fflush (bkfp) != 0)) {
+ (void) fclose (bkfp);
+ (void) unlink (dest);
+ return -1;
+ }
+ if ( (fsync (fileno (bkfp)) != 0)
+ || (fclose (bkfp) != 0)) {
+ (void) unlink (dest);
+ return -1;
+ }
+
+ ub.actime = sb->st_atime;
+ ub.modtime = sb->st_mtime;
+ if ( (utime (dest, &ub) != 0)
+ || (chmod (dest, sb->st_mode) != 0)
+ || (chown (dest, sb->st_uid, sb->st_gid) != 0)) {
+ (void) unlink (dest);
+ return -1;
+ }
+ return 0;
+}
+
+static void cppwexit (const char *msg, int syserr, int ret)
+{
+ int err = errno;
+ if (filelocked) {
+ (*unlock) ();
+ }
+ if (NULL != msg) {
+ fprintf (stderr, "%s: %s", Prog, msg);
+ if (0 != syserr) {
+ fprintf (stderr, ": %s", strerror (err));
+ }
+ (void) fputs ("\n", stderr);
+ }
+ if (NULL != filename) {
+ fprintf (stderr, _("%s: %s is unchanged\n"), Prog, filename);
+ } else {
+ fprintf (stderr, _("%s: no changes\n"), Prog);
+ }
+
+ exit (ret);
+}
+
+static void cppwcopy (const char *file,
+ const char *in_file,
+ int (*file_lock) (void),
+ int (*file_unlock) (void))
+{
+ struct stat st1;
+ FILE *f;
+ char filenew[1024];
+
+ snprintf (filenew, sizeof filenew, "%s.new", file);
+ unlock = file_unlock;
+ filename = file;
+ filenewname = filenew;
+
+ if (access (file, F_OK) != 0) {
+ cppwexit (file, 1, 1);
+ }
+ if (file_lock () == 0) {
+ cppwexit (_("Couldn't lock file"), 0, 5);
+ }
+ filelocked = true;
+
+ /* file to copy has same owners, perm */
+ if (stat (file, &st1) != 0) {
+ cppwexit (file, 1, 1);
+ }
+ f = fopen (in_file, "r");
+ if (NULL == f) {
+ cppwexit (in_file, 1, 1);
+ }
+ if (create_copy (f, filenew, &st1) != 0) {
+ cppwexit (_("Couldn't make copy"), errno, 1);
+ }
+
+ /* XXX - here we should check filenew for errors; if there are any,
+ * fail w/ an appropriate error code and let the user manually fix
+ * it. Use pwck or grpck to do the check. - Stephen (Shamelessly
+ * stolen from '--marekm's comment) */
+
+ if (rename (filenew, file) != 0) {
+ fprintf (stderr, _("%s: can't copy %s: %s)\n"),
+ Prog, filenew, strerror (errno));
+ cppwexit (NULL,0,1);
+ }
+
+ (*file_unlock) ();
+}
+
+int main (int argc, char **argv)
+{
+ int flag;
+ bool cpshadow = false;
+ char *in_file;
+ int e = E_USAGE;
+ bool do_cppw = true;
+
+ (void) setlocale (LC_ALL, "");
+ (void) bindtextdomain (PACKAGE, LOCALEDIR);
+ (void) textdomain (PACKAGE);
+
+ Prog = Basename (argv[0]);
+ if (strcmp (Prog, "cpgr") == 0) {
+ do_cppw = false;
+ }
+
+ while ((flag = getopt (argc, argv, "ghps")) != EOF) {
+ switch (flag) {
+ case 'p':
+ do_cppw = true;
+ break;
+ case 'g':
+ do_cppw = false;
+ break;
+ case 's':
+ cpshadow = true;
+ break;
+ case 'h':
+ e = E_SUCCESS;
+ /*pass through*/
+ default:
+ (void) fputs (_("Usage:\n\
+`cppw <file>' copys over /etc/passwd `cppw -s <file>' copys over /etc/shadow\n\
+`cpgr <file>' copys over /etc/group `cpgr -s <file>' copys over /etc/gshadow\n\
+"), (E_SUCCESS != e) ? stderr : stdout);
+ exit (e);
+ }
+ }
+
+ if (argc != optind + 1) {
+ cppwexit (_("wrong number of arguments, -h for usage"),0,1);
+ }
+
+ in_file = argv[optind];
+
+ if (do_cppw) {
+ if (cpshadow) {
+ cppwcopy (SHADOW_FILE, in_file, spw_lock, spw_unlock);
+ } else {
+ cppwcopy (PASSWD_FILE, in_file, pw_lock, pw_unlock);
+ }
+ } else {
+#ifdef SHADOWGRP
+ if (cpshadow) {
+ cppwcopy (SGROUP_FILE, in_file, sgr_lock, sgr_unlock);
+ } else
+#endif /* SHADOWGRP */
+ {
+ cppwcopy (GROUP_FILE, in_file, gr_lock, gr_unlock);
+ }
+ }
+
+ return 0;
+}
+
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -33,6 +33,7 @@
bin_PROGRAMS += su
endif
usbin_PROGRAMS = \
+ cppw \
chgpasswd \
chpasswd \
groupadd \
@@ -101,6 +102,7 @@
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
+cppw_LDADD = $(LDADD) $(LIBSELINUX) $(LIBAUDIT)
expiry_LDADD = $(LDADD) $(LIBECONF)
gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -90,6 +90,7 @@
src/chgpasswd.c
src/chpasswd.c
src/chsh.c
+src/cppw.c
src/expiry.c
src/faillog.c
src/gpasswd.c

64
debian/patches/402_cppw_selinux vendored Normal file
View File

@@ -0,0 +1,64 @@
Goal: Add selinux support to cppw
Fix:
Status wrt upstream: cppw is not available upstream.
The patch was made based on the
302_vim_selinux_support patch. It needs to be
reviewed by an SE-Linux aware person.
Depends on 401_cppw_src.dpatch
Index: git/src/cppw.c
===================================================================
--- git.orig/src/cppw.c
+++ git/src/cppw.c
@@ -34,6 +34,9 @@
#include <sys/types.h>
#include <signal.h>
#include <utime.h>
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+#endif /* WITH_SELINUX */
#include "exitcodes.h"
#include "prototypes.h"
#include "pwio.h"
@@ -139,6 +142,22 @@
if (access (file, F_OK) != 0) {
cppwexit (file, 1, 1);
}
+#ifdef WITH_SELINUX
+ /* if SE Linux is enabled then set the context of all new files
+ * to be the context of the file we are editing */
+ if (is_selinux_enabled () > 0) {
+ security_context_t passwd_context=NULL;
+ int ret = 0;
+ if (getfilecon (file, &passwd_context) < 0) {
+ cppwexit (_("Couldn't get file context"), errno, 1);
+ }
+ ret = setfscreatecon (passwd_context);
+ freecon (passwd_context);
+ if (0 != ret) {
+ cppwexit (_("setfscreatecon () failed"), errno, 1);
+ }
+ }
+#endif /* WITH_SELINUX */
if (file_lock () == 0) {
cppwexit (_("Couldn't lock file"), 0, 5);
}
@@ -167,6 +186,15 @@
cppwexit (NULL,0,1);
}
+#ifdef WITH_SELINUX
+ /* unset the fscreatecon */
+ if (is_selinux_enabled () > 0) {
+ if (setfscreatecon (NULL)) {
+ cppwexit (_("setfscreatecon() failed"), errno, 1);
+ }
+ }
+#endif /* WITH_SELINUX */
+
(*file_unlock) ();
}

84
debian/patches/429_login_FAILLOG_ENAB vendored Normal file
View File

@@ -0,0 +1,84 @@
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.
--- a/src/login.c
+++ b/src/login.c
@@ -136,9 +136,9 @@
#endif
);
-#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
@@ -809,6 +809,9 @@
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);
@@ -826,6 +829,14 @@
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;
@@ -849,6 +860,10 @@
(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 =
@@ -1305,6 +1320,7 @@
*/
#ifndef USE_PAM
motd (); /* print the message of the day */
+#endif
if ( getdef_bool ("FAILLOG_ENAB")
&& (0 != faillog.fail_cnt)) {
failprint (&faillog);
@@ -1317,6 +1333,7 @@
username, (int) faillog.fail_cnt));
}
}
+#ifndef USE_PAM
if ( getdef_bool ("LASTLOG_ENAB")
&& pwd->pw_uid <= (uid_t) getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL)
&& (ll.ll_time != 0)) {
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -89,6 +89,7 @@
{"ENV_SUPATH", NULL},
{"ERASECHAR", NULL},
{"FAIL_DELAY", NULL},
+ {"FAILLOG_ENAB", NULL},
{"FAKE_SHELL", NULL},
{"FTMP_FILE", NULL},
{"GID_MAX", NULL},

View File

@@ -0,0 +1,97 @@
Goal: Do not hardcode pam_fail_delay and let pam_unix do its
job to set a delay...or not
Fixes: #87648
Status wrt upstream: Forwarded but not applied yet
Note: If removed, FAIL_DELAY must be re-added to /etc/login.defs
--- a/src/login.c
+++ b/src/login.c
@@ -536,7 +536,6 @@
#if defined(HAVE_STRFTIME) && !defined(USE_PAM)
char ptime[80];
#endif
- unsigned int delay;
unsigned int retries;
bool subroot = false;
#ifndef USE_PAM
@@ -561,6 +560,7 @@
pid_t child;
char *pam_user = NULL;
#else
+ unsigned int delay;
struct spwd *spwd = NULL;
#endif
/*
@@ -723,7 +723,6 @@
}
environ = newenvp; /* make new environment active */
- delay = getdef_unum ("FAIL_DELAY", 1);
retries = getdef_unum ("LOGIN_RETRIES", RETRIES);
#ifdef USE_PAM
@@ -739,8 +738,7 @@
/*
* hostname & tty are either set to NULL or their correct values,
- * depending on how much we know. We also set PAM's fail delay to
- * ours.
+ * depending on how much we know.
*
* PAM_RHOST and PAM_TTY are used for authentication, only use
* information coming from login or from the caller (e.g. no utmp)
@@ -749,10 +747,6 @@
PAM_FAIL_CHECK;
retcode = pam_set_item (pamh, PAM_TTY, tty);
PAM_FAIL_CHECK;
-#ifdef HAS_PAM_FAIL_DELAY
- retcode = pam_fail_delay (pamh, 1000000 * delay);
- PAM_FAIL_CHECK;
-#endif
/* if fflg, then the user has already been authenticated */
if (!fflg) {
unsigned int failcount = 0;
@@ -793,12 +787,6 @@
bool failed = false;
failcount++;
-#ifdef HAS_PAM_FAIL_DELAY
- if (delay > 0) {
- retcode = pam_fail_delay(pamh, 1000000*delay);
- PAM_FAIL_CHECK;
- }
-#endif
retcode = pam_authenticate (pamh, 0);
@@ -1121,14 +1109,17 @@
free (username);
username = NULL;
+#ifndef USE_PAM
/*
* Wait a while (a la SVR4 /usr/bin/login) before attempting
* to login the user again. If the earlier alarm occurs
* before the sleep() below completes, login will exit.
*/
+ delay = getdef_unum ("FAIL_DELAY", 1);
if (delay > 0) {
(void) sleep (delay);
}
+#endif
(void) puts (_("Login incorrect"));
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -88,7 +88,6 @@
{"ENV_PATH", NULL},
{"ENV_SUPATH", NULL},
{"ERASECHAR", NULL},
- {"FAIL_DELAY", NULL},
{"FAILLOG_ENAB", NULL},
{"FAKE_SHELL", NULL},
{"FTMP_FILE", NULL},

View File

@@ -0,0 +1,60 @@
Goal: save the [g]shadow files with the 'shadow' group and mode 0440
Fixes: #166793
--- a/lib/commonio.c
+++ b/lib/commonio.c
@@ -44,6 +44,7 @@
#include <errno.h>
#include <stdio.h>
#include <signal.h>
+#include <grp.h>
#include "nscd.h"
#include "sssd.h"
#ifdef WITH_TCB
@@ -986,12 +987,23 @@
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);
--- a/lib/sgroupio.c
+++ b/lib/sgroupio.c
@@ -229,7 +229,7 @@
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif
- 0400, /* st_mode */
+ 0440, /* st_mode */
0, /* st_uid */
0, /* st_gid */
NULL, /* head */
--- a/lib/shadowio.c
+++ b/lib/shadowio.c
@@ -105,7 +105,7 @@
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif /* WITH_SELINUX */
- 0400, /* st_mode */
+ 0440, /* st_mode */
0, /* st_uid */
0, /* st_gid */
NULL, /* head */

201
debian/patches/503_shadowconfig.8 vendored Normal file
View File

@@ -0,0 +1,201 @@
Goal: Document the shadowconfig utility
Status wrt upstream: The shadowconfig utility is debian specific.
Its man page also (but it used to be distributed)
Index: git/man/shadowconfig.8
===================================================================
--- /dev/null
+++ git/man/shadowconfig.8
@@ -0,0 +1,41 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "SHADOWCONFIG" 8 "19 Apr 1997" "" ""
+.SH NAME
+shadowconfig \- toggle shadow passwords on and off
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 13
+\fBshadowconfig\fR \fB\fIon\fR\fR | \fB\fIoff\fR\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBshadowconfig\fR on will turn shadow passwords on; \fIshadowconfig off\fR will turn shadow passwords off\&. \fBshadowconfig\fR will print an error message and exit with a nonzero code if it finds anything awry\&. If that happens, you should correct the error and run it again\&. Turning shadow passwords on when they are already on, or off when they are already off, is harmless\&.
+
+.PP
+Read \fI/usr/share/doc/passwd/README\&.Debian\fR for a brief introduction to shadow passwords and related features\&.
+
+.PP
+Note that turning shadow passwords off and on again will lose all password aging information\&.
+
Index: git/man/shadowconfig.8.xml
===================================================================
--- /dev/null
+++ git/man/shadowconfig.8.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='shadowconfig.8'>
+ <!-- $Id: shadowconfig.8.xml,v 1.6 2005/06/15 12:39:27 kloczek Exp $ -->
+ <refentryinfo>
+ <date>19 Apr 1997</date>
+ </refentryinfo>
+ <refmeta>
+ <refentrytitle>shadowconfig</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class='date'>19 Apr 1997</refmiscinfo>
+ <refmiscinfo class='source'>Debian GNU/Linux</refmiscinfo>
+ </refmeta>
+ <refnamediv id='name'>
+ <refname>shadowconfig</refname>
+ <refpurpose>toggle shadow passwords on and off</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv id='synopsis'>
+ <cmdsynopsis>
+ <command>shadowconfig</command>
+ <group choice='plain'>
+ <arg choice='plain'><replaceable>on</replaceable></arg>
+ <arg choice='plain'><replaceable>off</replaceable></arg>
+ </group>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1 id='description'>
+ <title>DESCRIPTION</title>
+ <para><command>shadowconfig</command> on will turn shadow passwords on;
+ <emphasis remap='B'>shadowconfig off</emphasis> will turn shadow
+ passwords off. <command>shadowconfig</command> will print an error
+ message and exit with a nonzero code if it finds anything awry. If
+ that happens, you should correct the error and run it again. Turning
+ shadow passwords on when they are already on, or off when they are
+ already off, is harmless.
+ </para>
+
+ <para>
+ Read <filename>/usr/share/doc/passwd/README.Debian</filename> for a
+ brief introduction
+ to shadow passwords and related features.
+ </para>
+
+ <para>Note that turning shadow passwords off and on again will lose all
+ password
+ aging information.
+ </para>
+ </refsect1>
+</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.

View File

@@ -0,0 +1,36 @@
Goal: Recommend using adduser and deluser.
Fixes: #406046
Status wrt upstream: Debian specific patch.
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
@@ -107,6 +107,12 @@
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
+ <command>useradd</command> is a low level utility for adding
+ users. On Debian, administrators should usually use
+ <citerefentry><refentrytitle>adduser</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> instead.
+ </para>
+ <para>
When invoked without the <option>-D</option> option, the
<command>useradd</command> command creates a new user account using
the values specified on the command line plus the default values from
--- a/man/userdel.8.xml
+++ b/man/userdel.8.xml
@@ -83,6 +83,12 @@
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
+ <command>userdel</command> is a low level utility for removing
+ users. On Debian, administrators should usually use
+ <citerefentry><refentrytitle>deluser</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> instead.
+ </para>
+ <para>
The <command>userdel</command> command modifies the system account
files, deleting all entries that refer to the user name <emphasis
remap='I'>LOGIN</emphasis>. The named user must exist.

100
debian/patches/506_relaxed_usernames vendored Normal file
View File

@@ -0,0 +1,100 @@
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
--- a/libmisc/chkname.c
+++ b/libmisc/chkname.c
@@ -54,6 +54,7 @@
return true;
}
+#if 0
/*
* User/group names must match [a-z_][a-z0-9_-]*[$]
*/
@@ -73,6 +74,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;
}
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
@@ -662,12 +662,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>
--- a/man/groupadd.8.xml
+++ b/man/groupadd.8.xml
@@ -273,12 +273,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>

18
debian/patches/508_nologin_in_usr_sbin vendored Normal file
View File

@@ -0,0 +1,18 @@
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -24,7 +24,6 @@
# $prefix/bin and $prefix/sbin, no install-data hacks...)
bin_PROGRAMS = groups login
-sbin_PROGRAMS = nologin
ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
if ENABLE_SUBIDS
ubin_PROGRAMS += newgidmap newuidmap
@@ -45,6 +44,7 @@
grpunconv \
logoutd \
newusers \
+ nologin \
pwck \
pwconv \
pwunconv \

43
debian/patches/542_useradd-O_option vendored Normal file
View File

@@ -0,0 +1,43 @@
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
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
@@ -341,6 +341,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>
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -1143,9 +1143,9 @@
};
while ((c = getopt_long (argc, argv,
#ifdef WITH_SELINUX
- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:UZ:",
+ "b:c:d:De:f:g:G:hk:O:K:lmMNop:rR:P:s:u:UZ:",
#else /* !WITH_SELINUX */
- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U",
+ "b:c:d:De:f:g:G:hk:O:K:lmMNop:rR:P:s:u:U",
#endif /* !WITH_SELINUX */
long_options, NULL)) != -1) {
switch (c) {
@@ -1274,6 +1274,7 @@
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 Normal file
View File

@@ -0,0 +1,81 @@
--- 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 Normal file
View File

@@ -0,0 +1,76 @@
--- 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 */

83
debian/patches/CVE-2023-29383.patch vendored Normal file
View File

@@ -0,0 +1,83 @@
Origin: https://github.com/shadow-maint/shadow/commit/e5905c4b84d4fb90aefcd96ee618411ebfac663d
Origin: https://github.com/shadow-maint/shadow/commit/2eaea70111f65b16d55998386e4ceb4273c19eb4
Reviewed-by: Sylvain Beucler <beuc@debian.org>
Last-Update: 2025-04-15
From e5905c4b84d4fb90aefcd96ee618411ebfac663d Mon Sep 17 00:00:00 2001
From: tomspiderlabs <128755403+tomspiderlabs@users.noreply.github.com>
Date: Thu, 23 Mar 2023 23:39:38 +0000
Subject: [PATCH] Added control character check
Added control character check, returning -1 (to "err") if control characters are present.
---
lib/fields.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
From 2eaea70111f65b16d55998386e4ceb4273c19eb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
Date: Fri, 31 Mar 2023 14:46:50 +0200
Subject: [PATCH] Overhaul valid_field()
e5905c4b ("Added control character check") introduced checking for
control characters but had the logic inverted, so it rejects all
characters that are not control ones.
Cast the character to `unsigned char` before passing to the character
checking functions to avoid UB.
Use strpbrk(3) for the illegal character test and return early.
---
lib/fields.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
Index: shadow-4.8.1/lib/fields.c
===================================================================
--- shadow-4.8.1.orig/lib/fields.c
+++ shadow-4.8.1/lib/fields.c
@@ -44,9 +44,9 @@
*
* The supplied field is scanned for non-printable and other illegal
* characters.
- * + -1 is returned if an illegal character is present.
- * + 1 is returned if no illegal characters are present, but the field
- * contains a non-printable character.
+ * + -1 is returned if an illegal or control character is present.
+ * + 1 is returned if no illegal or control characters are present,
+ * but the field contains a non-printable character.
* + 0 is returned otherwise.
*/
int valid_field (const char *field, const char *illegal)
@@ -60,23 +60,22 @@ int valid_field (const char *field, cons
/* For each character of field, search if it appears in the list
* of illegal characters. */
+ if (illegal && NULL != strpbrk (field, illegal)) {
+ return -1;
+ }
+
+ /* Search if there are non-printable or control characters */
for (cp = field; '\0' != *cp; cp++) {
- if (strchr (illegal, *cp) != NULL) {
+ unsigned char c = *cp;
+ if (!isprint (c)) {
+ err = 1;
+ }
+ if (iscntrl (c)) {
err = -1;
break;
}
}
- if (0 == err) {
- /* Search if there are some non-printable characters */
- for (cp = field; '\0' != *cp; cp++) {
- if (!isprint (*cp)) {
- err = 1;
- break;
- }
- }
- }
-
return err;
}

143
debian/patches/CVE-2023-4641.patch vendored Normal file
View File

@@ -0,0 +1,143 @@
Origin: https://github.com/shadow-maint/shadow/commit/65c88a43a23c2391dcc90c0abda3e839e9c57904
Reviewed-by: Sylvain Beucler <beuc@debian.org>
Last-Update: 2025-04-15
From 65c88a43a23c2391dcc90c0abda3e839e9c57904 Mon Sep 17 00:00:00 2001
From: Alejandro Colomar <alx@kernel.org>
Date: Sat, 10 Jun 2023 16:20:05 +0200
Subject: [PATCH] gpasswd(1): Fix password leak
How to trigger this password leak?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When gpasswd(1) asks for the new password, it asks twice (as is usual
for confirming the new password). Each of those 2 password prompts
uses agetpass() to get the password. If the second agetpass() fails,
the first password, which has been copied into the 'static' buffer
'pass' via STRFCPY(), wasn't being zeroed.
agetpass() is defined in <./libmisc/agetpass.c> (around line 91), and
can fail for any of the following reasons:
- malloc(3) or readpassphrase(3) failure.
These are going to be difficult to trigger. Maybe getting the system
to the limits of memory utilization at that exact point, so that the
next malloc(3) gets ENOMEM, and possibly even the OOM is triggered.
About readpassphrase(3), ENFILE and EINTR seem the only plausible
ones, and EINTR probably requires privilege or being the same user;
but I wouldn't discard ENFILE so easily, if a process starts opening
files.
- The password is longer than PASS_MAX.
The is plausible with physical access. However, at that point, a
keylogger will be a much simpler attack.
And, the attacker must be able to know when the second password is being
introduced, which is not going to be easy.
How to read the password after the leak?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Provoking the leak yourself at the right point by entering a very long
password is easy, and inspecting the process stack at that point should
be doable. Try to find some consistent patterns.
Then, search for those patterns in free memory, right after the victim
leaks their password.
Once you get the leak, a program should read all the free memory
searching for patterns that gpasswd(1) leaves nearby the leaked
password.
On 6/10/23 03:14, Seth Arnold wrote:
> An attacker process wouldn't be able to use malloc(3) for this task.
> There's a handful of tools available for userspace to allocate memory:
>
> - brk / sbrk
> - mmap MAP_ANONYMOUS
> - mmap /dev/zero
> - mmap some other file
> - shm_open
> - shmget
>
> Most of these return only pages of zeros to a process. Using mmap of an
> existing file, you can get some of the contents of the file demand-loaded
> into the memory space on the first use.
>
> The MAP_UNINITIALIZED flag only works if the kernel was compiled with
> CONFIG_MMAP_ALLOW_UNINITIALIZED. This is rare.
>
> malloc(3) doesn't zero memory, to our collective frustration, but all the
> garbage in the allocations is from previous allocations in the current
> process. It isn't leftover from other processes.
>
> The avenues available for reading the memory:
> - /dev/mem and /dev/kmem (requires root, not available with Secure Boot)
> - /proc/pid/mem (requires ptrace privileges, mediated by YAMA)
> - ptrace (requires ptrace privileges, mediated by YAMA)
> - causing memory to be swapped to disk, and then inspecting the swap
>
> These all require a certain amount of privileges.
How to fix it?
~~~~~~~~~~~~~~
memzero(), which internally calls explicit_bzero(3), or whatever
alternative the system provides with a slightly different name, will
make sure that the buffer is zeroed in memory, and optimizations are not
allowed to impede this zeroing.
This is not really 100% effective, since compilers may place copies of
the string somewhere hidden in the stack. Those copies won't get zeroed
by explicit_bzero(3). However, that's arguably a compiler bug, since
compilers should make everything possible to avoid optimizing strings
that are later passed to explicit_bzero(3). But we all know that
sometimes it's impossible to have perfect knowledge in the compiler, so
this is plausible. Nevertheless, there's nothing we can do against such
issues, except minimizing the time such passwords are stored in plain
text.
Security concerns
~~~~~~~~~~~~~~~~~
We believe this isn't easy to exploit. Nevertheless, and since the fix
is trivial, this fix should probably be applied soon, and backported to
all supported distributions, to prevent someone else having more
imagination than us to find a way.
Affected versions
~~~~~~~~~~~~~~~~~
All. Bug introduced in shadow 19990709. That's the second commit in
the git history.
Fixes: 45c6603cc86c ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Reported-by: Alejandro Colomar <alx@kernel.org>
Cc: Serge Hallyn <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Seth Arnold <seth.arnold@canonical.com>
Cc: Christian Brauner <christian@brauner.io>
Cc: Balint Reczey <rbalint@debian.org>
Cc: Sam James <sam@gentoo.org>
Cc: David Runge <dvzrv@archlinux.org>
Cc: Andreas Jaeger <aj@suse.de>
Cc: <~hallyn/shadow@lists.sr.ht>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
src/gpasswd.c | 1 +
1 file changed, 1 insertion(+)
Index: shadow-4.8.1/src/gpasswd.c
===================================================================
--- shadow-4.8.1.orig/src/gpasswd.c
+++ shadow-4.8.1/src/gpasswd.c
@@ -911,6 +911,7 @@ static void change_passwd (struct group
for (retries = 0; retries < RETRIES; retries++) {
cp = getpass (_("New Password: "));
if (NULL == cp) {
+ memzero (pass, sizeof pass);
exit (1);
}

22
debian/patches/README.patches vendored Normal file
View File

@@ -0,0 +1,22 @@
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 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).

19
debian/patches/series vendored Normal file
View File

@@ -0,0 +1,19 @@
# 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
508_nologin_in_usr_sbin
505_useradd_recommend_adduser
501_commonio_group_shadow
CVE-2023-4641.patch
CVE-2023-29383.patch

87
debian/rules vendored Executable file
View File

@@ -0,0 +1,87 @@
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Enable PIE, BINDNOW, and possible future flags.
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
# TODO test if this can be dropped:
# 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
# Adds extra options when calling the configure script:
DEB_CONFIGURE_EXTRA_FLAGS := --disable-shared \
--without-libcrack \
--mandir=/usr/share/man \
--with-libpam \
--enable-shadowgrp \
--enable-man \
--disable-account-tools-setuid \
--with-group-name-max-length=32 \
--without-acl \
--without-attr \
--without-su \
--without-tcb \
SHELL=/bin/sh
# Set the default editor for vipw/vigr
CFLAGS += -DDEFAULT_EDITOR="\"sensible-editor\""
%:
dh $@
override_dh_auto_configure:
cp debian/HOME_MODE.xml man/login.defs.d/HOME_MODE.xml
dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_FLAGS)
override_dh_install-arch:
ifneq ($(DEB_HOST_ARCH_OS),linux)
sed -i 's/session optional pam_keyinit.so/# Linux only # session optional pam_keyinit.so/' debian/login.pam
endif
dh_install -a
ifeq ($(DEB_HOST_ARCH_OS),hurd)
# /bin/login is provided by the hurd package.
rm -f debian/login/bin/login
endif
override_dh_installpam:
# Distribute the pam.d files; unless for the commands with disabled PAM
# support
dh_installpam -p login
dh_installpam -p passwd --name=passwd
dh_installpam -p passwd --name=chfn
dh_installpam -p passwd --name=chsh
dh_installpam -p passwd --name=chpasswd
dh_installpam -p passwd --name=newusers
override_dh_builddeb-arch:
# uidmap
chmod u+s debian/uidmap/usr/bin/newuidmap
chmod u+s debian/uidmap/usr/bin/newgidmap
# login
# No real need for login to be setuid root
# chmod u+s debian/login/bin/login
chmod u+s debian/login/usr/bin/newgrp
# 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
dh_builddeb -a
override_dh_auto_clean:
sed -i 's/# Linux only # //' debian/login.pam
dh_auto_clean
override_dh_clean:
dh_clean ./man/login.defs.d/HOME_MODE.xml

13
debian/salsa-ci.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
---
# LTS/ELTS CI
include:
- https://salsa.debian.org/lts-team/pipeline/raw/master/recipes/bullseye.yml
# These didn't work before LTS, not attempting to fix after freeze
#blhc:
# allow_failure: true
# https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/275
piuparts:
allow_failure: true

49
debian/shadowconfig vendored Normal file
View File

@@ -0,0 +1,49 @@
#!/bin/sh
# turn shadow passwords on or off on a Debian system
set -e
shadowon () {
set -e
pwck -q -r
grpck -r
pwconv
grpconv
chown root:root /etc/passwd /etc/group
chmod 644 /etc/passwd /etc/group
chown root:shadow /etc/shadow /etc/gshadow
chmod 640 /etc/shadow /etc/gshadow
}
shadowoff () {
set -e
pwck -q -r
grpck -r
pwunconv
grpunconv
# sometimes the passwd perms get munged
chown root:root /etc/passwd /etc/group
chmod 644 /etc/passwd /etc/group
}
case "$1" in
"on")
if shadowon ; then
echo Shadow passwords are now on.
else
echo Please correct the error and rerun \`$0 on\'
exit 1
fi
;;
"off")
if shadowoff ; then
echo Shadow passwords are now off.
else
echo Please correct the error and rerun \`$0 off\'
exit 1
fi
;;
*)
echo Usage: $0 on \| off
;;
esac

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)

4
debian/uidmap.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/newuidmap
usr/bin/newgidmap
usr/share/man/man1/newuidmap.1
usr/share/man/man1/newgidmap.1

2
debian/uidmap.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,2 @@
uidmap: setuid-binary usr/bin/newgidmap 4755 root/root
uidmap: setuid-binary usr/bin/newuidmap 4755 root/root

53
debian/upstream/signing-key.asc vendored Normal file
View File

@@ -0,0 +1,53 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBEwNOlIBCAC3QrrJj77hRME8JMMrH7tQlakvpw6ycn8VHle509z0w1q5Elld
fwTPNdbczSiC4xo80G639kWqC3lV9qV/iM/1QQQMFH4QvqkYoLgw9lj4u7S5Wc/9
i2E6y7zbjNOUsBLY1wvhhjaD6jixURkTKgfxx2JVUBtqU5EyMqlabDEn3zt1xCDl
ami0kJxFAQz/03/aSOZ01KwuPSvxcnn01uWvE7co8hsSWwVaZ6ADt8nuT2kSCi4P
AI1IzVVn3d02qTjk1t1KCcGvnOOtOMpFcZ38lmh+XMnrK8zlLXwisnAy0BnYXzWx
Z4jG62KaEP4Lz9ez5jZLOXlPNxyrqmJ/5ICdABEBAAG0JlNlcmdlIEhhbGx5biA8
c2VyZ2UuaGFsbHluQHVidW50dS5jb20+iQEcBBABAgAGBQJNMM+FAAoJEFOMB2b0
vLOOW/EH/j/svOOPWcBnyt+UZ7p7HAwV8NhUgFz53t81Oubg8NWrYBo0hnqgQtAn
YXo9e42AD635qRDKFUbIhYRBGxwBbTYhXIhBfy0XHzqbpGDUGMt9cGEX77oQ+XH5
6AeEMAqnDsJ/QAa0shkAix6p2/LUkahjoizG55SDpja+JfTjhmvd7dVG2AukzVtS
y2oOrWQMle+I97xqX9Bm/hJ6vjkEaerlB/z10oc68Wx7CtcqBmk1930SqbZXNRGw
4Rkwmgx9fB8rzRvohoqcerJF9iqqoXIB5/15+KuKNw/yewmIM1J1zgfoqPhWMqpp
XvmIZsFeMXPp0JfhT6X4XL7hCGlAGhWJARwEEAECAAYFAk0w0RcACgkQnK/PEVZ0
b5Wa5gf/Snv2UY9WtnNIAVR9KReRi3sSEUCBaVNAyzka6+3RxR7ST9D6Owise+6D
h5SmDe79hwW2P2ibSxD5X5uIwmeKXxlI/jrJcRa5XBEmvEpxFyOZEXul8b8U8cqC
aUpgMYQG54KR27xnFwGPlu8Fi4Mv1rFm6f9iYvX8QU6D21aHqRd3VfSpbIdju8Xo
N7+egr31mO2slZYM+FeRve35VQSjEqPYZUW0C6y84l0rJex/2s5D/v069nFQpk/2
Monw4F1oFHH+12AlDvtLqjzo1MnS0M9DaNvkWIf2QSilXiK0GIRSjedNCVXFUFys
8B8voHOD+ocNlpIeqG4n9wUoHlJ9WYkBOAQTAQIAIgUCTA06UgIbAwYLCQgHAwIG
FQgCCQoLBBYCAwECHgECF4AACgkQ6f7qBqheP53lFQgAnD/IgTPEqWaavxakJ8kK
u2acaCVIrSxk2LFUpwrdsEcCFfqSQPSqev2fDFO75NTJbgTd3B7YrLh81HkefS9n
kcbjGvX2MKCsqE/o7reRI2vPpJdGrrMhTDlXKBnbApIrxzEQ1l+zLrtUMqKTvBx1
qSHk6SA+mDaXkI/sppwf6uMvkpXnZ8TlCXpLmNaCfzOWTTdneV3CguROGoqYi7Nm
nUQmzFoFGuuI2Iw7dyodV1HActDs0B4hvZI7RF3ePOAv3wtWlMv0mOIaXO68B8Kw
d3DN1WsuouwFb/BAe8DtJTGGv1ymehCi7ycKhdxSlWaO3UxJOoE6RHP4abG1lkPB
aokCHAQQAQIABgUCTTDebAAKCRAeRBCkAkvG8GLaD/95DKcgzWJvbixoMDUpxZuv
uDvRFJPG3V7edxlJoHbh+kA9+ly9PmPtjoEkrsiYHoDEU+Di+CTc4C866DV+1PkZ
YXGFsLX4ZmCBkvXRmjlmIr3EljPORgTkv7UgP1GotqPDqvPl0jsFC8BBdexPLQoQ
PYFc6Loc5qvRrotpTGbPrNQOQTi8v4XiZqnMrLXuBBKstHrrbHCDgN2Je62e5VlO
Wu0AfmCFJQPq/7CVRzV25d9861RZCXvHZAptCrBi6k8q8tmRyNjtRkgPFR8TcqCp
YHjm38okuV+aSaLbcFeMii4bIgKPLcVl761DD6T/MAU69AwLHZUqYYGGLnUKfnSF
Iddfeww516FqozM93IaeWeGz2jazoMOHDYHKVxcCgfI4gc6W0yPiGKJtA75wuyII
B2tH+g5mAj7z12+2c/VRybow87zfgg/y/7Od3oOV51yIP9Z/L9EIwu72RIoMTkGL
v+dYJX6qj4ub3jJbWwqpsepCdDvdRmlpzw3vi6LMQyeRfU4QZTSdFxfJqrSPgPVx
uJ9AMNr6odss4yRVputGVnHBm+GTmeMbkW566pfkvlmq0vapdEr/mpnM5lfWGJgx
VrCsthj7cs/tMHhBaJtB2ZicN1wj805qCrY+KyLjGr/wSk4yqGoSTZsPeIm0tyP1
PiwY0RBQz07o5SovXEGNYbkBDQRMDTpSAQgAncegUtRmavfq6bMY36Oab+I4vtD5
nQ3mJXQZXV0tX6cyu3kUpEsUXpuOojFYtDofvJvqoo0tT6jBkJCmP1J3FSraHi3R
En6DQs3sig54/JBNzWN/Ax4w04ADy7VYRD37dUDtxIMqbsEi1Oack1USctQXrPZK
SiQ6yH+x3xCuym7jOymnyCpB734fwH0F98sEHTRiPDkhPZlV6jiRCDQYi7zXEpyL
vQLRj0v1ecd8tssUbqyv46fikH+7op3K2zljoeAxbRXqLmcCvpQQaZ3CUHbIcYQK
MviJkGImTDZnEXOc+DHIHJJsiv8oZlsUZuRXexwBAvqsfEGX30kxvuvAzwARAQAB
iQEfBBgBAgAJBQJMDTpSAhsMAAoJEOn+6gaoXj+dKxAH/1mYuXihJx0ctq2p48rZ
fQsGpqE+HdnHTFqTVNK5cV5lxTxRmuZw0BMgHAoATlgHP7KvAaa78MfccNLsypJ0
FxC2/dtK1YlemC9udJJKGw/3C/AwneMigxK+R2bSHvpXQdEVBAld+KPYYuYyublw
Ex/N0RPE1WfVYahh5bbbcViP4Bwto3lpYcRVKdhvSKj1yv0vQ3O4GZAziYru+Uj2
mpDQWsfOi3ErpJ/lhs8I+T3w+FGuA5CYJiXn4cQldYdbLGil/XSXvM8N8rp08bLr
RU6E+xm2a5LP9MSoym0YwPlriklWbteagYE9EvlrWG0Xyt77SkfegZdDKW0W0BKB
Fj0=
=YE9s
-----END PGP PUBLIC KEY BLOCK-----

4
debian/watch vendored Normal file
View File

@@ -0,0 +1,4 @@
version=4
opts="pgpsigurlmangle=s/$/.asc/" \
https://github.com/shadow-maint/shadow/releases \
(?:.*?/)?shadow-(\d[\d.]*)\.tar\.xz debian uupdate

791
depcomp Executable file
View File

@@ -0,0 +1,791 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# 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.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by 'PROGRAMS ARGS'.
object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
# Get the directory component of the given path, and save it in the
# global variables '$dir'. Note that this directory component will
# be either empty or ending with a '/' character. This is deliberate.
set_dir_from ()
{
case $1 in
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
*) dir=;;
esac
}
# Get the suffix-stripped basename of the given path, and save it the
# global variable '$base'.
set_base_from ()
{
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
}
# If no dependency file was actually created by the compiler invocation,
# we still have to create a dummy depfile, to avoid errors with the
# Makefile "include basename.Plo" scheme.
make_dummy_depfile ()
{
echo "#dummy" > "$depfile"
}
# Factor out some common post-processing of the generated depfile.
# Requires the auxiliary global variable '$tmpdepfile' to be set.
aix_post_process_depfile ()
{
# If the compiler actually managed to produce a dependency file,
# post-process it.
if test -f "$tmpdepfile"; then
# Each line is of the form 'foo.o: dependency.h'.
# Do two passes, one to just change these to
# $object: dependency.h
# and one to simply output
# dependency.h:
# which is needed to avoid the deleted-header problem.
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
} > "$depfile"
rm -f "$tmpdepfile"
else
make_dummy_depfile
fi
}
# A tabulation character.
tab=' '
# A newline character.
nl='
'
# Character ranges might be problematic outside the C locale.
# These definitions help.
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Avoid interferences from the environment.
gccflag= dashmflag=
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
# This is just like msvc7 but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvc7
fi
if test "$depmode" = xlc; then
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
gccflag=-qmakedep=gcc,-MF
depmode=gcc
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say). Also, it might not be
## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The second -e expression handles DOS-style file names with drive
# letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
| tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
xlc)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
aix_post_process_depfile
;;
tcc)
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
# FIXME: That version still under development at the moment of writing.
# Make that this statement remains true also for stable, released
# versions.
# It will wrap lines (doesn't matter whether long or short) with a
# trailing '\', as in:
#
# foo.o : \
# foo.c \
# foo.h \
#
# It will put a trailing '\' even on the last line, and will use leading
# spaces rather than leading tabs (at least since its commit 0394caf7
# "Emit spaces for -MD").
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
# We have to change lines of the first kind to '$object: \'.
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
# And for each line of the second kind, we have to emit a 'dep.h:'
# dummy dependency, to avoid the deleted-header problem.
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
## The order of this option in the case statement is important, since the
## shell code in configure will try each of these formats in the order
## listed in this file. A plain '-MD' option would be understood by many
## compilers, so we must ensure this comes after the gcc and icc options.
pgcc)
# Portland's C compiler understands '-MD'.
# Will always output deps to 'file.d' where file is the root name of the
# source file under compilation, even if file resides in a subdirectory.
# The object file name does not affect the name of the '.d' file.
# pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
set_dir_from "$object"
# Use the source, not the object, to determine the base name, since
# that's sadly what pgcc will do too.
set_base_from "$source"
tmpdepfile=$base.d
# For projects that build the same source file twice into different object
# files, the pgcc approach of using the *source* file root name can cause
# problems in parallel builds. Use a locking strategy to avoid stomping on
# the same $tmpdepfile.
lockdir=$base.d-lock
trap "
echo '$0: caught signal, cleaning up...' >&2
rmdir '$lockdir'
exit 1
" 1 2 13 15
numtries=100
i=$numtries
while test $i -gt 0; do
# mkdir is a portable test-and-set.
if mkdir "$lockdir" 2>/dev/null; then
# This process acquired the lock.
"$@" -MD
stat=$?
# Release the lock.
rmdir "$lockdir"
break
else
# If the lock is being held by a different process, wait
# until the winning process is done or we timeout.
while test -d "$lockdir" && test $i -gt 0; do
sleep 1
i=`expr $i - 1`
done
fi
i=`expr $i - 1`
done
trap - 1 2 13 15
if test $i -le 0; then
echo "$0: failed to acquire lock after $numtries attempts" >&2
echo "$0: check lockdir '$lockdir'" >&2
exit 1
fi
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in 'foo.d' instead, so we check for that too.
# Subdirectories are respected.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
# Libtool generates 2 separate objects for the 2 libraries. These
# two compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir$base.o.d # libtool 1.5
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
# Same post-processing that is required for AIX mode.
aix_post_process_depfile
;;
msvc7)
if test "$libtool" = yes; then
showIncludes=-Wc,-showIncludes
else
showIncludes=-showIncludes
fi
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The first sed program below extracts the file names and escapes
# backslashes for cygpath. The second sed program outputs the file
# name when reading, but also accumulates all include files in the
# hold buffer in order to output them again at the end. This only
# works with sed implementations that can handle large buffers.
sed < "$tmpdepfile" -n '
/^Note: including file: *\(.*\)/ {
s//\1/
s/\\/\\\\/g
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
s/\(.*\)/'"$tab"'\1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
s/.*/'"$tab"'/
G
p
}' >> "$depfile"
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
msvc7msys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this sed invocation
# correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process the last invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed '1,2d' "$tmpdepfile" \
| tr ' ' "$nl" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E \
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
| sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# 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:

481
doc/Makefile.in Normal file
View File

@@ -0,0 +1,481 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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 = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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
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@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
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@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
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@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMD = @LIBMD@
LIBOBJS = @LIBOBJS@
LIBPAM = @LIBPAM@
LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
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@
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 = HOWTO README.limits \
README.platforms WISHLIST console.c.spec.txt cracklib26.diff
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 doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign doc/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:

776
etc/Makefile.in Normal file
View File

@@ -0,0 +1,776 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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 = etc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
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
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" \
"$(DESTDIR)$(sysconfdir)"
DATA = $(default_DATA) $(nonpam_DATA) $(sysconf_DATA)
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 \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# 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)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
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"
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@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
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@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
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@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMD = @LIBMD@
LIBOBJS = @LIBOBJS@
LIBPAM = @LIBPAM@
LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
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@
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@
sysconf_DATA = login.defs
defaultdir = $(sysconfdir)/default
default_DATA = \
useradd
nonpam_files = \
limits \
login.access
@USE_PAM_FALSE@nonpamdir = $(sysconfdir)
@USE_PAM_FALSE@nonpam_DATA = $(nonpam_files)
EXTRA_DIST = \
$(nonpam_files) \
$(sysconf_DATA) \
$(default_DATA)
SUBDIRS = pam.d
all: all-recursive
.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 etc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign etc/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
install-defaultDATA: $(default_DATA)
@$(NORMAL_INSTALL)
@list='$(default_DATA)'; test -n "$(defaultdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(defaultdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(defaultdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(defaultdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(defaultdir)" || exit $$?; \
done
uninstall-defaultDATA:
@$(NORMAL_UNINSTALL)
@list='$(default_DATA)'; test -n "$(defaultdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(defaultdir)'; $(am__uninstall_files_from_dir)
install-nonpamDATA: $(nonpam_DATA)
@$(NORMAL_INSTALL)
@list='$(nonpam_DATA)'; test -n "$(nonpamdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(nonpamdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(nonpamdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(nonpamdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(nonpamdir)" || exit $$?; \
done
uninstall-nonpamDATA:
@$(NORMAL_UNINSTALL)
@list='$(nonpam_DATA)'; test -n "$(nonpamdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(nonpamdir)'; $(am__uninstall_files_from_dir)
install-sysconfDATA: $(sysconf_DATA)
@$(NORMAL_INSTALL)
@list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(sysconfdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(sysconfdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \
done
uninstall-sysconfDATA:
@$(NORMAL_UNINSTALL)
@list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(sysconfdir)'; $(am__uninstall_files_from_dir)
# 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"
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
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
@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
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" "$(DESTDIR)$(sysconfdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
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:
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 Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-defaultDATA install-nonpamDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am: install-sysconfDATA
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 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: uninstall-defaultDATA uninstall-nonpamDATA \
uninstall-sysconfDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-defaultDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-nonpamDATA install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
install-sysconfDATA 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 \
uninstall-defaultDATA uninstall-nonpamDATA \
uninstall-sysconfDATA
.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:

View File

@@ -31,6 +31,15 @@ LOG_OK_LOGINS no
#
LASTLOG_ENAB yes
#
# Limit the highest user ID number for which the lastlog entries should
# be updated.
#
# No LASTLOG_UID_MAX means that there is no user ID limit for writing
# lastlog entries.
#
#LASTLOG_UID_MAX
#
# Enable checking and display of mailbox status upon login.
#
@@ -186,12 +195,17 @@ KILLCHAR 025
# Default initial "umask" value used by login(1) on non-PAM enabled systems.
# Default "umask" value for pam_umask(8) on PAM enabled systems.
# UMASK is also used by useradd(8) and newusers(8) to set the mode for new
# home directories.
# home directories if HOME_MODE is not set.
# 022 is the default value, but 027, or even 077, could be considered
# for increased privacy. There is no One True Answer here: each sysadmin
# must make up their mind.
UMASK 022
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
# home directories.
# If HOME_MODE is not set, the value of UMASK is used to create the mode.
#HOME_MODE 0700
#
# Password aging controls:
#
@@ -311,6 +325,7 @@ CHFN_RESTRICT rwh
# 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 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 DES, DES-based algorithm will be used for encrypting password (default)
# Overrides the MD5_CRYPT_ENAB option
#
@@ -332,8 +347,23 @@ CHFN_RESTRICT rwh
# 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
# SHA_CRYPT_MAX_ROUNDS 5000
#SHA_CRYPT_MIN_ROUNDS 5000
#SHA_CRYPT_MAX_ROUNDS 5000
#
# Only works if ENCRYPT_METHOD is set to BCRYPT.
#
# Define the number of BCRYPT rounds.
# With a lot of rounds, it is more difficult to brute-force the password.
# However, more CPU resources will be needed to authenticate users if
# this value is increased.
#
# If not specified, 13 rounds will be attempted.
# 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.
#
#BCRYPT_MIN_ROUNDS 13
#BCRYPT_MAX_ROUNDS 13
#
# List of groups to add to the user's supplementary group set

View File

@@ -6,8 +6,7 @@ pamd_files = \
chsh \
groupmems \
login \
passwd \
su
passwd
pamd_acct_tools_files = \
chage \
@@ -29,4 +28,8 @@ pamd_DATA += $(pamd_acct_tools_files)
endif
endif
if WITH_SU
pamd_files += su
endif
EXTRA_DIST = $(pamd_files) $(pamd_acct_tools_files)

550
etc/pam.d/Makefile.in Normal file
View File

@@ -0,0 +1,550 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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@
@ACCT_TOOLS_SETUID_TRUE@@USE_PAM_TRUE@am__append_1 = $(pamd_acct_tools_files)
@WITH_SU_TRUE@am__append_2 = su
subdir = etc/pam.d
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(pamddir)"
DATA = $(pamd_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
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@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
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@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
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@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMD = @LIBMD@
LIBOBJS = @LIBOBJS@
LIBPAM = @LIBPAM@
LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
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@
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@
pamd_files = chfn chsh groupmems login passwd $(am__append_2)
pamd_acct_tools_files = \
chage \
chgpasswd \
chpasswd \
groupadd \
groupdel \
groupmod \
newusers \
useradd \
userdel \
usermod
@USE_PAM_TRUE@pamddir = $(sysconfdir)/pam.d
@USE_PAM_TRUE@pamd_DATA = $(pamd_files) $(am__append_1)
EXTRA_DIST = $(pamd_files) $(pamd_acct_tools_files)
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 etc/pam.d/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign etc/pam.d/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
install-pamdDATA: $(pamd_DATA)
@$(NORMAL_INSTALL)
@list='$(pamd_DATA)'; test -n "$(pamddir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pamddir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pamddir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pamddir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pamddir)" || exit $$?; \
done
uninstall-pamdDATA:
@$(NORMAL_UNINSTALL)
@list='$(pamd_DATA)'; test -n "$(pamddir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pamddir)'; $(am__uninstall_files_from_dir)
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 $(DATA)
installdirs:
for dir in "$(DESTDIR)$(pamddir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
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-pamdDATA
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: uninstall-pamdDATA
.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-pamdDATA 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 uninstall-pamdDATA
.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:

518
install-sh Executable file
View File

@@ -0,0 +1,518 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" $tab$nl"
# Set DOITPROG to "echo" to test this script.
doit=${DOITPROG-}
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
oIFS=$IFS
IFS=/
set -f
set fnord $dstdir
shift
set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# 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:

View File

@@ -6,6 +6,10 @@ DEFS =
noinst_LTLIBRARIES = libshadow.la
libshadow_la_LDFLAGS = -version-info 0:0:0
libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS)
if HAVE_VENDORDIR
libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\"
endif
libshadow_la_SOURCES = \
commonio.c \
@@ -30,6 +34,8 @@ libshadow_la_SOURCES = \
lockpw.c \
nscd.c \
nscd.h \
sssd.c \
sssd.h \
pam_defs.h \
port.c \
port.h \

1040
lib/Makefile.in Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -45,6 +45,7 @@
#include <stdio.h>
#include <signal.h>
#include "nscd.h"
#include "sssd.h"
#ifdef WITH_TCB
#include <tcb.h>
#endif /* WITH_TCB */
@@ -140,7 +141,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
int retval;
char buf[32];
fd = open (file, O_CREAT | O_EXCL | O_WRONLY, 0600);
fd = open (file, O_CREAT | O_TRUNC | O_WRONLY, 0600);
if (-1 == fd) {
if (log) {
(void) fprintf (stderr,
@@ -363,6 +364,7 @@ static void free_linked_list (struct commonio_db *db)
int commonio_setname (struct commonio_db *db, const char *name)
{
snprintf (db->filename, sizeof (db->filename), "%s", name);
db->setname = true;
return 1;
}
@@ -379,7 +381,7 @@ int commonio_lock_nowait (struct commonio_db *db, bool log)
char* lock = NULL;
size_t lock_file_len;
size_t file_len;
int err;
int err = 0;
if (db->locked) {
return 1;
@@ -388,12 +390,10 @@ int commonio_lock_nowait (struct commonio_db *db, bool log)
lock_file_len = strlen(db->filename) + 6; /* sizeof ".lock" */
file = (char*)malloc(file_len);
if(file == NULL) {
err = ENOMEM;
goto cleanup_ENOMEM;
}
lock = (char*)malloc(lock_file_len);
if(lock == NULL) {
err = ENOMEM;
goto cleanup_ENOMEM;
}
snprintf (file, file_len, "%s.%lu",
@@ -415,38 +415,40 @@ cleanup_ENOMEM:
int commonio_lock (struct commonio_db *db)
{
/*#ifdef HAVE_LCKPWDF*/ /* not compatible with prefix option*/
#if 0
/*
* only if the system libc has a real lckpwdf() - the one from
* lockpw.c calls us and would cause infinite recursion!
*/
/*
* Call lckpwdf() on the first lock.
* If it succeeds, call *_lock() only once
* (no retries, it should always succeed).
*/
if (0 == lock_count) {
if (lckpwdf () == -1) {
if (geteuid () != 0) {
(void) fprintf (stderr,
"%s: Permission denied.\n",
Prog);
}
return 0; /* failure */
}
}
if (commonio_lock_nowait (db, true) != 0) {
return 1; /* success */
}
ulckpwdf ();
return 0; /* failure */
#else /* !HAVE_LCKPWDF */
int i;
#ifdef HAVE_LCKPWDF
/*
* Only if the system libc has a real lckpwdf() - the one from
* lockpw.c calls us and would cause infinite recursion!
* It is also not used with the prefix option.
*/
if (!db->setname) {
/*
* Call lckpwdf() on the first lock.
* If it succeeds, call *_lock() only once
* (no retries, it should always succeed).
*/
if (0 == lock_count) {
if (lckpwdf () == -1) {
if (geteuid () != 0) {
(void) fprintf (stderr,
"%s: Permission denied.\n",
Prog);
}
return 0; /* failure */
}
}
if (commonio_lock_nowait (db, true) != 0) {
return 1; /* success */
}
ulckpwdf ();
return 0; /* failure */
}
#endif /* !HAVE_LCKPWDF */
/*
* lckpwdf() not used - do it the old way.
*/
@@ -472,7 +474,6 @@ int commonio_lock (struct commonio_db *db)
}
}
return 0; /* failure */
#endif /* !HAVE_LCKPWDF */
}
static void dec_lock_count (void)
@@ -485,6 +486,7 @@ static void dec_lock_count (void)
if (nscd_need_reload) {
nscd_flush_cache ("passwd");
nscd_flush_cache ("group");
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
nscd_need_reload = false;
}
#ifdef HAVE_LCKPWDF
@@ -925,7 +927,6 @@ static int write_all (const struct commonio_db *db)
int commonio_close (struct commonio_db *db)
/*@requires notnull db->fp@*/
{
char buf[1024];
int errors = 0;
@@ -938,8 +939,10 @@ int commonio_close (struct commonio_db *db)
db->isopen = false;
if (!db->changed || db->readonly) {
(void) fclose (db->fp);
db->fp = NULL;
if (NULL != db->fp) {
(void) fclose (db->fp);
db->fp = NULL;
}
goto success;
}

View File

@@ -143,6 +143,7 @@ struct commonio_db {
bool isopen:1;
bool locked:1;
bool readonly:1;
bool setname:1;
};
extern int commonio_setname (struct commonio_db *, const char *);

View File

@@ -382,4 +382,10 @@ extern char *strerror ();
# endif
#endif
#ifdef HAVE_SECURE_GETENV
# define shadow_getenv(name) secure_getenv(name)
# else
# define shadow_getenv(name) getenv(name)
#endif
#endif /* _DEFINES_H_ */

Some files were not shown because too many files have changed in this diff Show More