diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-04-15 17:38:16 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-04-15 17:38:16 +0200 |
commit | 1917b866996413f09fa88ae0a6169cb9bd7079e8 (patch) | |
tree | e82839d66549250ce8d7eb88c56e41e1a06dc62d /src/microhttpd/daemon.c | |
parent | ef15b53cb101c378a905faa759aa95429d2e965d (diff) | |
download | libmicrohttpd-1917b866996413f09fa88ae0a6169cb9bd7079e8.tar.gz libmicrohttpd-1917b866996413f09fa88ae0a6169cb9bd7079e8.zip |
add flags for TLS option control
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r-- | src/microhttpd/daemon.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index ab75273b..af137a80 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -2460,17 +2460,27 @@ internal_add_connection (struct MHD_Daemon *daemon, | |||
2460 | else | 2460 | else |
2461 | { | 2461 | { |
2462 | #ifdef HTTPS_SUPPORT | 2462 | #ifdef HTTPS_SUPPORT |
2463 | connection->tls_state = MHD_TLS_CONN_INIT; | 2463 | gnutls_init_flags_t flags; |
2464 | MHD_set_https_callbacks (connection); | 2464 | |
2465 | gnutls_init (&connection->tls_session, | 2465 | flags = GNUTLS_SERVER; |
2466 | GNUTLS_SERVER | ||
2467 | #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402) | 2466 | #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402) |
2468 | | GNUTLS_NO_SIGNAL | 2467 | flags |= GNUTLS_NO_SIGNAL; |
2469 | #endif /* GNUTLS_VERSION_NUMBER >= 0x030402 */ | 2468 | #endif /* GNUTLS_VERSION_NUMBER >= 0x030402 */ |
2470 | #if GNUTLS_VERSION_MAJOR >= 3 | 2469 | #if GNUTLS_VERSION_MAJOR >= 3 |
2471 | | GNUTLS_NONBLOCK | 2470 | flags |= GNUTLS_NONBLOCK; |
2472 | #endif /* GNUTLS_VERSION_MAJOR >= 3*/ | 2471 | #endif /* GNUTLS_VERSION_MAJOR >= 3*/ |
2473 | ); | 2472 | #if (GNUTLS_VERSION_NUMBER+0 >= 0x030603) |
2473 | if (0 != (daemon->options & MHD_USE_POST_HANDSHAKE_AUTH_SUPPORT)) | ||
2474 | flags |= GNUTLS_POST_HANDSHAKE_AUTH; | ||
2475 | #endif | ||
2476 | #if (GNUTLS_VERSION_NUMBER+0 >= 0x030605) | ||
2477 | if (0 != (daemon->options & MHD_USE_INSECURE_TLS_EARLY_DATA)) | ||
2478 | flags |= GNUTLS_ENABLE_EARLY_DATA; | ||
2479 | #endif | ||
2480 | connection->tls_state = MHD_TLS_CONN_INIT; | ||
2481 | MHD_set_https_callbacks (connection); | ||
2482 | gnutls_init (&connection->tls_session, | ||
2483 | flags); | ||
2474 | gnutls_priority_set (connection->tls_session, | 2484 | gnutls_priority_set (connection->tls_session, |
2475 | daemon->priority_cache); | 2485 | daemon->priority_cache); |
2476 | gnutls_session_set_ptr (connection->tls_session, | 2486 | gnutls_session_set_ptr (connection->tls_session, |