cracklib/cracklib-2.7-redhat.patch

176 lines
5.0 KiB
Diff

--- cracklib,2.7/cracklib/fascist.c.rh Wed Dec 31 05:26:46 1997
+++ cracklib,2.7/cracklib/fascist.c Tue Mar 10 18:17:43 1998
@@ -11,6 +11,7 @@
#include "packer.h"
#include <sys/types.h>
#include <pwd.h>
+#include <string.h>
#define ISSKIP(x) (isspace(x) || ispunct(x))
@@ -659,7 +660,7 @@
return ("it does not contain enough DIFFERENT characters");
}
- strcpy(password, Lowercase(password));
+ strcpy(password, (char *)Lowercase(password));
Trim(password);
@@ -722,7 +723,7 @@
}
}
- strcpy(password, Reverse(password));
+ strcpy(password, (char *)Reverse(password));
for (i = 0; r_destructors[i]; i++)
{
--- cracklib,2.7/cracklib/Makefile.rh Sun Dec 14 17:49:21 1997
+++ cracklib,2.7/cracklib/Makefile Tue Mar 10 18:54:11 1998
@@ -6,13 +6,21 @@
# and upwards.
###
-LIB= libcrack.a
-OBJ= fascist.o packlib.o rules.o stringlib.o
-CFLAGS= -O -I../cracklib -DIN_CRACKLIB
+LIB = libcrack.so
+OBJ = fascist.o packlib.o rules.o stringlib.o
+CFLAGS = $(RPM_OPT_FLAGS) -g -I../cracklib -DIN_CRACKLIB -fPIC
+LD = ld
-$(LIB): $(OBJ)
- ar rv $(LIB) $?
- -ranlib $(LIB)
+$(LIB): $(OBJ) Makefile
+ $(LD) -shared -soname $(LIB).$(MAJOR) -o $(LIB).$(VERSION) $(OBJ) -lc
+ rm -f $(LIB).$(MAJOR) $(LIB)
+ ln -s $(LIB).$(VERSION) $(LIB).$(MAJOR)
+ ln -s $(LIB).$(MAJOR) $(LIB)
clean:
- -rm -f $(OBJ) $(LIB) *~
+ -rm -f $(OBJ) $(LIB) $(LIB).$(VERSION) *~
+
+install: $(LIB) crack.h
+ install -m 755 $(LIB).$(VERSION) $(ROOT)/usr/lib
+ ln -sf $(LIB).$(VERSION) $(ROOT)/usr/lib/$(LIB)
+ install -m 644 crack.h $(ROOT)/usr/include
--- cracklib,2.7/cracklib/crack.h.rh Tue Mar 10 18:17:43 1998
+++ cracklib,2.7/cracklib/crack.h Tue Mar 10 18:17:43 1998
@@ -0,0 +1,15 @@
+
+#ifndef CRACKLIB_H
+#define CRACKLIB_H
+
+/* Pass this function a password (pw) and a path to the
+ * dictionaries (/usr/lib/cracklib_dict should be specified)
+ * and it will either return a NULL string, meaning that the
+ * password is good, or a pointer to a string that explains the
+ * problem with the password.
+ * You must link with -lcrack
+ */
+
+extern char *FascistCheck(char *pw, char *dictpath);
+
+#endif
--- cracklib,2.7/util/Makefile.rh Sun Dec 14 17:49:34 1997
+++ cracklib,2.7/util/Makefile Tue Mar 10 18:17:43 1998
@@ -14,27 +14,31 @@
#SunOS users (and others?) should consider static linking of their passwd binary
#CFLAGS= -O -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"' -Bstatic
-CFLAGS= -O -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"'
-LIBS= ../cracklib/libcrack.a
+CFLAGS = $(RPM_OPT_FLAGS) -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"'
+LDFLAGS = -L../cracklib -lcrack
+LIBS = ../cracklib/libcrack.so
all: packer unpacker testnum teststr testlib
touch all
packer: packer.o $(LIBS)
- cc $(CFLAGS) -o $@ $@.o $(LIBS)
+ cc $(CFLAGS) -o $@ $@.o $(LDFLAGS)
unpacker: unpacker.o $(LIBS)
- cc $(CFLAGS) -o $@ $@.o $(LIBS)
+ cc $(CFLAGS) -o $@ $@.o $(LDFLAGS)
testnum: testnum.o $(LIBS)
- cc $(CFLAGS) -o $@ $@.o $(LIBS)
+ cc $(CFLAGS) -o $@ $@.o $(LDFLAGS)
teststr: teststr.o $(LIBS)
- cc $(CFLAGS) -o $@ $@.o $(LIBS)
+ cc $(CFLAGS) -o $@ $@.o $(LDFLAGS)
testlib: testlib.o $(LIBS)
- cc $(CFLAGS) -o $@ $@.o $(LIBS)
+ cc $(CFLAGS) -o $@ $@.o $(LDFLAGS)
clean:
-rm *.o *~ all
-rm teststr testnum testlib packer unpacker
+
+install: all create-cracklib-dict
+ install -m 755 mkdict packer create-cracklib-dict $(ROOT)/usr/sbin
--- cracklib,2.7/util/create-cracklib-dict.rh Tue Mar 10 18:17:43 1998
+++ cracklib,2.7/util/create-cracklib-dict Tue Mar 10 18:17:43 1998
@@ -0,0 +1,15 @@
+#!/bin/sh
+if [ -z "$*" ]; then
+ echo "Usage:"
+ echo " /usr/sbin/create-cracklib-dict wordlist ..."
+ echo
+ echo "This script takes one or more word list files as arguments"
+ echo "and converts them into cracklib dictionaries for use"
+ echo "by password checking programs. The results are placed in"
+ echo "/usr/lib/cracklib_dict.*"
+ echo
+ echo "Example:"
+ echo "/usr/sbin/create-cracklib-dict /usr/share/dict/words"
+else
+ /usr/sbin/mkdict $* | /usr/sbin/packer /usr/lib/cracklib_dict
+fi
--- cracklib,2.7/Makefile.rh Wed Dec 31 05:33:53 1997
+++ cracklib,2.7/Makefile Tue Mar 10 18:52:47 1998
@@ -7,14 +7,21 @@
###
###
+# cracklib version
+MAJOR=2
+MINOR=7
+VERSION=$(MAJOR).$(MINOR)
+export MAJOR MINOR VERSION
+
+###
# set this to the absolute path (less extn) of compressed dict.
-DICTPATH="/usr/local/lib/pw_dict"
+DICTPATH="/usr/lib/cracklib_dict"
###
# Set this to the path of one or more files continaing wordlists.
-SRCDICTS=/usr/dict/words
+SRCDICTS=/usr/share/dict/words /usr/share/dict/extra.words
###
# If you have installed the cracklib-dicts directory, use this
@@ -36,7 +43,9 @@
-rm -f all installed Part* *.BAK *.bak *~
install: all
+ ( cd cracklib && make install && exit $$? )
+ ( cd util && make install && exit $$? )
@echo 'if "sort" dies from lack of space, see "util/mkdict"'
- util/mkdict $(SRCDICTS) | util/packer $(DICTPATH)
+ util/mkdict $(SRCDICTS) | LD_LIBRARY_PATH=cracklib util/packer $(ROOT)$(DICTPATH)
touch installed
### @echo 'now go install passwd/passwd where you want it'
here you want it'
t it'