Magellan Linux

Contents of /trunk/openssl/patches/openssl-1.0.0a-fix-manpages.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1084 - (show annotations) (download)
Tue Aug 17 22:40:33 2010 UTC (13 years, 8 months ago) by niro
File size: 65273 byte(s)
re-diffed

1 Submitted By: Robert Connolly <robert at linuxfromscratch dot org>
2 Date: 2005-11-13
3 Initial Package Version: 0.9.8a
4 Upstream Status: Submitted upstream
5 Origin: Anderson Lizardo
6 Description: This patch fixes conflicts between man pages
7 installed by OpenSSL and those found on other
8 packages (particulary Shadow, Perl, and
9 Man-pages). It also fixes syntax errors on some
10 POD files that generates slightly broken man
11 pages.
12
13 $LastChangedBy: igor $
14 $Date: 2010-08-17 22:40:33 $
15
16 diff -Naur openssl-0.9.8a.orig/FAQ openssl-0.9.8a/FAQ
17 --- openssl-0.9.8a.orig/FAQ 2005-10-11 10:16:06.000000000 +0000
18 +++ openssl-0.9.8a/FAQ 2005-11-14 03:59:59.000000000 +0000
19 @@ -680,7 +680,7 @@
20
21 Multi-threaded applications must provide two callback functions to
22 OpenSSL by calling CRYPTO_set_locking_callback() and
23 -CRYPTO_set_id_callback(). This is described in the threads(3)
24 +CRYPTO_set_id_callback(). This is described in the openssl_threads(3)
25 manpage.
26
27 * I've compiled a program under Windows and it crashes: why?
28 diff -Naur openssl-0.9.8a.orig/crypto/rand/md_rand.c openssl-0.9.8a/crypto/rand/md_rand.c
29 --- openssl-0.9.8a.orig/crypto/rand/md_rand.c 2005-04-07 22:53:35.000000000 +0000
30 +++ openssl-0.9.8a/crypto/rand/md_rand.c 2005-11-14 03:59:59.000000000 +0000
31 @@ -196,7 +196,7 @@
32 int do_not_lock;
33
34 /*
35 - * (Based on the rand(3) manpage)
36 + * (Based on the openssl_rand(3) manpage)
37 *
38 * The input is chopped up into units of 20 bytes (or less for
39 * the last block). Each of these blocks is run through the hash
40 @@ -351,7 +351,7 @@
41 num_ceil = (1 + (num-1)/(MD_DIGEST_LENGTH/2)) * (MD_DIGEST_LENGTH/2);
42
43 /*
44 - * (Based on the rand(3) manpage:)
45 + * (Based on the openssl_rand(3) manpage)
46 *
47 * For each group of 10 bytes (or less), we do the following:
48 *
49 diff -Naur openssl-0.9.8a.orig/doc/apps/openssl-passwd.pod openssl-0.9.8a/doc/apps/openssl-passwd.pod
50 --- openssl-0.9.8a.orig/doc/apps/openssl-passwd.pod 1970-01-01 00:00:00.000000000 +0000
51 +++ openssl-0.9.8a/doc/apps/openssl-passwd.pod 2005-11-14 03:59:59.000000000 +0000
52 @@ -0,0 +1,82 @@
53 +=pod
54 +
55 +=head1 NAME
56 +
57 +openssl-passwd - compute password hashes
58 +
59 +=head1 SYNOPSIS
60 +
61 +B<openssl passwd>
62 +[B<-crypt>]
63 +[B<-1>]
64 +[B<-apr1>]
65 +[B<-salt> I<string>]
66 +[B<-in> I<file>]
67 +[B<-stdin>]
68 +[B<-noverify>]
69 +[B<-quiet>]
70 +[B<-table>]
71 +{I<password>}
72 +
73 +=head1 DESCRIPTION
74 +
75 +The B<passwd> command computes the hash of a password typed at
76 +run-time or the hash of each password in a list. The password list is
77 +taken from the named file for option B<-in file>, from stdin for
78 +option B<-stdin>, or from the command line, or from the terminal otherwise.
79 +The Unix standard algorithm B<crypt> and the MD5-based BSD password
80 +algorithm B<1> and its Apache variant B<apr1> are available.
81 +
82 +=head1 OPTIONS
83 +
84 +=over 4
85 +
86 +=item B<-crypt>
87 +
88 +Use the B<crypt> algorithm (default).
89 +
90 +=item B<-1>
91 +
92 +Use the MD5 based BSD password algorithm B<1>.
93 +
94 +=item B<-apr1>
95 +
96 +Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
97 +
98 +=item B<-salt> I<string>
99 +
100 +Use the specified salt.
101 +When reading a password from the terminal, this implies B<-noverify>.
102 +
103 +=item B<-in> I<file>
104 +
105 +Read passwords from I<file>.
106 +
107 +=item B<-stdin>
108 +
109 +Read passwords from B<stdin>.
110 +
111 +=item B<-noverify>
112 +
113 +Don't verify when reading a password from the terminal.
114 +
115 +=item B<-quiet>
116 +
117 +Don't output warnings when passwords given at the command line are truncated.
118 +
119 +=item B<-table>
120 +
121 +In the output list, prepend the cleartext password and a TAB character
122 +to each password hash.
123 +
124 +=back
125 +
126 +=head1 EXAMPLES
127 +
128 +B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
129 +
130 +B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
131 +
132 +B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
133 +
134 +=cut
135 diff -Naur openssl-0.9.8a.orig/doc/apps/openssl.pod openssl-0.9.8a/doc/apps/openssl.pod
136 --- openssl-0.9.8a.orig/doc/apps/openssl.pod 2004-01-04 18:59:14.000000000 +0000
137 +++ openssl-0.9.8a/doc/apps/openssl.pod 2005-11-14 03:59:59.000000000 +0000
138 @@ -125,7 +125,7 @@
139
140 Online Certificate Status Protocol utility.
141
142 -=item L<B<passwd>|passwd(1)>
143 +=item L<B<passwd>|openssl-passwd(1)>
144
145 Generation of hashed passwords.
146
147 @@ -325,7 +325,7 @@
148 L<dhparam(1)|dhparam(1)>, L<dsa(1)|dsa(1)>, L<dsaparam(1)|dsaparam(1)>,
149 L<enc(1)|enc(1)>, L<gendsa(1)|gendsa(1)>,
150 L<genrsa(1)|genrsa(1)>, L<nseq(1)|nseq(1)>, L<openssl(1)|openssl(1)>,
151 -L<passwd(1)|passwd(1)>,
152 +L<openssl-passwd(1)|openssl-passwd(1)>,
153 L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>,
154 L<rand(1)|rand(1)>, L<req(1)|req(1)>, L<rsa(1)|rsa(1)>,
155 L<rsautl(1)|rsautl(1)>, L<s_client(1)|s_client(1)>,
156 diff -Naur openssl-0.9.8a.orig/doc/apps/passwd.pod openssl-0.9.8a/doc/apps/passwd.pod
157 --- openssl-0.9.8a.orig/doc/apps/passwd.pod 2002-10-04 12:59:00.000000000 +0000
158 +++ openssl-0.9.8a/doc/apps/passwd.pod 1970-01-01 00:00:00.000000000 +0000
159 @@ -1,82 +0,0 @@
160 -=pod
161 -
162 -=head1 NAME
163 -
164 -passwd - compute password hashes
165 -
166 -=head1 SYNOPSIS
167 -
168 -B<openssl passwd>
169 -[B<-crypt>]
170 -[B<-1>]
171 -[B<-apr1>]
172 -[B<-salt> I<string>]
173 -[B<-in> I<file>]
174 -[B<-stdin>]
175 -[B<-noverify>]
176 -[B<-quiet>]
177 -[B<-table>]
178 -{I<password>}
179 -
180 -=head1 DESCRIPTION
181 -
182 -The B<passwd> command computes the hash of a password typed at
183 -run-time or the hash of each password in a list. The password list is
184 -taken from the named file for option B<-in file>, from stdin for
185 -option B<-stdin>, or from the command line, or from the terminal otherwise.
186 -The Unix standard algorithm B<crypt> and the MD5-based BSD password
187 -algorithm B<1> and its Apache variant B<apr1> are available.
188 -
189 -=head1 OPTIONS
190 -
191 -=over 4
192 -
193 -=item B<-crypt>
194 -
195 -Use the B<crypt> algorithm (default).
196 -
197 -=item B<-1>
198 -
199 -Use the MD5 based BSD password algorithm B<1>.
200 -
201 -=item B<-apr1>
202 -
203 -Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
204 -
205 -=item B<-salt> I<string>
206 -
207 -Use the specified salt.
208 -When reading a password from the terminal, this implies B<-noverify>.
209 -
210 -=item B<-in> I<file>
211 -
212 -Read passwords from I<file>.
213 -
214 -=item B<-stdin>
215 -
216 -Read passwords from B<stdin>.
217 -
218 -=item B<-noverify>
219 -
220 -Don't verify when reading a password from the terminal.
221 -
222 -=item B<-quiet>
223 -
224 -Don't output warnings when passwords given at the command line are truncated.
225 -
226 -=item B<-table>
227 -
228 -In the output list, prepend the cleartext password and a TAB character
229 -to each password hash.
230 -
231 -=back
232 -
233 -=head1 EXAMPLES
234 -
235 -B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
236 -
237 -B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
238 -
239 -B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
240 -
241 -=cut
242 diff -Naur openssl-0.9.8a.orig/doc/crypto/BN_generate_prime.pod openssl-0.9.8a/doc/crypto/BN_generate_prime.pod
243 --- openssl-0.9.8a.orig/doc/crypto/BN_generate_prime.pod 2003-01-13 13:18:22.000000000 +0000
244 +++ openssl-0.9.8a/doc/crypto/BN_generate_prime.pod 2005-11-14 03:59:59.000000000 +0000
245 @@ -90,7 +90,7 @@
246
247 =head1 SEE ALSO
248
249 -L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>
250 +L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>
251
252 =head1 HISTORY
253
254 diff -Naur openssl-0.9.8a.orig/doc/crypto/BN_rand.pod openssl-0.9.8a/doc/crypto/BN_rand.pod
255 --- openssl-0.9.8a.orig/doc/crypto/BN_rand.pod 2002-09-25 13:33:26.000000000 +0000
256 +++ openssl-0.9.8a/doc/crypto/BN_rand.pod 2005-11-14 03:59:59.000000000 +0000
257 @@ -45,7 +45,7 @@
258
259 =head1 SEE ALSO
260
261 -L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
262 +L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
263 L<RAND_add(3)|RAND_add(3)>, L<RAND_bytes(3)|RAND_bytes(3)>
264
265 =head1 HISTORY
266 diff -Naur openssl-0.9.8a.orig/doc/crypto/CONF_modules_free.pod openssl-0.9.8a/doc/crypto/CONF_modules_free.pod
267 --- openssl-0.9.8a.orig/doc/crypto/CONF_modules_free.pod 2004-03-02 13:31:32.000000000 +0000
268 +++ openssl-0.9.8a/doc/crypto/CONF_modules_free.pod 2005-11-14 03:59:59.000000000 +0000
269 @@ -37,7 +37,7 @@
270 =head1 SEE ALSO
271
272 L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
273 -L<CONF_modules_load_file(3), CONF_modules_load_file(3)>
274 +L<CONF_modules_load_file(3)|CONF_modules_load_file(3)>
275
276 =head1 HISTORY
277
278 diff -Naur openssl-0.9.8a.orig/doc/crypto/CONF_modules_load_file.pod openssl-0.9.8a/doc/crypto/CONF_modules_load_file.pod
279 --- openssl-0.9.8a.orig/doc/crypto/CONF_modules_load_file.pod 2004-03-02 13:31:32.000000000 +0000
280 +++ openssl-0.9.8a/doc/crypto/CONF_modules_load_file.pod 2005-11-14 03:59:59.000000000 +0000
281 @@ -51,7 +51,7 @@
282 =head1 SEE ALSO
283
284 L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
285 -L<CONF_free(3), CONF_free(3)>, L<err(3),err(3)>
286 +L<CONF_free(3)|CONF_free(3)>, L<openssl_err(3)|openssl_err(3)>
287
288 =head1 HISTORY
289
290 diff -Naur openssl-0.9.8a.orig/doc/crypto/DH_generate_key.pod openssl-0.9.8a/doc/crypto/DH_generate_key.pod
291 --- openssl-0.9.8a.orig/doc/crypto/DH_generate_key.pod 2002-09-25 13:33:27.000000000 +0000
292 +++ openssl-0.9.8a/doc/crypto/DH_generate_key.pod 2005-11-14 03:59:59.000000000 +0000
293 @@ -40,7 +40,7 @@
294
295 =head1 SEE ALSO
296
297 -L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<DH_size(3)|DH_size(3)>
298 +L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<DH_size(3)|DH_size(3)>
299
300 =head1 HISTORY
301
302 diff -Naur openssl-0.9.8a.orig/doc/crypto/DH_generate_parameters.pod openssl-0.9.8a/doc/crypto/DH_generate_parameters.pod
303 --- openssl-0.9.8a.orig/doc/crypto/DH_generate_parameters.pod 2002-09-25 13:33:27.000000000 +0000
304 +++ openssl-0.9.8a/doc/crypto/DH_generate_parameters.pod 2005-11-14 03:59:59.000000000 +0000
305 @@ -59,7 +59,7 @@
306
307 =head1 SEE ALSO
308
309 -L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
310 +L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
311 L<DH_free(3)|DH_free(3)>
312
313 =head1 HISTORY
314 diff -Naur openssl-0.9.8a.orig/doc/crypto/DSA_do_sign.pod openssl-0.9.8a/doc/crypto/DSA_do_sign.pod
315 --- openssl-0.9.8a.orig/doc/crypto/DSA_do_sign.pod 2002-09-25 13:33:27.000000000 +0000
316 +++ openssl-0.9.8a/doc/crypto/DSA_do_sign.pod 2005-11-14 03:59:59.000000000 +0000
317 @@ -36,7 +36,7 @@
318
319 =head1 SEE ALSO
320
321 -L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
322 +L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
323 L<DSA_SIG_new(3)|DSA_SIG_new(3)>,
324 L<DSA_sign(3)|DSA_sign(3)>
325
326 diff -Naur openssl-0.9.8a.orig/doc/crypto/DSA_generate_key.pod openssl-0.9.8a/doc/crypto/DSA_generate_key.pod
327 --- openssl-0.9.8a.orig/doc/crypto/DSA_generate_key.pod 2002-09-25 13:33:27.000000000 +0000
328 +++ openssl-0.9.8a/doc/crypto/DSA_generate_key.pod 2005-11-14 03:59:59.000000000 +0000
329 @@ -24,7 +24,7 @@
330
331 =head1 SEE ALSO
332
333 -L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
334 +L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
335 L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>
336
337 =head1 HISTORY
338 diff -Naur openssl-0.9.8a.orig/doc/crypto/DSA_generate_parameters.pod openssl-0.9.8a/doc/crypto/DSA_generate_parameters.pod
339 --- openssl-0.9.8a.orig/doc/crypto/DSA_generate_parameters.pod 2002-09-25 13:33:27.000000000 +0000
340 +++ openssl-0.9.8a/doc/crypto/DSA_generate_parameters.pod 2005-11-14 03:59:59.000000000 +0000
341 @@ -90,7 +90,7 @@
342
343 =head1 SEE ALSO
344
345 -L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
346 +L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
347 L<DSA_free(3)|DSA_free(3)>
348
349 =head1 HISTORY
350 diff -Naur openssl-0.9.8a.orig/doc/crypto/DSA_sign.pod openssl-0.9.8a/doc/crypto/DSA_sign.pod
351 --- openssl-0.9.8a.orig/doc/crypto/DSA_sign.pod 2002-09-25 13:33:27.000000000 +0000
352 +++ openssl-0.9.8a/doc/crypto/DSA_sign.pod 2005-11-14 03:59:59.000000000 +0000
353 @@ -55,7 +55,7 @@
354
355 =head1 SEE ALSO
356
357 -L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
358 +L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
359 L<DSA_do_sign(3)|DSA_do_sign(3)>
360
361 =head1 HISTORY
362 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_GET_LIB.pod openssl-0.9.8a/doc/crypto/ERR_GET_LIB.pod
363 --- openssl-0.9.8a.orig/doc/crypto/ERR_GET_LIB.pod 2000-02-01 01:36:58.000000000 +0000
364 +++ openssl-0.9.8a/doc/crypto/ERR_GET_LIB.pod 2005-11-14 03:59:59.000000000 +0000
365 @@ -41,7 +41,7 @@
366
367 =head1 SEE ALSO
368
369 -L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
370 +L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
371
372 =head1 HISTORY
373
374 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_clear_error.pod openssl-0.9.8a/doc/crypto/ERR_clear_error.pod
375 --- openssl-0.9.8a.orig/doc/crypto/ERR_clear_error.pod 2000-02-01 01:36:58.000000000 +0000
376 +++ openssl-0.9.8a/doc/crypto/ERR_clear_error.pod 2005-11-14 03:59:59.000000000 +0000
377 @@ -20,7 +20,7 @@
378
379 =head1 SEE ALSO
380
381 -L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
382 +L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
383
384 =head1 HISTORY
385
386 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_error_string.pod openssl-0.9.8a/doc/crypto/ERR_error_string.pod
387 --- openssl-0.9.8a.orig/doc/crypto/ERR_error_string.pod 2004-11-14 15:11:37.000000000 +0000
388 +++ openssl-0.9.8a/doc/crypto/ERR_error_string.pod 2005-11-14 03:59:59.000000000 +0000
389 @@ -60,7 +60,7 @@
390
391 =head1 SEE ALSO
392
393 -L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
394 +L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
395 L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
396 L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
397 L<ERR_print_errors(3)|ERR_print_errors(3)>
398 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_get_error.pod openssl-0.9.8a/doc/crypto/ERR_get_error.pod
399 --- openssl-0.9.8a.orig/doc/crypto/ERR_get_error.pod 2002-11-29 14:21:54.000000000 +0000
400 +++ openssl-0.9.8a/doc/crypto/ERR_get_error.pod 2005-11-14 03:59:59.000000000 +0000
401 @@ -61,7 +61,7 @@
402
403 =head1 SEE ALSO
404
405 -L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
406 +L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
407 L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>
408
409 =head1 HISTORY
410 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_load_crypto_strings.pod openssl-0.9.8a/doc/crypto/ERR_load_crypto_strings.pod
411 --- openssl-0.9.8a.orig/doc/crypto/ERR_load_crypto_strings.pod 2000-02-24 11:55:08.000000000 +0000
412 +++ openssl-0.9.8a/doc/crypto/ERR_load_crypto_strings.pod 2005-11-14 03:59:59.000000000 +0000
413 @@ -35,7 +35,7 @@
414
415 =head1 SEE ALSO
416
417 -L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
418 +L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
419
420 =head1 HISTORY
421
422 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_load_strings.pod openssl-0.9.8a/doc/crypto/ERR_load_strings.pod
423 --- openssl-0.9.8a.orig/doc/crypto/ERR_load_strings.pod 2000-02-24 11:55:08.000000000 +0000
424 +++ openssl-0.9.8a/doc/crypto/ERR_load_strings.pod 2005-11-14 03:59:59.000000000 +0000
425 @@ -43,7 +43,7 @@
426
427 =head1 SEE ALSO
428
429 -L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
430 +L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
431
432 =head1 HISTORY
433
434 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_print_errors.pod openssl-0.9.8a/doc/crypto/ERR_print_errors.pod
435 --- openssl-0.9.8a.orig/doc/crypto/ERR_print_errors.pod 2000-02-01 01:36:59.000000000 +0000
436 +++ openssl-0.9.8a/doc/crypto/ERR_print_errors.pod 2005-11-14 03:59:59.000000000 +0000
437 @@ -38,7 +38,7 @@
438
439 =head1 SEE ALSO
440
441 -L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
442 +L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
443 L<ERR_get_error(3)|ERR_get_error(3)>,
444 L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
445 L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
446 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_put_error.pod openssl-0.9.8a/doc/crypto/ERR_put_error.pod
447 --- openssl-0.9.8a.orig/doc/crypto/ERR_put_error.pod 2000-02-24 11:55:08.000000000 +0000
448 +++ openssl-0.9.8a/doc/crypto/ERR_put_error.pod 2005-11-14 03:59:59.000000000 +0000
449 @@ -34,7 +34,7 @@
450
451 =head1 SEE ALSO
452
453 -L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
454 +L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
455
456 =head1 HISTORY
457
458 diff -Naur openssl-0.9.8a.orig/doc/crypto/ERR_remove_state.pod openssl-0.9.8a/doc/crypto/ERR_remove_state.pod
459 --- openssl-0.9.8a.orig/doc/crypto/ERR_remove_state.pod 2000-05-19 07:54:42.000000000 +0000
460 +++ openssl-0.9.8a/doc/crypto/ERR_remove_state.pod 2005-11-14 03:59:59.000000000 +0000
461 @@ -25,7 +25,7 @@
462
463 =head1 SEE ALSO
464
465 -L<err(3)|err(3)>
466 +L<openssl_err(3)|openssl_err(3)>
467
468 =head1 HISTORY
469
470 diff -Naur openssl-0.9.8a.orig/doc/crypto/EVP_BytesToKey.pod openssl-0.9.8a/doc/crypto/EVP_BytesToKey.pod
471 --- openssl-0.9.8a.orig/doc/crypto/EVP_BytesToKey.pod 2004-11-25 17:47:30.000000000 +0000
472 +++ openssl-0.9.8a/doc/crypto/EVP_BytesToKey.pod 2005-11-14 04:00:45.000000000 +0000
473 @@ -59,7 +59,7 @@
474
475 =head1 SEE ALSO
476
477 -L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
478 +L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
479 L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
480
481 =head1 HISTORY
482 diff -Naur openssl-0.9.8a.orig/doc/crypto/EVP_OpenInit.pod openssl-0.9.8a/doc/crypto/EVP_OpenInit.pod
483 --- openssl-0.9.8a.orig/doc/crypto/EVP_OpenInit.pod 2000-09-23 07:16:14.000000000 +0000
484 +++ openssl-0.9.8a/doc/crypto/EVP_OpenInit.pod 2005-11-14 03:59:59.000000000 +0000
485 @@ -54,7 +54,7 @@
486
487 =head1 SEE ALSO
488
489 -L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
490 +L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
491 L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
492 L<EVP_SealInit(3)|EVP_SealInit(3)>
493
494 diff -Naur openssl-0.9.8a.orig/doc/crypto/EVP_SealInit.pod openssl-0.9.8a/doc/crypto/EVP_SealInit.pod
495 --- openssl-0.9.8a.orig/doc/crypto/EVP_SealInit.pod 2005-03-29 17:50:08.000000000 +0000
496 +++ openssl-0.9.8a/doc/crypto/EVP_SealInit.pod 2005-11-14 03:59:59.000000000 +0000
497 @@ -74,7 +74,7 @@
498
499 =head1 SEE ALSO
500
501 -L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
502 +L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
503 L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
504 L<EVP_OpenInit(3)|EVP_OpenInit(3)>
505
506 diff -Naur openssl-0.9.8a.orig/doc/crypto/EVP_SignInit.pod openssl-0.9.8a/doc/crypto/EVP_SignInit.pod
507 --- openssl-0.9.8a.orig/doc/crypto/EVP_SignInit.pod 2005-03-22 17:55:33.000000000 +0000
508 +++ openssl-0.9.8a/doc/crypto/EVP_SignInit.pod 2005-11-14 03:59:59.000000000 +0000
509 @@ -80,7 +80,7 @@
510 =head1 SEE ALSO
511
512 L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
513 -L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
514 +L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
515 L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
516 L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
517 L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
518 diff -Naur openssl-0.9.8a.orig/doc/crypto/EVP_VerifyInit.pod openssl-0.9.8a/doc/crypto/EVP_VerifyInit.pod
519 --- openssl-0.9.8a.orig/doc/crypto/EVP_VerifyInit.pod 2002-07-10 19:35:46.000000000 +0000
520 +++ openssl-0.9.8a/doc/crypto/EVP_VerifyInit.pod 2005-11-14 03:59:59.000000000 +0000
521 @@ -71,7 +71,7 @@
522
523 L<evp(3)|evp(3)>,
524 L<EVP_SignInit(3)|EVP_SignInit(3)>,
525 -L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
526 +L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
527 L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
528 L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
529 L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
530 diff -Naur openssl-0.9.8a.orig/doc/crypto/OPENSSL_config.pod openssl-0.9.8a/doc/crypto/OPENSSL_config.pod
531 --- openssl-0.9.8a.orig/doc/crypto/OPENSSL_config.pod 2005-06-02 23:17:38.000000000 +0000
532 +++ openssl-0.9.8a/doc/crypto/OPENSSL_config.pod 2005-11-14 03:59:59.000000000 +0000
533 @@ -73,7 +73,7 @@
534 =head1 SEE ALSO
535
536 L<conf(5)|conf(5)>, L<CONF_load_modules_file(3)|CONF_load_modules_file(3)>,
537 -L<CONF_modules_free(3),CONF_modules_free(3)>
538 +L<CONF_modules_free(3)|CONF_modules_free(3)>
539
540 =head1 HISTORY
541
542 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_add.pod openssl-0.9.8a/doc/crypto/RAND_add.pod
543 --- openssl-0.9.8a.orig/doc/crypto/RAND_add.pod 2000-03-22 15:30:03.000000000 +0000
544 +++ openssl-0.9.8a/doc/crypto/RAND_add.pod 2005-11-14 03:59:59.000000000 +0000
545 @@ -65,7 +65,7 @@
546
547 =head1 SEE ALSO
548
549 -L<rand(3)|rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
550 +L<openssl_rand(3)|openssl_rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
551 L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
552
553 =head1 HISTORY
554 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_bytes.pod openssl-0.9.8a/doc/crypto/RAND_bytes.pod
555 --- openssl-0.9.8a.orig/doc/crypto/RAND_bytes.pod 2002-09-25 13:33:27.000000000 +0000
556 +++ openssl-0.9.8a/doc/crypto/RAND_bytes.pod 2005-11-14 03:59:59.000000000 +0000
557 @@ -35,7 +35,7 @@
558
559 =head1 SEE ALSO
560
561 -L<rand(3)|rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
562 +L<openssl_rand(3)|openssl_rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
563 L<RAND_add(3)|RAND_add(3)>
564
565 =head1 HISTORY
566 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_cleanup.pod openssl-0.9.8a/doc/crypto/RAND_cleanup.pod
567 --- openssl-0.9.8a.orig/doc/crypto/RAND_cleanup.pod 2000-01-27 01:25:06.000000000 +0000
568 +++ openssl-0.9.8a/doc/crypto/RAND_cleanup.pod 2005-11-14 03:59:59.000000000 +0000
569 @@ -20,7 +20,7 @@
570
571 =head1 SEE ALSO
572
573 -L<rand(3)|rand(3)>
574 +L<openssl_rand(3)|openssl_rand(3)>
575
576 =head1 HISTORY
577
578 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_egd.pod openssl-0.9.8a/doc/crypto/RAND_egd.pod
579 --- openssl-0.9.8a.orig/doc/crypto/RAND_egd.pod 2001-02-10 19:10:36.000000000 +0000
580 +++ openssl-0.9.8a/doc/crypto/RAND_egd.pod 2005-11-14 03:59:59.000000000 +0000
581 @@ -69,7 +69,7 @@
582
583 =head1 SEE ALSO
584
585 -L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>,
586 +L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
587 L<RAND_cleanup(3)|RAND_cleanup(3)>
588
589 =head1 HISTORY
590 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_load_file.pod openssl-0.9.8a/doc/crypto/RAND_load_file.pod
591 --- openssl-0.9.8a.orig/doc/crypto/RAND_load_file.pod 2001-03-21 15:25:56.000000000 +0000
592 +++ openssl-0.9.8a/doc/crypto/RAND_load_file.pod 2005-11-14 03:59:59.000000000 +0000
593 @@ -43,7 +43,7 @@
594
595 =head1 SEE ALSO
596
597 -L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
598 +L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
599
600 =head1 HISTORY
601
602 diff -Naur openssl-0.9.8a.orig/doc/crypto/RAND_set_rand_method.pod openssl-0.9.8a/doc/crypto/RAND_set_rand_method.pod
603 --- openssl-0.9.8a.orig/doc/crypto/RAND_set_rand_method.pod 2002-08-05 16:27:01.000000000 +0000
604 +++ openssl-0.9.8a/doc/crypto/RAND_set_rand_method.pod 2005-11-14 03:59:59.000000000 +0000
605 @@ -67,7 +67,7 @@
606
607 =head1 SEE ALSO
608
609 -L<rand(3)|rand(3)>, L<engine(3)|engine(3)>
610 +L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>
611
612 =head1 HISTORY
613
614 diff -Naur openssl-0.9.8a.orig/doc/crypto/RSA_blinding_on.pod openssl-0.9.8a/doc/crypto/RSA_blinding_on.pod
615 --- openssl-0.9.8a.orig/doc/crypto/RSA_blinding_on.pod 2000-02-24 11:55:10.000000000 +0000
616 +++ openssl-0.9.8a/doc/crypto/RSA_blinding_on.pod 2005-11-14 03:59:59.000000000 +0000
617 @@ -34,7 +34,7 @@
618
619 =head1 SEE ALSO
620
621 -L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)>
622 +L<rsa(3)|rsa(3)>, L<openssl_rand(3)|openssl_rand(3)>
623
624 =head1 HISTORY
625
626 diff -Naur openssl-0.9.8a.orig/doc/crypto/RSA_generate_key.pod openssl-0.9.8a/doc/crypto/RSA_generate_key.pod
627 --- openssl-0.9.8a.orig/doc/crypto/RSA_generate_key.pod 2002-09-25 13:33:27.000000000 +0000
628 +++ openssl-0.9.8a/doc/crypto/RSA_generate_key.pod 2005-11-14 03:59:59.000000000 +0000
629 @@ -59,7 +59,7 @@
630
631 =head1 SEE ALSO
632
633 -L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
634 +L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
635 L<RSA_free(3)|RSA_free(3)>
636
637 =head1 HISTORY
638 diff -Naur openssl-0.9.8a.orig/doc/crypto/RSA_public_encrypt.pod openssl-0.9.8a/doc/crypto/RSA_public_encrypt.pod
639 --- openssl-0.9.8a.orig/doc/crypto/RSA_public_encrypt.pod 2004-03-23 21:01:34.000000000 +0000
640 +++ openssl-0.9.8a/doc/crypto/RSA_public_encrypt.pod 2005-11-14 03:59:59.000000000 +0000
641 @@ -73,7 +73,7 @@
642
643 =head1 SEE ALSO
644
645 -L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
646 +L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
647 L<RSA_size(3)|RSA_size(3)>
648
649 =head1 HISTORY
650 diff -Naur openssl-0.9.8a.orig/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod openssl-0.9.8a/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod
651 --- openssl-0.9.8a.orig/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2002-09-25 13:33:28.000000000 +0000
652 +++ openssl-0.9.8a/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2005-11-14 03:59:59.000000000 +0000
653 @@ -48,7 +48,7 @@
654 =head1 SEE ALSO
655
656 L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>,
657 -L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
658 +L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
659 L<RSA_verify(3)|RSA_verify(3)>
660
661 =head1 HISTORY
662 diff -Naur openssl-0.9.8a.orig/doc/crypto/X509_NAME_ENTRY_get_object.pod openssl-0.9.8a/doc/crypto/X509_NAME_ENTRY_get_object.pod
663 --- openssl-0.9.8a.orig/doc/crypto/X509_NAME_ENTRY_get_object.pod 2005-03-30 11:50:14.000000000 +0000
664 +++ openssl-0.9.8a/doc/crypto/X509_NAME_ENTRY_get_object.pod 2005-11-14 03:59:59.000000000 +0000
665 @@ -63,7 +63,7 @@
666 =head1 SEE ALSO
667
668 L<ERR_get_error(3)|ERR_get_error(3)>, L<d2i_X509_NAME(3)|d2i_X509_NAME(3)>,
669 -L<OBJ_nid2obj(3),OBJ_nid2obj(3)>
670 +L<OBJ_nid2obj(3)|OBJ_nid2obj(3)>
671
672 =head1 HISTORY
673
674 diff -Naur openssl-0.9.8a.orig/doc/crypto/bn.pod openssl-0.9.8a/doc/crypto/bn.pod
675 --- openssl-0.9.8a.orig/doc/crypto/bn.pod 2005-04-29 15:07:34.000000000 +0000
676 +++ openssl-0.9.8a/doc/crypto/bn.pod 2005-11-14 03:59:59.000000000 +0000
677 @@ -167,7 +167,7 @@
678 =head1 SEE ALSO
679
680 L<bn_internal(3)|bn_internal(3)>,
681 -L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
682 +L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
683 L<BN_new(3)|BN_new(3)>, L<BN_CTX_new(3)|BN_CTX_new(3)>,
684 L<BN_copy(3)|BN_copy(3)>, L<BN_swap(3)|BN_swap(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>,
685 L<BN_add(3)|BN_add(3)>, L<BN_add_word(3)|BN_add_word(3)>,
686 diff -Naur openssl-0.9.8a.orig/doc/crypto/crypto.pod openssl-0.9.8a/doc/crypto/crypto.pod
687 --- openssl-0.9.8a.orig/doc/crypto/crypto.pod 2002-10-06 12:59:25.000000000 +0000
688 +++ openssl-0.9.8a/doc/crypto/crypto.pod 2005-11-14 03:59:59.000000000 +0000
689 @@ -46,7 +46,7 @@
690
691 =item AUXILIARY FUNCTIONS
692
693 -L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>,
694 +L<openssl_err(3)|openssl_err(3)>, L<openssl_threads(3)|openssl_threads(3)>, L<openssl_rand(3)|openssl_rand(3)>,
695 L<OPENSSL_VERSION_NUMBER(3)|OPENSSL_VERSION_NUMBER(3)>
696
697 =item INPUT/OUTPUT, DATA ENCODING
698 diff -Naur openssl-0.9.8a.orig/doc/crypto/des.pod openssl-0.9.8a/doc/crypto/des.pod
699 --- openssl-0.9.8a.orig/doc/crypto/des.pod 2003-10-01 15:02:45.000000000 +0000
700 +++ openssl-0.9.8a/doc/crypto/des.pod 2005-11-14 03:59:59.000000000 +0000
701 @@ -115,7 +115,7 @@
702 the key; it is used to speed the encryption process.
703
704 DES_random_key() generates a random key. The PRNG must be seeded
705 -prior to using this function (see L<rand(3)|rand(3)>). If the PRNG
706 +prior to using this function (see L<openssl_rand(3)|openssl_rand(3)>). If the PRNG
707 could not generate a secure key, 0 is returned.
708
709 Before a DES key can be used, it must be converted into the
710 @@ -317,7 +317,7 @@
711
712 =head1 SEE ALSO
713
714 -crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<rand(3)|rand(3)>
715 +crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>
716
717 =head1 HISTORY
718
719 diff -Naur openssl-0.9.8a.orig/doc/crypto/dh.pod openssl-0.9.8a/doc/crypto/dh.pod
720 --- openssl-0.9.8a.orig/doc/crypto/dh.pod 2002-08-05 16:27:01.000000000 +0000
721 +++ openssl-0.9.8a/doc/crypto/dh.pod 2005-11-14 03:59:59.000000000 +0000
722 @@ -67,8 +67,8 @@
723
724 =head1 SEE ALSO
725
726 -L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<err(3)|err(3)>,
727 -L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
728 +L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<openssl_err(3)|openssl_err(3)>,
729 +L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
730 L<DH_set_method(3)|DH_set_method(3)>, L<DH_new(3)|DH_new(3)>,
731 L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>,
732 L<DH_generate_parameters(3)|DH_generate_parameters(3)>,
733 diff -Naur openssl-0.9.8a.orig/doc/crypto/dsa.pod openssl-0.9.8a/doc/crypto/dsa.pod
734 --- openssl-0.9.8a.orig/doc/crypto/dsa.pod 2002-08-05 16:27:01.000000000 +0000
735 +++ openssl-0.9.8a/doc/crypto/dsa.pod 2005-11-14 03:59:59.000000000 +0000
736 @@ -100,7 +100,7 @@
737
738 =head1 SEE ALSO
739
740 -L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>,
741 +L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>,
742 L<rsa(3)|rsa(3)>, L<sha(3)|sha(3)>, L<engine(3)|engine(3)>,
743 L<DSA_new(3)|DSA_new(3)>,
744 L<DSA_size(3)|DSA_size(3)>,
745 diff -Naur openssl-0.9.8a.orig/doc/crypto/engine.pod openssl-0.9.8a/doc/crypto/engine.pod
746 --- openssl-0.9.8a.orig/doc/crypto/engine.pod 2004-06-17 23:40:14.000000000 +0000
747 +++ openssl-0.9.8a/doc/crypto/engine.pod 2005-11-14 04:01:19.000000000 +0000
748 @@ -594,6 +594,6 @@
749
750 =head1 SEE ALSO
751
752 -L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<rand(3)|rand(3)>
753 +L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<openssl_rand(3)|openssl_rand(3)>
754
755 =cut
756 diff -Naur openssl-0.9.8a.orig/doc/crypto/err.pod openssl-0.9.8a/doc/crypto/err.pod
757 --- openssl-0.9.8a.orig/doc/crypto/err.pod 2002-07-10 19:35:46.000000000 +0000
758 +++ openssl-0.9.8a/doc/crypto/err.pod 1970-01-01 00:00:00.000000000 +0000
759 @@ -1,187 +0,0 @@
760 -=pod
761 -
762 -=head1 NAME
763 -
764 -err - error codes
765 -
766 -=head1 SYNOPSIS
767 -
768 - #include <openssl/err.h>
769 -
770 - unsigned long ERR_get_error(void);
771 - unsigned long ERR_peek_error(void);
772 - unsigned long ERR_get_error_line(const char **file, int *line);
773 - unsigned long ERR_peek_error_line(const char **file, int *line);
774 - unsigned long ERR_get_error_line_data(const char **file, int *line,
775 - const char **data, int *flags);
776 - unsigned long ERR_peek_error_line_data(const char **file, int *line,
777 - const char **data, int *flags);
778 -
779 - int ERR_GET_LIB(unsigned long e);
780 - int ERR_GET_FUNC(unsigned long e);
781 - int ERR_GET_REASON(unsigned long e);
782 -
783 - void ERR_clear_error(void);
784 -
785 - char *ERR_error_string(unsigned long e, char *buf);
786 - const char *ERR_lib_error_string(unsigned long e);
787 - const char *ERR_func_error_string(unsigned long e);
788 - const char *ERR_reason_error_string(unsigned long e);
789 -
790 - void ERR_print_errors(BIO *bp);
791 - void ERR_print_errors_fp(FILE *fp);
792 -
793 - void ERR_load_crypto_strings(void);
794 - void ERR_free_strings(void);
795 -
796 - void ERR_remove_state(unsigned long pid);
797 -
798 - void ERR_put_error(int lib, int func, int reason, const char *file,
799 - int line);
800 - void ERR_add_error_data(int num, ...);
801 -
802 - void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
803 - unsigned long ERR_PACK(int lib, int func, int reason);
804 - int ERR_get_next_error_library(void);
805 -
806 -=head1 DESCRIPTION
807 -
808 -When a call to the OpenSSL library fails, this is usually signalled
809 -by the return value, and an error code is stored in an error queue
810 -associated with the current thread. The B<err> library provides
811 -functions to obtain these error codes and textual error messages.
812 -
813 -The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
814 -access error codes.
815 -
816 -Error codes contain information about where the error occurred, and
817 -what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
818 -extract this information. A method to obtain human-readable error
819 -messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
820 -
821 -L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
822 -error queue.
823 -
824 -Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
825 -avoid memory leaks when threads are terminated.
826 -
827 -=head1 ADDING NEW ERROR CODES TO OPENSSL
828 -
829 -See L<ERR_put_error(3)> if you want to record error codes in the
830 -OpenSSL error system from within your application.
831 -
832 -The remainder of this section is of interest only if you want to add
833 -new error codes to OpenSSL or add error codes from external libraries.
834 -
835 -=head2 Reporting errors
836 -
837 -Each sub-library has a specific macro XXXerr() that is used to report
838 -errors. Its first argument is a function code B<XXX_F_...>, the second
839 -argument is a reason code B<XXX_R_...>. Function codes are derived
840 -from the function names; reason codes consist of textual error
841 -descriptions. For example, the function ssl23_read() reports a
842 -"handshake failure" as follows:
843 -
844 - SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
845 -
846 -Function and reason codes should consist of upper case characters,
847 -numbers and underscores only. The error file generation script translates
848 -function codes into function names by looking in the header files
849 -for an appropriate function name, if none is found it just uses
850 -the capitalized form such as "SSL23_READ" in the above example.
851 -
852 -The trailing section of a reason code (after the "_R_") is translated
853 -into lower case and underscores changed to spaces.
854 -
855 -When you are using new function or reason codes, run B<make errors>.
856 -The necessary B<#define>s will then automatically be added to the
857 -sub-library's header file.
858 -
859 -Although a library will normally report errors using its own specific
860 -XXXerr macro, another library's macro can be used. This is normally
861 -only done when a library wants to include ASN1 code which must use
862 -the ASN1err() macro.
863 -
864 -=head2 Adding new libraries
865 -
866 -When adding a new sub-library to OpenSSL, assign it a library number
867 -B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
868 -name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
869 -C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
870 -(in B<crypto/err/err_all.c>). Finally, add an entry
871 -
872 - L XXX xxx.h xxx_err.c
873 -
874 -to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
875 -Running B<make errors> will then generate a file B<xxx_err.c>, and
876 -add all error codes used in the library to B<xxx.h>.
877 -
878 -Additionally the library include file must have a certain form.
879 -Typically it will initially look like this:
880 -
881 - #ifndef HEADER_XXX_H
882 - #define HEADER_XXX_H
883 -
884 - #ifdef __cplusplus
885 - extern "C" {
886 - #endif
887 -
888 - /* Include files */
889 -
890 - #include <openssl/bio.h>
891 - #include <openssl/x509.h>
892 -
893 - /* Macros, structures and function prototypes */
894 -
895 -
896 - /* BEGIN ERROR CODES */
897 -
898 -The B<BEGIN ERROR CODES> sequence is used by the error code
899 -generation script as the point to place new error codes, any text
900 -after this point will be overwritten when B<make errors> is run.
901 -The closing #endif etc will be automatically added by the script.
902 -
903 -The generated C error code file B<xxx_err.c> will load the header
904 -files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
905 -header file must load any additional header files containing any
906 -definitions it uses.
907 -
908 -=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
909 -
910 -It is also possible to use OpenSSL's error code scheme in external
911 -libraries. The library needs to load its own codes and call the OpenSSL
912 -error code insertion script B<mkerr.pl> explicitly to add codes to
913 -the header file and generate the C error code file. This will normally
914 -be done if the external library needs to generate new ASN1 structures
915 -but it can also be used to add more general purpose error code handling.
916 -
917 -TBA more details
918 -
919 -=head1 INTERNALS
920 -
921 -The error queues are stored in a hash table with one B<ERR_STATE>
922 -entry for each pid. ERR_get_state() returns the current thread's
923 -B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
924 -codes. When more error codes are added, the old ones are overwritten,
925 -on the assumption that the most recent errors are most important.
926 -
927 -Error strings are also stored in hash table. The hash tables can
928 -be obtained by calling ERR_get_err_state_table(void) and
929 -ERR_get_string_table(void) respectively.
930 -
931 -=head1 SEE ALSO
932 -
933 -L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
934 -L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
935 -L<ERR_get_error(3)|ERR_get_error(3)>,
936 -L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
937 -L<ERR_clear_error(3)|ERR_clear_error(3)>,
938 -L<ERR_error_string(3)|ERR_error_string(3)>,
939 -L<ERR_print_errors(3)|ERR_print_errors(3)>,
940 -L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
941 -L<ERR_remove_state(3)|ERR_remove_state(3)>,
942 -L<ERR_put_error(3)|ERR_put_error(3)>,
943 -L<ERR_load_strings(3)|ERR_load_strings(3)>,
944 -L<SSL_get_error(3)|SSL_get_error(3)>
945 -
946 -=cut
947 diff -Naur openssl-0.9.8a.orig/doc/crypto/openssl_err.pod openssl-0.9.8a/doc/crypto/openssl_err.pod
948 --- openssl-0.9.8a.orig/doc/crypto/openssl_err.pod 1970-01-01 00:00:00.000000000 +0000
949 +++ openssl-0.9.8a/doc/crypto/openssl_err.pod 2005-11-14 03:59:59.000000000 +0000
950 @@ -0,0 +1,187 @@
951 +=pod
952 +
953 +=head1 NAME
954 +
955 +openssl_err - error codes
956 +
957 +=head1 SYNOPSIS
958 +
959 + #include <openssl/err.h>
960 +
961 + unsigned long ERR_get_error(void);
962 + unsigned long ERR_peek_error(void);
963 + unsigned long ERR_get_error_line(const char **file, int *line);
964 + unsigned long ERR_peek_error_line(const char **file, int *line);
965 + unsigned long ERR_get_error_line_data(const char **file, int *line,
966 + const char **data, int *flags);
967 + unsigned long ERR_peek_error_line_data(const char **file, int *line,
968 + const char **data, int *flags);
969 +
970 + int ERR_GET_LIB(unsigned long e);
971 + int ERR_GET_FUNC(unsigned long e);
972 + int ERR_GET_REASON(unsigned long e);
973 +
974 + void ERR_clear_error(void);
975 +
976 + char *ERR_error_string(unsigned long e, char *buf);
977 + const char *ERR_lib_error_string(unsigned long e);
978 + const char *ERR_func_error_string(unsigned long e);
979 + const char *ERR_reason_error_string(unsigned long e);
980 +
981 + void ERR_print_errors(BIO *bp);
982 + void ERR_print_errors_fp(FILE *fp);
983 +
984 + void ERR_load_crypto_strings(void);
985 + void ERR_free_strings(void);
986 +
987 + void ERR_remove_state(unsigned long pid);
988 +
989 + void ERR_put_error(int lib, int func, int reason, const char *file,
990 + int line);
991 + void ERR_add_error_data(int num, ...);
992 +
993 + void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
994 + unsigned long ERR_PACK(int lib, int func, int reason);
995 + int ERR_get_next_error_library(void);
996 +
997 +=head1 DESCRIPTION
998 +
999 +When a call to the OpenSSL library fails, this is usually signalled
1000 +by the return value, and an error code is stored in an error queue
1001 +associated with the current thread. The B<err> library provides
1002 +functions to obtain these error codes and textual error messages.
1003 +
1004 +The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
1005 +access error codes.
1006 +
1007 +Error codes contain information about where the error occurred, and
1008 +what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
1009 +extract this information. A method to obtain human-readable error
1010 +messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
1011 +
1012 +L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
1013 +error queue.
1014 +
1015 +Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
1016 +avoid memory leaks when threads are terminated.
1017 +
1018 +=head1 ADDING NEW ERROR CODES TO OPENSSL
1019 +
1020 +See L<ERR_put_error(3)> if you want to record error codes in the
1021 +OpenSSL error system from within your application.
1022 +
1023 +The remainder of this section is of interest only if you want to add
1024 +new error codes to OpenSSL or add error codes from external libraries.
1025 +
1026 +=head2 Reporting errors
1027 +
1028 +Each sub-library has a specific macro XXXerr() that is used to report
1029 +errors. Its first argument is a function code B<XXX_F_...>, the second
1030 +argument is a reason code B<XXX_R_...>. Function codes are derived
1031 +from the function names; reason codes consist of textual error
1032 +descriptions. For example, the function ssl23_read() reports a
1033 +"handshake failure" as follows:
1034 +
1035 + SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
1036 +
1037 +Function and reason codes should consist of upper case characters,
1038 +numbers and underscores only. The error file generation script translates
1039 +function codes into function names by looking in the header files
1040 +for an appropriate function name, if none is found it just uses
1041 +the capitalized form such as "SSL23_READ" in the above example.
1042 +
1043 +The trailing section of a reason code (after the "_R_") is translated
1044 +into lower case and underscores changed to spaces.
1045 +
1046 +When you are using new function or reason codes, run B<make errors>.
1047 +The necessary B<#define>s will then automatically be added to the
1048 +sub-library's header file.
1049 +
1050 +Although a library will normally report errors using its own specific
1051 +XXXerr macro, another library's macro can be used. This is normally
1052 +only done when a library wants to include ASN1 code which must use
1053 +the ASN1err() macro.
1054 +
1055 +=head2 Adding new libraries
1056 +
1057 +When adding a new sub-library to OpenSSL, assign it a library number
1058 +B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
1059 +name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
1060 +C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
1061 +(in B<crypto/err/err_all.c>). Finally, add an entry
1062 +
1063 + L XXX xxx.h xxx_err.c
1064 +
1065 +to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
1066 +Running B<make errors> will then generate a file B<xxx_err.c>, and
1067 +add all error codes used in the library to B<xxx.h>.
1068 +
1069 +Additionally the library include file must have a certain form.
1070 +Typically it will initially look like this:
1071 +
1072 + #ifndef HEADER_XXX_H
1073 + #define HEADER_XXX_H
1074 +
1075 + #ifdef __cplusplus
1076 + extern "C" {
1077 + #endif
1078 +
1079 + /* Include files */
1080 +
1081 + #include <openssl/bio.h>
1082 + #include <openssl/x509.h>
1083 +
1084 + /* Macros, structures and function prototypes */
1085 +
1086 +
1087 + /* BEGIN ERROR CODES */
1088 +
1089 +The B<BEGIN ERROR CODES> sequence is used by the error code
1090 +generation script as the point to place new error codes, any text
1091 +after this point will be overwritten when B<make errors> is run.
1092 +The closing #endif etc will be automatically added by the script.
1093 +
1094 +The generated C error code file B<xxx_err.c> will load the header
1095 +files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
1096 +header file must load any additional header files containing any
1097 +definitions it uses.
1098 +
1099 +=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
1100 +
1101 +It is also possible to use OpenSSL's error code scheme in external
1102 +libraries. The library needs to load its own codes and call the OpenSSL
1103 +error code insertion script B<mkerr.pl> explicitly to add codes to
1104 +the header file and generate the C error code file. This will normally
1105 +be done if the external library needs to generate new ASN1 structures
1106 +but it can also be used to add more general purpose error code handling.
1107 +
1108 +TBA more details
1109 +
1110 +=head1 INTERNALS
1111 +
1112 +The error queues are stored in a hash table with one B<ERR_STATE>
1113 +entry for each pid. ERR_get_state() returns the current thread's
1114 +B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
1115 +codes. When more error codes are added, the old ones are overwritten,
1116 +on the assumption that the most recent errors are most important.
1117 +
1118 +Error strings are also stored in hash table. The hash tables can
1119 +be obtained by calling ERR_get_err_state_table(void) and
1120 +ERR_get_string_table(void) respectively.
1121 +
1122 +=head1 SEE ALSO
1123 +
1124 +L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
1125 +L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
1126 +L<ERR_get_error(3)|ERR_get_error(3)>,
1127 +L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
1128 +L<ERR_clear_error(3)|ERR_clear_error(3)>,
1129 +L<ERR_error_string(3)|ERR_error_string(3)>,
1130 +L<ERR_print_errors(3)|ERR_print_errors(3)>,
1131 +L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
1132 +L<ERR_remove_state(3)|ERR_remove_state(3)>,
1133 +L<ERR_put_error(3)|ERR_put_error(3)>,
1134 +L<ERR_load_strings(3)|ERR_load_strings(3)>,
1135 +L<SSL_get_error(3)|SSL_get_error(3)>
1136 +
1137 +=cut
1138 diff -Naur openssl-0.9.8a.orig/doc/crypto/openssl_rand.pod openssl-0.9.8a/doc/crypto/openssl_rand.pod
1139 --- openssl-0.9.8a.orig/doc/crypto/openssl_rand.pod 1970-01-01 00:00:00.000000000 +0000
1140 +++ openssl-0.9.8a/doc/crypto/openssl_rand.pod 2005-11-14 03:59:59.000000000 +0000
1141 @@ -0,0 +1,175 @@
1142 +=pod
1143 +
1144 +=head1 NAME
1145 +
1146 +openssl_rand - pseudo-random number generator
1147 +
1148 +=head1 SYNOPSIS
1149 +
1150 + #include <openssl/rand.h>
1151 +
1152 + int RAND_set_rand_engine(ENGINE *engine);
1153 +
1154 + int RAND_bytes(unsigned char *buf, int num);
1155 + int RAND_pseudo_bytes(unsigned char *buf, int num);
1156 +
1157 + void RAND_seed(const void *buf, int num);
1158 + void RAND_add(const void *buf, int num, int entropy);
1159 + int RAND_status(void);
1160 +
1161 + int RAND_load_file(const char *file, long max_bytes);
1162 + int RAND_write_file(const char *file);
1163 + const char *RAND_file_name(char *file, size_t num);
1164 +
1165 + int RAND_egd(const char *path);
1166 +
1167 + void RAND_set_rand_method(const RAND_METHOD *meth);
1168 + const RAND_METHOD *RAND_get_rand_method(void);
1169 + RAND_METHOD *RAND_SSLeay(void);
1170 +
1171 + void RAND_cleanup(void);
1172 +
1173 + /* For Win32 only */
1174 + void RAND_screen(void);
1175 + int RAND_event(UINT, WPARAM, LPARAM);
1176 +
1177 +=head1 DESCRIPTION
1178 +
1179 +Since the introduction of the ENGINE API, the recommended way of controlling
1180 +default implementations is by using the ENGINE API functions. The default
1181 +B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
1182 +RAND_get_rand_method(), is only used if no ENGINE has been set as the default
1183 +"rand" implementation. Hence, these two functions are no longer the recommened
1184 +way to control defaults.
1185 +
1186 +If an alternative B<RAND_METHOD> implementation is being used (either set
1187 +directly or as provided by an ENGINE module), then it is entirely responsible
1188 +for the generation and management of a cryptographically secure PRNG stream. The
1189 +mechanisms described below relate solely to the software PRNG implementation
1190 +built in to OpenSSL and used by default.
1191 +
1192 +These functions implement a cryptographically secure pseudo-random
1193 +number generator (PRNG). It is used by other library functions for
1194 +example to generate random keys, and applications can use it when they
1195 +need randomness.
1196 +
1197 +A cryptographic PRNG must be seeded with unpredictable data such as
1198 +mouse movements or keys pressed at random by the user. This is
1199 +described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
1200 +(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
1201 +seeding process whenever the application is started.
1202 +
1203 +L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
1204 +PRNG.
1205 +
1206 +=head1 INTERNALS
1207 +
1208 +The RAND_SSLeay() method implements a PRNG based on a cryptographic
1209 +hash function.
1210 +
1211 +The following description of its design is based on the SSLeay
1212 +documentation:
1213 +
1214 +First up I will state the things I believe I need for a good RNG.
1215 +
1216 +=over 4
1217 +
1218 +=item 1
1219 +
1220 +A good hashing algorithm to mix things up and to convert the RNG 'state'
1221 +to random numbers.
1222 +
1223 +=item 2
1224 +
1225 +An initial source of random 'state'.
1226 +
1227 +=item 3
1228 +
1229 +The state should be very large. If the RNG is being used to generate
1230 +4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
1231 +If your RNG state only has 128 bits, you are obviously limiting the
1232 +search space to 128 bits, not 2048. I'm probably getting a little
1233 +carried away on this last point but it does indicate that it may not be
1234 +a bad idea to keep quite a lot of RNG state. It should be easier to
1235 +break a cipher than guess the RNG seed data.
1236 +
1237 +=item 4
1238 +
1239 +Any RNG seed data should influence all subsequent random numbers
1240 +generated. This implies that any random seed data entered will have
1241 +an influence on all subsequent random numbers generated.
1242 +
1243 +=item 5
1244 +
1245 +When using data to seed the RNG state, the data used should not be
1246 +extractable from the RNG state. I believe this should be a
1247 +requirement because one possible source of 'secret' semi random
1248 +data would be a private key or a password. This data must
1249 +not be disclosed by either subsequent random numbers or a
1250 +'core' dump left by a program crash.
1251 +
1252 +=item 6
1253 +
1254 +Given the same initial 'state', 2 systems should deviate in their RNG state
1255 +(and hence the random numbers generated) over time if at all possible.
1256 +
1257 +=item 7
1258 +
1259 +Given the random number output stream, it should not be possible to determine
1260 +the RNG state or the next random number.
1261 +
1262 +=back
1263 +
1264 +The algorithm is as follows.
1265 +
1266 +There is global state made up of a 1023 byte buffer (the 'state'), a
1267 +working hash value ('md'), and a counter ('count').
1268 +
1269 +Whenever seed data is added, it is inserted into the 'state' as
1270 +follows.
1271 +
1272 +The input is chopped up into units of 20 bytes (or less for
1273 +the last block). Each of these blocks is run through the hash
1274 +function as follows: The data passed to the hash function
1275 +is the current 'md', the same number of bytes from the 'state'
1276 +(the location determined by in incremented looping index) as
1277 +the current 'block', the new key data 'block', and 'count'
1278 +(which is incremented after each use).
1279 +The result of this is kept in 'md' and also xored into the
1280 +'state' at the same locations that were used as input into the
1281 +hash function. I
1282 +believe this system addresses points 1 (hash function; currently
1283 +SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
1284 +function and xor).
1285 +
1286 +When bytes are extracted from the RNG, the following process is used.
1287 +For each group of 10 bytes (or less), we do the following:
1288 +
1289 +Input into the hash function the local 'md' (which is initialized from
1290 +the global 'md' before any bytes are generated), the bytes that are to
1291 +be overwritten by the random bytes, and bytes from the 'state'
1292 +(incrementing looping index). From this digest output (which is kept
1293 +in 'md'), the top (up to) 10 bytes are returned to the caller and the
1294 +bottom 10 bytes are xored into the 'state'.
1295 +
1296 +Finally, after we have finished 'num' random bytes for the caller,
1297 +'count' (which is incremented) and the local and global 'md' are fed
1298 +into the hash function and the results are kept in the global 'md'.
1299 +
1300 +I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
1301 +into the 'state' the 'old' data from the caller that is about to be
1302 +overwritten) and 7 (by not using the 10 bytes given to the caller to
1303 +update the 'state', but they are used to update 'md').
1304 +
1305 +So of the points raised, only 2 is not addressed (but see
1306 +L<RAND_add(3)|RAND_add(3)>).
1307 +
1308 +=head1 SEE ALSO
1309 +
1310 +L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
1311 +L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
1312 +L<RAND_bytes(3)|RAND_bytes(3)>,
1313 +L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
1314 +L<RAND_cleanup(3)|RAND_cleanup(3)>
1315 +
1316 +=cut
1317 diff -Naur openssl-0.9.8a.orig/doc/crypto/openssl_threads.pod openssl-0.9.8a/doc/crypto/openssl_threads.pod
1318 --- openssl-0.9.8a.orig/doc/crypto/openssl_threads.pod 1970-01-01 00:00:00.000000000 +0000
1319 +++ openssl-0.9.8a/doc/crypto/openssl_threads.pod 2005-11-14 03:59:59.000000000 +0000
1320 @@ -0,0 +1,175 @@
1321 +=pod
1322 +
1323 +=head1 NAME
1324 +
1325 +CRYPTO_set_locking_callback, CRYPTO_set_id_callback, CRYPTO_num_locks,
1326 +CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback,
1327 +CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid,
1328 +CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support
1329 +
1330 +=head1 SYNOPSIS
1331 +
1332 + #include <openssl/crypto.h>
1333 +
1334 + void CRYPTO_set_locking_callback(void (*locking_function)(int mode,
1335 + int n, const char *file, int line));
1336 +
1337 + void CRYPTO_set_id_callback(unsigned long (*id_function)(void));
1338 +
1339 + int CRYPTO_num_locks(void);
1340 +
1341 +
1342 + /* struct CRYPTO_dynlock_value needs to be defined by the user */
1343 + struct CRYPTO_dynlock_value;
1344 +
1345 + void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *
1346 + (*dyn_create_function)(char *file, int line));
1347 + void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)
1348 + (int mode, struct CRYPTO_dynlock_value *l,
1349 + const char *file, int line));
1350 + void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)
1351 + (struct CRYPTO_dynlock_value *l, const char *file, int line));
1352 +
1353 + int CRYPTO_get_new_dynlockid(void);
1354 +
1355 + void CRYPTO_destroy_dynlockid(int i);
1356 +
1357 + void CRYPTO_lock(int mode, int n, const char *file, int line);
1358 +
1359 + #define CRYPTO_w_lock(type) \
1360 + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
1361 + #define CRYPTO_w_unlock(type) \
1362 + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
1363 + #define CRYPTO_r_lock(type) \
1364 + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
1365 + #define CRYPTO_r_unlock(type) \
1366 + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
1367 + #define CRYPTO_add(addr,amount,type) \
1368 + CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
1369 +
1370 +=head1 DESCRIPTION
1371 +
1372 +OpenSSL can safely be used in multi-threaded applications provided
1373 +that at least two callback functions are set.
1374 +
1375 +locking_function(int mode, int n, const char *file, int line) is
1376 +needed to perform locking on shared data structures.
1377 +(Note that OpenSSL uses a number of global data structures that
1378 +will be implicitly shared whenever multiple threads use OpenSSL.)
1379 +Multi-threaded applications will crash at random if it is not set.
1380 +
1381 +locking_function() must be able to handle up to CRYPTO_num_locks()
1382 +different mutex locks. It sets the B<n>-th lock if B<mode> &
1383 +B<CRYPTO_LOCK>, and releases it otherwise.
1384 +
1385 +B<file> and B<line> are the file number of the function setting the
1386 +lock. They can be useful for debugging.
1387 +
1388 +id_function(void) is a function that returns a thread ID, for example
1389 +pthread_self() if it returns an integer (see NOTES below). It isn't
1390 +needed on Windows nor on platforms where getpid() returns a different
1391 +ID for each thread (see NOTES below).
1392 +
1393 +Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
1394 +of OpenSSL need it for better performance. To enable this, the following
1395 +is required:
1396 +
1397 +=over 4
1398 +
1399 +=item *
1400 +Three additional callback function, dyn_create_function, dyn_lock_function
1401 +and dyn_destroy_function.
1402 +
1403 +=item *
1404 +A structure defined with the data that each lock needs to handle.
1405 +
1406 +=back
1407 +
1408 +struct CRYPTO_dynlock_value has to be defined to contain whatever structure
1409 +is needed to handle locks.
1410 +
1411 +dyn_create_function(const char *file, int line) is needed to create a
1412 +lock. Multi-threaded applications might crash at random if it is not set.
1413 +
1414 +dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line)
1415 +is needed to perform locking off dynamic lock numbered n. Multi-threaded
1416 +applications might crash at random if it is not set.
1417 +
1418 +dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is
1419 +needed to destroy the lock l. Multi-threaded applications might crash at
1420 +random if it is not set.
1421 +
1422 +CRYPTO_get_new_dynlockid() is used to create locks. It will call
1423 +dyn_create_function for the actual creation.
1424 +
1425 +CRYPTO_destroy_dynlockid() is used to destroy locks. It will call
1426 +dyn_destroy_function for the actual destruction.
1427 +
1428 +CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield
1429 +describing what should be done with the lock. n is the number of the
1430 +lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined
1431 +from the following values. These values are pairwise exclusive, with
1432 +undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE
1433 +should not be used together):
1434 +
1435 + CRYPTO_LOCK 0x01
1436 + CRYPTO_UNLOCK 0x02
1437 + CRYPTO_READ 0x04
1438 + CRYPTO_WRITE 0x08
1439 +
1440 +=head1 RETURN VALUES
1441 +
1442 +CRYPTO_num_locks() returns the required number of locks.
1443 +
1444 +CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
1445 +
1446 +The other functions return no values.
1447 +
1448 +=head1 NOTES
1449 +
1450 +You can find out if OpenSSL was configured with thread support:
1451 +
1452 + #define OPENSSL_THREAD_DEFINES
1453 + #include <openssl/opensslconf.h>
1454 + #if defined(OPENSSL_THREADS)
1455 + // thread support enabled
1456 + #else
1457 + // no thread support
1458 + #endif
1459 +
1460 +Also, dynamic locks are currently not used internally by OpenSSL, but
1461 +may do so in the future.
1462 +
1463 +Defining id_function(void) has it's own issues. Generally speaking,
1464 +pthread_self() should be used, even on platforms where getpid() gives
1465 +different answers in each thread, since that may depend on the machine
1466 +the program is run on, not the machine where the program is being
1467 +compiled. For instance, Red Hat 8 Linux and earlier used
1468 +LinuxThreads, whose getpid() returns a different value for each
1469 +thread. Red Hat 9 Linux and later use NPTL, which is
1470 +Posix-conformant, and has a getpid() that returns the same value for
1471 +all threads in a process. A program compiled on Red Hat 8 and run on
1472 +Red Hat 9 will therefore see getpid() returning the same value for
1473 +all threads.
1474 +
1475 +There is still the issue of platforms where pthread_self() returns
1476 +something other than an integer. This is a bit unusual, and this
1477 +manual has no cookbook solution for that case.
1478 +
1479 +=head1 EXAMPLES
1480 +
1481 +B<crypto/threads/mttest.c> shows examples of the callback functions on
1482 +Solaris, Irix and Win32.
1483 +
1484 +=head1 HISTORY
1485 +
1486 +CRYPTO_set_locking_callback() and CRYPTO_set_id_callback() are
1487 +available in all versions of SSLeay and OpenSSL.
1488 +CRYPTO_num_locks() was added in OpenSSL 0.9.4.
1489 +All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev.
1490 +
1491 +=head1 SEE ALSO
1492 +
1493 +L<crypto(3)|crypto(3)>
1494 +
1495 +=cut
1496 diff -Naur openssl-0.9.8a.orig/doc/crypto/rand.pod openssl-0.9.8a/doc/crypto/rand.pod
1497 --- openssl-0.9.8a.orig/doc/crypto/rand.pod 2002-08-05 16:27:01.000000000 +0000
1498 +++ openssl-0.9.8a/doc/crypto/rand.pod 1970-01-01 00:00:00.000000000 +0000
1499 @@ -1,175 +0,0 @@
1500 -=pod
1501 -
1502 -=head1 NAME
1503 -
1504 -rand - pseudo-random number generator
1505 -
1506 -=head1 SYNOPSIS
1507 -
1508 - #include <openssl/rand.h>
1509 -
1510 - int RAND_set_rand_engine(ENGINE *engine);
1511 -
1512 - int RAND_bytes(unsigned char *buf, int num);
1513 - int RAND_pseudo_bytes(unsigned char *buf, int num);
1514 -
1515 - void RAND_seed(const void *buf, int num);
1516 - void RAND_add(const void *buf, int num, int entropy);
1517 - int RAND_status(void);
1518 -
1519 - int RAND_load_file(const char *file, long max_bytes);
1520 - int RAND_write_file(const char *file);
1521 - const char *RAND_file_name(char *file, size_t num);
1522 -
1523 - int RAND_egd(const char *path);
1524 -
1525 - void RAND_set_rand_method(const RAND_METHOD *meth);
1526 - const RAND_METHOD *RAND_get_rand_method(void);
1527 - RAND_METHOD *RAND_SSLeay(void);
1528 -
1529 - void RAND_cleanup(void);
1530 -
1531 - /* For Win32 only */
1532 - void RAND_screen(void);
1533 - int RAND_event(UINT, WPARAM, LPARAM);
1534 -
1535 -=head1 DESCRIPTION
1536 -
1537 -Since the introduction of the ENGINE API, the recommended way of controlling
1538 -default implementations is by using the ENGINE API functions. The default
1539 -B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
1540 -RAND_get_rand_method(), is only used if no ENGINE has been set as the default
1541 -"rand" implementation. Hence, these two functions are no longer the recommened
1542 -way to control defaults.
1543 -
1544 -If an alternative B<RAND_METHOD> implementation is being used (either set
1545 -directly or as provided by an ENGINE module), then it is entirely responsible
1546 -for the generation and management of a cryptographically secure PRNG stream. The
1547 -mechanisms described below relate solely to the software PRNG implementation
1548 -built in to OpenSSL and used by default.
1549 -
1550 -These functions implement a cryptographically secure pseudo-random
1551 -number generator (PRNG). It is used by other library functions for
1552 -example to generate random keys, and applications can use it when they
1553 -need randomness.
1554 -
1555 -A cryptographic PRNG must be seeded with unpredictable data such as
1556 -mouse movements or keys pressed at random by the user. This is
1557 -described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
1558 -(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
1559 -seeding process whenever the application is started.
1560 -
1561 -L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
1562 -PRNG.
1563 -
1564 -=head1 INTERNALS
1565 -
1566 -The RAND_SSLeay() method implements a PRNG based on a cryptographic
1567 -hash function.
1568 -
1569 -The following description of its design is based on the SSLeay
1570 -documentation:
1571 -
1572 -First up I will state the things I believe I need for a good RNG.
1573 -
1574 -=over 4
1575 -
1576 -=item 1
1577 -
1578 -A good hashing algorithm to mix things up and to convert the RNG 'state'
1579 -to random numbers.
1580 -
1581 -=item 2
1582 -
1583 -An initial source of random 'state'.
1584 -
1585 -=item 3
1586 -
1587 -The state should be very large. If the RNG is being used to generate
1588 -4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
1589 -If your RNG state only has 128 bits, you are obviously limiting the
1590 -search space to 128 bits, not 2048. I'm probably getting a little
1591 -carried away on this last point but it does indicate that it may not be
1592 -a bad idea to keep quite a lot of RNG state. It should be easier to
1593 -break a cipher than guess the RNG seed data.
1594 -
1595 -=item 4
1596 -
1597 -Any RNG seed data should influence all subsequent random numbers
1598 -generated. This implies that any random seed data entered will have
1599 -an influence on all subsequent random numbers generated.
1600 -
1601 -=item 5
1602 -
1603 -When using data to seed the RNG state, the data used should not be
1604 -extractable from the RNG state. I believe this should be a
1605 -requirement because one possible source of 'secret' semi random
1606 -data would be a private key or a password. This data must
1607 -not be disclosed by either subsequent random numbers or a
1608 -'core' dump left by a program crash.
1609 -
1610 -=item 6
1611 -
1612 -Given the same initial 'state', 2 systems should deviate in their RNG state
1613 -(and hence the random numbers generated) over time if at all possible.
1614 -
1615 -=item 7
1616 -
1617 -Given the random number output stream, it should not be possible to determine
1618 -the RNG state or the next random number.
1619 -
1620 -=back
1621 -
1622 -The algorithm is as follows.
1623 -
1624 -There is global state made up of a 1023 byte buffer (the 'state'), a
1625 -working hash value ('md'), and a counter ('count').
1626 -
1627 -Whenever seed data is added, it is inserted into the 'state' as
1628 -follows.
1629 -
1630 -The input is chopped up into units of 20 bytes (or less for
1631 -the last block). Each of these blocks is run through the hash
1632 -function as follows: The data passed to the hash function
1633 -is the current 'md', the same number of bytes from the 'state'
1634 -(the location determined by in incremented looping index) as
1635 -the current 'block', the new key data 'block', and 'count'
1636 -(which is incremented after each use).
1637 -The result of this is kept in 'md' and also xored into the
1638 -'state' at the same locations that were used as input into the
1639 -hash function. I
1640 -believe this system addresses points 1 (hash function; currently
1641 -SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
1642 -function and xor).
1643 -
1644 -When bytes are extracted from the RNG, the following process is used.
1645 -For each group of 10 bytes (or less), we do the following:
1646 -
1647 -Input into the hash function the local 'md' (which is initialized from
1648 -the global 'md' before any bytes are generated), the bytes that are to
1649 -be overwritten by the random bytes, and bytes from the 'state'
1650 -(incrementing looping index). From this digest output (which is kept
1651 -in 'md'), the top (up to) 10 bytes are returned to the caller and the
1652 -bottom 10 bytes are xored into the 'state'.
1653 -
1654 -Finally, after we have finished 'num' random bytes for the caller,
1655 -'count' (which is incremented) and the local and global 'md' are fed
1656 -into the hash function and the results are kept in the global 'md'.
1657 -
1658 -I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
1659 -into the 'state' the 'old' data from the caller that is about to be
1660 -overwritten) and 7 (by not using the 10 bytes given to the caller to
1661 -update the 'state', but they are used to update 'md').
1662 -
1663 -So of the points raised, only 2 is not addressed (but see
1664 -L<RAND_add(3)|RAND_add(3)>).
1665 -
1666 -=head1 SEE ALSO
1667 -
1668 -L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
1669 -L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
1670 -L<RAND_bytes(3)|RAND_bytes(3)>,
1671 -L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
1672 -L<RAND_cleanup(3)|RAND_cleanup(3)>
1673 -
1674 -=cut
1675 diff -Naur openssl-0.9.8a.orig/doc/crypto/rsa.pod openssl-0.9.8a/doc/crypto/rsa.pod
1676 --- openssl-0.9.8a.orig/doc/crypto/rsa.pod 2002-08-04 21:08:36.000000000 +0000
1677 +++ openssl-0.9.8a/doc/crypto/rsa.pod 2005-11-14 03:59:59.000000000 +0000
1678 @@ -108,7 +108,7 @@
1679 =head1 SEE ALSO
1680
1681 L<rsa(1)|rsa(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>,
1682 -L<rand(3)|rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
1683 +L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
1684 L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
1685 L<RSA_sign(3)|RSA_sign(3)>, L<RSA_size(3)|RSA_size(3)>,
1686 L<RSA_generate_key(3)|RSA_generate_key(3)>,
1687 diff -Naur openssl-0.9.8a.orig/doc/ssl/SSL_get_error.pod openssl-0.9.8a/doc/ssl/SSL_get_error.pod
1688 --- openssl-0.9.8a.orig/doc/ssl/SSL_get_error.pod 2005-03-30 11:50:14.000000000 +0000
1689 +++ openssl-0.9.8a/doc/ssl/SSL_get_error.pod 2005-11-14 03:59:59.000000000 +0000
1690 @@ -105,7 +105,7 @@
1691
1692 =head1 SEE ALSO
1693
1694 -L<ssl(3)|ssl(3)>, L<err(3)|err(3)>
1695 +L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>
1696
1697 =head1 HISTORY
1698
1699 diff -Naur openssl-0.9.8a.orig/doc/ssl/SSL_want.pod openssl-0.9.8a/doc/ssl/SSL_want.pod
1700 --- openssl-0.9.8a.orig/doc/ssl/SSL_want.pod 2005-03-30 11:50:14.000000000 +0000
1701 +++ openssl-0.9.8a/doc/ssl/SSL_want.pod 2005-11-14 03:59:59.000000000 +0000
1702 @@ -72,6 +72,6 @@
1703
1704 =head1 SEE ALSO
1705
1706 -L<ssl(3)|ssl(3)>, L<err(3)|err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
1707 +L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
1708
1709 =cut