summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/doc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/doc')
-rw-r--r--src/lib/libssl/src/doc/apps/config.pod140
-rw-r--r--src/lib/libssl/src/doc/apps/openssl.pod3
-rw-r--r--src/lib/libssl/src/doc/apps/s_client.pod6
-rw-r--r--src/lib/libssl/src/doc/apps/s_time.pod173
-rw-r--r--src/lib/libssl/src/doc/apps/smime.pod11
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_f_ssl.pod6
-rw-r--r--src/lib/libssl/src/doc/crypto/CONF_modules_free.pod47
-rw-r--r--src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod60
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/OPENSSL_config.pod82
-rw-r--r--src/lib/libssl/src/doc/crypto/OPENSSL_load_builtin_modules.pod51
-rw-r--r--src/lib/libssl/src/doc/crypto/OpenSSL_add_all_algorithms.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_print.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/d2i_DSAPublicKey.pod5
-rw-r--r--src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod5
-rw-r--r--src/lib/libssl/src/doc/crypto/des.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/pem.pod6
-rw-r--r--src/lib/libssl/src/doc/crypto/ui.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_COMP_add_compression_method.pod4
-rw-r--r--src/lib/libssl/src/doc/ssleay.txt2
21 files changed, 583 insertions, 30 deletions
diff --git a/src/lib/libssl/src/doc/apps/config.pod b/src/lib/libssl/src/doc/apps/config.pod
index ce874a42ce..8f823fa6d6 100644
--- a/src/lib/libssl/src/doc/apps/config.pod
+++ b/src/lib/libssl/src/doc/apps/config.pod
@@ -10,7 +10,8 @@ config - OpenSSL CONF library configuration files
10The OpenSSL CONF library can be used to read configuration files. 10The OpenSSL CONF library can be used to read configuration files.
11It is used for the OpenSSL master configuration file B<openssl.cnf> 11It is used for the OpenSSL master configuration file B<openssl.cnf>
12and in a few other places like B<SPKAC> files and certificate extension 12and in a few other places like B<SPKAC> files and certificate extension
13files for the B<x509> utility. 13files for the B<x509> utility. OpenSSL applications can also use the
14CONF library for their own purposes.
14 15
15A configuration file is divided into a number of sections. Each section 16A configuration file is divided into a number of sections. Each section
16starts with a line B<[ section_name ]> and ends when a new section is 17starts with a line B<[ section_name ]> and ends when a new section is
@@ -51,13 +52,146 @@ or the B<\> character. By making the last character of a line a B<\>
51a B<value> string can be spread across multiple lines. In addition 52a B<value> string can be spread across multiple lines. In addition
52the sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized. 53the sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized.
53 54
55=head1 OPENSSL LIBRARY CONFIGURATION
56
57In OpenSSL 0.9.7 and later applications can automatically configure certain
58aspects of OpenSSL using the master OpenSSL configuration file, or optionally
59an alternative configuration file. The B<openssl> utility includes this
60functionality: any sub command uses the master OpenSSL configuration file
61unless an option is used in the sub command to use an alternative configuration
62file.
63
64To enable library configuration the default section needs to contain an
65appropriate line which points to the main configuration section. The default
66name is B<openssl_conf> which is used by the B<openssl> utility. Other
67applications may use an alternative name such as B<myapplicaton_conf>.
68
69The configuration section should consist of a set of name value pairs which
70contain specific module configuration information. The B<name> represents
71the name of the I<configuration module> the meaning of the B<value> is
72module specific: it may, for example, represent a further configuration
73section containing configuration module specific information. E.g.
74
75 openssl_conf = openssl_init
76
77 [openssl_init]
78
79 oid_section = new_oids
80 engines = engine_section
81
82 [new_oids]
83
84 ... new oids here ...
85
86 [engine_section]
87
88 ... engine stuff here ...
89
90Currently there are two configuration modules. One for ASN1 objects another
91for ENGINE configuration.
92
93=head2 ASN1 OBJECT CONFIGURATION MODULE
94
95This module has the name B<oid_section>. The value of this variable points
96to a section containing name value pairs of OIDs: the name is the OID short
97and long name, the value is the numerical form of the OID. Although some of
98the B<openssl> utility sub commands already have their own ASN1 OBJECT section
99functionality not all do. By using the ASN1 OBJECT configuration module
100B<all> the B<openssl> utility sub commands can see the new objects as well
101as any compliant applications. For example:
102
103 [new_oids]
104
105 some_new_oid = 1.2.3.4
106 some_other_oid = 1.2.3.5
107
108=head2 ENGINE CONFIGURATION MODULE
109
110This ENGINE configuration module has the name B<engines>. The value of this
111variable points to a section containing further ENGINE configuration
112information.
113
114The section pointed to by B<engines> is a table of engine names (though see
115B<engine_id> below) and further sections containing configuration informations
116specific to each ENGINE.
117
118Each ENGINE specific section is used to set default algorithms, load
119dynamic, perform initialization and send ctrls. The actual operation performed
120depends on the I<command> name which is the name of the name value pair. The
121currently supported commands are listed below.
122
123For example:
124
125 [engine_section]
126
127 # Configure ENGINE named "foo"
128 foo = foo_section
129 # Configure ENGINE named "bar"
130 bar = bar_section
131
132 [foo_section]
133 ... foo ENGINE specific commands ...
134
135 [bar_section]
136 ... "bar" ENGINE specific commands ...
137
138The command B<engine_id> is used to give the ENGINE name. If used this
139command must be first. For example:
140
141 [engine_section]
142 # This would normally handle an ENGINE named "foo"
143 foo = foo_section
144
145 [foo_section]
146 # Override default name and use "myfoo" instead.
147 engine_id = myfoo
148
149The command B<dynamic_path> loads and adds an ENGINE from the given path. It
150is equivalent to sending the ctrls B<SO_PATH> with the path argument followed
151by B<LIST_ADD> with value 2 and B<LOAD> to the dynamic ENGINE. If this is
152not the required behaviour then alternative ctrls can be sent directly
153to the dynamic ENGINE using ctrl commands.
154
155The command B<init> determines whether to initialize the ENGINE. If the value
156is B<0> the ENGINE will not be initialized, if B<1> and attempt it made to
157initialized the ENGINE immediately. If the B<init> command is not present
158then an attempt will be made to initialize the ENGINE after all commands in
159its section have been processed.
160
161The command B<default_algorithms> sets the default algorithms an ENGINE will
162supply using the functions B<ENGINE_set_default_string()>
163
164If the name matches none of the above command names it is assumed to be a
165ctrl command which is sent to the ENGINE. The value of the command is the
166argument to the ctrl command. If the value is the string B<EMPTY> then no
167value is sent to the command.
168
169For example:
170
171
172 [engine_section]
173
174 # Configure ENGINE named "foo"
175 foo = foo_section
176
177 [foo_section]
178 # Load engine from DSO
179 dynamic_path = /some/path/fooengine.so
180 # A foo specific ctrl.
181 some_ctrl = some_value
182 # Another ctrl that doesn't take a value.
183 other_ctrl = EMPTY
184 # Supply all default algorithms
185 default_algorithms = ALL
186
54=head1 NOTES 187=head1 NOTES
55 188
56If a configuration file attempts to expand a variable that doesn't exist 189If a configuration file attempts to expand a variable that doesn't exist
57then an error is flagged and the file will not load. This can happen 190then an error is flagged and the file will not load. This can happen
58if an attempt is made to expand an environment variable that doesn't 191if an attempt is made to expand an environment variable that doesn't
59exist. For example the default OpenSSL master configuration file used 192exist. For example in a previous version of OpenSSL the default OpenSSL
60the value of B<HOME> which may not be defined on non Unix systems. 193master configuration file used the value of B<HOME> which may not be
194defined on non Unix systems and would cause an error.
61 195
62This can be worked around by including a B<default> section to provide 196This can be worked around by including a B<default> section to provide
63a default value: then if the environment lookup fails the default value 197a default value: then if the environment lookup fails the default value
diff --git a/src/lib/libssl/src/doc/apps/openssl.pod b/src/lib/libssl/src/doc/apps/openssl.pod
index 07dd80eabe..dc0f49ddca 100644
--- a/src/lib/libssl/src/doc/apps/openssl.pod
+++ b/src/lib/libssl/src/doc/apps/openssl.pod
@@ -329,7 +329,8 @@ L<passwd(1)|passwd(1)>,
329L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>, 329L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>,
330L<rand(1)|rand(1)>, L<req(1)|req(1)>, L<rsa(1)|rsa(1)>, 330L<rand(1)|rand(1)>, L<req(1)|req(1)>, L<rsa(1)|rsa(1)>,
331L<rsautl(1)|rsautl(1)>, L<s_client(1)|s_client(1)>, 331L<rsautl(1)|rsautl(1)>, L<s_client(1)|s_client(1)>,
332L<s_server(1)|s_server(1)>, L<smime(1)|smime(1)>, L<spkac(1)|spkac(1)>, 332L<s_server(1)|s_server(1)>, L<s_time(1)|s_time(1)>,
333L<smime(1)|smime(1)>, L<spkac(1)|spkac(1)>,
333L<verify(1)|verify(1)>, L<version(1)|version(1)>, L<x509(1)|x509(1)>, 334L<verify(1)|verify(1)>, L<version(1)|version(1)>, L<x509(1)|x509(1)>,
334L<crypto(3)|crypto(3)>, L<ssl(3)|ssl(3)> 335L<crypto(3)|crypto(3)>, L<ssl(3)|ssl(3)>
335 336
diff --git a/src/lib/libssl/src/doc/apps/s_client.pod b/src/lib/libssl/src/doc/apps/s_client.pod
index d061326c1f..8d19079973 100644
--- a/src/lib/libssl/src/doc/apps/s_client.pod
+++ b/src/lib/libssl/src/doc/apps/s_client.pod
@@ -8,7 +8,7 @@ s_client - SSL/TLS client program
8=head1 SYNOPSIS 8=head1 SYNOPSIS
9 9
10B<openssl> B<s_client> 10B<openssl> B<s_client>
11[B<-connect> host:port>] 11[B<-connect host:port>]
12[B<-verify depth>] 12[B<-verify depth>]
13[B<-cert filename>] 13[B<-cert filename>]
14[B<-key filename>] 14[B<-key filename>]
@@ -208,7 +208,7 @@ then an HTTP command can be given such as "GET /" to retrieve a web page.
208 208
209If the handshake fails then there are several possible causes, if it is 209If the handshake fails then there are several possible causes, if it is
210nothing obvious like no client certificate then the B<-bugs>, B<-ssl2>, 210nothing obvious like no client certificate then the B<-bugs>, B<-ssl2>,
211B<-ssl3>, B<-tls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1> can be tried 211B<-ssl3>, B<-tls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1> options can be tried
212in case it is a buggy server. In particular you should play with these 212in case it is a buggy server. In particular you should play with these
213options B<before> submitting a bug report to an OpenSSL mailing list. 213options B<before> submitting a bug report to an OpenSSL mailing list.
214 214
@@ -219,7 +219,7 @@ the clients certificate authority in its "acceptable CA list" when it
219requests a certificate. By using B<s_client> the CA list can be viewed 219requests a certificate. By using B<s_client> the CA list can be viewed
220and checked. However some servers only request client authentication 220and checked. However some servers only request client authentication
221after a specific URL is requested. To obtain the list in this case it 221after a specific URL is requested. To obtain the list in this case it
222is necessary to use the B<-prexit> command and send an HTTP request 222is necessary to use the B<-prexit> option and send an HTTP request
223for an appropriate page. 223for an appropriate page.
224 224
225If a certificate is specified on the command line using the B<-cert> 225If a certificate is specified on the command line using the B<-cert>
diff --git a/src/lib/libssl/src/doc/apps/s_time.pod b/src/lib/libssl/src/doc/apps/s_time.pod
new file mode 100644
index 0000000000..5a38aa2e03
--- /dev/null
+++ b/src/lib/libssl/src/doc/apps/s_time.pod
@@ -0,0 +1,173 @@
1
2=pod
3
4=head1 NAME
5
6s_time - SSL/TLS performance timing program
7
8=head1 SYNOPSIS
9
10B<openssl> B<s_time>
11[B<-connect host:port>]
12[B<-www page>]
13[B<-cert filename>]
14[B<-key filename>]
15[B<-CApath directory>]
16[B<-CAfile filename>]
17[B<-reuse>]
18[B<-new>]
19[B<-verify depth>]
20[B<-nbio>]
21[B<-time seconds>]
22[B<-ssl2>]
23[B<-ssl3>]
24[B<-bugs>]
25[B<-cipher cipherlist>]
26
27=head1 DESCRIPTION
28
29The B<s_client> command implements a generic SSL/TLS client which connects to a
30remote host using SSL/TLS. It can request a page from the server and includes
31the time to transfer the payload data in its timing measurements. It measures
32the number of connections within a given timeframe, the amount of data
33transferred (if any), and calculates the average time spent for one connection.
34
35=head1 OPTIONS
36
37=over 4
38
39=item B<-connect host:port>
40
41This specifies the host and optional port to connect to.
42
43=item B<-www page>
44
45This specifies the page to GET from the server. A value of '/' gets the
46index.htm[l] page. If this parameter is not specified, then B<s_time> will only
47perform the handshake to establish SSL connections but not transfer any
48payload data.
49
50=item B<-cert certname>
51
52The certificate to use, if one is requested by the server. The default is
53not to use a certificate. The file is in PEM format.
54
55=item B<-key keyfile>
56
57The private key to use. If not specified then the certificate file will
58be used. The file is in PEM format.
59
60=item B<-verify depth>
61
62The verify depth to use. This specifies the maximum length of the
63server certificate chain and turns on server certificate verification.
64Currently the verify operation continues after errors so all the problems
65with a certificate chain can be seen. As a side effect the connection
66will never fail due to a server certificate verify failure.
67
68=item B<-CApath directory>
69
70The directory to use for server certificate verification. This directory
71must be in "hash format", see B<verify> for more information. These are
72also used when building the client certificate chain.
73
74=item B<-CAfile file>
75
76A file containing trusted certificates to use during server authentication
77and to use when attempting to build the client certificate chain.
78
79=item B<-new>
80
81performs the timing test using a new session ID for each connection.
82If neither B<-new> nor B<-reuse> are specified, they are both on by default
83and executed in sequence.
84
85=item B<-reuse>
86
87performs the timing test using the same session ID; this can be used as a test
88that session caching is working. If neither B<-new> nor B<-reuse> are
89specified, they are both on by default and executed in sequence.
90
91=item B<-nbio>
92
93turns on non-blocking I/O.
94
95=item B<-ssl2>, B<-ssl3>
96
97these options disable the use of certain SSL or TLS protocols. By default
98the initial handshake uses a method which should be compatible with all
99servers and permit them to use SSL v3, SSL v2 or TLS as appropriate.
100The timing program is not as rich in options to turn protocols on and off as
101the L<s_client(1)|s_client(1)> program and may not connect to all servers.
102
103Unfortunately there are a lot of ancient and broken servers in use which
104cannot handle this technique and will fail to connect. Some servers only
105work if TLS is turned off with the B<-ssl3> option; others
106will only support SSL v2 and may need the B<-ssl2> option.
107
108=item B<-bugs>
109
110there are several known bug in SSL and TLS implementations. Adding this
111option enables various workarounds.
112
113=item B<-cipher cipherlist>
114
115this allows the cipher list sent by the client to be modified. Although
116the server determines which cipher suite is used it should take the first
117supported cipher in the list sent by the client.
118See the L<ciphers(1)|ciphers(1)> command for more information.
119
120=item B<-time length>
121
122specifies how long (in seconds) B<s_time> should establish connections and
123optionally transfer payload data from a server. Server and client performance
124and the link speed determine how many connections B<s_time> can establish.
125
126=back
127
128=head1 NOTES
129
130B<s_client> can be used to measure the performance of an SSL connection.
131To connect to an SSL HTTP server and get the default page the command
132
133 openssl s_time -connect servername:443 -www / -CApath yourdir -CAfile yourfile.pem -cipher commoncipher [-ssl3]
134
135would typically be used (https uses port 443). 'commoncipher' is a cipher to
136which both client and server can agree, see the L<ciphers(1)|ciphers(1)> command
137for details.
138
139If the handshake fails then there are several possible causes, if it is
140nothing obvious like no client certificate then the B<-bugs>, B<-ssl2>,
141B<-ssl3> options can be tried
142in case it is a buggy server. In particular you should play with these
143options B<before> submitting a bug report to an OpenSSL mailing list.
144
145A frequent problem when attempting to get client certificates working
146is that a web client complains it has no certificates or gives an empty
147list to choose from. This is normally because the server is not sending
148the clients certificate authority in its "acceptable CA list" when it
149requests a certificate. By using L<s_client(1)|s_client(1)> the CA list can be
150viewed and checked. However some servers only request client authentication
151after a specific URL is requested. To obtain the list in this case it
152is necessary to use the B<-prexit> option of L<s_client(1)|s_client(1)> and
153send an HTTP request for an appropriate page.
154
155If a certificate is specified on the command line using the B<-cert>
156option it will not be used unless the server specifically requests
157a client certificate. Therefor merely including a client certificate
158on the command line is no guarantee that the certificate works.
159
160=head1 BUGS
161
162Because this program does not have all the options of the
163L<s_client(1)|s_client(1)> program to turn protocols on and off, you may not be
164able to measure the performance of all protocols with all servers.
165
166The B<-verify> option should really exit if the server verification
167fails.
168
169=head1 SEE ALSO
170
171L<s_client(1)|s_client(1)>, L<s_server(1)|s_server(1)>, L<ciphers(1)|ciphers(1)>
172
173=cut
diff --git a/src/lib/libssl/src/doc/apps/smime.pod b/src/lib/libssl/src/doc/apps/smime.pod
index 2453dd2738..84b673f791 100644
--- a/src/lib/libssl/src/doc/apps/smime.pod
+++ b/src/lib/libssl/src/doc/apps/smime.pod
@@ -17,6 +17,9 @@ B<openssl> B<smime>
17[B<-rc2-40>] 17[B<-rc2-40>]
18[B<-rc2-64>] 18[B<-rc2-64>]
19[B<-rc2-128>] 19[B<-rc2-128>]
20[B<-aes128>]
21[B<-aes192>]
22[B<-aes256>]
20[B<-in file>] 23[B<-in file>]
21[B<-certfile file>] 24[B<-certfile file>]
22[B<-signer file>] 25[B<-signer file>]
@@ -126,11 +129,11 @@ B<-verify>. This directory must be a standard certificate directory: that
126is a hash of each subject name (using B<x509 -hash>) should be linked 129is a hash of each subject name (using B<x509 -hash>) should be linked
127to each certificate. 130to each certificate.
128 131
129=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128> 132=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256>
130 133
131the encryption algorithm to use. DES (56 bits), triple DES (168 bits) 134the encryption algorithm to use. DES (56 bits), triple DES (168 bits),
132or 40, 64 or 128 bit RC2 respectively if not specified 40 bit RC2 is 13540, 64 or 128 bit RC2 or 128, 192 or 256 bit AES respectively. If not
133used. Only used with B<-encrypt>. 136specified 40 bit RC2 is used. Only used with B<-encrypt>.
134 137
135=item B<-nointern> 138=item B<-nointern>
136 139
diff --git a/src/lib/libssl/src/doc/crypto/BIO_f_ssl.pod b/src/lib/libssl/src/doc/crypto/BIO_f_ssl.pod
index a56ee2b92f..f0b731731f 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_f_ssl.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_f_ssl.pod
@@ -287,8 +287,8 @@ a client and also echoes the request to standard output.
287 return 0; 287 return 0;
288 } 288 }
289 289
290 BIO_puts(sbio, "HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n"); 290 BIO_puts(sbio, "HTTP/1.0 200 OK\r\nContent-type: text/plain\r\n\r\n");
291 BIO_puts(sbio, "<pre>\r\nConnection Established\r\nRequest headers:\r\n"); 291 BIO_puts(sbio, "\r\nConnection Established\r\nRequest headers:\r\n");
292 BIO_puts(sbio, "--------------------------------------------------\r\n"); 292 BIO_puts(sbio, "--------------------------------------------------\r\n");
293 293
294 for(;;) { 294 for(;;) {
@@ -301,7 +301,7 @@ a client and also echoes the request to standard output.
301 } 301 }
302 302
303 BIO_puts(sbio, "--------------------------------------------------\r\n"); 303 BIO_puts(sbio, "--------------------------------------------------\r\n");
304 BIO_puts(sbio, "</pre>\r\n"); 304 BIO_puts(sbio, "\r\n");
305 305
306 /* Since there is a buffering BIO present we had better flush it */ 306 /* Since there is a buffering BIO present we had better flush it */
307 BIO_flush(sbio); 307 BIO_flush(sbio);
diff --git a/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod b/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod
new file mode 100644
index 0000000000..af8ae6a5c9
--- /dev/null
+++ b/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod
@@ -0,0 +1,47 @@
1=pod
2
3=head1 NAME
4
5 CONF_modules_free, CONF_modules_load, CONF_modules_unload -
6 OpenSSL configuration cleanup functions
7
8=head1 SYNOPSIS
9
10 #include <openssl/conf.h>
11
12 void CONF_modules_free(void);
13 void CONF_modules_unload(int all);
14 void CONF_modules_finish(void);
15
16=head1 DESCRIPTION
17
18CONF_modules_free() closes down and frees up all memory allocated by all
19configuration modules.
20
21CONF_modules_finish() calls each configuration modules B<finish> handler
22to free up any configuration that module may have performed.
23
24CONF_modules_unload() finishes and unloads configuration modules. If
25B<all> is set to B<0> only modules loaded from DSOs will be unloads. If
26B<all> is B<1> all modules, including builtin modules will be unloaded.
27
28=head1 NOTES
29
30Normally applications will only call CONF_modules_free() at application to
31tidy up any configuration performed.
32
33=head1 RETURN VALUE
34
35None of the functions return a value.
36
37=head1 SEE ALSO
38
39L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
40L<CONF_modules_load_file(3), CONF_modules_load_file(3)>
41
42=head1 HISTORY
43
44CONF_modules_free(), CONF_modules_unload(), and CONF_modules_finish()
45first appeared in OpenSSL 0.9.7.
46
47=cut
diff --git a/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod b/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod
new file mode 100644
index 0000000000..9965d69bf2
--- /dev/null
+++ b/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod
@@ -0,0 +1,60 @@
1=pod
2
3=head1 NAME
4
5 CONF_modules_load_file, CONF_modules_load - OpenSSL configuration functions
6
7=head1 SYNOPSIS
8
9 #include <openssl/conf.h>
10
11 int CONF_modules_load_file(const char *filename, const char *appname,
12 unsigned long flags);
13 int CONF_modules_load(const CONF *cnf, const char *appname,
14 unsigned long flags);
15
16=head1 DESCRIPTION
17
18The function CONF_modules_load_file() configures OpenSSL using file
19B<filename> and application name B<appname>. If B<filename> is NULL
20the standard OpenSSL configuration file is used. If B<appname> is
21NULL the standard OpenSSL application name B<openssl_conf> is used.
22The behaviour can be cutomized using B<flags>.
23
24CONF_modules_load() is idential to CONF_modules_load_file() except it
25read configuration information from B<cnf>.
26
27=head1 NOTES
28
29The following B<flags> are currently recognized:
30
31B<CONF_MFLAGS_IGNORE_ERRORS> if set errors returned by individual
32configuration modules are ignored. If not set the first module error is
33considered fatal and no further modules are loads.
34
35Normally any modules errors will add error information to the error queue. If
36B<CONF_MFLAGS_SILENT> is set no error information is added.
37
38If B<CONF_MFLAGS_NO_DSO> is set configuration module loading from DSOs is
39disabled.
40
41B<CONF_MFLAGS_IGNORE_MISSING_FILE> if set will make CONF_load_modules_file()
42ignore missing configuration files. Normally a missing configuration file
43return an error.
44
45=head1 RETURN VALUE
46
47These functions return 1 for success and a zero or negative value for
48failure. If module errors are not ignored the return code will reflect the
49return value of the failing module (this will always be zero or negative).
50
51=head1 SEE ALSO
52
53L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
54L<CONF_free(3), CONF_free(3)>, L<err(3),err(3)>
55
56=head1 HISTORY
57
58CONF_modules_load_file and CONF_modules_load first appeared in OpenSSL 0.9.7.
59
60=cut
diff --git a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
index 5ce4add082..016381f3e9 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
@@ -2,7 +2,7 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5 EVP_BytesToKey - password based encryption routine 5EVP_BytesToKey - password based encryption routine
6 6
7=head1 SYNOPSIS 7=head1 SYNOPSIS
8 8
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
index 5901c39526..1cb315e739 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
@@ -4,7 +4,7 @@
4 4
5EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_DigestInit_ex, EVP_DigestUpdate, 5EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_DigestInit_ex, EVP_DigestUpdate,
6EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE, 6EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE,
7EVP_MD_CTX_copy_ex EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, 7EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size,
8EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_type, 8EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_type,
9EVP_md_null, EVP_md2, EVP_md5, EVP_sha, EVP_sha1, EVP_dss, EVP_dss1, EVP_mdc2, 9EVP_md_null, EVP_md2, EVP_md5, EVP_sha, EVP_sha1, EVP_dss, EVP_dss1, EVP_mdc2,
10EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj - 10EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj -
diff --git a/src/lib/libssl/src/doc/crypto/OPENSSL_config.pod b/src/lib/libssl/src/doc/crypto/OPENSSL_config.pod
new file mode 100644
index 0000000000..16600620cc
--- /dev/null
+++ b/src/lib/libssl/src/doc/crypto/OPENSSL_config.pod
@@ -0,0 +1,82 @@
1=pod
2
3=head1 NAME
4
5OPENSSL_config, OPENSSL_no_config - simple OpenSSL configuration functions
6
7=head1 SYNOPSIS
8
9 #include <openssl/conf.h>
10
11 void OPENSSL_config(const char *config_name);
12 void OPENSSL_no_config(void);
13
14=head1 DESCRIPTION
15
16OPENSSL_config() configures OpenSSL using the standard B<openssl.cnf>
17configuration file name using B<config_name>. If B<config_name> is NULL then
18the default name B<openssl_conf> will be used. Any errors are ignored. Further
19calls to OPENSSL_config() will have no effect. The configuration file format
20is documented in the L<conf(5)|conf(5)> manual page.
21
22OPENSSL_no_config() disables configuration. If called before OPENSSL_config()
23no configuration takes place.
24
25=head1 NOTES
26
27It is B<strongly> recommended that B<all> new applications call OPENSSL_config()
28or the more sophisticated functions such as CONF_modules_load() during
29initialization (that is before starting any threads). By doing this
30an application does not need to keep track of all configuration options
31and some new functionality can be supported automatically.
32
33It is also possible to automatically call OPENSSL_config() when an application
34calls OPENSSL_add_all_algorithms() by compiling an application with the
35preprocessor symbol B<OPENSSL_LOAD_CONF> #define'd. In this way configuration
36can be added without source changes.
37
38The environment variable B<OPENSSL_CONFIG> can be set to specify the location
39of the configuration file.
40
41Currently ASN1 OBJECTs and ENGINE configuration can be performed future
42versions of OpenSSL will add new configuration options.
43
44There are several reasons why calling the OpenSSL configuration routines is
45advisable. For example new ENGINE functionality was added to OpenSSL 0.9.7.
46In OpenSSL 0.9.7 control functions can be supported by ENGINEs, this can be
47used (among other things) to load dynamic ENGINEs from shared libraries (DSOs).
48However very few applications currently support the control interface and so
49very few can load and use dynamic ENGINEs. Equally in future more sophisticated
50ENGINEs will require certain control operations to customize them. If an
51application calls OPENSSL_config() it doesn't need to know or care about
52ENGINE control operations because they can be performed by editing a
53configuration file.
54
55Applications should free up configuration at application closedown by calling
56CONF_modules_free().
57
58=head1 RESTRICTIONS
59
60The OPENSSL_config() function is designed to be a very simple "call it and
61forget it" function. As a result its behaviour is somewhat limited. It ignores
62all errors silently and it can only load from the standard configuration file
63location for example.
64
65It is however B<much> better than nothing. Applications which need finer
66control over their configuration functionality should use the configuration
67functions such as CONF_load_modules() directly.
68
69=head1 RETURN VALUES
70
71Neither OPENSSL_config() nor OPENSSL_no_config() return a value.
72
73=head1 SEE ALSO
74
75L<conf(5)|conf(5)>, L<CONF_load_modules_file(3)|CONF_load_modules_file(3)>,
76L<CONF_modules_free(3),CONF_modules_free(3)>
77
78=head1 HISTORY
79
80OPENSSL_config() and OPENSSL_no_config() first appeared in OpenSSL 0.9.7
81
82=cut
diff --git a/src/lib/libssl/src/doc/crypto/OPENSSL_load_builtin_modules.pod b/src/lib/libssl/src/doc/crypto/OPENSSL_load_builtin_modules.pod
new file mode 100644
index 0000000000..f14dfaf005
--- /dev/null
+++ b/src/lib/libssl/src/doc/crypto/OPENSSL_load_builtin_modules.pod
@@ -0,0 +1,51 @@
1=pod
2
3=head1 NAME
4
5OPENSSL_load_builtin_modules - add standard configuration modules
6
7=head1 SYNOPSIS
8
9 #include <openssl/conf.h>
10
11 void OPENSSL_load_builtin_modules(void);
12 void ASN1_add_oid_module(void);
13 ENGINE_add_conf_module();
14
15=head1 DESCRIPTION
16
17The function OPENSSL_load_builtin_modules() adds all the standard OpenSSL
18configuration modules to the internal list. They can then be used by the
19OpenSSL configuration code.
20
21ASN1_add_oid_module() adds just the ASN1 OBJECT module.
22
23ENGINE_add_conf_module() adds just the ENGINE configuration module.
24
25=head1 NOTES
26
27If the simple configuration function OPENSSL_config() is called then
28OPENSSL_load_builtin_modules() is called automatically.
29
30Applications which use the configuration functions directly will need to
31call OPENSSL_load_builtin_modules() themselves I<before> any other
32configuration code.
33
34Applications should call OPENSSL_load_builtin_modules() to load all
35configuration modules instead of adding modules selectively: otherwise
36functionality may be missing from the application if an when new
37modules are added.
38
39=head1 RETURN VALUE
40
41None of the functions return a value.
42
43=head1 SEE ALSO
44
45L<conf(3)|conf(3)>, L<OPENSSL_config(3)|OPENSSL_config(3)>
46
47=head1 HISTORY
48
49These functions first appeared in OpenSSL 0.9.7.
50
51=cut
diff --git a/src/lib/libssl/src/doc/crypto/OpenSSL_add_all_algorithms.pod b/src/lib/libssl/src/doc/crypto/OpenSSL_add_all_algorithms.pod
index 486c903430..e63411b5bb 100644
--- a/src/lib/libssl/src/doc/crypto/OpenSSL_add_all_algorithms.pod
+++ b/src/lib/libssl/src/doc/crypto/OpenSSL_add_all_algorithms.pod
@@ -36,7 +36,7 @@ None of the functions return a value.
36 36
37=head1 NOTES 37=head1 NOTES
38 38
39A typical application will will call OpenSSL_add_all_algorithms() initially and 39A typical application will call OpenSSL_add_all_algorithms() initially and
40EVP_cleanup() before exiting. 40EVP_cleanup() before exiting.
41 41
42An application does not need to add algorithms to use them explicitly, for example 42An application does not need to add algorithms to use them explicitly, for example
diff --git a/src/lib/libssl/src/doc/crypto/RSA_print.pod b/src/lib/libssl/src/doc/crypto/RSA_print.pod
index e28d107d1c..c971e91f4d 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_print.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_print.pod
@@ -44,6 +44,6 @@ L<dh(3)|dh(3)>, L<dsa(3)|dsa(3)>, L<rsa(3)|rsa(3)>, L<BN_bn2bin(3)|BN_bn2bin(3)>
44 44
45RSA_print(), RSA_print_fp(), DSA_print(), DSA_print_fp(), DH_print(), 45RSA_print(), RSA_print_fp(), DSA_print(), DSA_print_fp(), DH_print(),
46DH_print_fp() are available in all versions of SSLeay and OpenSSL. 46DH_print_fp() are available in all versions of SSLeay and OpenSSL.
47DSAparams_print() and DSAparams_print_pf() were added in SSLeay 0.8. 47DSAparams_print() and DSAparams_print_fp() were added in SSLeay 0.8.
48 48
49=cut 49=cut
diff --git a/src/lib/libssl/src/doc/crypto/d2i_DSAPublicKey.pod b/src/lib/libssl/src/doc/crypto/d2i_DSAPublicKey.pod
index 6ebd30427b..22c1b50f22 100644
--- a/src/lib/libssl/src/doc/crypto/d2i_DSAPublicKey.pod
+++ b/src/lib/libssl/src/doc/crypto/d2i_DSAPublicKey.pod
@@ -9,6 +9,7 @@ and parsing functions.
9=head1 SYNOPSIS 9=head1 SYNOPSIS
10 10
11 #include <openssl/dsa.h> 11 #include <openssl/dsa.h>
12 #include <openssl/x509.h>
12 13
13 DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); 14 DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length);
14 15
@@ -35,8 +36,8 @@ and parsing functions.
35d2i_DSAPublicKey() and i2d_DSAPublicKey() decode and encode the DSA public key 36d2i_DSAPublicKey() and i2d_DSAPublicKey() decode and encode the DSA public key
36components structure. 37components structure.
37 38
38d2i_DSA_PUKEY() and i2d_DSA_PUKEY() decode and encode an DSA public key using a 39d2i_DSA_PUBKEY() and i2d_DSA_PUBKEY() decode and encode an DSA public key using
39SubjectPublicKeyInfo (certificate public key) structure. 40a SubjectPublicKeyInfo (certificate public key) structure.
40 41
41d2i_DSAPrivateKey(), i2d_DSAPrivateKey() decode and encode the DSA private key 42d2i_DSAPrivateKey(), i2d_DSAPrivateKey() decode and encode the DSA private key
42components. 43components.
diff --git a/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod b/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
index 7c71bcbf3d..279b29c873 100644
--- a/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
+++ b/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
@@ -9,6 +9,7 @@ d2i_Netscape_RSA - RSA public and private key encoding functions.
9=head1 SYNOPSIS 9=head1 SYNOPSIS
10 10
11 #include <openssl/rsa.h> 11 #include <openssl/rsa.h>
12 #include <openssl/x509.h>
12 13
13 RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length); 14 RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length);
14 15
@@ -31,8 +32,8 @@ d2i_Netscape_RSA - RSA public and private key encoding functions.
31d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and encode a PKCS#1 RSAPublicKey 32d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and encode a PKCS#1 RSAPublicKey
32structure. 33structure.
33 34
34d2i_RSA_PUKEY() and i2d_RSA_PUKEY() decode and encode an RSA public key using a 35d2i_RSA_PUBKEY() and i2d_RSA_PUBKEY() decode and encode an RSA public key using
35SubjectPublicKeyInfo (certificate public key) structure. 36a SubjectPublicKeyInfo (certificate public key) structure.
36 37
37d2i_RSAPrivateKey(), i2d_RSAPrivateKey() decode and encode a PKCS#1 RSAPrivateKey 38d2i_RSAPrivateKey(), i2d_RSAPrivateKey() decode and encode a PKCS#1 RSAPrivateKey
38structure. 39structure.
diff --git a/src/lib/libssl/src/doc/crypto/des.pod b/src/lib/libssl/src/doc/crypto/des.pod
index 528c73acac..6f0cf1cc5e 100644
--- a/src/lib/libssl/src/doc/crypto/des.pod
+++ b/src/lib/libssl/src/doc/crypto/des.pod
@@ -283,7 +283,7 @@ DES_cbc_encrypt is used.
283=head1 NOTES 283=head1 NOTES
284 284
285Single-key DES is insecure due to its short key size. ECB mode is 285Single-key DES is insecure due to its short key size. ECB mode is
286not suitable for most applications; see L<DES_modes(7)|DES_modes(7)>. 286not suitable for most applications; see L<des_modes(7)|des_modes(7)>.
287 287
288The L<evp(3)|evp(3)> library provides higher-level encryption functions. 288The L<evp(3)|evp(3)> library provides higher-level encryption functions.
289 289
diff --git a/src/lib/libssl/src/doc/crypto/pem.pod b/src/lib/libssl/src/doc/crypto/pem.pod
index a4f8cc3337..8613114452 100644
--- a/src/lib/libssl/src/doc/crypto/pem.pod
+++ b/src/lib/libssl/src/doc/crypto/pem.pod
@@ -330,7 +330,7 @@ most of them are set to 0 or NULL.
330Read a certificate in PEM format from a BIO: 330Read a certificate in PEM format from a BIO:
331 331
332 X509 *x; 332 X509 *x;
333 x = PEM_read_bio(bp, NULL, 0, NULL); 333 x = PEM_read_bio_X509(bp, NULL, 0, NULL);
334 if (x == NULL) 334 if (x == NULL)
335 { 335 {
336 /* Error */ 336 /* Error */
@@ -459,12 +459,12 @@ returned by EVP_bytestokey().
459The PEM read routines in some versions of OpenSSL will not correctly reuse 459The PEM read routines in some versions of OpenSSL will not correctly reuse
460an existing structure. Therefore the following: 460an existing structure. Therefore the following:
461 461
462 PEM_read_bio(bp, &x, 0, NULL); 462 PEM_read_bio_X509(bp, &x, 0, NULL);
463 463
464where B<x> already contains a valid certificate, may not work, whereas: 464where B<x> already contains a valid certificate, may not work, whereas:
465 465
466 X509_free(x); 466 X509_free(x);
467 x = PEM_read_bio(bp, NULL, 0, NULL); 467 x = PEM_read_bio_X509(bp, NULL, 0, NULL);
468 468
469is guaranteed to work. 469is guaranteed to work.
470 470
diff --git a/src/lib/libssl/src/doc/crypto/ui.pod b/src/lib/libssl/src/doc/crypto/ui.pod
index 2b3535a746..6df68d604a 100644
--- a/src/lib/libssl/src/doc/crypto/ui.pod
+++ b/src/lib/libssl/src/doc/crypto/ui.pod
@@ -5,7 +5,7 @@
5UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, 5UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string,
6UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, 6UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean,
7UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, 7UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string,
8UI_add_error_string, UI_dup_error_string, UI_construct_prompt 8UI_add_error_string, UI_dup_error_string, UI_construct_prompt,
9UI_add_user_data, UI_get0_user_data, UI_get0_result, UI_process, 9UI_add_user_data, UI_get0_user_data, UI_get0_result, UI_process,
10UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method, 10UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method,
11UI_set_method, UI_OpenSSL, ERR_load_UI_strings - New User Interface 11UI_set_method, UI_OpenSSL, ERR_load_UI_strings - New User Interface
diff --git a/src/lib/libssl/src/doc/ssl/SSL_COMP_add_compression_method.pod b/src/lib/libssl/src/doc/ssl/SSL_COMP_add_compression_method.pod
index 2a98739114..42fa66b197 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_COMP_add_compression_method.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_COMP_add_compression_method.pod
@@ -53,11 +53,11 @@ SSL_COMP_add_compression_method() may return the following values:
53 53
54=over 4 54=over 4
55 55
56=item 1 56=item 0
57 57
58The operation succeeded. 58The operation succeeded.
59 59
60=item 0 60=item 1
61 61
62The operation failed. Check the error queue to find out the reason. 62The operation failed. Check the error queue to find out the reason.
63 63
diff --git a/src/lib/libssl/src/doc/ssleay.txt b/src/lib/libssl/src/doc/ssleay.txt
index c6049d5e53..d44d2f04a0 100644
--- a/src/lib/libssl/src/doc/ssleay.txt
+++ b/src/lib/libssl/src/doc/ssleay.txt
@@ -6245,7 +6245,7 @@ SSL_get_app_data
6245void SSL_CTX_set_default_verify 6245void SSL_CTX_set_default_verify
6246 6246
6247/* This callback, if set, totaly overrides the normal SSLeay verification 6247/* This callback, if set, totaly overrides the normal SSLeay verification
6248 * functions and should return 1 on sucesss and 0 on failure */ 6248 * functions and should return 1 on success and 0 on failure */
6249void SSL_CTX_set_cert_verify_callback 6249void SSL_CTX_set_cert_verify_callback
6250 6250
6251/* The following are the same as the equivilent SSL_xxx functions. 6251/* The following are the same as the equivilent SSL_xxx functions.