From 0bd0db32e78ac8a4460c8e492e3a113fef6786c8 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Fri, 16 Nov 2018 14:25:49 +0100 Subject: serv: add --maxearlydata option Also exercise this in testcompat-tls13-openssl.sh. Signed-off-by: Daiki Ueno --- src/serv-args.def | 8 ++++++++ src/serv.c | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/serv-args.def b/src/serv-args.def index 6c17998da0..7c4c32479c 100644 --- a/src/serv-args.def +++ b/src/serv-args.def @@ -48,6 +48,14 @@ flag = { doc = ""; }; +flag = { + name = maxearlydata; + arg-type = number; + arg-range = "1->4294967296"; + descrip = "The maximum early data size to accept"; + doc = ""; +}; + flag = { name = nocookie; descrip = "Don't require cookie on DTLS sessions"; diff --git a/src/serv.c b/src/serv.c index d0b5914bc0..2ceb3dbf1f 100644 --- a/src/serv.c +++ b/src/serv.c @@ -408,8 +408,16 @@ gnutls_session_t initialize_session(int dtls) gnutls_session_ticket_enable_server(session, &session_ticket_key); - if (earlydata) + if (earlydata) { gnutls_anti_replay_enable(session, anti_replay); + if (HAVE_OPT(MAXEARLYDATA)) { + ret = gnutls_record_set_max_early_data_size(session, OPT_VALUE_MAXEARLYDATA); + if (ret < 0) { + fprintf(stderr, "Could not set max early data size: %s\n", gnutls_strerror(ret)); + exit(1); + } + } + } if (sni_hostname != NULL) gnutls_handshake_set_post_client_hello_function(session, -- cgit v1.2.1