Lines 1-285
Link Here
|
1 |
--- ./htmldoc/ps-pdf.cxx.orig 2014-01-06 04:42:43.000000000 +0100 |
|
|
2 |
+++ ./htmldoc/ps-pdf.cxx 2014-01-28 04:47:41.000000000 +0100 |
3 |
@@ -120,13 +120,9 @@ |
4 |
|
5 |
/*#define DEBUG*/ |
6 |
#include "htmldoc.h" |
7 |
-#include "md5-private.h" |
8 |
-#define md5_append _cupsMD5Append |
9 |
-#define md5_finish _cupsMD5Finish |
10 |
-#define md5_init _cupsMD5Init |
11 |
typedef unsigned char md5_byte_t; |
12 |
-#define md5_state_t _cups_md5_state_t |
13 |
-#include "rc4.h" |
14 |
+#include <openssl/md5.h> |
15 |
+#include <openssl/rc4.h> |
16 |
#include <stdarg.h> |
17 |
#include <ctype.h> |
18 |
#include <time.h> |
19 |
@@ -331,8 +327,8 @@ |
20 |
static uchar comp_buffer[8192]; |
21 |
static uchar encrypt_key[16]; |
22 |
static int encrypt_len; |
23 |
-static rc4_context_t encrypt_state; |
24 |
-static md5_byte_t file_id[16]; |
25 |
+static RC4_KEY encrypt_state; |
26 |
+static unsigned char file_id[16]; |
27 |
|
28 |
|
29 |
/* |
30 |
@@ -10545,7 +10541,7 @@ |
31 |
{ |
32 |
// Encrypt the colormap... |
33 |
encrypt_init(); |
34 |
- rc4_encrypt(&encrypt_state, cmap[0], cmap[0], ncolors * 3); |
35 |
+ RC4(&encrypt_state, ncolors * 3, cmap[0], cmap[0]); |
36 |
} |
37 |
|
38 |
fprintf(out, "/ColorSpace[/Indexed/DeviceRGB %d<", ncolors - 1); |
39 |
@@ -11166,9 +11162,9 @@ |
40 |
int font_desc[TYPE_MAX][STYLE_MAX]; |
41 |
/* Font descriptor objects */ |
42 |
char temp[1024]; /* Temporary string */ |
43 |
- md5_state_t md5; /* MD5 state */ |
44 |
- md5_byte_t digest[16]; /* MD5 digest value */ |
45 |
- rc4_context_t rc4; /* RC4 context */ |
46 |
+ MD5_CTX md5; /* MD5 state */ |
47 |
+ unsigned char digest[16]; /* MD5 digest value */ |
48 |
+ RC4_KEY rc4; /* RC4 context */ |
49 |
uchar owner_pad[32], /* Padded owner password */ |
50 |
owner_key[32], /* Owner key */ |
51 |
user_pad[32], /* Padded user password */ |
52 |
@@ -11568,10 +11564,10 @@ |
53 |
* Compute the file ID... |
54 |
*/ |
55 |
|
56 |
- md5_init(&md5); |
57 |
- md5_append(&md5, (md5_byte_t *)OutputPath, sizeof(OutputPath)); |
58 |
- md5_append(&md5, (md5_byte_t *)&doc_time, sizeof(doc_time)); |
59 |
- md5_finish(&md5, file_id); |
60 |
+ MD5_Init(&md5); |
61 |
+ MD5_Update(&md5, (unsigned char *)OutputPath, sizeof(OutputPath)); |
62 |
+ MD5_Update(&md5, (unsigned char *)&doc_time, sizeof(doc_time)); |
63 |
+ MD5_Final(file_id, &md5); |
64 |
|
65 |
/* |
66 |
* Setup encryption stuff as necessary... |
67 |
@@ -11627,18 +11623,18 @@ |
68 |
* Compute the owner key... |
69 |
*/ |
70 |
|
71 |
- md5_init(&md5); |
72 |
- md5_append(&md5, owner_pad, 32); |
73 |
- md5_finish(&md5, digest); |
74 |
+ MD5_Init(&md5); |
75 |
+ MD5_Update(&md5, owner_pad, 32); |
76 |
+ MD5_Final(digest, &md5); |
77 |
|
78 |
if (encrypt_len > 5) |
79 |
{ |
80 |
// MD5 the result 50 more times... |
81 |
for (i = 0; i < 50; i ++) |
82 |
{ |
83 |
- md5_init(&md5); |
84 |
- md5_append(&md5, digest, 16); |
85 |
- md5_finish(&md5, digest); |
86 |
+ MD5_Init(&md5); |
87 |
+ MD5_Update(&md5, digest, 16); |
88 |
+ MD5_Final(digest, &md5); |
89 |
} |
90 |
|
91 |
// Copy the padded user password... |
92 |
@@ -11651,14 +11647,14 @@ |
93 |
for (j = 0; j < encrypt_len; j ++) |
94 |
encrypt_key[j] = digest[j] ^ i; |
95 |
|
96 |
- rc4_init(&rc4, encrypt_key, encrypt_len); |
97 |
- rc4_encrypt(&rc4, owner_key, owner_key, 32); |
98 |
+ RC4_set_key(&rc4, encrypt_len, encrypt_key); |
99 |
+ RC4(&rc4, 32, owner_key, owner_key); |
100 |
} |
101 |
} |
102 |
else |
103 |
{ |
104 |
- rc4_init(&rc4, digest, encrypt_len); |
105 |
- rc4_encrypt(&rc4, user_pad, owner_key, 32); |
106 |
+ RC4_set_key(&rc4, encrypt_len, digest); |
107 |
+ RC4(&rc4, 32, user_pad, owner_key); |
108 |
} |
109 |
|
110 |
/* |
111 |
@@ -11680,27 +11676,27 @@ |
112 |
* Compute the encryption key... |
113 |
*/ |
114 |
|
115 |
- md5_init(&md5); |
116 |
- md5_append(&md5, user_pad, 32); |
117 |
- md5_append(&md5, owner_key, 32); |
118 |
+ MD5_Init(&md5); |
119 |
+ MD5_Update(&md5, user_pad, 32); |
120 |
+ MD5_Update(&md5, owner_key, 32); |
121 |
|
122 |
perm_bytes[0] = perm_value; |
123 |
perm_bytes[1] = perm_value >> 8; |
124 |
perm_bytes[2] = perm_value >> 16; |
125 |
perm_bytes[3] = perm_value >> 24; |
126 |
|
127 |
- md5_append(&md5, perm_bytes, 4); |
128 |
- md5_append(&md5, file_id, 16); |
129 |
- md5_finish(&md5, digest); |
130 |
+ MD5_Update(&md5, perm_bytes, 4); |
131 |
+ MD5_Update(&md5, file_id, 16); |
132 |
+ MD5_Final(digest, &md5); |
133 |
|
134 |
if (encrypt_len > 5) |
135 |
{ |
136 |
// MD5 the result 50 times.. |
137 |
for (i = 0; i < 50; i ++) |
138 |
{ |
139 |
- md5_init(&md5); |
140 |
- md5_append(&md5, digest, 16); |
141 |
- md5_finish(&md5, digest); |
142 |
+ MD5_Init(&md5); |
143 |
+ MD5_Update(&md5, digest, 16); |
144 |
+ MD5_Final(digest, &md5); |
145 |
} |
146 |
} |
147 |
|
148 |
@@ -11712,10 +11708,10 @@ |
149 |
|
150 |
if (encrypt_len > 5) |
151 |
{ |
152 |
- md5_init(&md5); |
153 |
- md5_append(&md5, pad, 32); |
154 |
- md5_append(&md5, file_id, 16); |
155 |
- md5_finish(&md5, user_key); |
156 |
+ MD5_Init(&md5); |
157 |
+ MD5_Update(&md5, pad, 32); |
158 |
+ MD5_Update(&md5, file_id, 16); |
159 |
+ MD5_Final(user_key, &md5); |
160 |
|
161 |
memset(user_key + 16, 0, 16); |
162 |
|
163 |
@@ -11726,14 +11722,14 @@ |
164 |
for (j = 0; j < encrypt_len; j ++) |
165 |
digest[j] = encrypt_key[j] ^ i; |
166 |
|
167 |
- rc4_init(&rc4, digest, encrypt_len); |
168 |
- rc4_encrypt(&rc4, user_key, user_key, 16); |
169 |
+ RC4_set_key(&rc4, encrypt_len, digest); |
170 |
+ RC4(&rc4, 16, user_key, user_key); |
171 |
} |
172 |
} |
173 |
else |
174 |
{ |
175 |
- rc4_init(&rc4, encrypt_key, encrypt_len); |
176 |
- rc4_encrypt(&rc4, pad, user_key, 32); |
177 |
+ RC4_set_key(&rc4, encrypt_len, encrypt_key); |
178 |
+ RC4(&rc4, 32, pad, user_key); |
179 |
} |
180 |
|
181 |
/* |
182 |
@@ -11920,7 +11916,7 @@ |
183 |
else |
184 |
bytes = len; |
185 |
|
186 |
- rc4_encrypt(&encrypt_state, s, news, bytes); |
187 |
+ RC4(&encrypt_state, bytes, s, news); |
188 |
|
189 |
for (i = 0; i < bytes; i ++) |
190 |
fprintf(out, "%02x", news[i]); |
191 |
@@ -12585,7 +12581,7 @@ |
192 |
unicode[0] = 0xfe; // Start with BOM |
193 |
unicode[1] = 0xff; |
194 |
|
195 |
- rc4_encrypt(&encrypt_state, unicode, enicode, 2); |
196 |
+ RC4(&encrypt_state, 2, unicode, enicode); |
197 |
|
198 |
fprintf(out, "%02x%02x", enicode[0], enicode[1]); |
199 |
|
200 |
@@ -12595,7 +12591,7 @@ |
201 |
unicode[0] = ch >> 8; |
202 |
unicode[1] = ch; |
203 |
|
204 |
- rc4_encrypt(&encrypt_state, unicode, enicode, 2); |
205 |
+ RC4(&encrypt_state, 2, unicode, enicode); |
206 |
|
207 |
fprintf(out, "%02x%02x", enicode[0], enicode[1]); |
208 |
} |
209 |
@@ -12627,8 +12623,8 @@ |
210 |
int i; /* Looping var */ |
211 |
uchar data[21], /* Key data */ |
212 |
*dataptr; /* Pointer to key data */ |
213 |
- md5_state_t md5; /* MD5 state */ |
214 |
- md5_byte_t digest[16]; /* MD5 digest value */ |
215 |
+ MD5_CTX md5; /* MD5 state */ |
216 |
+ unsigned char digest[16]; /* MD5 digest value */ |
217 |
|
218 |
|
219 |
/* |
220 |
@@ -12648,18 +12644,18 @@ |
221 |
* Hash it... |
222 |
*/ |
223 |
|
224 |
- md5_init(&md5); |
225 |
- md5_append(&md5, data, encrypt_len + 5); |
226 |
- md5_finish(&md5, digest); |
227 |
+ MD5_Init(&md5); |
228 |
+ MD5_Update(&md5, data, encrypt_len + 5); |
229 |
+ MD5_Final(digest, &md5); |
230 |
|
231 |
/* |
232 |
* Initialize the RC4 context using the first N+5 bytes of the digest... |
233 |
*/ |
234 |
|
235 |
if (encrypt_len > 11) |
236 |
- rc4_init(&encrypt_state, digest, 16); |
237 |
+ RC4_set_key(&encrypt_state, 16, digest); |
238 |
else |
239 |
- rc4_init(&encrypt_state, digest, encrypt_len + 5); |
240 |
+ RC4_set_key(&encrypt_state, encrypt_len + 5, digest); |
241 |
} |
242 |
|
243 |
|
244 |
@@ -12727,8 +12723,8 @@ |
245 |
else |
246 |
{ |
247 |
if (Encryption) |
248 |
- rc4_encrypt(&encrypt_state, comp_buffer, comp_buffer, |
249 |
- (uchar *)compressor.next_out - (uchar *)comp_buffer); |
250 |
+ RC4(&encrypt_state, (uchar *)compressor.next_out - (uchar *)comp_buffer, |
251 |
+ comp_buffer, comp_buffer); |
252 |
|
253 |
fwrite(comp_buffer, (uchar *)compressor.next_out - (uchar *)comp_buffer, |
254 |
1, out); |
255 |
@@ -12751,8 +12747,8 @@ |
256 |
else |
257 |
{ |
258 |
if (Encryption) |
259 |
- rc4_encrypt(&encrypt_state, comp_buffer, comp_buffer, |
260 |
- (uchar *)compressor.next_out - (uchar *)comp_buffer); |
261 |
+ RC4(&encrypt_state, (uchar *)compressor.next_out - (uchar *)comp_buffer, |
262 |
+ comp_buffer, comp_buffer); |
263 |
|
264 |
fwrite(comp_buffer, (uchar *)compressor.next_out - (uchar *)comp_buffer, |
265 |
1, out); |
266 |
@@ -12844,8 +12840,8 @@ |
267 |
else |
268 |
{ |
269 |
if (Encryption) |
270 |
- rc4_encrypt(&encrypt_state, comp_buffer, comp_buffer, |
271 |
- (uchar *)compressor.next_out - (uchar *)comp_buffer); |
272 |
+ RC4(&encrypt_state, (uchar *)compressor.next_out - (uchar *)comp_buffer, |
273 |
+ comp_buffer, comp_buffer); |
274 |
|
275 |
fwrite(comp_buffer, |
276 |
(uchar *)compressor.next_out - (uchar *)comp_buffer, 1, out); |
277 |
@@ -12878,7 +12874,7 @@ |
278 |
if ((bytes = length - i) > (int)sizeof(newbuf)) |
279 |
bytes = sizeof(newbuf); |
280 |
|
281 |
- rc4_encrypt(&encrypt_state, buf + i, newbuf, bytes); |
282 |
+ RC4(&encrypt_state, bytes, buf + i, newbuf); |
283 |
fwrite(newbuf, bytes, 1, out); |
284 |
} |
285 |
} |