Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SSL_ACCEPT(3)			    OpenSSL			 SSL_ACCEPT(3)

NAME
       SSL_accept - wait for a TLS/SSL client to initiate a TLS/SSL handshake

SYNOPSIS
	#include <openssl/ssl.h>

	int SSL_accept(SSL *ssl);

DESCRIPTION
       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 ssl by setting an underlying BIO.

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

       If the underlying BIO is	blocking, SSL_accept() will only return	once
       the handshake has been finished or an error occurred.

       If the underlying BIO is	nonblocking, SSL_accept() will also return
       when the	underlying BIO could not satisfy the needs of SSL_accept() to
       continue	the handshake, indicating the problem by the return value -1.
       In this case a call to SSL_get_error() with the return value of
       SSL_accept() will yield SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE.
       The calling process then	must repeat the	call after taking appropriate
       action to satisfy the needs of SSL_accept().  The action	depends	on the
       underlying BIO. When using a nonblocking	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.

RETURN VALUES
       The following return values can occur:

       0   The TLS/SSL handshake was not successful but	was shut down
	   controlled and by the specifications	of the TLS/SSL protocol. Call
	   SSL_get_error() with	the return value ret to	find out the reason.

       1   The TLS/SSL handshake was successfully completed, a TLS/SSL
	   connection has been established.

       <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 if action
	   is needed to	continue the operation for nonblocking BIOs. Call
	   SSL_get_error() with	the return value ret to	find out the reason.

SEE ALSO
       SSL_get_error(3), SSL_connect(3), SSL_shutdown(3), ssl(7), bio(7),
       SSL_set_connect_state(3), SSL_do_handshake(3), SSL_CTX_new(3)

COPYRIGHT
       Copyright 2000-2020 The OpenSSL Project Authors.	All Rights Reserved.

       Licensed	under the OpenSSL license (the "License").  You	may not	use
       this file except	in compliance with the License.	 You can obtain	a copy
       in the file LICENSE in the source distribution or at
       <https://www.openssl.org/source/license.html>.

1.1.1h				  2020-09-22			 SSL_ACCEPT(3)

NAME | SYNOPSIS | DESCRIPTION | NOTES | RETURN VALUES | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SSL_accept&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help