summaryrefslogtreecommitdiff
path: root/tests/tls-ext-not-in-dtls.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tls-ext-not-in-dtls.c')
-rw-r--r--tests/tls-ext-not-in-dtls.c102
1 files changed, 63 insertions, 39 deletions
diff --git a/tests/tls-ext-not-in-dtls.c b/tests/tls-ext-not-in-dtls.c
index 13a6bd2dc9..54cfb5ff00 100644
--- a/tests/tls-ext-not-in-dtls.c
+++ b/tests/tls-ext-not-in-dtls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-#include <config.h>
+# include <config.h>
#endif
#include <stdio.h>
@@ -35,25 +35,25 @@ int main(void)
#else
-#include <stdint.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <sys/wait.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <gnutls/gnutls.h>
-#include <gnutls/dtls.h>
-#include <signal.h>
-#include <string.h>
-#include <assert.h>
-
-#include "utils.h"
-#include "cert-common.h"
+# include <stdint.h>
+# include <sys/types.h>
+# include <netinet/in.h>
+# include <sys/socket.h>
+# include <sys/wait.h>
+# include <arpa/inet.h>
+# include <unistd.h>
+# include <gnutls/gnutls.h>
+# include <gnutls/dtls.h>
+# include <signal.h>
+# include <string.h>
+# include <assert.h>
+
+# include "utils.h"
+# include "cert-common.h"
enum {
-TEST_DEF_HANDHAKE,
-TEST_CUSTOM_EXT
+ TEST_DEF_HANDHAKE,
+ TEST_CUSTOM_EXT
};
/* This program tests whether the Post Handshake Auth extension is
@@ -78,13 +78,14 @@ static int ext_send(gnutls_session_t session, gnutls_buffer_t extdata)
return 0;
}
-static int ext_recv(gnutls_session_t session, const unsigned char *buf, size_t buflen)
+static int ext_recv(gnutls_session_t session, const unsigned char *buf,
+ size_t buflen)
{
return 0;
}
-#define TLS_EXT_IMPL_DTLS 0xfeee
-#define TLS_EXT_EXPL_TLS 0xfeea
+# define TLS_EXT_IMPL_DTLS 0xfeee
+# define TLS_EXT_EXPL_TLS 0xfeea
static void client(int fd, int type)
{
@@ -98,16 +99,30 @@ static void client(int fd, int type)
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- assert(gnutls_init(&session, GNUTLS_CLIENT|GNUTLS_DATAGRAM) >= 0);
+ assert(gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM) >= 0);
if (type == TEST_CUSTOM_EXT) {
- assert(gnutls_session_ext_register(session, "implicit-dtls", TLS_EXT_IMPL_DTLS, GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL, GNUTLS_EXT_FLAG_CLIENT_HELLO|GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO|GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO)>=0);
- assert(gnutls_session_ext_register(session, "explicit-tls", TLS_EXT_EXPL_TLS, GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL, GNUTLS_EXT_FLAG_CLIENT_HELLO|GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO|GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO|GNUTLS_EXT_FLAG_TLS)>=0);
+ assert(gnutls_session_ext_register
+ (session, "implicit-dtls", TLS_EXT_IMPL_DTLS,
+ GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO) >= 0);
+ assert(gnutls_session_ext_register
+ (session, "explicit-tls", TLS_EXT_EXPL_TLS,
+ GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS) >= 0);
}
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct(session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0", NULL) >= 0);
+ assert(gnutls_priority_set_direct
+ (session,
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -130,15 +145,16 @@ static void client(int fd, int type)
gnutls_global_deinit();
}
-#define TLS_EXT_KEY_SHARE 51
-#define TLS_EXT_POST_HANDSHAKE 49
+# define TLS_EXT_KEY_SHARE 51
+# define TLS_EXT_POST_HANDSHAKE 49
struct ext_ctx_st {
int extno;
int found;
};
-static int parse_ext(void *ctx, unsigned tls_id, const unsigned char *data, unsigned data_size)
+static int parse_ext(void *ctx, unsigned tls_id, const unsigned char *data,
+ unsigned data_size)
{
struct ext_ctx_st *s = ctx;
@@ -148,7 +164,7 @@ static int parse_ext(void *ctx, unsigned tls_id, const unsigned char *data, unsi
return 0;
}
-static unsigned find_client_extension(const gnutls_datum_t *msg, int extno)
+static unsigned find_client_extension(const gnutls_datum_t * msg, int extno)
{
int ret;
struct ext_ctx_st s;
@@ -156,8 +172,10 @@ static unsigned find_client_extension(const gnutls_datum_t *msg, int extno)
memset(&s, 0, sizeof(s));
s.extno = extno;
- ret = gnutls_ext_raw_parse(&s, parse_ext, msg, GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
- assert(ret>=0);
+ ret =
+ gnutls_ext_raw_parse(&s, parse_ext, msg,
+ GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
+ assert(ret >= 0);
if (s.found)
return 1;
@@ -166,7 +184,8 @@ static unsigned find_client_extension(const gnutls_datum_t *msg, int extno)
}
static int hellos_callback(gnutls_session_t session, unsigned int htype,
- unsigned post, unsigned int incoming, const gnutls_datum_t *msg)
+ unsigned post, unsigned int incoming,
+ const gnutls_datum_t * msg)
{
int *type;
@@ -204,18 +223,22 @@ static void server(int fd, int type)
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
assert(gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ &server_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_init(&session, GNUTLS_SERVER|GNUTLS_POST_HANDSHAKE_AUTH|GNUTLS_DATAGRAM) >= 0);
+ assert(gnutls_init
+ (&session,
+ GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH | GNUTLS_DATAGRAM) >=
+ 0);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_handshake_set_hook_function(session, GNUTLS_HANDSHAKE_ANY,
- GNUTLS_HOOK_BOTH,
- hellos_callback);
+ GNUTLS_HOOK_BOTH, hellos_callback);
gnutls_session_set_ptr(session, &type);
- assert(gnutls_priority_set_direct(session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct
+ (session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -280,7 +303,8 @@ void start(const char *name, int type)
}
-void doit(void) {
+void doit(void)
+{
start("check default extensions", TEST_DEF_HANDHAKE);
start("check registered extensions", TEST_CUSTOM_EXT);
}