summaryrefslogtreecommitdiff
path: root/tests/ktls_keyupdate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ktls_keyupdate.c')
-rw-r--r--tests/ktls_keyupdate.c121
1 files changed, 53 insertions, 68 deletions
diff --git a/tests/ktls_keyupdate.c b/tests/ktls_keyupdate.c
index af3b2e553d..5844c56497 100644
--- a/tests/ktls_keyupdate.c
+++ b/tests/ktls_keyupdate.c
@@ -18,7 +18,7 @@
// along with GnuTLS. If not, see <https://www.gnu.org/licenses/>.
#ifdef HAVE_CONFIG_H
-#include <config.h>
+# include <config.h>
#endif
#include <stdio.h>
@@ -50,11 +50,10 @@ int main(void)
#else
+# define MAX_BUF 1024
+# define MSG "Hello world!"
-#define MAX_BUF 1024
-#define MSG "Hello world!"
-
-#define HANDSHAKE(session, name, ret)\
+# define HANDSHAKE(session, name, ret)\
{\
do {\
ret = gnutls_handshake(session);\
@@ -66,7 +65,7 @@ int main(void)
}\
}
-#define SEND_MSG(session, name, ret)\
+# define SEND_MSG(session, name, ret)\
{\
do {\
ret = gnutls_record_send(session, MSG, strlen(MSG)+1);\
@@ -78,7 +77,7 @@ int main(void)
}\
}
-#define RECV_MSG(session, name, buffer, buffer_len, ret)\
+# define RECV_MSG(session, name, buffer, buffer_len, ret)\
{\
memset(buffer, 0, sizeof(buffer));\
do{\
@@ -98,7 +97,7 @@ int main(void)
}\
}
-#define KEY_UPDATE(session, name, peer_req, ret)\
+# define KEY_UPDATE(session, name, peer_req, ret)\
{\
do {\
ret = gnutls_session_key_update(session, peer_req);\
@@ -110,7 +109,7 @@ int main(void)
}\
}
-#define CHECK_KTLS_ENABLED(session, ret)\
+# define CHECK_KTLS_ENABLED(session, ret)\
{\
ret = gnutls_transport_is_ktls_enabled(session);\
if (!(ret & GNUTLS_KTLS_RECV)){\
@@ -129,7 +128,6 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-
static void client(int fd, const char *prio, int pipe)
{
const char *name = "client";
@@ -160,30 +158,24 @@ static void client(int fd, const char *prio, int pipe)
HANDSHAKE(session, name, ret);
CHECK_KTLS_ENABLED(session, ret)
-
- // Test 0: Try sending/receiving data
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
- SEND_MSG(session, name, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- // Test 1: Servers does key update
- read(pipe, &foo, 1);
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
- SEND_MSG(session, name, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- // Test 2: Does key update witch request
- read(pipe, &foo, 1);
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
- SEND_MSG(session, name, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ // Test 0: Try sending/receiving data
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ // Test 1: Servers does key update
+ read(pipe, &foo, 1);
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ // Test 2: Does key update witch request
+ read(pipe, &foo, 1);
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
if (ret < 0) {
- fail("client: error in closing session: %s\n", gnutls_strerror(ret));
+ fail("client: error in closing session: %s\n",
+ gnutls_strerror(ret));
}
ret = 0;
@@ -227,53 +219,46 @@ static void server(int fd, const char *prio, int pipe)
gnutls_certificate_allocate_credentials(&x509_cred);
ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
gnutls_init(&session, GNUTLS_SERVER);
gnutls_handshake_set_timeout(session, 0);
- assert(gnutls_priority_set_direct(session, prio, NULL)>=0);
+ assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
gnutls_transport_set_int(session, fd);
HANDSHAKE(session, name, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- success("Test 0: sending/receiving data\n");
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 0: sending/receiving data\n");
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- success("Test 1: server key update without request\n");
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 1: server key update without request\n");
KEY_UPDATE(session, name, 0, ret)
- write(pipe, &bar, 1);
+ write(pipe, &bar, 1);
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- success("Test 2: server key update with request\n");
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 2: server key update with request\n");
KEY_UPDATE(session, name, GNUTLS_KU_PEER, ret)
- write(pipe, &bar, 1);
+ write(pipe, &bar, 1);
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF+1, ret)
-
- CHECK_KTLS_ENABLED(session, ret)
-
- ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
if (ret < 0) {
- fail("server: error in closing session: %s\n", gnutls_strerror(ret));
+ fail("server: error in closing session: %s\n",
+ gnutls_strerror(ret));
}
ret = 0;
-end:
+ end:
close(fd);
gnutls_deinit(session);
@@ -281,7 +266,7 @@ end:
gnutls_global_deinit();
- if (ret){
+ if (ret) {
terminate();
}
@@ -302,7 +287,7 @@ static void run(const char *prio)
int listener;
int fd;
- int sync_pipe[2]; //used for synchronization
+ int sync_pipe[2]; //used for synchronization
pipe(sync_pipe);
success("running ktls test with %s\n", prio);
@@ -311,7 +296,7 @@ static void run(const char *prio)
signal(SIGPIPE, SIG_IGN);
listener = socket(AF_INET, SOCK_STREAM, 0);
- if (listener == -1){
+ if (listener == -1) {
fail("error in listener(): %s\n", strerror(errno));
}
@@ -320,14 +305,14 @@ static void run(const char *prio)
saddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
saddr.sin_port = 0;
- ret = bind(listener, (struct sockaddr*)&saddr, sizeof(saddr));
- if (ret == -1){
+ ret = bind(listener, (struct sockaddr *)&saddr, sizeof(saddr));
+ if (ret == -1) {
fail("error in bind(): %s\n", strerror(errno));
}
addrlen = sizeof(saddr);
- ret = getsockname(listener, (struct sockaddr*)&saddr, &addrlen);
- if (ret == -1){
+ ret = getsockname(listener, (struct sockaddr *)&saddr, &addrlen);
+ if (ret == -1) {
fail("error in getsockname(): %s\n", strerror(errno));
}
@@ -357,13 +342,13 @@ static void run(const char *prio)
check_wait_status(status);
} else {
fd = socket(AF_INET, SOCK_STREAM, 0);
- if (fd == -1){
+ if (fd == -1) {
fail("error in socket(): %s\n", strerror(errno));
exit(1);
}
usleep(1000000);
- connect(fd, (struct sockaddr*)&saddr, addrlen);
+ connect(fd, (struct sockaddr *)&saddr, addrlen);
close(sync_pipe[1]);
client(fd, prio, sync_pipe[0]);