diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
commit | 36082a2fe36ecd800d784ae44c14f1f18c66a7e9 (patch) | |
tree | 6c68e0c0097987aff85a01dabddd34b862309a7c /doc/socket-api.texi | |
parent | Initial commit. (diff) | |
download | gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.tar.xz gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.zip |
Adding upstream version 3.7.9.upstream/3.7.9upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/socket-api.texi')
-rw-r--r-- | doc/socket-api.texi | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/socket-api.texi b/doc/socket-api.texi new file mode 100644 index 0000000..b2c6574 --- /dev/null +++ b/doc/socket-api.texi @@ -0,0 +1,51 @@ + +@subheading gnutls_transport_is_ktls_enabled +@anchor{gnutls_transport_is_ktls_enabled} +@deftypefun {gnutls_transport_ktls_enable_flags_t} {gnutls_transport_is_ktls_enabled} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} type. + +Checks if KTLS is now enabled and was properly inicialized. + +@strong{Returns:} @code{GNUTLS_KTLS_RECV} , @code{GNUTLS_KTLS_SEND} , @code{GNUTLS_KTLS_DUPLEX} , otherwise 0 + +@strong{Since:} 3.7.3 +@end deftypefun + +@subheading gnutls_transport_set_fastopen +@anchor{gnutls_transport_set_fastopen} +@deftypefun {void} {gnutls_transport_set_fastopen} (gnutls_session_t @var{session}, int @var{fd}, struct sockaddr * @var{connect_addr}, socklen_t @var{connect_addrlen}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} type. + +@var{fd}: is the session's socket descriptor + +@var{connect_addr}: is the address we want to connect to + +@var{connect_addrlen}: is the length of @code{connect_addr} + +@var{flags}: must be zero + +Enables TCP Fast Open (TFO) for the specified TLS client session. +That means that TCP connection establishment and the transmission +of the first TLS client hello packet are combined. The +peer's address must be specified in @code{connect_addr} and @code{connect_addrlen} , +and the socket specified by @code{fd} should not be connected. + +TFO only works for TCP sockets of type AF_INET and AF_INET6. +If the OS doesn't support TCP fast open this function will result +to gnutls using @code{connect()} transparently during the first write. + +@strong{Note:} This function overrides all the transport callback functions. +If this is undesirable, TCP Fast Open must be implemented on the user +callback functions without calling this function. When using +this function, transport callbacks must not be set, and +@code{gnutls_transport_set_ptr()} or @code{gnutls_transport_set_int()} +must not be called. + +On GNU/Linux TFO has to be enabled at the system layer, that is +in /proc/sys/net/ipv4/tcp_fastopen, bit 0 has to be set. + +This function has no effect on server sessions. + +@strong{Since:} 3.5.3 +@end deftypefun + |