summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-08-08 16:30:10 +0200
committerGitLab <gitlab@gitlab.com>2016-08-08 15:55:57 +0000
commit9401d05cddd5b35d1298823bfd5851d4eb033cf7 (patch)
tree5de8ef02ecac80068fffa1ff260d686ba084eccf
parent52b485ae7199defa3ecafe9af0f20d4535edf6d8 (diff)
downloadgnutls-tcp-fast-open.tar.gz
gnutls_transport_set_fastopen: added flags optionstcp-fast-open
This will allow minor modifications to the semantics of the function in the future, without introducing a new API.
-rw-r--r--lib/includes/gnutls/socket.h3
-rw-r--r--lib/system/fastopen.c4
-rw-r--r--src/cli.c2
-rw-r--r--tests/client-fastopen.c2
4 files changed, 7 insertions, 4 deletions
diff --git a/lib/includes/gnutls/socket.h b/lib/includes/gnutls/socket.h
index dea6f2620b..bbd3cb2926 100644
--- a/lib/includes/gnutls/socket.h
+++ b/lib/includes/gnutls/socket.h
@@ -40,7 +40,8 @@ extern "C" {
void gnutls_transport_set_fastopen(gnutls_session_t session,
int fd,
struct sockaddr *connect_addr,
- socklen_t connect_addrlen);
+ socklen_t connect_addrlen,
+ unsigned int flags);
/* *INDENT-OFF* */
#ifdef __cplusplus
diff --git a/lib/system/fastopen.c b/lib/system/fastopen.c
index c8655958d4..6a9978006e 100644
--- a/lib/system/fastopen.c
+++ b/lib/system/fastopen.c
@@ -152,6 +152,7 @@ tfo_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size)
* @fd: is the session's socket descriptor
* @connect_addr: is the address we want to connect to
* @connect_addrlen: is the length of @connect_addr
+ * @flags: must be zero
*
* Enables TCP Fast Open (TFO) for the specified TLS client session.
* That means that TCP connection establishment and the transmission
@@ -179,7 +180,8 @@ tfo_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size)
**/
void
gnutls_transport_set_fastopen(gnutls_session_t session,
- int fd, struct sockaddr *connect_addr, socklen_t connect_addrlen)
+ int fd, struct sockaddr *connect_addr, socklen_t connect_addrlen,
+ unsigned int flags)
{
if (connect_addrlen > (socklen_t)sizeof(session->internals.tfo.connect_addr)) {
gnutls_assert();
diff --git a/src/cli.c b/src/cli.c
index 93d6fc65e8..92482221fd 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1654,7 +1654,7 @@ int do_handshake(socket_st * socket)
if (fastopen && socket->connect_addrlen) {
gnutls_transport_set_fastopen(socket->session, socket->fd,
(struct sockaddr*)&socket->connect_addr,
- socket->connect_addrlen);
+ socket->connect_addrlen, 0);
socket->connect_addrlen = 0;
} else {
set_read_funcs(socket->session);
diff --git a/tests/client-fastopen.c b/tests/client-fastopen.c
index 507d425e13..863f12a19e 100644
--- a/tests/client-fastopen.c
+++ b/tests/client-fastopen.c
@@ -93,7 +93,7 @@ static void client(int fd, struct sockaddr *connect_addr, socklen_t connect_addr
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
- gnutls_transport_set_fastopen(session, fd, connect_addr, connect_addrlen);
+ gnutls_transport_set_fastopen(session, fd, connect_addr, connect_addrlen, 0);
/* Perform the TLS handshake
*/