Commit c19b6c92 authored by Richard Levitte's avatar Richard Levitte
Browse files

Clarifications and new documents.

Submitted by Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE>
parent c5f8bbbc
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
=pod

=head1 NAME

SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method
- choose a new TLS/SSL method

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_CTX_set_ssl_version(SSL_CTX *ctx, SSL_METHOD *method);
 int SSL_set_ssl_method(SSL *s, SSL_METHOD *method);
 SSL_METHOD *SSL_get_ssl_method(SSL *ssl);

=head1 DESCRIPTION

SSL_CTX_set_ssl_version() sets a new default TLS/SSL B<method> for SSL objects
newly created from this B<ctx>. SSL objects already created with
L<SSL_new(3)|SSL_new(3)> are not affected, except when SSL_clear() is
being called.

SSL_set_ssl_method() sets a new TLS/SSL B<method> for a particular B<ssl>
object. It may be reset, when SSL_clear() is called.

SSL_get_ssl_method() returns a function pointer to the TLS/SSL method
set in B<ssl>.

=head1 NOTES

The available B<method> choices are described in
L<SSL_CTX_new(3)|SSL_CTX_new(3)>.

When SSL_clear() is called and no session is connected to an SSL object,
the method of the SSL object is reset to the method currently set in
the corresponding SSL_CTX object.

=head1 RETURN VALUES

The following return values can occur for SSL_CTX_set_ssl_version()
and SSL_set_ssl_method():

=over 4

=item 0

The new choice failed, check the error stack to find out the reason.

=item 1

The operation succeeded.

=back

=head1 SEE ALSO

L<SSL_CTX_new(3)|SSL_CTX_new(3)>, L<SSL_new(3)|SSL_new(3)>,
L<SSL_clear(3)|SSL_clear(3)>, L<ssl(3)|ssl(3)>

=cut
+5 −2
Original line number Diff line number Diff line
@@ -14,8 +14,11 @@ SSL_accept - wait for a TLS/SSL client to initiate a TLS/SSL handshake

SSL_accept() waits for a TLS/SSL client to initiate the TLS/SSL handshake.
The communication channel must already have been set and assigned to the
B<ssl> by setting an underlying B<BIO>. The behaviour of SSL_accept() depends
on the underlying BIO. 
B<ssl> by setting an underlying B<BIO>.

=head1 NOTES

The behaviour of SSL_accept() depends on the underlying BIO. 

If the underlying BIO is B<blocking>, SSL_accept() will only return once the
handshake has been finished or an error occurred, except for SGC (Server
+5 −2
Original line number Diff line number Diff line
@@ -14,8 +14,11 @@ SSL_connect - initiate the TLS/SSL handshake with an TLS/SSL server

SSL_connect() initiates the TLS/SSL handshake with a server. The communication
channel must already have been set and assigned to the B<ssl> by setting an
underlying B<BIO>. The behaviour of SSL_connect() depends on the underlying
BIO. 
underlying B<BIO>.

=head1 NOTES

The behaviour of SSL_connect() depends on the underlying BIO. 

If the underlying BIO is B<blocking>, SSL_connect() will only return once the
handshake has been finished or an error occurred.
+30 −0
Original line number Diff line number Diff line
=pod

=head1 NAME

SSL_pending - obtain number of readable bytes buffered in an SSL object

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_pending(SSL *ssl);

=head1 DESCRIPTION

SSL_pending() returns the number of bytes which are available inside
B<ssl> for immediate read.

=head1 NOTES

Data are received in blocks from the peer. Therefore data can be buffered
inside B<ssl> and are ready for immediate retrieval with
L<SSL_read(3)|SSL_read(3)>.

=head1 RETURN VALUES

The number of bytes pending is returned.

L<SSL_read(3)|SSL_read(3)>, L<ssl(3)|ssl(3)>

=cut
+11 −1
Original line number Diff line number Diff line
@@ -13,7 +13,11 @@ SSL_read - read bytes from a TLS/SSL connection.
=head1 DESCRIPTION

SSL_read() tries to read B<num> bytes from the specified B<ssl> into the
buffer B<buf>. If necessary, SSL_read() will negotiate a TLS/SSL session, if
buffer B<buf>.

=head1 NOTES

If necessary, SSL_read() will negotiate a TLS/SSL session, if
not already explicitly performed by SSL_connect() or SSL_accept(). If the
peer requests a re-negotiation, it will be performed transparently during
the SSL_read() operation. The behaviour of SSL_read() depends on the
@@ -34,6 +38,12 @@ non-blocking socket, 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.

=head1 IMPORTANT

When an SSL_read() operation has to be repeated because of
B<SSL_ERROR_WANT_READ> or B<SSL_ERROR_WANT_WRITE>, it must be repeated
with the same arguments.

=head1 RETURN VALUES

The following return values can occur:
Loading