Commit 7abe76e1 authored by Lutz Jänicke's avatar Lutz Jänicke
Browse files

Fix wrong information about SSL_set_connect_state()...

parent 7bc03ded
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -59,10 +59,6 @@ choice when compatibility is a concern.

=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,
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
+0 −5
Original line number Diff line number Diff line
@@ -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
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

The following return values can occur:
+0 −5
Original line number Diff line number Diff line
@@ -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
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

The following return values can occur:
+3 −4
Original line number Diff line number Diff line
@@ -25,11 +25,10 @@ the SSL_read() operation. The behaviour of SSL_read() depends on the
underlying BIO. 

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
method is being used (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>, so that
initialized to client or server mode. This is being done by calling
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
L<SSL_write(3)|SSL_write(3)> function).
before the first call to an SSL_read() or L<SSL_write(3)|SSL_write(3)>
function.

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
+15 −8
Original line number Diff line number Diff line
@@ -14,9 +14,9 @@ SSL_set_connect_state, SSL_get_accept_state - prepare SSL object to work in clie

=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

@@ -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
SSL_set_ssl_method().)

In order to successfully accomplish the handshake, the SSL routines need
to know whether they should act in server or client mode. If the generic
method was used, this is not clear from the method itself and must be set
with either SSL_set_connect_state() or SSL_set_accept_state(). If these
routines are not called, the default value set when L<SSL_new(3)|SSL_new(3)>
is called is server mode.
When beginning a new handshake, the SSL engine must know whether it must
call the connect (client) or accept (server) routines. Even though it may
be clear from the method chosen, whether client or server mode was
requested, the handshake routines must be explicitly set.

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

@@ -42,6 +47,8 @@ information.
=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_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)>

=cut
Loading