NAME
tls_accept_socket
,
tls_accept_fds
,
tls_accept_cbs
—
accept an incoming client connection in
a TLS server
SYNOPSIS
#include
<tls.h>
int
tls_accept_socket
(struct tls
*tls, struct tls **cctx, int
socket);
int
tls_accept_fds
(struct tls *tls,
struct tls **cctx, int fd_read,
int fd_write);
int
tls_accept_cbs
(struct tls *tls,
struct tls **cctx, ssize_t
(*tls_read_cb)(struct tls *ctx, void *buf, size_t buflen, void
*cb_arg), ssize_t (*tls_write_cb)(struct tls *ctx,
const void *buf, size_t buflen, void *cb_arg), void
*cb_arg);
DESCRIPTION
After creating a TLS server context tls with
tls_server(3) and configuring it with
tls_configure(3), a server can accept a new client connection
by calling
tls_accept_socket
()
on an already established socket connection.
Alternatively, a new client connection can be
accepted over a pair of existing file descriptors by calling
tls_accept_fds
().
Calling
tls_accept_cbs
()
allows read and write callback functions to handle data transfers. The
specified cb_arg parameter is passed back to the
functions, and can contain a pointer to any caller-specified data.
All these functions create a new context suitable for reading and writing and return it in *cctx.
RETURN VALUES
These functions return 0 on success or -1 on error.
SEE ALSO
tls_close(3), tls_config_set_session_id(3), tls_configure(3), tls_connect(3), tls_init(3), tls_server(3)
HISTORY
tls_accept_socket
() appeared in
OpenBSD 5.6 and got its final name in
OpenBSD 5.7.
tls_accept_fds
() appeared in
OpenBSD 5.8 and
tls_accept_cbs
() in OpenBSD
6.1.
AUTHORS
Joel Sing <jsing@openbsd.org>
tls_accept_cbs
() was written by
Tobias Pape
<tobias@netshed.de>.