From 5242eef8fc54636a41701fd9d7083ba6e4a4e0b3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 26 Jun 2024 18:18:39 +0200 Subject: Merging upstream version 1:4.15.2. Signed-off-by: Daniel Baumann --- doc/Makefile.am | 3 +- doc/Makefile.in | 21 ++- doc/README.platforms | 33 ----- doc/WISHLIST | 39 ------ doc/console.c.spec.txt | 36 ------ doc/cracklib26.diff | 340 ------------------------------------------------- 6 files changed, 18 insertions(+), 454 deletions(-) delete mode 100644 doc/README.platforms delete mode 100644 doc/WISHLIST delete mode 100644 doc/console.c.spec.txt delete mode 100644 doc/cracklib26.diff (limited to 'doc') 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 - -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 - -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 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 - #include - #include -+#include - - #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 '^#' | -- cgit v1.2.3