]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
gnutls_transport_set_fastopen: added flags options
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Mon, 8 Aug 2016 14:30:10 +0000 (16:30 +0200)
committerGitLab <gitlab@gitlab.com>
Mon, 8 Aug 2016 15:55:57 +0000 (15:55 +0000)
This will allow minor modifications to the semantics of the function
in the future, without introducing a new API.

lib/includes/gnutls/socket.h
lib/system/fastopen.c
src/cli.c
tests/client-fastopen.c

index dea6f2620b14166e56ebb184f7bbb206893b64e9..bbd3cb29268156f14c0853741246794bb5f94c3b 100644 (file)
@@ -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
index c8655958d4a0277f08c6fa1c66ea8dd689973372..6a9978006e7e3ba03e6c4553dbed5c0348bf22b6 100644 (file)
@@ -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();
index 93d6fc65e8c6fd6b1c8d1ed7c6d8c56c6df78a55..92482221fde63770e9a1f256dc5b73188fb57f7a 100644 (file)
--- 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);
index 507d425e13b9d683a2384e5d22af79e39894f7a9..863f12a19ee90f33d04e90fd9a0cd028a6d03739 100644 (file)
@@ -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
         */