Fix wrong information about SSL_set_connect_state()...

This commit is contained in:
Lutz Jänicke 2001-07-25 12:12:51 +00:00
parent 7bc03ded12
commit 7abe76e1bd
6 changed files with 20 additions and 30 deletions

View File

@ -59,10 +59,6 @@ choice when compatibility is a concern.
=back =back
If a generic method is used, it is necessary to explicitly set client or
server mode with L<SSL_set_connect_state(3)|SSL_set_connect_state(3)>
or SSL_set_accept_state().
The list of protocols available can later be limited using the SSL_OP_NO_SSLv2, The list of protocols available can later be limited using the SSL_OP_NO_SSLv2,
SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1 options of the B<SSL_CTX_set_options()> or SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1 options of the B<SSL_CTX_set_options()> or
B<SSL_set_options()> functions. Using these options it is possible to choose B<SSL_set_options()> functions. Using these options it is possible to choose

View File

@ -37,11 +37,6 @@ nothing is to be done, but select() can be used to check for the required
condition. When using a buffering BIO, like a BIO pair, data must be written condition. When using a buffering BIO, like a BIO pair, data must be written
into or retrieved out of the BIO before being able to continue. into or retrieved out of the BIO before being able to continue.
When using a generic method (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>), it
is necessary to call SSL_set_accept_state()
before calling SSL_accept() to explicitly switch the B<ssl> to server
mode.
=head1 RETURN VALUES =head1 RETURN VALUES
The following return values can occur: The following return values can occur:

View File

@ -34,11 +34,6 @@ nothing is to be done, but select() can be used to check for the required
condition. When using a buffering BIO, like a BIO pair, data must be written condition. When using a buffering BIO, like a BIO pair, data must be written
into or retrieved out of the BIO before being able to continue. into or retrieved out of the BIO before being able to continue.
When using a generic method (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>), it
is necessary to call L<SSL_set_connect_state(3)|SSL_set_connect_state(3)>
before calling SSL_connect() to explicitly switch the B<ssl> to client
mode.
=head1 RETURN VALUES =head1 RETURN VALUES
The following return values can occur: The following return values can occur:

View File

@ -25,11 +25,10 @@ the SSL_read() operation. The behaviour of SSL_read() depends on the
underlying BIO. underlying BIO.
For the transparent negotiation to succeed, the B<ssl> must have been For the transparent negotiation to succeed, the B<ssl> must have been
initialized to client or server mode. This is not the case if a generic initialized to client or server mode. This is being done by calling
method is being used (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>, so that
L<SSL_set_connect_state(3)|SSL_set_connect_state(3)> or SSL_set_accept_state() L<SSL_set_connect_state(3)|SSL_set_connect_state(3)> or SSL_set_accept_state()
must be used before the first call to an SSL_read() or before the first call to an SSL_read() or L<SSL_write(3)|SSL_write(3)>
L<SSL_write(3)|SSL_write(3)> function). function.
SSL_read() works based on the SSL/TLS records. The data are received in SSL_read() works based on the SSL/TLS records. The data are received in
records (with a maximum record size of 16kB for SSLv3/TLSv1). Only when a records (with a maximum record size of 16kB for SSLv3/TLSv1). Only when a

View File

@ -14,9 +14,9 @@ SSL_set_connect_state, SSL_get_accept_state - prepare SSL object to work in clie
=head1 DESCRIPTION =head1 DESCRIPTION
SSL_set_connect_state() B<ssl> to work in client mode. SSL_set_connect_state() sets B<ssl> to work in client mode.
SSL_set_accept_state() B<ssl> to work in server mode. SSL_set_accept_state() sets B<ssl> to work in server mode.
=head1 NOTES =head1 NOTES
@ -27,12 +27,17 @@ server connections. (The method might have been changed with
L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> or L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> or
SSL_set_ssl_method().) SSL_set_ssl_method().)
In order to successfully accomplish the handshake, the SSL routines need When beginning a new handshake, the SSL engine must know whether it must
to know whether they should act in server or client mode. If the generic call the connect (client) or accept (server) routines. Even though it may
method was used, this is not clear from the method itself and must be set be clear from the method chosen, whether client or server mode was
with either SSL_set_connect_state() or SSL_set_accept_state(). If these requested, the handshake routines must be explicitly set.
routines are not called, the default value set when L<SSL_new(3)|SSL_new(3)>
is called is server mode. When using the L<SSL_connect(3)|SSL_connect(3)> or
L<SSL_accept(3)|SSL_accept(3)> routines, the correct handshake
routines are automatically set. When performing a transparent negotiation
using L<SSL_write(3)|SSL_write(3)> or L<SSL_read(3)|SSL_read(3)>, the
handshake routines must be explicitely set in advance using either
SSL_set_connect_state() or SSL_set_accept_state().
=head1 RETURN VALUES =head1 RETURN VALUES
@ -42,6 +47,8 @@ information.
=head1 SEE ALSO =head1 SEE ALSO
L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_CTX_new(3)|SSL_CTX_new(3)>, L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_CTX_new(3)|SSL_CTX_new(3)>,
L<SSL_connect(3)|SSL_connect(3)>, L<SSL_accept(3)|SSL_accept(3)>,
L<SSL_write(3)|SSL_write(3)>, L<SSL_read(3)|SSL_read(3)>,
L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)>
=cut =cut

View File

@ -25,11 +25,9 @@ the SSL_write() operation. The behaviour of SSL_write() depends on the
underlying BIO. underlying BIO.
For the transparent negotiation to succeed, the B<ssl> must have been For the transparent negotiation to succeed, the B<ssl> must have been
initialized to client or server mode. This is not the case if a generic initialized to client or server mode. This is being done by calling
method is being used (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>, so that
L<SSL_set_connect_state(3)|SSL_set_connect_state(3)> or SSL_set_accept_state() L<SSL_set_connect_state(3)|SSL_set_connect_state(3)> or SSL_set_accept_state()
must be used before the first call to an L<SSL_read(3)|SSL_read(3)> before the first call to an L<SSL_read(3)|SSL_read(3)> or SSL_write() function.
or SSL_write() function.
If the underlying BIO is B<blocking>, SSL_write() will only return, once the If the underlying BIO is B<blocking>, SSL_write() will only return, once the
write operation has been finished or an error occurred, except when a write operation has been finished or an error occurred, except when a