summaryrefslogtreecommitdiffstats
path: root/lib/libssl/doc/SSL_connect.3
diff options
context:
space:
mode:
authorbentley <bentley@openbsd.org>2014-10-12 09:33:03 +0000
committerbentley <bentley@openbsd.org>2014-10-12 09:33:03 +0000
commit709d8cd0fe4332147f808dafbb149a4bf76a0e56 (patch)
treeb2433e032090fcfcf4c9645e388fdfd0b47eb254 /lib/libssl/doc/SSL_connect.3
parentLogitech Webcam C310 just works with uvideo(4), add it (diff)
downloadwireguard-openbsd-709d8cd0fe4332147f808dafbb149a4bf76a0e56.tar.xz
wireguard-openbsd-709d8cd0fe4332147f808dafbb149a4bf76a0e56.zip
Convert libssl manpages from pod to mdoc(7).
libcrypto has not been started yet. ok schwarze@ miod@
Diffstat (limited to 'lib/libssl/doc/SSL_connect.3')
-rw-r--r--lib/libssl/doc/SSL_connect.399
1 files changed, 99 insertions, 0 deletions
diff --git a/lib/libssl/doc/SSL_connect.3 b/lib/libssl/doc/SSL_connect.3
new file mode 100644
index 00000000000..4f8428c3c98
--- /dev/null
+++ b/lib/libssl/doc/SSL_connect.3
@@ -0,0 +1,99 @@
+.Dd $Mdocdate: October 12 2014 $
+.Dt SSL_CONNECT 3
+.Os
+.Sh NAME
+.Nm SSL_connect
+.Nd initiate the TLS/SSL handshake with an TLS/SSL server
+.Sh SYNOPSIS
+.In openssl/ssl.h
+.Ft int
+.Fn SSL_connect "SSL *ssl"
+.Sh DESCRIPTION
+.Fn SSL_connect
+initiates the TLS/SSL handshake with a server.
+The communication channel must already have been set and assigned to the
+.Fa ssl
+by setting an underlying
+.Vt BIO .
+.Sh NOTES
+The behaviour of
+.Fn SSL_connect
+depends on the underlying
+.Vt BIO.
+.Pp
+If the underlying
+.Vt BIO
+is
+.Em blocking ,
+.Fn SSL_connect
+will only return once the handshake has been finished or an error occurred.
+.Pp
+If the underlying
+.Vt BIO
+is
+.Em non-blocking ,
+.Fn SSL_connect
+will also return when the underlying
+.Vt BIO
+could not satisfy the needs of
+.Fn SSL_connect
+to continue the handshake, indicating the problem with the return value \(mi1.
+In this case a call to
+.Xr SSL_get_error 3
+with the return value of
+.Fn SSL_connect
+will yield
+.Dv SSL_ERROR_WANT_READ
+or
+.Dv SSL_ERROR_WANT_WRITE .
+The calling process then must repeat the call after taking appropriate action
+to satisfy the needs of
+.Fn SSL_connect .
+The action depends on the underlying
+.Vt BIO .
+When using a non-blocking socket, nothing is to be done, but
+.Xr select 2
+can be used to check for the required condition.
+When using a buffering
+.Vt BIO ,
+like a
+.Vt BIO
+pair, data must be written into or retrieved out of the
+.Vt BIO
+before being able to continue.
+.Sh RETURN VALUES
+The following return values can occur:
+.Bl -tag -width Ds
+.It 0
+The TLS/SSL handshake was not successful but was shut down controlled and
+by the specifications of the TLS/SSL protocol.
+Call
+.Xr SSL_get_error 3
+with the return value
+.Fa ret
+to find out the reason.
+.It 1
+The TLS/SSL handshake was successfully completed,
+and a TLS/SSL connection has been established.
+.It <0
+The TLS/SSL handshake was not successful, because either a fatal error occurred
+at the protocol level or a connection failure occurred.
+The shutdown was not clean.
+It can also occur if action is needed to continue the operation for
+non-blocking
+.Vt BIO Ns s.
+Call
+.Xr SSL_get_error 3
+with the return value
+.Fa ret
+to find out the reason.
+.El
+.Sh SEE ALSO
+.Xr bio 3 ,
+.Xr ssl 3 ,
+.Xr SSL_accept 3 ,
+.Xr SSL_CTX_new 3 ,
+.Xr SSL_do_handshake 3 ,
+.Xr SSL_get_error 3 ,
+.Xr SSL_set_connect_state 3 ,
+.Xr SSL_shutdown 3