summaryrefslogtreecommitdiffstats
path: root/lib/libssl/doc/SSL_accept.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_accept.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_accept.3')
-rw-r--r--lib/libssl/doc/SSL_accept.3110
1 files changed, 110 insertions, 0 deletions
diff --git a/lib/libssl/doc/SSL_accept.3 b/lib/libssl/doc/SSL_accept.3
new file mode 100644
index 00000000000..88bea1fde7a
--- /dev/null
+++ b/lib/libssl/doc/SSL_accept.3
@@ -0,0 +1,110 @@
+.Dd $Mdocdate: October 12 2014 $
+.Dt SSL_ACCEPT 3
+.Os
+.Sh NAME
+.Nm SSL_accept
+.Nd wait for a TLS/SSL client to initiate a TLS/SSL handshake
+.Sh SYNOPSIS
+.In openssl/ssl.h
+.Ft int
+.Fn SSL_accept "SSL *ssl"
+.Sh DESCRIPTION
+.Fn 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
+.Fa ssl
+object by setting an underlying
+.Vt BIO .
+.Sh NOTES
+The behaviour of
+.Fn SSL_accept
+depends on the underlying
+.Vt BIO .
+.Pp
+If the underlying
+.Vt BIO
+is
+.Em blocking ,
+.Fn SSL_accept
+will only return once the handshake has been finished or an error occurred,
+except for SGC (Server Gated Cryptography).
+For SGC,
+.Fn SSL_accept
+may return with \(mi1, but
+.Fn SSL_get_error
+will yield
+.Dv SSL_ERROR_WANT_READ/WRITE
+and
+.Fn SSL_accept
+should be called again.
+.Pp
+If the underlying
+.Vt BIO
+is
+.Em non-blocking ,
+.Fn SSL_accept
+will also return when the underlying
+.Vt BIO
+could not satisfy the needs of
+.Fn SSL_accept
+to continue the handshake, indicating the problem by the return value \(mi1.
+In this case a call to
+.Xr SSL_get_error 3
+with the
+return value of
+.Fn SSL_accept
+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_accept .
+The action depends on the underlying
+.Dv 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 a fatal error occurred either
+at the protocol level or a connection failure occurred.
+The shutdown was not clean.
+It can also occur of action is need 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_connect 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