commit
6cd59420d6
@ -0,0 +1,3 @@
|
||||
99a9e04bc9ebad0267294e652a529117ceafd142 SOURCES/cracklib-2.9.11.tar.gz
|
||||
90afe183bcdee8462738d5e5fa9d0c98c3403d77 SOURCES/cracklib-words-2.9.11.gz
|
||||
9b407fa41faaf4138e875f168158e5f4568ea33e SOURCES/missing-words.gz
|
@ -0,0 +1,3 @@
|
||||
SOURCES/cracklib-2.9.11.tar.gz
|
||||
SOURCES/cracklib-words-2.9.11.gz
|
||||
SOURCES/missing-words.gz
|
@ -0,0 +1,41 @@
|
||||
diff --git a/src/doc/Makefile.am b/src/doc/Makefile.am
|
||||
index e597b38..e13b910 100644
|
||||
--- cracklib-2.9.11/doc/Makefile.am
|
||||
+++ cracklib-2.9.11/doc/Makefile.am
|
||||
@@ -4,4 +4,5 @@ dist_man_MANS = \
|
||||
cracklib-check.8 \
|
||||
cracklib-format.8 \
|
||||
cracklib-update.8 \
|
||||
+ create-cracklib-dict.8 \
|
||||
FascistCheck.3
|
||||
\ No newline at end of file
|
||||
diff --git a/src/doc/create-cracklib-dict.8 b/src/doc/create-cracklib-dict.8
|
||||
new file mode 100644
|
||||
index 0000000..c386e78
|
||||
--- /dev/null
|
||||
+++ cracklib-2.9.11/doc/create-cracklib-dict.8
|
||||
@@ -0,0 +1,24 @@
|
||||
+.TH create\-cracklib\-dict 8 "Sat Jun 21 22:45:42 CEST 2008" "Jan Dittberner"
|
||||
+.SH NAME
|
||||
+create\-cracklib\-dict \- Check passwords using libcrack2
|
||||
+.SH SYNOPSIS
|
||||
+.B create\-cracklib\-dict wordlist ...
|
||||
+.br
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+.B create\-cracklib\-dict
|
||||
+takes one or more word list files as arguments and converts them into
|
||||
+cracklib dictionaries for use by password checking programs. The
|
||||
+results are placed in the default compiled-in dictionary location.
|
||||
+
|
||||
+If you wish to store the dictionary in a different location, use the
|
||||
+cracklib-format and cracklib-packer commands directly.
|
||||
+
|
||||
+.SH SEE ALSO
|
||||
+.BR cracklib\-format (8),
|
||||
+.BR cracklib\-packer (8),
|
||||
+.BR cracklib\-check (8),
|
||||
+
|
||||
+.SH AUTHOR
|
||||
+This man page was written by Jan Dittberner <jandd@debian.org> for
|
||||
+the Debian GNU/Linux System (but may be used by others).
|
@ -0,0 +1,662 @@
|
||||
diff -Naur cracklib-2.9.11-orig/lib/fascist.c cracklib-2.9.11/lib/fascist.c
|
||||
--- cracklib-2.9.11-orig/lib/fascist.c 2019-02-13 20:54:41.000000000 -0500
|
||||
+++ cracklib-2.9.11/lib/fascist.c 2023-07-07 18:20:42.239904964 -0400
|
||||
@@ -36,8 +36,8 @@
|
||||
#undef DEBUG
|
||||
#undef DEBUG2
|
||||
|
||||
-extern char *Reverse(char *buf);
|
||||
-extern char *Lowercase(char *buf);
|
||||
+extern char *Reverse(char *buf, char *area);
|
||||
+extern char *Lowercase(char *buf, char *area);
|
||||
|
||||
static char *r_destructors[] = {
|
||||
":", /* noop - must do this to test raw word. */
|
||||
@@ -439,6 +439,8 @@
|
||||
int i;
|
||||
int len;
|
||||
char *mp;
|
||||
+ char area[STRINGSIZE];
|
||||
+ char revarea[STRINGSIZE];
|
||||
|
||||
/* use destructors to turn password into rawtext */
|
||||
/* note use of Reverse() to save duplicating all rules */
|
||||
@@ -447,7 +449,7 @@
|
||||
|
||||
for (i = 0; r_destructors[i]; i++)
|
||||
{
|
||||
- if (!(mp = Mangle(password, r_destructors[i])))
|
||||
+ if (!(mp = Mangle(password, r_destructors[i], area)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -462,10 +464,10 @@
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]);
|
||||
+ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]);
|
||||
#endif
|
||||
|
||||
- if (!strncmp(Reverse(mp), rawtext, len))
|
||||
+ if (!strncmp(Reverse(mp, revarea), rawtext, len))
|
||||
{
|
||||
return (1);
|
||||
}
|
||||
@@ -473,7 +475,7 @@
|
||||
|
||||
for (i = 0; r_constructors[i]; i++)
|
||||
{
|
||||
- if (!(mp = Mangle(rawtext, r_constructors[i])))
|
||||
+ if (!(mp = Mangle(rawtext, r_constructors[i], area)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -520,7 +522,7 @@
|
||||
|
||||
strncpy(tbuffer, gecos, STRINGSIZE);
|
||||
tbuffer[STRINGSIZE-1] = '\0';
|
||||
- strcpy(gbuffer, Lowercase(tbuffer));
|
||||
+ Lowercase(tbuffer, gbuffer);
|
||||
|
||||
wc = 0;
|
||||
ptr = gbuffer;
|
||||
@@ -704,6 +706,7 @@
|
||||
char junk[STRINGSIZE];
|
||||
char *password;
|
||||
char rpassword[STRINGSIZE];
|
||||
+ char area[STRINGSIZE];
|
||||
uint32_t notfound;
|
||||
|
||||
notfound = PW_WORDS(pwp);
|
||||
@@ -740,7 +743,7 @@
|
||||
return _("it does not contain enough DIFFERENT characters");
|
||||
}
|
||||
|
||||
- strcpy(password, (char *)Lowercase(password));
|
||||
+ strcpy(password, (char *)Lowercase(password, area));
|
||||
|
||||
Trim(password);
|
||||
|
||||
@@ -796,7 +799,7 @@
|
||||
{
|
||||
char *a;
|
||||
|
||||
- if (!(a = Mangle(password, r_destructors[i])))
|
||||
+ if (!(a = Mangle(password, r_destructors[i], area)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -811,13 +814,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
- strcpy(password, (char *)Reverse(password));
|
||||
+ strcpy(password, (char *)Reverse(password, area));
|
||||
|
||||
for (i = 0; r_destructors[i]; i++)
|
||||
{
|
||||
char *a;
|
||||
|
||||
- if (!(a = Mangle(password, r_destructors[i])))
|
||||
+ if (!(a = Mangle(password, r_destructors[i], area)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
diff -Naur cracklib-2.9.11-orig/lib/packer.h cracklib-2.9.11/lib/packer.h
|
||||
--- cracklib-2.9.11-orig/lib/packer.h 2023-03-04 11:00:49.000000000 -0500
|
||||
+++ cracklib-2.9.11/lib/packer.h 2023-07-07 18:21:04.315119032 -0400
|
||||
@@ -82,7 +82,7 @@
|
||||
extern unsigned int FindPW(PWDICT *pwp, char *string);
|
||||
extern int PutPW(PWDICT *pwp, char *string);
|
||||
extern int PMatch(char *control, char *string);
|
||||
-extern char *Mangle(char *input, char *control);
|
||||
+extern char *Mangle(char *input, char *control, char *area);
|
||||
extern char Chop(char *string);
|
||||
extern char *Trim(char *string);
|
||||
extern char *FascistLook(PWDICT *pwp, char *instring);
|
||||
diff -Naur cracklib-2.9.11-orig/lib/packlib.c cracklib-2.9.11/lib/packlib.c
|
||||
--- cracklib-2.9.11-orig/lib/packlib.c 2023-03-04 11:00:49.000000000 -0500
|
||||
+++ cracklib-2.9.11/lib/packlib.c 2023-07-07 18:44:55.183214284 -0400
|
||||
@@ -65,8 +65,8 @@
|
||||
char *mode;
|
||||
{
|
||||
int use64 = 0;
|
||||
- static PWDICT pdesc;
|
||||
- static PWDICT64 pdesc64;
|
||||
+ PWDICT *pdesc;
|
||||
+ PWDICT64 pdesc64;
|
||||
char iname[STRINGSIZE];
|
||||
char dname[STRINGSIZE];
|
||||
char wname[STRINGSIZE];
|
||||
@@ -74,13 +74,11 @@
|
||||
void *ifp;
|
||||
void *wfp;
|
||||
|
||||
- if (pdesc.header.pih_magic == PIH_MAGIC)
|
||||
- {
|
||||
- fprintf(stderr, "%s: another dictionary already open\n", prefix);
|
||||
+ pdesc = malloc(sizeof(*pdesc));
|
||||
+ if (pdesc == NULL)
|
||||
return NULL;
|
||||
- }
|
||||
|
||||
- memset(&pdesc, '\0', sizeof(pdesc));
|
||||
+ memset(pdesc, '\0', sizeof(*pdesc));
|
||||
memset(&pdesc64, '\0', sizeof(pdesc64));
|
||||
|
||||
snprintf(iname, STRINGSIZE, "%s.pwi", prefix);
|
||||
@@ -89,77 +87,80 @@
|
||||
|
||||
if (mode[0] == 'r')
|
||||
{
|
||||
- pdesc.flags &= ~PFOR_USEZLIB;
|
||||
+ pdesc->flags &= ~PFOR_USEZLIB;
|
||||
/* first try the normal db file */
|
||||
- if (!(pdesc.dfp = fopen(dname, mode)))
|
||||
+ if (!(pdesc->dfp = fopen(dname, mode)))
|
||||
{
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- pdesc.flags |= PFOR_USEZLIB;
|
||||
+ pdesc->flags |= PFOR_USEZLIB;
|
||||
/* try extension .gz */
|
||||
snprintf(dname, STRINGSIZE, "%s.pwd.gz", prefix);
|
||||
- if (!(pdesc.dfp = gzopen(dname, mode)))
|
||||
+ if (!(pdesc->dfp = gzopen(dname, mode)))
|
||||
{
|
||||
perror(dname);
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
perror(dname);
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
- pdesc.flags &= ~PFOR_USEZLIB;
|
||||
+ pdesc->flags &= ~PFOR_USEZLIB;
|
||||
/* write mode: use fopen */
|
||||
- if (!(pdesc.dfp = fopen(dname, mode)))
|
||||
+ if (!(pdesc->dfp = fopen(dname, mode)))
|
||||
{
|
||||
perror(dname);
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
- if (!(pdesc.ifp = fopen(iname, mode)))
|
||||
+ if (!(pdesc->ifp = fopen(iname, mode)))
|
||||
{
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
- gzclose(pdesc.dfp);
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
+ gzclose(pdesc->dfp);
|
||||
else
|
||||
#endif
|
||||
- fclose(pdesc.dfp);
|
||||
+ fclose(pdesc->dfp);
|
||||
perror(iname);
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- 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;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -168,10 +169,11 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0))
|
||||
+ if ((pdesc->header.pih_magic == 0) || (pdesc->header.pih_numwords == 0))
|
||||
{
|
||||
/* uh-oh. either a broken "64-bit" file or a garbage file. */
|
||||
rewind (ifp);
|
||||
@@ -179,10 +181,9 @@
|
||||
{
|
||||
fprintf(stderr, "%s: error reading header\n", prefix);
|
||||
|
||||
- pdesc.header.pih_magic = 0;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -191,6 +192,7 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
if (pdesc64.header.pih_magic != PIH_MAGIC)
|
||||
@@ -198,10 +200,9 @@
|
||||
/* nope, not "64-bit" after all */
|
||||
fprintf(stderr, "%s: error reading header\n", prefix);
|
||||
|
||||
- pdesc.header.pih_magic = 0;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -211,23 +212,23 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
- pdesc.header.pih_magic = pdesc64.header.pih_magic;
|
||||
- pdesc.header.pih_numwords = pdesc64.header.pih_numwords;
|
||||
- pdesc.header.pih_blocklen = pdesc64.header.pih_blocklen;
|
||||
- pdesc.header.pih_pad = pdesc64.header.pih_pad;
|
||||
+ pdesc->header.pih_magic = pdesc64.header.pih_magic;
|
||||
+ pdesc->header.pih_numwords = pdesc64.header.pih_numwords;
|
||||
+ pdesc->header.pih_blocklen = pdesc64.header.pih_blocklen;
|
||||
+ pdesc->header.pih_pad = pdesc64.header.pih_pad;
|
||||
use64 = 1;
|
||||
}
|
||||
|
||||
- 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;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -237,17 +238,17 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (pdesc.header.pih_numwords < 1)
|
||||
+ if (pdesc->header.pih_numwords < 1)
|
||||
{
|
||||
fprintf(stderr, "%s: invalid word count\n", prefix);
|
||||
|
||||
- pdesc.header.pih_magic = 0;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -256,17 +257,17 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (pdesc.header.pih_blocklen != NUMWORDS)
|
||||
+ if (pdesc->header.pih_blocklen != NUMWORDS)
|
||||
{
|
||||
fprintf(stderr, "%s: size mismatch\n", prefix);
|
||||
|
||||
- pdesc.header.pih_magic = 0;
|
||||
fclose(ifp);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
- if (pdesc.flags & PFOR_USEZLIB)
|
||||
+ if (pdesc->flags & PFOR_USEZLIB)
|
||||
gzclose(dfp);
|
||||
else
|
||||
#endif
|
||||
@@ -275,10 +276,11 @@
|
||||
{
|
||||
fclose(wfp);
|
||||
}
|
||||
+ free(pdesc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (pdesc.flags & PFOR_USEHWMS)
|
||||
+ if (pdesc->flags & PFOR_USEHWMS)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -286,27 +288,27 @@
|
||||
{
|
||||
if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms))
|
||||
{
|
||||
- pdesc.flags &= ~PFOR_USEHWMS;
|
||||
+ pdesc->flags &= ~PFOR_USEHWMS;
|
||||
}
|
||||
- for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++)
|
||||
+ for (i = 0; i < sizeof(pdesc->hwms) / sizeof(pdesc->hwms[0]); i++)
|
||||
{
|
||||
- pdesc.hwms[i] = pdesc64.hwms[i];
|
||||
+ pdesc->hwms[i] = pdesc64.hwms[i];
|
||||
}
|
||||
}
|
||||
- else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms))
|
||||
+ else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms))
|
||||
{
|
||||
- pdesc.flags &= ~PFOR_USEHWMS;
|
||||
+ pdesc->flags &= ~PFOR_USEHWMS;
|
||||
}
|
||||
#if DEBUG
|
||||
for (i=1; i<=0xff; i++)
|
||||
{
|
||||
- printf("hwm[%02x] = %d\n", i, pdesc.hwms[i]);
|
||||
+ printf("hwm[%02x] = %d\n", i, pdesc->hwms[i]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
- return (&pdesc);
|
||||
+ return (pdesc);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -327,12 +329,14 @@
|
||||
if (fseek(pwp->ifp, 0L, 0))
|
||||
{
|
||||
fprintf(stderr, "index magic fseek failed\n");
|
||||
+ free(pwp);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
if (!fwrite((char *) &pwp->header, sizeof(pwp->header), 1, pwp->ifp))
|
||||
{
|
||||
fprintf(stderr, "index magic fwrite failed\n");
|
||||
+ free(pwp);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
@@ -366,6 +370,7 @@
|
||||
}
|
||||
|
||||
pwp->header.pih_magic = 0;
|
||||
+ free(pwp);
|
||||
|
||||
return (0);
|
||||
}
|
||||
diff -Naur cracklib-2.9.11-orig/lib/rules.c cracklib-2.9.11/lib/rules.c
|
||||
--- cracklib-2.9.11-orig/lib/rules.c 2023-04-02 14:15:05.000000000 -0400
|
||||
+++ cracklib-2.9.11/lib/rules.c 2023-07-07 18:58:04.892943574 -0400
|
||||
@@ -80,12 +80,12 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Reverse(str) /* return a pointer to a reversal */
|
||||
+Reverse(str, area) /* return a pointer to a reversal */
|
||||
char *str;
|
||||
+ char *area;
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
- static char area[STRINGSIZE];
|
||||
j = i = strlen(str);
|
||||
while (*str)
|
||||
{
|
||||
@@ -96,11 +96,11 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Uppercase(str) /* return a pointer to an uppercase */
|
||||
+Uppercase(str, area) /* return a pointer to an uppercase */
|
||||
char *str;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*str)
|
||||
{
|
||||
@@ -113,11 +113,11 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Lowercase(str) /* return a pointer to an lowercase */
|
||||
+Lowercase(str, area) /* return a pointer to an lowercase */
|
||||
char *str;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*str)
|
||||
{
|
||||
@@ -130,11 +130,11 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Capitalise(str) /* return a pointer to an capitalised */
|
||||
+Capitalise(str, area) /* return a pointer to an capitalised */
|
||||
char *str;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
|
||||
while (*str)
|
||||
@@ -149,11 +149,11 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Pluralise(string) /* returns a pointer to a plural */
|
||||
+Pluralise(string, area) /* returns a pointer to a plural */
|
||||
char *string;
|
||||
+ char *area;
|
||||
{
|
||||
int length;
|
||||
- static char area[STRINGSIZE];
|
||||
length = strlen(string);
|
||||
strcpy(area, string);
|
||||
|
||||
@@ -190,13 +190,13 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Substitute(string, old, new) /* returns pointer to a swapped about copy */
|
||||
+Substitute(string, old, new, area) /* returns pointer to a swapped about copy */
|
||||
char *string;
|
||||
char old;
|
||||
char new;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*string)
|
||||
{
|
||||
@@ -208,12 +208,12 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Purge(string, target) /* returns pointer to a purged copy */
|
||||
+Purge(string, target, area) /* returns pointer to a purged copy */
|
||||
char *string;
|
||||
char target;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*string)
|
||||
{
|
||||
@@ -370,13 +370,13 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-PolySubst(string, class, new) /* returns pointer to a swapped about copy */
|
||||
+PolySubst(string, class, new, area) /* returns pointer to a swapped about copy */
|
||||
char *string;
|
||||
char class;
|
||||
char new;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*string)
|
||||
{
|
||||
@@ -388,12 +388,12 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-PolyPurge(string, class) /* returns pointer to a purged copy */
|
||||
+PolyPurge(string, class, area) /* returns pointer to a purged copy */
|
||||
char *string;
|
||||
char class;
|
||||
+ char *area;
|
||||
{
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE];
|
||||
ptr = area;
|
||||
while (*string)
|
||||
{
|
||||
@@ -426,39 +426,40 @@
|
||||
}
|
||||
|
||||
char *
|
||||
-Mangle(input, control) /* returns a pointer to a controlled Mangle */
|
||||
+Mangle(input, control, area) /* returns a pointer to a controlled Mangle */
|
||||
char *input;
|
||||
char *control;
|
||||
+ char *area;
|
||||
{
|
||||
int limit;
|
||||
char *ptr;
|
||||
- static char area[STRINGSIZE * 2] = {0};
|
||||
char area2[STRINGSIZE * 2] = {0};
|
||||
strcpy(area, input);
|
||||
|
||||
for (ptr = control; *ptr; ptr++)
|
||||
{
|
||||
+ strcpy(area2, area);
|
||||
switch (*ptr)
|
||||
{
|
||||
case RULE_NOOP:
|
||||
break;
|
||||
case RULE_REVERSE:
|
||||
- strcpy(area, Reverse(area));
|
||||
+ Reverse(area2, area);
|
||||
break;
|
||||
case RULE_UPPERCASE:
|
||||
- strcpy(area, Uppercase(area));
|
||||
+ Uppercase(area2, area);
|
||||
break;
|
||||
case RULE_LOWERCASE:
|
||||
- strcpy(area, Lowercase(area));
|
||||
+ Lowercase(area2, area);
|
||||
break;
|
||||
case RULE_CAPITALISE:
|
||||
- strcpy(area, Capitalise(area));
|
||||
+ Capitalise(area2, area);
|
||||
break;
|
||||
case RULE_PLURALISE:
|
||||
- strcpy(area, Pluralise(area));
|
||||
+ Pluralise(area2, area);
|
||||
break;
|
||||
case RULE_REFLECT:
|
||||
- strcat(area, Reverse(area));
|
||||
+ strcat(area, Reverse(area, area2));
|
||||
break;
|
||||
case RULE_DUPLICATE:
|
||||
strcpy(area2, area);
|
||||
@@ -545,7 +546,6 @@
|
||||
Debug(1, "Mangle: extract: weird argument in '%s'\n", control);
|
||||
return NULL;
|
||||
}
|
||||
- strcpy(area2, area);
|
||||
for (i = 0; length-- && area2[start + i]; i++)
|
||||
{
|
||||
area[i] = area2[start + i];
|
||||
@@ -616,10 +616,10 @@
|
||||
return NULL;
|
||||
} else if (ptr[1] != RULE_CLASS)
|
||||
{
|
||||
- strcpy(area, Purge(area, *(++ptr)));
|
||||
+ Purge(area2, *(++ptr), area);
|
||||
} else
|
||||
{
|
||||
- strcpy(area, PolyPurge(area, ptr[2]));
|
||||
+ PolyPurge(area2, ptr[2], area);
|
||||
ptr += 2;
|
||||
}
|
||||
break;
|
||||
@@ -630,11 +630,11 @@
|
||||
return NULL;
|
||||
} else if (ptr[1] != RULE_CLASS)
|
||||
{
|
||||
- strcpy(area, Substitute(area, ptr[1], ptr[2]));
|
||||
+ Substitute(area2, ptr[1], ptr[2], area);
|
||||
ptr += 2;
|
||||
} else
|
||||
{
|
||||
- strcpy(area, PolySubst(area, ptr[2], ptr[3]));
|
||||
+ PolySubst(area2, ptr[2], ptr[3], area);
|
||||
ptr += 3;
|
||||
}
|
||||
break;
|
@ -0,0 +1,112 @@
|
||||
diff -Naur cracklib-2.9.11-orig/lib/fascist.c cracklib-2.9.11/lib/fascist.c
|
||||
--- cracklib-2.9.11-orig/lib/fascist.c 2023-07-07 21:18:25.582821076 -0400
|
||||
+++ cracklib-2.9.11/lib/fascist.c 2023-07-07 21:19:55.130234075 -0400
|
||||
@@ -55,7 +55,6 @@
|
||||
|
||||
"/?p@?p", /* purging out punctuation/symbols/junk */
|
||||
"/?s@?s",
|
||||
- "/?X@?X",
|
||||
|
||||
/* attempt reverse engineering of password strings */
|
||||
|
||||
@@ -454,6 +453,12 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
+ if (len - strlen(mp) >= 3)
|
||||
+ {
|
||||
+ /* purged too much */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
#ifdef DEBUG
|
||||
printf("%-16s = %-16s (destruct %s)\n", mp, rawtext, r_destructors[i]);
|
||||
#endif
|
||||
@@ -480,6 +485,12 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
+ if (len - strlen(mp) >= 3)
|
||||
+ {
|
||||
+ /* purged too much */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
#ifdef DEBUG
|
||||
printf("%-16s = %-16s (construct %s)\n", mp, password, r_constructors[i]);
|
||||
#endif
|
||||
@@ -708,6 +719,7 @@
|
||||
char rpassword[STRINGSIZE];
|
||||
char area[STRINGSIZE];
|
||||
uint32_t notfound;
|
||||
+ int len;
|
||||
|
||||
notfound = PW_WORDS(pwp);
|
||||
/* already truncated if from FascistCheck() */
|
||||
@@ -757,6 +769,7 @@
|
||||
return _("it is all whitespace");
|
||||
}
|
||||
|
||||
+ len = strlen(password);
|
||||
i = 0;
|
||||
ptr = password;
|
||||
while (ptr[0] && ptr[1])
|
||||
@@ -768,10 +781,9 @@
|
||||
ptr++;
|
||||
}
|
||||
|
||||
- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP
|
||||
- would generate many false positives for long passwords. */
|
||||
- maxrepeat = 3+(0.09*strlen(password));
|
||||
- if (i > maxrepeat)
|
||||
+ /* We were still generating false positives for long passwords.
|
||||
+ Just count systematic double as a single character. */
|
||||
+ if (len - i < MINLEN)
|
||||
{
|
||||
return _("it is too simplistic/systematic");
|
||||
}
|
||||
@@ -804,6 +816,12 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
+ if (len - strlen(a) >= 3)
|
||||
+ {
|
||||
+ /* purged too much */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
#ifdef DEBUG
|
||||
printf("%-16s (dict)\n", a);
|
||||
#endif
|
||||
@@ -824,6 +842,13 @@
|
||||
{
|
||||
continue;
|
||||
}
|
||||
+
|
||||
+ if (len - strlen(a) >= 3)
|
||||
+ {
|
||||
+ /* purged too much */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
#ifdef DEBUG
|
||||
printf("%-16s (reversed dict)\n", a);
|
||||
#endif
|
||||
diff -Naur cracklib-2.9.11-orig/util/cracklib-format cracklib-2.9.11/util/cracklib-format
|
||||
--- cracklib-2.9.11-orig/util/cracklib-format 2024-07-30 10:14:59.364641602 +0200
|
||||
+++ cracklib-2.9.11/util/cracklib-format 2024-07-30 10:15:34.208982313 +0200
|
||||
@@ -10,10 +10,12 @@
|
||||
# lines (possibly introduced by earlier parts of the pipeline) as
|
||||
# cracklib-packer will generate "skipping line" warnings otherwise.
|
||||
#
|
||||
+LC_ALL=C
|
||||
+export LC_ALL
|
||||
gzip -cdf "$@" |
|
||||
grep -a -v '^#' |
|
||||
tr '[A-Z]' '[a-z]' |
|
||||
- tr -cd '\012[a-z][0-9]' |
|
||||
+ tr -cd '\n[:graph:]' |
|
||||
cut -c 1-1022 |
|
||||
grep -v '^$' |
|
||||
- env LC_ALL=C sort -u
|
||||
+ sort -u
|
@ -0,0 +1,78 @@
|
||||
# translation of cracklib.default.po to Wei Liu
|
||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Leah Liu <lliu@redhat.com>, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cracklib.default\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-03-02 21:00-0600\n"
|
||||
"PO-Revision-Date: 2010-09-07 23:42+1000\n"
|
||||
"Last-Translator: Leah Liu <lliu@redhat.com>\n"
|
||||
"Language-Team: Wei Liu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: lib/fascist.c:550
|
||||
msgid "you are not registered in the password file"
|
||||
msgstr "尚未在口令文件中注册"
|
||||
|
||||
#: lib/fascist.c:564
|
||||
msgid "it is based on your username"
|
||||
msgstr "它基于用户名"
|
||||
|
||||
#: lib/fascist.c:629
|
||||
msgid "it is based upon your password entry"
|
||||
msgstr "它基于输入的口令"
|
||||
|
||||
#: lib/fascist.c:649
|
||||
msgid "it is derived from your password entry"
|
||||
msgstr "它派生自输入的口令"
|
||||
|
||||
#: lib/fascist.c:662
|
||||
msgid "it's derived from your password entry"
|
||||
msgstr "它派生自输入的口令"
|
||||
|
||||
#: lib/fascist.c:676
|
||||
msgid "it is derivable from your password entry"
|
||||
msgstr "可从输入的口令推断"
|
||||
|
||||
#: lib/fascist.c:690
|
||||
msgid "it's derivable from your password entry"
|
||||
msgstr "可从输入的口令推断"
|
||||
|
||||
#: lib/fascist.c:726
|
||||
msgid "it is WAY too short"
|
||||
msgstr "WAY 过短"
|
||||
|
||||
#: lib/fascist.c:731
|
||||
msgid "it is too short"
|
||||
msgstr "过短"
|
||||
|
||||
#: lib/fascist.c:748
|
||||
msgid "it does not contain enough DIFFERENT characters"
|
||||
msgstr "它没有包含足够的不同字符"
|
||||
|
||||
#: lib/fascist.c:762
|
||||
msgid "it is all whitespace"
|
||||
msgstr "全是空格"
|
||||
|
||||
#: lib/fascist.c:781
|
||||
msgid "it is too simplistic/systematic"
|
||||
msgstr "过于简单化/系统化"
|
||||
|
||||
#: lib/fascist.c:786
|
||||
msgid "it looks like a National Insurance number."
|
||||
msgstr "看起来像国家保险号码。"
|
||||
|
||||
#: lib/fascist.c:813
|
||||
msgid "it is based on a dictionary word"
|
||||
msgstr "它基于字典单词"
|
||||
|
||||
#: lib/fascist.c:832
|
||||
msgid "it is based on a (reversed) dictionary word"
|
||||
msgstr "它基于(颠倒的)字典单词"
|
||||
|
@ -0,0 +1,649 @@
|
||||
# Reflects the values hard-coded in various Makefile.am's in the source tree.
|
||||
%define dictdir %{_datadir}/cracklib
|
||||
%define dictpath %{dictdir}/pw_dict
|
||||
|
||||
Summary: A password-checking library
|
||||
Name: cracklib
|
||||
Version: 2.9.11
|
||||
Release: 7%{?dist}
|
||||
URL: https://github.com/cracklib/cracklib
|
||||
License: LGPL-2.1-or-later
|
||||
|
||||
Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz
|
||||
Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz
|
||||
# From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449
|
||||
Source2: cracklib.default.zh_CN.po
|
||||
# No upstream source for this, just words missing from the current cracklib-words
|
||||
Source3: missing-words.gz
|
||||
|
||||
Patch: cracklib-2.9.11-packlib-reentrant.patch
|
||||
Patch: cracklib-2.9.11-simplistic.patch
|
||||
# https://github.com/cracklib/cracklib/pull/92
|
||||
Patch: cracklib-2.9.11-man.patch
|
||||
|
||||
BuildRequires: gcc autoconf automake libtool
|
||||
BuildRequires: words, gettext
|
||||
BuildRequires: gettext-autopoint
|
||||
BuildRequires: zlib-devel
|
||||
Conflicts: cracklib-dicts < 2.8
|
||||
# The cracklib-format script calls gzip, but without a specific path.
|
||||
Requires: gzip
|
||||
|
||||
%description
|
||||
CrackLib tests passwords to determine whether they match certain
|
||||
security-oriented characteristics, with the purpose of stopping users
|
||||
from choosing passwords that are easy to guess. CrackLib performs
|
||||
several tests on passwords: it tries to generate words from a username
|
||||
and gecos entry and checks those words against the password; it checks
|
||||
for simplistic patterns in passwords; and it checks for the password
|
||||
in a dictionary.
|
||||
|
||||
CrackLib is actually a library containing a particular C function
|
||||
which is used to check the password, as well as other C
|
||||
functions. CrackLib is not a replacement for a passwd program; it must
|
||||
be used in conjunction with an existing passwd program.
|
||||
|
||||
Install the cracklib package if you need a program to check users'
|
||||
passwords to see if they are at least minimally secure. If you install
|
||||
CrackLib, you will also want to install the cracklib-dicts package.
|
||||
|
||||
%package devel
|
||||
Summary: Development files needed for building applications which use cracklib
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The cracklib-devel package contains the header files and libraries needed
|
||||
for compiling applications which use cracklib.
|
||||
|
||||
%package dicts
|
||||
Summary: The standard CrackLib dictionaries
|
||||
BuildRequires: words >= 2-13
|
||||
BuildRequires: make
|
||||
Requires: cracklib = %{version}-%{release}
|
||||
|
||||
%description dicts
|
||||
The cracklib-dicts package includes the CrackLib dictionaries.
|
||||
CrackLib will need to use the dictionary appropriate to your system,
|
||||
which is normally put in /usr/share/dict/words. Cracklib-dicts also
|
||||
contains the utilities necessary for the creation of new dictionaries.
|
||||
|
||||
If you are installing CrackLib, you should also install cracklib-dicts.
|
||||
|
||||
%prep
|
||||
%autosetup -p 1
|
||||
|
||||
# Replace zn_CN.po with one that wasn't mis-transcoded at some point.
|
||||
install -p -m 644 %{SOURCE2} po/zh_CN.po
|
||||
|
||||
mkdir cracklib-dicts
|
||||
for dict in %{SOURCE3} %{SOURCE1}
|
||||
do
|
||||
cp -fv ${dict} cracklib-dicts/
|
||||
done
|
||||
chmod +x util/cracklib-format
|
||||
|
||||
%build
|
||||
# Makefile.am was changed by patch for adding man page
|
||||
autoreconf -fvi
|
||||
# Use the dictionary from the build to test
|
||||
sed -i 's,util/cracklib-check <,util/cracklib-check $(DESTDIR)/$(DEFAULT_CRACKLIB_DICT) <,' Makefile.in
|
||||
%configure --with-pic \
|
||||
--without-python \
|
||||
--with-default-dict=%{dictpath} --disable-static
|
||||
make -C po update-gmo
|
||||
make
|
||||
|
||||
%install
|
||||
%make_install 'pythondir=${pyexecdir}'
|
||||
./util/cracklib-format cracklib-dicts/* | \
|
||||
./util/cracklib-packer %{buildroot}%{dictpath}
|
||||
./util/cracklib-format %{buildroot}%{dictdir}/cracklib-small | \
|
||||
./util/cracklib-packer %{buildroot}%{dictdir}/cracklib-small
|
||||
rm -f %{buildroot}%{dictdir}/cracklib-small
|
||||
sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > %{buildroot}%{_includedir}/crack.h
|
||||
ln -s cracklib-format %{buildroot}%{_sbindir}/mkdict
|
||||
# packer link removed as it clashes with hashicorp's packer binary.
|
||||
#ln -s cracklib-packer %{buildroot}/%{_sbindir}/packer
|
||||
touch %{buildroot}/top
|
||||
|
||||
toprelpath=..
|
||||
touch %{buildroot}/top
|
||||
while ! test -f %{buildroot}%{_libdir}/$toprelpath/top ; do
|
||||
toprelpath=../$toprelpath
|
||||
done
|
||||
rm -f %{buildroot}/top
|
||||
if test %{dictpath} != %{_libdir}/cracklib_dict ; then
|
||||
ln -s $toprelpath%{dictpath}.hwm %{buildroot}%{_libdir}/cracklib_dict.hwm
|
||||
ln -s $toprelpath%{dictpath}.pwd %{buildroot}%{_libdir}/cracklib_dict.pwd
|
||||
ln -s $toprelpath%{dictpath}.pwi %{buildroot}%{_libdir}/cracklib_dict.pwi
|
||||
fi
|
||||
rm -f %{buildroot}%{_libdir}/python*/site-packages/_cracklib*.*a
|
||||
rm -f %{buildroot}%{_libdir}/libcrack.la
|
||||
|
||||
mkdir -p %{buildroot}%{_mandir}/man{3,8}
|
||||
install -p -m644 doc/*.3 %{buildroot}%{_mandir}/man3/
|
||||
install -p -m644 doc/*.8 %{buildroot}%{_mandir}/man8/
|
||||
if ! test -s %{buildroot}%{_mandir}/man8/cracklib-packer.8 ; then
|
||||
echo .so man8/cracklib-format.8 > %{buildroot}%{_mandir}/man8/cracklib-packer.8
|
||||
fi
|
||||
if ! test -s %{buildroot}%{_mandir}/man8/cracklib-unpacker.8 ; then
|
||||
echo .so man8/cracklib-format.8 > %{buildroot}%{_mandir}/man8/cracklib-unpacker.8
|
||||
fi
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%check
|
||||
make test DESTDIR=%{buildroot}
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc README README-WORDS NEWS README-LICENSE AUTHORS
|
||||
%license COPYING.LIB
|
||||
%{_libdir}/libcrack.so.*
|
||||
%dir %{_datadir}/cracklib
|
||||
%{_datadir}/cracklib/cracklib.magic
|
||||
%{_sbindir}/*cracklib*
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
%{_libdir}/libcrack.so
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%files dicts
|
||||
%{_datadir}/cracklib/pw_dict.*
|
||||
%{_datadir}/cracklib/cracklib-small.*
|
||||
%{_libdir}/cracklib_dict.*
|
||||
%{_sbindir}/mkdict
|
||||
|
||||
%changelog
|
||||
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 2.9.11-7
|
||||
- Rebuilt for MSVSphere 10
|
||||
|
||||
* Tue Jul 30 2024 Veronika Hanulikova <vhanulik@redhat.com> - 2.9.11-7
|
||||
- Add missing man page for create-cracklib-dict (RHEL-39972)
|
||||
- Preserve special characters in cracklib-format (RHEL-39972)
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.9.11-6
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Aug 04 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 2.9.11-3
|
||||
- migrated to SPDX license
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jul 07 2023 Paul Wouters <paul.wouters@aiven.io - 2.9.11-1
|
||||
- Resolves: rhbz#2123955 cracklib-2.9.11 is available
|
||||
- Remove old patches, port remaining patches to 2.9.11
|
||||
- Use man pages from doc/ instead of pulling them from debian
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-31
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Tue Aug 30 2022 Parag Nemade <pnemade AT redhat DOT com> - 2.9.7-30
|
||||
- As -dicts subpackage installs files under %%{_libdir} path it should not be noarch
|
||||
- this fixes FTBFS on F37+
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Aug 30 2021 Paul Wouters <paul.wouters@aiven.io> - 2.9.6-27
|
||||
- Resolves: rhbz#1994196 Remove /usr/bin/packer symbolic link
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 2.9.6-23
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Aug 9 2019 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-21
|
||||
- Drop Python 2 bindings completely
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Nov 26 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-18
|
||||
- Fix regression in dictionary creation and lookup
|
||||
|
||||
* Wed Oct 10 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-17
|
||||
- Fix minor bug found in the Coverity scan
|
||||
|
||||
* Tue Oct 9 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-16
|
||||
- Updated translations
|
||||
|
||||
* Fri Jul 13 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-15
|
||||
- The test must use the dictionary from the build
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 21 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-13
|
||||
- Drop Python 2 support in RHEL
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.9.6-11
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Wed Jan 03 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.9.6-10
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.9.6-9
|
||||
- Add Provides for the old name without %%_isa
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.9.6-8
|
||||
- Python 2 binary package renamed to python2-cracklib
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Dec 8 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.6-4
|
||||
- fix CVE-2016-6318 - avoid overflows in GECOS handling and mangling password (#1364944)
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.6-3
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Oct 23 2015 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-1
|
||||
- new upstream release
|
||||
- cleanup of the word lists
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Fri Jul 11 2014 Tom Callaway <spot@fedoraproject.org> - 2.9.1-4
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed Feb 5 2014 Tomáš Mráz <tmraz@redhat.com> - 2.9.1-2
|
||||
- move python files to libdir
|
||||
|
||||
* Mon Dec 9 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.1-1
|
||||
- new upstream release
|
||||
|
||||
* Mon Dec 2 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-9
|
||||
- update only .gmo files to avoid multilib conflicts (#1036305)
|
||||
|
||||
* Thu Nov 28 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-8
|
||||
- updated translations
|
||||
|
||||
* Thu Oct 31 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-7
|
||||
- do not remove any printable characters in cracklib-format
|
||||
|
||||
* Thu Oct 31 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-6
|
||||
- fix the broken zh_CN translation
|
||||
|
||||
* Tue Sep 3 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-5
|
||||
- make the simplistic check and the purging of special characters much
|
||||
less aggressive (#1003624, #985378)
|
||||
|
||||
* Wed Aug 28 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-4
|
||||
- revert compression of the dictionaries as the performance penalty is too big
|
||||
|
||||
* Wed Aug 21 2013 Tomáš Mráz <tmraz@redhat.com> - 2.9.0-3
|
||||
- fix the python module to work with compressed dictionaries (#972542)
|
||||
- fix various dictionary lookup errors (#986400, #986401)
|
||||
- make the library reentrant and fix compilation warnings
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Mon Jun 3 2013 Nalin Dahyabhai <nalin@redhat.com> - 2.9.0-1
|
||||
- update to 2.9.0 (#970065)
|
||||
- adds FascistCheckUser()
|
||||
- go ahead and compress the main dictionary, since we're linking with zlib
|
||||
anyway
|
||||
|
||||
* Tue Jan 29 2013 Nalin Dahyabhai <nalin@redhat.com> - 2.8.22-3
|
||||
- point cracklib-packer and cracklib-unpacker man pages to cracklib-format
|
||||
(internal tooling)
|
||||
|
||||
* Wed Dec 19 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.22-2
|
||||
- add missing buildrequires: on zlib-devel (#888876)
|
||||
|
||||
* Mon Dec 17 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.22-1
|
||||
- update to 2.8.22 (#887461), which now returns an error instead of exiting
|
||||
when there's a failure opening the dictionary in FascistCheck()
|
||||
|
||||
* Thu Dec 13 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.21-1
|
||||
- update to 2.8.21
|
||||
|
||||
* Mon Dec 10 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.20-1
|
||||
- update to 2.8.20 (#885439)
|
||||
|
||||
* Tue Nov 20 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.19-3
|
||||
- update the copy of the debian source package to one that can currently be
|
||||
retrieved using the URL we list for it
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.19-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Fri May 18 2012 Nalin Dahyabhai <nalin@redhat.com> - 2.8.19-1
|
||||
- update to 2.8.19
|
||||
|
||||
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.18-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.18-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Jan 27 2011 Nalin Dahyabhai <nalin@redhat.com> - 2.8.18-1
|
||||
- update to 2.8.18
|
||||
- add man pages from Debian (#583932)
|
||||
- replace zh_CN translation (related to #627449)
|
||||
|
||||
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.8.16-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Sat Jul 3 2010 Dan Horák <dan[at]danny.cz> - 2.8.16-3
|
||||
- added gettext-autopoint as BR:
|
||||
|
||||
* Thu May 20 2010 Nalin Dahyabhai <nalin@redhat.com> - 2.8.16-2
|
||||
- pull in changes to the Hindi translation (#589188)
|
||||
|
||||
* Tue Apr 20 2010 Nalin Dahyabhai <nalin@redhat.com> - 2.8.16-1
|
||||
- update to 2.8.16
|
||||
|
||||
* Fri Jan 22 2010 Nalin Dahyabhai <nalin@redhat.com> - 2.8.15-3
|
||||
- add passwords derived from rockyou breach data to the dictionaries (Matthew
|
||||
Miller, #557592)
|
||||
|
||||
* Thu Jan 21 2010 Nalin Dahyabhai <nalin@redhat.com> - 2.8.15-2
|
||||
- update license: tag
|
||||
- include license file
|
||||
|
||||
* Tue Dec 1 2009 Nalin Dahyabhai <nalin@redhat.com> - 2.8.15-1
|
||||
- update to 2.8.15
|
||||
- update cracklib-words to the current version (2008-05-07)
|
||||
- fixup URLs for various dictionary sources that we use
|
||||
- fix freeing-an-uninitialized-pointer in the python module (SF#2907102)
|
||||
- add a disttag
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.13-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Mon May 18 2009 Nalin Dahyabhai <nalin@redhat.com> - 2.8.13-5
|
||||
- add explicit dependency on gzip for the sake of cracklib-format (Daniel
|
||||
Mach, #501278)
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.13-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Thu Feb 19 2009 Nalin Dahyabhai <nalin@redhat.com> - 2.8.13-3
|
||||
- drop trailing "." from the package description for the dicts
|
||||
subpackage (#225659)
|
||||
|
||||
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.8.13-2
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* Tue Oct 28 2008 Nalin Dahyabhai <nalin@redhat.com> - 2.8.13-1
|
||||
- update to 2.8.13, which overhauls the python bindings and revises
|
||||
FascistCheck()'s behavior:
|
||||
2.8.12 success: returns None, fail: returns error text, other: exceptions
|
||||
2.8.13 success: returns candidate, fail: throws ValueError, other: exceptions
|
||||
|
||||
* Tue Oct 28 2008 Nalin Dahyabhai <nalin@redhat.com> - 2.8.12-3
|
||||
- fix errors rebuilding with libtool that's newer than the one upstream
|
||||
has (#467364)
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.8.12-2
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Fri Jan 25 2008 Nalin Dahyabhai <nalin@redhat.com> - 2.8.12-1
|
||||
- update to 2.8.12, which was relicensed to GPLv2
|
||||
- package the now-bundled cracklib-small dictionary in cracklib-dicts
|
||||
|
||||
* Tue Aug 21 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.10-3
|
||||
- rebuild
|
||||
|
||||
* Mon Jul 23 2007 Nalin Dahyabhai <nalin@redhat.com>
|
||||
- add a %%check script to catch things like #249210
|
||||
|
||||
* Mon Jul 23 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.10-2
|
||||
- work around non-executable util/cracklib-format giving us empty/garbage
|
||||
dictionaries (#249210)
|
||||
|
||||
* Thu Jul 19 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.10-1
|
||||
- update to 2.8.10
|
||||
|
||||
* Wed Jun 20 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-11
|
||||
- improve reports of out-of-memory exceptions so that they don't include a
|
||||
bogus filename
|
||||
- improve reports of file-missing exceptions from the python module so that
|
||||
they give the right filename (#225858)
|
||||
|
||||
* Mon Mar 12 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-10
|
||||
- explicitly include required headers from <packer.h> (#228698)
|
||||
- attempt to provide doc strings in the python module
|
||||
|
||||
* Mon Feb 12 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-9
|
||||
- drop final "." from summaries (Jef Spaleta, #225659)
|
||||
- drop static library from -devel subpackage (Jef Spaleta, #225659)
|
||||
- note that the most recently-added wordlist came from bugzilla (#225659)
|
||||
- remove explicit dependency on gzip, as it's implicit (Jef Spaleta, #225659)
|
||||
- convert %%triggerpostun to not use a shell as an interpreter (#225659)
|
||||
|
||||
* Wed Jan 31 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-8
|
||||
- add word list from attachment #126053 (#185314)
|
||||
|
||||
* Thu Jan 25 2007 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-7
|
||||
- fix check for the existence of dictionaries when the caller specifies a
|
||||
location (#224347, upstream #1644628)
|
||||
|
||||
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 2.8.9-6
|
||||
- rebuild against python 2.5
|
||||
|
||||
* Sun Oct 29 2006 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-5
|
||||
- split out cracklib-python (#203327)
|
||||
|
||||
* Sun Oct 29 2006 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-4
|
||||
- split out cracklib-devel (#203569)
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.8.9-3.1
|
||||
- rebuild
|
||||
|
||||
* Mon Jun 12 2006 Jesse Keating <jkeating@redhat.com> - 2.8.9-3
|
||||
- Add missing br, automake, libtool (#194738)
|
||||
|
||||
* Tue Apr 25 2006 Nalin Dahyabhai <nalin@redhat.com> - 2.8.9-2
|
||||
- update to 2.8.9
|
||||
- only create compat symlinks for the dictionaries if we aren't installing
|
||||
them into the old locations
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.8.6-1.2.1
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.8.6-1.2
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Mon Nov 7 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.6-1
|
||||
- update to 2.8.6
|
||||
- remove .la file (#172632)
|
||||
|
||||
* Wed Sep 28 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.5-2
|
||||
- update to 2.8.5
|
||||
|
||||
* Tue Sep 27 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.4-1
|
||||
- update to 2.8.4
|
||||
- build python module
|
||||
|
||||
* Fri May 13 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.3-1
|
||||
- update to 2.8.3
|
||||
|
||||
* Thu Mar 17 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.2-1
|
||||
- update to 2.8.2
|
||||
|
||||
* Wed Mar 16 2005 Nalin Dahyabhai <nalin@redhat.com> 2.8.1-1
|
||||
- update to 2.8.1
|
||||
- moves dictionary to new default location under %%{_datadir} -- the
|
||||
dictionary format is the same across all architectures
|
||||
- renames "packer" to "cracklib-packer"
|
||||
- conflict with cracklib-dicts < 2.8, where the on-disk format was not
|
||||
compatible on 64-bit arches due to now-fixed cleanliness bugs
|
||||
- move binaries for manipulating and checking words against dictionaries
|
||||
from -dicts into the main package
|
||||
|
||||
* Mon Jan 3 2005 Nalin Dahyabhai <nalin@redhat.com> 2.7-30
|
||||
- rebuild
|
||||
|
||||
* Mon Jan 3 2005 Nalin Dahyabhai <nalin@redhat.com> 2.7-29
|
||||
- correctly build on 64-bit systems (part of #143417)
|
||||
- patch so that 32- and 64-bit libcrack can read dictionaries which were
|
||||
incorrectly generated on 64-bit systems of the same endianness (more #143417)
|
||||
- include a sample cracklib magic file
|
||||
- stop using /usr/dict/* when building the dictionary
|
||||
- list words as a build requirement, which it is, instead of a run-time
|
||||
requirement
|
||||
- provide a virtual arch-specific dep in cracklib-dicts, require it in
|
||||
cracklib (part of #143417)
|
||||
|
||||
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Wed Feb 4 2004 Nalin Dahyabhai <nalin@redhat.com> 2.7-26
|
||||
- update URL (previous page moved) (#114894)
|
||||
|
||||
* Fri Jan 30 2004 Nalin Dahyabhai <nalin@redhat.com> 2.7-25
|
||||
- fix ldconfig invocation in trigger for older versions which included the
|
||||
soname symlink (#114620)
|
||||
|
||||
* Mon Dec 1 2003 Nalin Dahyabhai <nalin@redhat.com> 2.7-24
|
||||
- include packer.h for reading dictionaries directly, since we already include
|
||||
packer in the -dicts subpackage (#68339)
|
||||
- don't include the soname symlink in the package, let ldconfig do its job
|
||||
|
||||
* Wed Jun 18 2003 Nalin Dahyabhai <nalin@redhat.com> 2.7-23
|
||||
- rebuild
|
||||
|
||||
* Mon Jun 16 2003 Nalin Dahyabhai <nalin@redhat.com> 2.7-22
|
||||
- rebuild
|
||||
|
||||
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Wed Apr 30 2003 Nalin Dahyabhai <nalin@redhat.com>
|
||||
- update URL
|
||||
|
||||
* Tue Feb 04 2003 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||
- add symlink to shared libs
|
||||
|
||||
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Wed Sep 25 2002 Nalin Dahyabhai <nalin@redhat.com> 2.7-19
|
||||
- fix for builds on multilib systems (set DICTPATH properly)
|
||||
|
||||
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Sun May 26 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Thu May 9 2002 Nalin Dahyabhai <nalin@redhat.com> 2.7-16
|
||||
- rebuild in new environment
|
||||
|
||||
* Fri Feb 22 2002 Nalin Dahyabhai <nalin@redhat.com> 2.7-15
|
||||
- rebuild
|
||||
|
||||
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Tue Oct 2 2001 Nalin Dahyabhai <nalin@redhat.com> 2.7-13
|
||||
- use getpwuid_r instead of getpwuid
|
||||
|
||||
* Fri Aug 3 2001 Nalin Dahyabhai <nalin@redhat.com> 2.7-12
|
||||
- remove cruft that ldconfig already knows how to manage
|
||||
- don't explicitly strip anything -- the brp setup decides that
|
||||
- tweak the header so that it can be used in C++ (#46685)
|
||||
- buildprereq the words package
|
||||
|
||||
* Tue Jun 26 2001 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||
- add link from library major version number
|
||||
|
||||
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
|
||||
- Bump release + rebuild.
|
||||
|
||||
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
|
||||
- automatic rebuild
|
||||
|
||||
* Tue Jun 27 2000 Nalin Dahyabhai <nalin@redhat.com>
|
||||
- FHS fixes
|
||||
- fix undeclared function warnings from the new compiler
|
||||
- fix URL
|
||||
|
||||
* Fri Apr 07 2000 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- switched to use /usr/share/dict/words
|
||||
|
||||
* Tue Apr 06 1999 Preston Brown <pbrown@redhat.com>
|
||||
- strip binaries
|
||||
|
||||
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
|
||||
- auto rebuild in the new build environment (release 4)
|
||||
|
||||
* Wed Jan 06 1999 Cristian Gafton <gafton@redhat.com>
|
||||
- build for glibc 2.1
|
||||
|
||||
* Sat May 09 1998 Prospector System <bugs@redhat.com>
|
||||
- translations modified for de, fr, tr
|
||||
|
||||
* Tue Mar 10 1998 Cristian Gafton <gafton@redhat.com>
|
||||
- updated to 2.7
|
||||
- build shared libraries
|
||||
|
||||
* Mon Nov 03 1997 Donnie Barnes <djb@redhat.com>
|
||||
- added -fPIC
|
||||
|
||||
* Mon Oct 13 1997 Donnie Barnes <djb@redhat.com>
|
||||
- basic spec file cleanups
|
||||
|
||||
* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
|
||||
- built against glibc
|
Loading…
Reference in new issue