summaryrefslogtreecommitdiffstats
path: root/doc/cracklib26.diff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/cracklib26.diff')
-rw-r--r--doc/cracklib26.diff340
1 files changed, 0 insertions, 340 deletions
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 '^#' |