source: scripts/patches/cracklib,2.7-blfs-1.patch@ 689bfe5a

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 689bfe5a was 7f65c0e, checked in by Jim Gifford <clfs@…>, 19 years ago

r625@server (orig r623): jim | 2005-10-31 12:43:24 -0800
Final Move

  • Property mode set to 100644
File size: 6.0 KB
RevLine 
[617118d]1Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
2Date: 2004-04-22
3Initial Package Version: 2,7
4Origin: Jim Gifford & DJ Lucas
5Description: Makes Cracklib a dynamic library installed at /lib
6 Fixes buffer underruns
7 Add's missing header
8 Install's Missing Headers
9
10diff -Naur cracklib,2.7-orig/Makefile cracklib,2.7/Makefile
11--- cracklib,2.7-orig/Makefile 1997-12-31 04:33:53.000000000 -0600
12+++ cracklib,2.7/Makefile 2004-04-30 16:58:01.000000000 -0500
13@@ -7,14 +7,21 @@
14 ###
15
16 ###
17+# cracklib version
18+MAJOR=2
19+MINOR=7
20+VERSION=$(MAJOR).$(MINOR)
21+export MAJOR MINOR VERSION
22+
23+###
24 # set this to the absolute path (less extn) of compressed dict.
25
26-DICTPATH="/usr/local/lib/pw_dict"
27+DICTPATH="/lib/cracklib_dict"
28
29 ###
30 # Set this to the path of one or more files continaing wordlists.
31
32-SRCDICTS=/usr/dict/words
33+SRCDICTS=/usr/share/dict/words /usr/share/dict/extra.words
34
35 ###
36 # If you have installed the cracklib-dicts directory, use this
37@@ -36,7 +43,9 @@
38 -rm -f all installed Part* *.BAK *.bak *~
39
40 install: all
41+ ( cd cracklib && make install && exit $$? )
42+ ( cd util && make install && exit $$? )
43 @echo 'if "sort" dies from lack of space, see "util/mkdict"'
44- util/mkdict $(SRCDICTS) | util/packer $(DICTPATH)
45+ util/mkdict $(SRCDICTS) | LD_LIBRARY_PATH=cracklib util/packer $(DESTDIR)$(DICTPATH)
46 touch installed
47 ### @echo 'now go install passwd/passwd where you want it'
48diff -Naur cracklib,2.7-orig/cracklib/Makefile cracklib,2.7/cracklib/Makefile
49--- cracklib,2.7-orig/cracklib/Makefile 1997-12-14 16:49:21.000000000 -0600
50+++ cracklib,2.7/cracklib/Makefile 2004-04-30 16:58:01.000000000 -0500
51@@ -6,13 +6,24 @@
52 # and upwards.
53 ###
54
55-LIB= libcrack.a
56-OBJ= fascist.o packlib.o rules.o stringlib.o
57-CFLAGS= -O -I../cracklib -DIN_CRACKLIB
58+LIB = libcrack.so
59+OBJ = fascist.o packlib.o rules.o stringlib.o
60+CFLAGS += -g -I../cracklib -DIN_CRACKLIB -fPIC
61+LD = ld
62
63-$(LIB): $(OBJ)
64- ar rv $(LIB) $?
65- -ranlib $(LIB)
66+$(LIB): $(OBJ) Makefile
67+ $(LD) -shared -soname $(LIB).$(MAJOR) -o $(LIB).$(VERSION) $(OBJ) -lc
68+ rm -f $(LIB).$(MAJOR) $(LIB)
69+ ln -s $(LIB).$(VERSION) $(LIB).$(MAJOR)
70+ ln -s $(LIB).$(MAJOR) $(LIB)
71
72 clean:
73- -rm -f $(OBJ) $(LIB) *~
74+ -rm -f $(OBJ) $(LIB) $(LIB).$(VERSION) *~
75+
76+install: $(LIB) crack.h
77+ install -m 755 $(LIB).$(VERSION) $(DESTDIR)/lib
78+ ln -sf $(LIB).$(VERSION) $(DESTDIR)/lib/$(LIB)
79+ ln -sf $(DESTDIR)/lib/$(LIB).$(VERSION) $(DESTDIR)/lib/$(LIB).$(MAJOR)
80+
81+ install -m 644 packer.h $(DESTDIR)/usr/include
82+ install -m 644 crack.h $(DESTDIR)/usr/include
83diff -Naur cracklib,2.7-orig/cracklib/crack.h cracklib,2.7/cracklib/crack.h
84--- cracklib,2.7-orig/cracklib/crack.h 1969-12-31 18:00:00.000000000 -0600
85+++ cracklib,2.7/cracklib/crack.h 2004-04-30 17:11:03.000000000 -0500
86@@ -0,0 +1,15 @@
87+
88+#ifndef CRACKLIB_H
89+#define CRACKLIB_H
90+
91+/* Pass this function a password (pw) and a path to the
92+ * dictionaries (/lib/cracklib_dict should be specified)
93+ * and it will either return a NULL string, meaning that the
94+ * password is good, or a pointer to a string that explains the
95+ * problem with the password.
96+ * You must link with -lcrack
97+ */
98+
99+extern char *FascistCheck(char *pw, char *dictpath);
100+
101+#endif
102diff -Naur cracklib,2.7-orig/cracklib/fascist.c cracklib,2.7/cracklib/fascist.c
103--- cracklib,2.7-orig/cracklib/fascist.c 1997-12-31 04:26:46.000000000 -0600
104+++ cracklib,2.7/cracklib/fascist.c 2004-04-30 16:58:01.000000000 -0500
105@@ -11,6 +11,7 @@
106 #include "packer.h"
107 #include <sys/types.h>
108 #include <pwd.h>
109+#include <string.h>
110
111 #define ISSKIP(x) (isspace(x) || ispunct(x))
112
113@@ -659,7 +660,7 @@
114 return ("it does not contain enough DIFFERENT characters");
115 }
116
117- strcpy(password, Lowercase(password));
118+ strcpy(password, (char *)Lowercase(password));
119
120 Trim(password);
121
122@@ -722,7 +723,7 @@
123 }
124 }
125
126- strcpy(password, Reverse(password));
127+ strcpy(password, (char *)Reverse(password));
128
129 for (i = 0; r_destructors[i]; i++)
130 {
131diff -Naur cracklib,2.7-orig/util/Makefile cracklib,2.7/util/Makefile
132--- cracklib,2.7-orig/util/Makefile 1997-12-14 16:49:34.000000000 -0600
133+++ cracklib,2.7/util/Makefile 2004-04-30 16:58:01.000000000 -0500
134@@ -14,27 +14,31 @@
135 #SunOS users (and others?) should consider static linking of their passwd binary
136 #CFLAGS= -O -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"' -Bstatic
137
138-CFLAGS= -O -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"'
139-LIBS= ../cracklib/libcrack.a
140+CFLAGS += -I../cracklib '-DCRACKLIB_DICTPATH="$(DICTPATH)"'
141+LDFLAGS = -L../cracklib -lcrack
142+LIBS = ../cracklib/libcrack.so
143
144 all: packer unpacker testnum teststr testlib
145 touch all
146
147 packer: packer.o $(LIBS)
148- cc $(CFLAGS) -o $@ $@.o $(LIBS)
149+ $(CC) $(CFLAGS) -o $@ $@.o $(LDFLAGS)
150
151 unpacker: unpacker.o $(LIBS)
152- cc $(CFLAGS) -o $@ $@.o $(LIBS)
153+ $(CC) $(CFLAGS) -o $@ $@.o $(LDFLAGS)
154
155 testnum: testnum.o $(LIBS)
156- cc $(CFLAGS) -o $@ $@.o $(LIBS)
157+ $(CC) $(CFLAGS) -o $@ $@.o $(LDFLAGS)
158
159 teststr: teststr.o $(LIBS)
160- cc $(CFLAGS) -o $@ $@.o $(LIBS)
161+ $(CC) $(CFLAGS) -o $@ $@.o $(LDFLAGS)
162
163 testlib: testlib.o $(LIBS)
164- cc $(CFLAGS) -o $@ $@.o $(LIBS)
165+ $(CC) $(CFLAGS) -o $@ $@.o $(LDFLAGS)
166
167 clean:
168 -rm *.o *~ all
169 -rm teststr testnum testlib packer unpacker
170+
171+install: all create-cracklib-dict
172+ install -m 755 mkdict packer create-cracklib-dict $(DESTDIR)/usr/sbin
173diff -Naur cracklib,2.7-orig/util/create-cracklib-dict cracklib,2.7/util/create-cracklib-dict
174--- cracklib,2.7-orig/util/create-cracklib-dict 1969-12-31 18:00:00.000000000 -0600
175+++ cracklib,2.7/util/create-cracklib-dict 2004-04-30 16:58:01.000000000 -0500
176@@ -0,0 +1,15 @@
177+#!/bin/sh
178+if [ -z "$*" ]; then
179+ echo "Usage:"
180+ echo " /usr/sbin/create-cracklib-dict wordlist ..."
181+ echo
182+ echo "This script takes one or more word list files as arguments"
183+ echo "and converts them into cracklib dictionaries for use"
184+ echo "by password checking programs. The results are placed in"
185+ echo "/lib/cracklib_dict.*"
186+ echo
187+ echo "Example:"
188+ echo "/usr/sbin/create-cracklib-dict /usr/dict/words"
189+else
190+ /usr/sbin/mkdict $* | /usr/sbin/packer /usr/share/cracklib/pw_dict
191+fi
Note: See TracBrowser for help on using the repository browser.