summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-26 16:18:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-26 16:18:36 +0000
commit6c3ea4f47ea280811a7fe53a22f7832e4533c9ec (patch)
tree3d7ed5da23b5dbf6f9e450dfb61642832249c31e /doc
parentAdding upstream version 1:4.13+dfsg1. (diff)
downloadshadow-6c3ea4f47ea280811a7fe53a22f7832e4533c9ec.tar.xz
shadow-6c3ea4f47ea280811a7fe53a22f7832e4533c9ec.zip
Adding upstream version 1:4.15.2.upstream/1%4.15.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am3
-rw-r--r--doc/Makefile.in21
-rw-r--r--doc/README.platforms33
-rw-r--r--doc/WISHLIST39
-rw-r--r--doc/console.c.spec.txt36
-rw-r--r--doc/cracklib26.diff340
6 files changed, 18 insertions, 454 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 85f2248..aa8b870 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,4 @@
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
-EXTRA_DIST = HOWTO README.limits \
- README.platforms WISHLIST console.c.spec.txt cracklib26.diff
+EXTRA_DIST = HOWTO README.limits
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 1e00544..49441a1 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -141,6 +141,8 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CMOCKA_CFLAGS = @CMOCKA_CFLAGS@
+CMOCKA_LIBS = @CMOCKA_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
@@ -159,6 +161,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
@@ -174,9 +177,15 @@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBACL = @LIBACL@
+LIBADD_DL = @LIBADD_DL@
+LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
+LIBADD_DLOPEN = @LIBADD_DLOPEN@
+LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
LIBATTR = @LIBATTR@
LIBAUDIT = @LIBAUDIT@
-LIBCRACK = @LIBCRACK@
+LIBBSD = @LIBBSD@
+LIBBSD_CFLAGS = @LIBBSD_CFLAGS@
+LIBBSD_LIBS = @LIBBSD_LIBS@
LIBCRYPT = @LIBCRYPT@
LIBECONF = @LIBECONF@
LIBICONV = @LIBICONV@
@@ -192,6 +201,7 @@ LIBSUBID_ABI = @LIBSUBID_ABI@
LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
+LIBSYSTEMD = @LIBSYSTEMD@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -200,6 +210,8 @@ LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_DLLOADERS = @LT_DLLOADERS@
+LT_DLPREOPEN = @LT_DLPREOPEN@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
@@ -222,6 +234,9 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
SED = @SED@
@@ -293,9 +308,7 @@ 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
-
+EXTRA_DIST = HOWTO README.limits
all: all-am
.SUFFIXES:
diff --git a/doc/README.platforms b/doc/README.platforms
deleted file mode 100644
index a069e89..0000000
--- a/doc/README.platforms
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id$
-#
-# This is the current (still incomplete) list of platforms this
-# package has been verified to work on. Additions (preferably
-# in the format as described below) are welcome. Thanks!
-#
-# V: last version reported to work
-# H: host type
-# L: Linux libc version
-# D: Linux distribution, or other OS name and version
-# C: changes (if any)
-# R: reported by
-
-V: 980529
-H: sparc-unknown-linux-gnu
-L: glibc-2.0.7
-D: Ultrapenguin-1.0.9
-C: had to explicitly disable desrpc.
-R: Bjorn Christianson <bjorn@cascade.psychology.mcmaster.ca>
-
-V: 980724
-H: i486-pc-linux-gnulibc1
-L: libc-5.4.33
-D: Debian-1.3.1.r6
-C: none (use dpkg-buildpackage)
-R: Marek Michalkiewicz <marekm@linux.org.pl>
-
-V: current
-H: i686-pc-linux-gnu
-L: glibc-2.0.7.19981211
-D: Debian-2.1
-C: none (use dpkg-buildpackage)
-R: Marek Michalkiewicz <marekm@linux.org.pl>
diff --git a/doc/WISHLIST b/doc/WISHLIST
deleted file mode 100644
index d9003b1..0000000
--- a/doc/WISHLIST
+++ /dev/null
@@ -1,39 +0,0 @@
-$Id$
-
-This is my wishlist for the shadow suite, in no particular order. Feel
-free to do anything from this list and mail me the diffs :-).
-
-Patches in diff -u format, against the latest version (sometimes in the
-"beta" directory) are preferred and make my job easier. Please, no
-MIME, base64, quoted-printable, or HTML. For very big patches, or if
-your mailer can corrupt them, please use gzip and uuencode. Thanks!
-
-New ideas to add to this list are welcome, too. --marekm
-
-- fix all the bugs, of course
-- implement "su only" accounts (no logins, only su from other account)
-- rewrite getdef.c to be more general? (no hardcoded names)
-- patch for rlogind/telnetd to create utmp entry and fill in ut_addr
-- option to specify encrypted password in passwd (for yppasswdd, so it
- doesn't need to know about shadow/non-shadow); should probably use a pipe
- (less insecure than command line arguments)
-- add support for changing NIS passwords
-- add option to check passwords by piping them to external programs
-- add functionality of the contrib/rpasswd.c wrapper to passwd
-- option to generate pronounceable passwords (like on SCO), external program?
-- poppassd (remote password change for eudora etc.)
-- add support for passwd/shadow db files (glibc)
-- vipw: check password files for errors after editing
-- add "maximum time users allowed to stay logged in" limit option to logoutd
-- handle quotes in /etc/environment like the shell does (but sshd doesn't...)
-- better utmpx support (logoutd, ...)
-- better OPIE support (report number of logins left, etc.)
-- new option for /etc/suauth: don't load user's environment (force "su -")
- suggested by Ulisses Alonso Camaro
-- find out why recent releases won't compile on Solaris
-- newusers should be able to copy /etc/skel to the new home directory
- (like useradd)
-- add directories where other packages can add hooks for package-specific
- per-user configuration, to be executed with run-parts. Some hooks should
- be executed at package install time for existing users, likewise for
- package removal and possibly modification. (Debian Bug#36019)
diff --git a/doc/console.c.spec.txt b/doc/console.c.spec.txt
deleted file mode 100644
index b7c0d0d..0000000
--- a/doc/console.c.spec.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-$Id$
-
-Specification for console.c source file --
-
-input values --
- tty -- character pointer to device name with leading "/dev/"
- removed.
-
-return values --
- 0 -- false
- 1 -- true
-
-int console (char * tty)
- if "CONSOLE" string value is not present in login.defs
- return true
-
- if the first character of "CONSOLE" string value is not "/"
- treat the string as a ":" delimited list of device
- names and search for the value of tty in that
- tokenized list.
-
- if a match is found
- return true
-
- return false
-
- if the file named by "CONSOLE" cannot be opened
- return true
-
- scan the file looking for a match between the input line
- and the value of tty
-
- if a match is found
- return true
-
- return false
diff --git a/doc/cracklib26.diff b/doc/cracklib26.diff
deleted file mode 100644
index 09160b8..0000000
--- a/doc/cracklib26.diff
+++ /dev/null
@@ -1,340 +0,0 @@
-diff -ur orig/cracklib26_small/cracklib/fascist.c cracklib26_small/cracklib/fascist.c
---- orig/cracklib26_small/cracklib/fascist.c Mon Dec 15 02:56:55 1997
-+++ cracklib26_small/cracklib/fascist.c Sat Apr 4 22:14:45 1998
-@@ -12,6 +12,7 @@
- #include <ctype.h>
- #include <sys/types.h>
- #include <pwd.h>
-+#include <string.h>
-
- #define ISSKIP(x) (isspace(x) || ispunct(x))
-
-@@ -460,28 +461,27 @@
- }
-
- char *
--FascistGecos(password, uid)
-+FascistGecosPw(password, pwd)
- char *password;
-- int uid;
-+ struct passwd *pwd;
- {
- int i;
- int j;
- int wc;
- char *ptr;
-- struct passwd *pwp;
- char gbuffer[STRINGSIZE];
- char tbuffer[STRINGSIZE];
- char *uwords[STRINGSIZE];
- char longbuffer[STRINGSIZE * 2];
-
-- if (!(pwp = getpwuid(uid)))
-+ if (!pwd)
- {
- return ("you are not registered in the password file");
- }
-
- /* lets get really paranoid and assume a dangerously long gecos entry */
-
-- strncpy(tbuffer, pwp->pw_name, STRINGSIZE);
-+ strncpy(tbuffer, pwd->pw_name, STRINGSIZE);
- tbuffer[STRINGSIZE-1] = '\0';
- if (GTry(tbuffer, password))
- {
-@@ -490,12 +490,13 @@
-
- /* it never used to be that you got passwd strings > 1024 chars, but now... */
-
-- strncpy(tbuffer, pwp->pw_gecos, STRINGSIZE);
-+ strncpy(tbuffer, pwd->pw_gecos, STRINGSIZE);
- tbuffer[STRINGSIZE-1] = '\0';
- strcpy(gbuffer, Lowercase(tbuffer));
-
- wc = 0;
- ptr = gbuffer;
-+ uwords[0] = (char *) 0;
-
- while (*ptr)
- {
-@@ -530,6 +531,8 @@
- *(ptr++) = '\0';
- }
- }
-+ if (!uwords[0])
-+ return ((char *) 0); /* empty gecos */
- #ifdef DEBUG
- for (i = 0; uwords[i]; i++)
- {
-@@ -586,9 +589,10 @@
- }
-
- char *
--FascistLook(pwp, instring)
-+FascistLookPw(pwp, instring, pwd)
- PWDICT *pwp;
- char *instring;
-+ struct passwd *pwd;
- {
- int i;
- char *ptr;
-@@ -667,7 +671,7 @@
- return ("it looks like a National Insurance number.");
- }
-
-- if (ptr = FascistGecos(password, getuid()))
-+ if (ptr = FascistGecosPw(password, pwd ? pwd : getpwuid(getuid())))
- {
- return (ptr);
- }
-@@ -715,9 +719,10 @@
- }
-
- char *
--FascistCheck(password, path)
-+FascistCheckPw(password, path, pwd)
- char *password;
- char *path;
-+ struct passwd *pwd;
- {
- static char lastpath[STRINGSIZE];
- static PWDICT *pwp;
-@@ -750,5 +755,29 @@
- strncpy(lastpath, path, STRINGSIZE);
- }
-
-- return (FascistLook(pwp, pwtrunced));
-+ return (FascistLookPw(pwp, pwtrunced, pwd));
-+}
-+
-+char *
-+FascistGecos(password, uid)
-+ char *password;
-+ int uid;
-+{
-+ return (FascistGecosPw(password, getpwuid(uid)));
-+}
-+
-+char *
-+FascistLook(pwp, instring)
-+ PWDICT *pwp;
-+ char *instring;
-+{
-+ return (FascistLookPw(pwp, instring, (char *) 0));
-+}
-+
-+char *
-+FascistCheck(password, path)
-+ char *password;
-+ char *path;
-+{
-+ return (FascistCheckPw(password, path, (char *) 0));
- }
-diff -ur orig/cracklib26_small/cracklib/packer.h cracklib26_small/cracklib/packer.h
---- orig/cracklib26_small/cracklib/packer.h Mon Dec 15 00:09:30 1997
-+++ cracklib26_small/cracklib/packer.h Sat Jan 10 22:13:46 1998
-@@ -34,6 +34,7 @@
- FILE *dfp;
- FILE *wfp;
-
-+ int canfree;
- int32 flags;
- #define PFOR_WRITE 0x0001
- #define PFOR_FLUSH 0x0002
-diff -ur orig/cracklib26_small/cracklib/packlib.c cracklib26_small/cracklib/packlib.c
---- orig/cracklib26_small/cracklib/packlib.c Fri Jul 9 22:22:58 1993
-+++ cracklib26_small/cracklib/packlib.c Sat Jan 10 22:28:49 1998
-@@ -16,7 +16,7 @@
- char *mode;
- {
- int32 i;
-- static PWDICT pdesc;
-+ PWDICT *pdesc;
- char iname[STRINGSIZE];
- char dname[STRINGSIZE];
- char wname[STRINGSIZE];
-@@ -25,92 +25,94 @@
- FILE *ifp;
- FILE *wfp;
-
-- if (pdesc.header.pih_magic == PIH_MAGIC)
-- {
-- fprintf(stderr, "%s: another dictionary already open\n", prefix);
-+ if ((pdesc = (PWDICT *) malloc(sizeof(PWDICT))) == 0)
- return ((PWDICT *) 0);
-- }
-
-- memset(&pdesc, '\0', sizeof(pdesc));
-+ memset(pdesc, '\0', sizeof(*pdesc));
-
- sprintf(iname, "%s.pwi", prefix);
- sprintf(dname, "%s.pwd", prefix);
- sprintf(wname, "%s.hwm", prefix);
-
-- if (!(pdesc.dfp = fopen(dname, mode)))
-+ if (!(pdesc->dfp = fopen(dname, mode)))
- {
- perror(dname);
-+ free(pdesc);
- return ((PWDICT *) 0);
- }
-
-- if (!(pdesc.ifp = fopen(iname, mode)))
-+ if (!(pdesc->ifp = fopen(iname, mode)))
- {
-- fclose(pdesc.dfp);
-+ fclose(pdesc->dfp);
- perror(iname);
-+ free(pdesc);
- return ((PWDICT *) 0);
- }
-
-- if (pdesc.wfp = fopen(wname, mode))
-+ if (pdesc->wfp = fopen(wname, mode))
- {
-- pdesc.flags |= PFOR_USEHWMS;
-+ pdesc->flags |= PFOR_USEHWMS;
- }
-
-- ifp = pdesc.ifp;
-- dfp = pdesc.dfp;
-- wfp = pdesc.wfp;
-+ ifp = pdesc->ifp;
-+ dfp = pdesc->dfp;
-+ wfp = pdesc->wfp;
-
- if (mode[0] == 'w')
- {
-- pdesc.flags |= PFOR_WRITE;
-- pdesc.header.pih_magic = PIH_MAGIC;
-- pdesc.header.pih_blocklen = NUMWORDS;
-- pdesc.header.pih_numwords = 0;
-+ pdesc->flags |= PFOR_WRITE;
-+ pdesc->header.pih_magic = PIH_MAGIC;
-+ pdesc->header.pih_blocklen = NUMWORDS;
-+ pdesc->header.pih_numwords = 0;
-
-- fwrite((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp);
-+ fwrite((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp);
- } else
- {
-- pdesc.flags &= ~PFOR_WRITE;
-+ pdesc->flags &= ~PFOR_WRITE;
-
-- if (!fread((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp))
-+ if (!fread((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp))
- {
- fprintf(stderr, "%s: error reading header\n", prefix);
-
-- pdesc.header.pih_magic = 0;
-+ pdesc->header.pih_magic = 0;
- fclose(ifp);
- fclose(dfp);
-+ free(pdesc);
- return ((PWDICT *) 0);
- }
-
-- if (pdesc.header.pih_magic != PIH_MAGIC)
-+ if (pdesc->header.pih_magic != PIH_MAGIC)
- {
- fprintf(stderr, "%s: magic mismatch\n", prefix);
-
-- pdesc.header.pih_magic = 0;
-+ pdesc->header.pih_magic = 0;
- fclose(ifp);
- fclose(dfp);
-+ free(pdesc);
- return ((PWDICT *) 0);
- }
-
-- if (pdesc.header.pih_blocklen != NUMWORDS)
-+ if (pdesc->header.pih_blocklen != NUMWORDS)
- {
- fprintf(stderr, "%s: size mismatch\n", prefix);
-
-- pdesc.header.pih_magic = 0;
-+ pdesc->header.pih_magic = 0;
- fclose(ifp);
- fclose(dfp);
-+ free(pdesc);
- return ((PWDICT *) 0);
- }
-
-- if (pdesc.flags & PFOR_USEHWMS)
-+ if (pdesc->flags & PFOR_USEHWMS)
- {
-- if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms))
-+ if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms))
- {
-- pdesc.flags &= ~PFOR_USEHWMS;
-+ pdesc->flags &= ~PFOR_USEHWMS;
- }
- }
- }
--
-- return (&pdesc);
-+ pdesc->canfree = 1;
-+ return (pdesc);
- }
-
- int
-@@ -159,8 +161,13 @@
-
- fclose(pwp->ifp);
- fclose(pwp->dfp);
-+ if (pwp->wfp)
-+ fclose(pwp->wfp);
-
-- pwp->header.pih_magic = 0;
-+ if (pwp->canfree)
-+ free(pwp);
-+ else
-+ pwp->header.pih_magic = 0;
-
- return (0);
- }
-@@ -307,6 +314,11 @@
- register char *this;
- int idx;
-
-+/*
-+ * comment in npasswd-2.0beta4 says this:
-+ * This does not work under all circumstances, so don't bother
-+ */
-+#if 0
- if (pwp->flags & PFOR_USEHWMS)
- {
- idx = string[0] & 0xff;
-@@ -317,6 +329,10 @@
- lwm = 0;
- hwm = PW_WORDS(pwp) - 1;
- }
-+#else
-+ lwm = 0;
-+ hwm = PW_WORDS(pwp);
-+#endif
-
- #ifdef DEBUG
- printf("---- %lu, %lu ----\n", lwm, hwm);
-diff -ur orig/cracklib26_small/util/mkdict cracklib26_small/util/mkdict
---- orig/cracklib26_small/util/mkdict Fri Jul 9 22:23:03 1993
-+++ cracklib26_small/util/mkdict Sat Apr 4 22:31:45 1998
-@@ -14,9 +14,16 @@
- SORT="sort"
- ###SORT="sort -T /tmp"
-
--cat $* |
-+### Use zcat to read compressed (as well as uncompressed) dictionaries.
-+### Compressed dictionaries can save quite a lot of disk space.
-+
-+CAT="gzip -cdf"
-+###CAT="zcat"
-+###CAT="cat"
-+
-+$CAT $* |
- tr '[A-Z]' '[a-z]' |
-- tr -cd '[\012a-z0-9]' |
-+ tr -cd '\012[a-z][0-9]' |
- $SORT |
- uniq |
- grep -v '^#' |