diff options
author | Daiki Ueno <dueno@redhat.com> | 2018-11-16 14:25:49 +0100 |
---|---|---|
committer | Daiki Ueno <dueno@redhat.com> | 2018-11-18 06:43:51 +0100 |
commit | 0bd0db32e78ac8a4460c8e492e3a113fef6786c8 (patch) | |
tree | 7a8257dd1c5928225e60e6470c24d2a9a4e291d6 /src | |
parent | 398ed4b42f80fd379fdc1b80cc3d02086894ed87 (diff) | |
download | gnutls-0bd0db32e78ac8a4460c8e492e3a113fef6786c8.tar.gz |
serv: add --maxearlydata option
Also exercise this in testcompat-tls13-openssl.sh.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/serv-args.def | 8 | ||||
-rw-r--r-- | src/serv.c | 10 |
2 files changed, 17 insertions, 1 deletions
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 @@ -49,6 +49,14 @@ flag = { }; 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"; doc = ""; 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, |