Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 niro 1084 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