summaryrefslogtreecommitdiffhomepage
path: root/patches/john-1.8.0.local.patch
blob: 4865ad9fb42b1765914249d27dd2d5733b46082b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
diff -ru a/src/DES_bs.c b/src/DES_bs.c
--- a/src/DES_bs.c	2012-07-14 09:36:44.000000000 -0400
+++ b/src/DES_bs.c	2016-08-07 15:08:48.011369100 -0400
@@ -52,7 +52,7 @@
 };
 
 #if DES_BS_ASM
-extern void DES_bs_init_asm(void);
+extern void DES_INTERNAL DES_bs_init_asm(void);
 #endif
 
 void DES_bs_init(int LM, int cpt)
--- a/src/DES_bs.h	2013-05-06 02:19:49.000000000 -0400
+++ b/src/DES_bs.h	2019-02-23 12:06:05.913582953 -0500
@@ -35,6 +35,16 @@
 #define DES_bs_vector			ARCH_WORD
 #endif
 
+#ifndef HAVE_INTERNAL_ATTR
+#define HAVE_INTERNAL_ATTR 0
+#endif
+
+#if     HAVE_INTERNAL_ATTR
+#define DES_INTERNAL  __attribute__((visibility("internal")))
+#else
+#define DES_INTERNAL
+#endif
+
 /*
  * All bitslice DES parameters combined into one struct for more efficient
  * cache usage. Don't re-order unless you know what you're doing, as there
@@ -112,7 +122,7 @@
 #else
 #define DES_bs_mt			0
 #define DES_bs_cpt			1
-extern DES_bs_combined DES_bs_all;
+extern  DES_INTERNAL DES_bs_combined DES_bs_all;
 #define for_each_t(n)
 #define init_t()
 #endif
@@ -120,7 +130,7 @@
 /*
  * Initializes the internal structures.
  */
-extern void DES_bs_init(int LM, int cpt);
+extern void DES_INTERNAL DES_bs_init(int LM, int cpt);
 
 /*
  * Sets a salt for DES_bs_crypt().
@@ -139,17 +149,17 @@
 /*
  * Almost generic implementation: 24-bit salts, variable iteration count.
  */
-extern void DES_bs_crypt(int count, int keys_count);
+extern void DES_INTERNAL DES_bs_crypt(int count, int keys_count);
 
 /*
  * A simplified special-case implementation: 12-bit salts, 25 iterations.
  */
-extern void DES_bs_crypt_25(int keys_count);
+extern void DES_INTERNAL DES_bs_crypt_25(int keys_count);
 
 /*
  * Another special-case version: a non-zero IV, no salts, no iterations.
  */
-extern int DES_bs_crypt_LM(int *keys_count, struct db_salt *salt);
+extern int DES_INTERNAL DES_bs_crypt_LM(int *keys_count, struct db_salt *salt);
 
 /*
  * Converts an ASCII ciphertext to binary to be used with one of the
--- john-1.8.0/src/Makefile.orig	2013-05-29 23:21:25.000000000 +0000
+++ john-1.8.0/src/Makefile	2016-09-11 21:19:18.930129331 +0000
@@ -32,7 +32,7 @@
 # CFLAGS for use on the main john.c file only
 CFLAGS_MAIN = $(CFLAGS)
 ASFLAGS = -c $(OMPFLAGS)
-LDFLAGS = -s $(OMPFLAGS)
+LDFLAGS = $(LDFLAGS_DEBUG) $(OMPFLAGS)
 OPT_NORMAL = -funroll-loops
 # Remove the "-Os" if you're using an ancient version of gcc
 OPT_INLINE = -Os -funroll-loops -finline-functions
@@ -104,6 +104,13 @@
 #	@echo "linux-ppc64-altivec      Linux, PowerPC 64-bit w/AltiVec"
 	@echo "linux-ppc64              Linux, PowerPC 64-bit"
 	@echo "linux-ia64               Linux, IA-64"
+	@echo "midipix-x86-64-avx       Midipix, x86-64 with AVX (2011+ Intel CPUs)"
+	@echo "midipix-x86-64           Midipix, x86-64 with SSE2 (most common)"
+	@echo "midipix-x86-avx          Midipix, x86 32-bit with AVX (2011+ Intel CPUs)"
+	@echo "midipix-x86-xop          Midipix, x86 32-bit with AVX and XOP (2011+ AMD CPUs)"
+	@echo "midipix-x86-sse2         Midipix, x86 32-bit with SSE2 (most common, if 32-bit)"
+	@echo "midipix-x86-mmx          Midipix, x86 32-bit with MMX (for old computers)"
+	@echo "midipix-x86-any          Midipix, x86 32-bit (for truly ancient computers)"
 	@echo "freebsd-x86-64           FreeBSD, x86-64 with SSE2 (best)"
 	@echo "freebsd-x86-sse2         FreeBSD, x86 with SSE2 (best if 32-bit)"
 	@echo "freebsd-x86-mmx          FreeBSD, x86 with MMX"
@@ -306,6 +313,64 @@
 		CFLAGS="$(CFLAGS) -DHAVE_CRYPT" \
 		LDFLAGS="$(LDFLAGS) -lcrypt"
 
+midipix-x86-64-avx:
+	$(LN) x86-64.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86-64.o" \
+		CFLAGS_MAIN="$(CFLAGS) -DJOHN_AVX -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR" \
+		CFLAGS="$(CFLAGS) -mavx -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR" \
+		ASFLAGS="$(ASFLAGS) -mavx" \
+		LDFLAGS="$(LDFLAGS) -lcrypt"
+
+midipix-x86-64:
+	$(LN) x86-64.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86-64.o" \
+		CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR" \
+		LDFLAGS="$(LDFLAGS) -lcrypt"
+
+midipix-x86-avx:
+	$(LN) x86-sse.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \
+		CFLAGS_MAIN="$(CFLAGS) -m32 -DJOHN_AVX -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \
+		CFLAGS="$(CFLAGS) -m32 -mavx -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \
+		ASFLAGS="$(ASFLAGS) -m32 -mavx -DUNDERSCORES" \
+		LDFLAGS="$(LDFLAGS) -m32 -lcrypt"
+
+midipix-x86-xop:
+	$(LN) x86-sse.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \
+		CFLAGS_MAIN="$(CFLAGS) -m32 -DJOHN_XOP -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \
+		CFLAGS="$(CFLAGS) -m32 -mxop -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \
+		ASFLAGS="$(ASFLAGS) -m32 -mxop -DUNDERSCORES" \
+		LDFLAGS="$(LDFLAGS) -m32 -lcrypt"
+
+midipix-x86-sse2:
+	$(LN) x86-sse.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-sse.o" \
+		CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \
+		ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \
+		LDFLAGS="$(LDFLAGS) -lcrypt"
+
+midipix-x86-mmx:
+	$(LN) x86-mmx.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-mmx.o" \
+		CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \
+		ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \
+		LDFLAGS="$(LDFLAGS) -lcrypt"
+
+midipix-x86-any:
+	$(LN) x86-any.h arch.h
+	$(MAKE) $(PROJ) \
+		JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \
+		CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \
+		ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \
+		LDFLAGS="$(LDFLAGS) -lcrypt"
+
 freebsd-x86-64:
 	$(LN) x86-64.h arch.h
 	$(MAKE) $(PROJ) \