summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-10-12 13:33:00 +0200
committerDaiki Ueno <dueno@redhat.com>2018-11-12 13:26:43 +0100
commit0676e51e8c621add86b1a9ba90b142dd1c3c7060 (patch)
treefe50ce7d46b867047bb71598af3044d82ff805af
parent6cf6b8f7205adbff41f38320433fb70ea4546720 (diff)
downloadgnutls-0676e51e8c621add86b1a9ba90b142dd1c3c7060.tar.gz
serv: add --earlydata option
Signed-off-by: Daiki Ueno <dueno@redhat.com>
-rw-r--r--src/serv-args.c.bak612
-rw-r--r--src/serv-args.def6
-rw-r--r--src/serv-args.h.bak130
-rw-r--r--src/serv.c39
4 files changed, 424 insertions, 363 deletions
diff --git a/src/serv-args.c.bak b/src/serv-args.c.bak
index 27e8e91353..2cd2173e8a 100644
--- a/src/serv-args.c.bak
+++ b/src/serv-args.c.bak
@@ -63,7 +63,7 @@ extern FILE * option_usage_fp;
/**
* static const strings for gnutls-serv options
*/
-static char const gnutls_serv_opt_strs[3428] =
+static char const gnutls_serv_opt_strs[3466] =
/* 0 */ "gnutls-serv 3.6.4\n"
"Copyright (C) 2000-2018 Free Software Foundation, and others, all rights reserved.\n"
"This is free software. It is licensed for use, modification and\n"
@@ -97,116 +97,119 @@ static char const gnutls_serv_opt_strs[3428] =
/* 1201 */ "Don't accept session tickets\0"
/* 1230 */ "NOTICKET\0"
/* 1239 */ "noticket\0"
-/* 1248 */ "Don't require cookie on DTLS sessions\0"
-/* 1286 */ "NOCOOKIE\0"
-/* 1295 */ "nocookie\0"
-/* 1304 */ "Generate Diffie-Hellman parameters\0"
-/* 1339 */ "GENERATE\0"
-/* 1348 */ "generate\0"
-/* 1357 */ "Suppress some messages\0"
-/* 1380 */ "QUIET\0"
-/* 1386 */ "quiet\0"
-/* 1392 */ "Do not use a resumption database\0"
-/* 1425 */ "NODB\0"
-/* 1430 */ "nodb\0"
-/* 1435 */ "Act as an HTTP server\0"
-/* 1457 */ "HTTP\0"
-/* 1462 */ "http\0"
-/* 1467 */ "Act as an Echo server\0"
-/* 1489 */ "ECHO\0"
-/* 1494 */ "echo\0"
-/* 1499 */ "Use DTLS (datagram TLS) over UDP\0"
-/* 1532 */ "UDP\0"
-/* 1536 */ "udp\0"
-/* 1540 */ "Set MTU for datagram TLS\0"
-/* 1565 */ "MTU\0"
-/* 1569 */ "mtu\0"
-/* 1573 */ "Offer SRTP profiles\0"
-/* 1593 */ "SRTP_PROFILES\0"
-/* 1607 */ "srtp-profiles\0"
-/* 1621 */ "Do not request a client certificate\0"
-/* 1657 */ "DISABLE_CLIENT_CERT\0"
-/* 1677 */ "disable-client-cert\0"
-/* 1697 */ "Require a client certificate\0"
-/* 1726 */ "REQUIRE_CLIENT_CERT\0"
-/* 1746 */ "require-client-cert\0"
-/* 1766 */ "If a client certificate is sent then verify it.\0"
-/* 1814 */ "VERIFY_CLIENT_CERT\0"
-/* 1833 */ "verify-client-cert\0"
-/* 1852 */ "Activate heartbeat support\0"
-/* 1879 */ "HEARTBEAT\0"
-/* 1889 */ "heartbeat\0"
-/* 1899 */ "Use DER format for certificates to read from\0"
-/* 1944 */ "X509FMTDER\0"
-/* 1955 */ "x509fmtder\0"
-/* 1966 */ "Priorities string\0"
-/* 1984 */ "PRIORITY\0"
-/* 1993 */ "priority\0"
-/* 2002 */ "DH params file to use\0"
-/* 2024 */ "DHPARAMS\0"
-/* 2033 */ "dhparams\0"
-/* 2042 */ "Certificate file or PKCS #11 URL to use\0"
-/* 2082 */ "X509CAFILE\0"
-/* 2093 */ "x509cafile\0"
-/* 2104 */ "CRL file to use\0"
-/* 2120 */ "X509CRLFILE\0"
-/* 2132 */ "x509crlfile\0"
-/* 2144 */ "PGP Key file to use (deprecated)\0"
-/* 2177 */ "PGPKEYFILE\0"
-/* 2188 */ "pgpkeyfile\0"
-/* 2199 */ "X.509 key file or PKCS #11 URL to use\0"
-/* 2237 */ "X509KEYFILE\0"
-/* 2249 */ "x509keyfile\0"
-/* 2261 */ "X.509 Certificate file or PKCS #11 URL to use\0"
-/* 2307 */ "X509CERTFILE\0"
-/* 2320 */ "x509certfile\0"
-/* 2333 */ "an alias for the 'x509keyfile' option (deprecated)\0"
-/* 2384 */ "x509dsakeyfile\0"
-/* 2399 */ "an alias for the 'x509certfile' option (deprecated)\0"
-/* 2451 */ "x509dsacertfile\0"
-/* 2467 */ "x509ecckeyfile\0"
-/* 2482 */ "x509ecccertfile\0"
-/* 2498 */ "SRP password file to use\0"
-/* 2523 */ "SRPPASSWD\0"
-/* 2533 */ "srppasswd\0"
-/* 2543 */ "SRP password configuration file to use\0"
-/* 2582 */ "SRPPASSWDCONF\0"
-/* 2596 */ "srppasswdconf\0"
-/* 2610 */ "PSK password file to use\0"
-/* 2635 */ "PSKPASSWD\0"
-/* 2645 */ "pskpasswd\0"
-/* 2655 */ "PSK identity hint to use\0"
-/* 2680 */ "PSKHINT\0"
-/* 2688 */ "pskhint\0"
-/* 2696 */ "The OCSP response to send to client\0"
-/* 2732 */ "OCSP_RESPONSE\0"
-/* 2746 */ "ocsp-response\0"
-/* 2760 */ "Ignore any errors when setting the OCSP response\0"
-/* 2809 */ "IGNORE_OCSP_RESPONSE_ERRORS\0"
-/* 2837 */ "ignore-ocsp-response-errors\0"
-/* 2865 */ "The port to connect to\0"
-/* 2888 */ "PORT\0"
-/* 2893 */ "port\0"
-/* 2898 */ "Print a list of the supported algorithms and modes\0"
-/* 2949 */ "LIST\0"
-/* 2954 */ "list\0"
-/* 2959 */ "Specify the PKCS #11 provider library\0"
-/* 2997 */ "PROVIDER\0"
-/* 3006 */ "provider\0"
-/* 3015 */ "display extended usage information and exit\0"
-/* 3059 */ "help\0"
-/* 3064 */ "extended usage information passed thru pager\0"
-/* 3109 */ "more-help\0"
-/* 3119 */ "output version information and exit\0"
-/* 3155 */ "version\0"
-/* 3163 */ "GNUTLS_SERV\0"
-/* 3175 */ "gnutls-serv - GnuTLS server\n"
+/* 1248 */ "Accept early data\0"
+/* 1266 */ "EARLYDATA\0"
+/* 1276 */ "earlydata\0"
+/* 1286 */ "Don't require cookie on DTLS sessions\0"
+/* 1324 */ "NOCOOKIE\0"
+/* 1333 */ "nocookie\0"
+/* 1342 */ "Generate Diffie-Hellman parameters\0"
+/* 1377 */ "GENERATE\0"
+/* 1386 */ "generate\0"
+/* 1395 */ "Suppress some messages\0"
+/* 1418 */ "QUIET\0"
+/* 1424 */ "quiet\0"
+/* 1430 */ "Do not use a resumption database\0"
+/* 1463 */ "NODB\0"
+/* 1468 */ "nodb\0"
+/* 1473 */ "Act as an HTTP server\0"
+/* 1495 */ "HTTP\0"
+/* 1500 */ "http\0"
+/* 1505 */ "Act as an Echo server\0"
+/* 1527 */ "ECHO\0"
+/* 1532 */ "echo\0"
+/* 1537 */ "Use DTLS (datagram TLS) over UDP\0"
+/* 1570 */ "UDP\0"
+/* 1574 */ "udp\0"
+/* 1578 */ "Set MTU for datagram TLS\0"
+/* 1603 */ "MTU\0"
+/* 1607 */ "mtu\0"
+/* 1611 */ "Offer SRTP profiles\0"
+/* 1631 */ "SRTP_PROFILES\0"
+/* 1645 */ "srtp-profiles\0"
+/* 1659 */ "Do not request a client certificate\0"
+/* 1695 */ "DISABLE_CLIENT_CERT\0"
+/* 1715 */ "disable-client-cert\0"
+/* 1735 */ "Require a client certificate\0"
+/* 1764 */ "REQUIRE_CLIENT_CERT\0"
+/* 1784 */ "require-client-cert\0"
+/* 1804 */ "If a client certificate is sent then verify it.\0"
+/* 1852 */ "VERIFY_CLIENT_CERT\0"
+/* 1871 */ "verify-client-cert\0"
+/* 1890 */ "Activate heartbeat support\0"
+/* 1917 */ "HEARTBEAT\0"
+/* 1927 */ "heartbeat\0"
+/* 1937 */ "Use DER format for certificates to read from\0"
+/* 1982 */ "X509FMTDER\0"
+/* 1993 */ "x509fmtder\0"
+/* 2004 */ "Priorities string\0"
+/* 2022 */ "PRIORITY\0"
+/* 2031 */ "priority\0"
+/* 2040 */ "DH params file to use\0"
+/* 2062 */ "DHPARAMS\0"
+/* 2071 */ "dhparams\0"
+/* 2080 */ "Certificate file or PKCS #11 URL to use\0"
+/* 2120 */ "X509CAFILE\0"
+/* 2131 */ "x509cafile\0"
+/* 2142 */ "CRL file to use\0"
+/* 2158 */ "X509CRLFILE\0"
+/* 2170 */ "x509crlfile\0"
+/* 2182 */ "PGP Key file to use (deprecated)\0"
+/* 2215 */ "PGPKEYFILE\0"
+/* 2226 */ "pgpkeyfile\0"
+/* 2237 */ "X.509 key file or PKCS #11 URL to use\0"
+/* 2275 */ "X509KEYFILE\0"
+/* 2287 */ "x509keyfile\0"
+/* 2299 */ "X.509 Certificate file or PKCS #11 URL to use\0"
+/* 2345 */ "X509CERTFILE\0"
+/* 2358 */ "x509certfile\0"
+/* 2371 */ "an alias for the 'x509keyfile' option (deprecated)\0"
+/* 2422 */ "x509dsakeyfile\0"
+/* 2437 */ "an alias for the 'x509certfile' option (deprecated)\0"
+/* 2489 */ "x509dsacertfile\0"
+/* 2505 */ "x509ecckeyfile\0"
+/* 2520 */ "x509ecccertfile\0"
+/* 2536 */ "SRP password file to use\0"
+/* 2561 */ "SRPPASSWD\0"
+/* 2571 */ "srppasswd\0"
+/* 2581 */ "SRP password configuration file to use\0"
+/* 2620 */ "SRPPASSWDCONF\0"
+/* 2634 */ "srppasswdconf\0"
+/* 2648 */ "PSK password file to use\0"
+/* 2673 */ "PSKPASSWD\0"
+/* 2683 */ "pskpasswd\0"
+/* 2693 */ "PSK identity hint to use\0"
+/* 2718 */ "PSKHINT\0"
+/* 2726 */ "pskhint\0"
+/* 2734 */ "The OCSP response to send to client\0"
+/* 2770 */ "OCSP_RESPONSE\0"
+/* 2784 */ "ocsp-response\0"
+/* 2798 */ "Ignore any errors when setting the OCSP response\0"
+/* 2847 */ "IGNORE_OCSP_RESPONSE_ERRORS\0"
+/* 2875 */ "ignore-ocsp-response-errors\0"
+/* 2903 */ "The port to connect to\0"
+/* 2926 */ "PORT\0"
+/* 2931 */ "port\0"
+/* 2936 */ "Print a list of the supported algorithms and modes\0"
+/* 2987 */ "LIST\0"
+/* 2992 */ "list\0"
+/* 2997 */ "Specify the PKCS #11 provider library\0"
+/* 3035 */ "PROVIDER\0"
+/* 3044 */ "provider\0"
+/* 3053 */ "display extended usage information and exit\0"
+/* 3097 */ "help\0"
+/* 3102 */ "extended usage information passed thru pager\0"
+/* 3147 */ "more-help\0"
+/* 3157 */ "output version information and exit\0"
+/* 3193 */ "version\0"
+/* 3201 */ "GNUTLS_SERV\0"
+/* 3213 */ "gnutls-serv - GnuTLS server\n"
"Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0"
-/* 3261 */ "bugs@gnutls.org\0"
-/* 3277 */ "\n\0"
-/* 3279 */ "Server program that listens to incoming TLS connections.\n\0"
-/* 3337 */ "gnutls-serv 3.6.4\0"
-/* 3355 */ "Usage: gnutls-serv [options]\n"
+/* 3299 */ "bugs@gnutls.org\0"
+/* 3315 */ "\n\0"
+/* 3317 */ "Server program that listens to incoming TLS connections.\n\0"
+/* 3375 */ "gnutls-serv 3.6.4\0"
+/* 3393 */ "Usage: gnutls-serv [options]\n"
"gnutls-serv --help for usage instructions.\n";
/**
@@ -285,14 +288,26 @@ static char const gnutls_serv_opt_strs[3428] =
#define NOTICKET_FLAGS (OPTST_DISABLED)
/**
+ * earlydata option description:
+ */
+/** Descriptive text for the earlydata option */
+#define EARLYDATA_DESC (gnutls_serv_opt_strs+1248)
+/** Upper-cased name for the earlydata option */
+#define EARLYDATA_NAME (gnutls_serv_opt_strs+1266)
+/** Name string for the earlydata option */
+#define EARLYDATA_name (gnutls_serv_opt_strs+1276)
+/** Compiled in flag settings for the earlydata option */
+#define EARLYDATA_FLAGS (OPTST_DISABLED)
+
+/**
* nocookie option description:
*/
/** Descriptive text for the nocookie option */
-#define NOCOOKIE_DESC (gnutls_serv_opt_strs+1248)
+#define NOCOOKIE_DESC (gnutls_serv_opt_strs+1286)
/** Upper-cased name for the nocookie option */
-#define NOCOOKIE_NAME (gnutls_serv_opt_strs+1286)
+#define NOCOOKIE_NAME (gnutls_serv_opt_strs+1324)
/** Name string for the nocookie option */
-#define NOCOOKIE_name (gnutls_serv_opt_strs+1295)
+#define NOCOOKIE_name (gnutls_serv_opt_strs+1333)
/** Compiled in flag settings for the nocookie option */
#define NOCOOKIE_FLAGS (OPTST_DISABLED)
@@ -300,11 +315,11 @@ static char const gnutls_serv_opt_strs[3428] =
* generate option description:
*/
/** Descriptive text for the generate option */
-#define GENERATE_DESC (gnutls_serv_opt_strs+1304)
+#define GENERATE_DESC (gnutls_serv_opt_strs+1342)
/** Upper-cased name for the generate option */
-#define GENERATE_NAME (gnutls_serv_opt_strs+1339)
+#define GENERATE_NAME (gnutls_serv_opt_strs+1377)
/** Name string for the generate option */
-#define GENERATE_name (gnutls_serv_opt_strs+1348)
+#define GENERATE_name (gnutls_serv_opt_strs+1386)
/** Compiled in flag settings for the generate option */
#define GENERATE_FLAGS (OPTST_DISABLED)
@@ -312,11 +327,11 @@ static char const gnutls_serv_opt_strs[3428] =
* quiet option description:
*/
/** Descriptive text for the quiet option */
-#define QUIET_DESC (gnutls_serv_opt_strs+1357)
+#define QUIET_DESC (gnutls_serv_opt_strs+1395)
/** Upper-cased name for the quiet option */
-#define QUIET_NAME (gnutls_serv_opt_strs+1380)
+#define QUIET_NAME (gnutls_serv_opt_strs+1418)
/** Name string for the quiet option */
-#define QUIET_name (gnutls_serv_opt_strs+1386)
+#define QUIET_name (gnutls_serv_opt_strs+1424)
/** Compiled in flag settings for the quiet option */
#define QUIET_FLAGS (OPTST_DISABLED)
@@ -324,11 +339,11 @@ static char const gnutls_serv_opt_strs[3428] =
* nodb option description:
*/
/** Descriptive text for the nodb option */
-#define NODB_DESC (gnutls_serv_opt_strs+1392)
+#define NODB_DESC (gnutls_serv_opt_strs+1430)
/** Upper-cased name for the nodb option */
-#define NODB_NAME (gnutls_serv_opt_strs+1425)
+#define NODB_NAME (gnutls_serv_opt_strs+1463)
/** Name string for the nodb option */
-#define NODB_name (gnutls_serv_opt_strs+1430)
+#define NODB_name (gnutls_serv_opt_strs+1468)
/** Compiled in flag settings for the nodb option */
#define NODB_FLAGS (OPTST_DISABLED)
@@ -336,11 +351,11 @@ static char const gnutls_serv_opt_strs[3428] =
* http option description:
*/
/** Descriptive text for the http option */
-#define HTTP_DESC (gnutls_serv_opt_strs+1435)
+#define HTTP_DESC (gnutls_serv_opt_strs+1473)
/** Upper-cased name for the http option */
-#define HTTP_NAME (gnutls_serv_opt_strs+1457)
+#define HTTP_NAME (gnutls_serv_opt_strs+1495)
/** Name string for the http option */
-#define HTTP_name (gnutls_serv_opt_strs+1462)
+#define HTTP_name (gnutls_serv_opt_strs+1500)
/** Compiled in flag settings for the http option */
#define HTTP_FLAGS (OPTST_DISABLED)
@@ -348,11 +363,11 @@ static char const gnutls_serv_opt_strs[3428] =
* echo option description:
*/
/** Descriptive text for the echo option */
-#define ECHO_DESC (gnutls_serv_opt_strs+1467)
+#define ECHO_DESC (gnutls_serv_opt_strs+1505)
/** Upper-cased name for the echo option */
-#define ECHO_NAME (gnutls_serv_opt_strs+1489)
+#define ECHO_NAME (gnutls_serv_opt_strs+1527)
/** Name string for the echo option */
-#define ECHO_name (gnutls_serv_opt_strs+1494)
+#define ECHO_name (gnutls_serv_opt_strs+1532)
/** Compiled in flag settings for the echo option */
#define ECHO_FLAGS (OPTST_DISABLED)
@@ -360,11 +375,11 @@ static char const gnutls_serv_opt_strs[3428] =
* udp option description:
*/
/** Descriptive text for the udp option */
-#define UDP_DESC (gnutls_serv_opt_strs+1499)
+#define UDP_DESC (gnutls_serv_opt_strs+1537)
/** Upper-cased name for the udp option */
-#define UDP_NAME (gnutls_serv_opt_strs+1532)
+#define UDP_NAME (gnutls_serv_opt_strs+1570)
/** Name string for the udp option */
-#define UDP_name (gnutls_serv_opt_strs+1536)
+#define UDP_name (gnutls_serv_opt_strs+1574)
/** Compiled in flag settings for the udp option */
#define UDP_FLAGS (OPTST_DISABLED)
@@ -372,11 +387,11 @@ static char const gnutls_serv_opt_strs[3428] =
* mtu option description:
*/
/** Descriptive text for the mtu option */
-#define MTU_DESC (gnutls_serv_opt_strs+1540)
+#define MTU_DESC (gnutls_serv_opt_strs+1578)
/** Upper-cased name for the mtu option */
-#define MTU_NAME (gnutls_serv_opt_strs+1565)
+#define MTU_NAME (gnutls_serv_opt_strs+1603)
/** Name string for the mtu option */
-#define MTU_name (gnutls_serv_opt_strs+1569)
+#define MTU_name (gnutls_serv_opt_strs+1607)
/** Compiled in flag settings for the mtu option */
#define MTU_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@@ -385,11 +400,11 @@ static char const gnutls_serv_opt_strs[3428] =
* srtp_profiles option description:
*/
/** Descriptive text for the srtp_profiles option */
-#define SRTP_PROFILES_DESC (gnutls_serv_opt_strs+1573)
+#define SRTP_PROFILES_DESC (gnutls_serv_opt_strs+1611)
/** Upper-cased name for the srtp_profiles option */
-#define SRTP_PROFILES_NAME (gnutls_serv_opt_strs+1593)
+#define SRTP_PROFILES_NAME (gnutls_serv_opt_strs+1631)
/** Name string for the srtp_profiles option */
-#define SRTP_PROFILES_name (gnutls_serv_opt_strs+1607)
+#define SRTP_PROFILES_name (gnutls_serv_opt_strs+1645)
/** Compiled in flag settings for the srtp_profiles option */
#define SRTP_PROFILES_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -399,11 +414,11 @@ static char const gnutls_serv_opt_strs[3428] =
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the disable-client-cert option */
-#define DISABLE_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1621)
+#define DISABLE_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1659)
/** Upper-cased name for the disable-client-cert option */
-#define DISABLE_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1657)
+#define DISABLE_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1695)
/** Name string for the disable-client-cert option */
-#define DISABLE_CLIENT_CERT_name (gnutls_serv_opt_strs+1677)
+#define DISABLE_CLIENT_CERT_name (gnutls_serv_opt_strs+1715)
/** Other options that appear in conjunction with the disable-client-cert option */
static int const aDisable_Client_CertCantList[] = {
INDEX_OPT_REQUIRE_CLIENT_CERT, NO_EQUIVALENT };
@@ -414,11 +429,11 @@ static int const aDisable_Client_CertCantList[] = {
* require-client-cert option description:
*/
/** Descriptive text for the require-client-cert option */
-#define REQUIRE_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1697)
+#define REQUIRE_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1735)
/** Upper-cased name for the require-client-cert option */
-#define REQUIRE_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1726)
+#define REQUIRE_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1764)
/** Name string for the require-client-cert option */
-#define REQUIRE_CLIENT_CERT_name (gnutls_serv_opt_strs+1746)
+#define REQUIRE_CLIENT_CERT_name (gnutls_serv_opt_strs+1784)
/** Compiled in flag settings for the require-client-cert option */
#define REQUIRE_CLIENT_CERT_FLAGS (OPTST_DISABLED)
@@ -426,11 +441,11 @@ static int const aDisable_Client_CertCantList[] = {
* verify-client-cert option description:
*/
/** Descriptive text for the verify-client-cert option */
-#define VERIFY_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1766)
+#define VERIFY_CLIENT_CERT_DESC (gnutls_serv_opt_strs+1804)
/** Upper-cased name for the verify-client-cert option */
-#define VERIFY_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1814)
+#define VERIFY_CLIENT_CERT_NAME (gnutls_serv_opt_strs+1852)
/** Name string for the verify-client-cert option */
-#define VERIFY_CLIENT_CERT_name (gnutls_serv_opt_strs+1833)
+#define VERIFY_CLIENT_CERT_name (gnutls_serv_opt_strs+1871)
/** Compiled in flag settings for the verify-client-cert option */
#define VERIFY_CLIENT_CERT_FLAGS (OPTST_DISABLED)
@@ -438,11 +453,11 @@ static int const aDisable_Client_CertCantList[] = {
* heartbeat option description:
*/
/** Descriptive text for the heartbeat option */
-#define HEARTBEAT_DESC (gnutls_serv_opt_strs+1852)
+#define HEARTBEAT_DESC (gnutls_serv_opt_strs+1890)
/** Upper-cased name for the heartbeat option */
-#define HEARTBEAT_NAME (gnutls_serv_opt_strs+1879)
+#define HEARTBEAT_NAME (gnutls_serv_opt_strs+1917)
/** Name string for the heartbeat option */
-#define HEARTBEAT_name (gnutls_serv_opt_strs+1889)
+#define HEARTBEAT_name (gnutls_serv_opt_strs+1927)
/** Compiled in flag settings for the heartbeat option */
#define HEARTBEAT_FLAGS (OPTST_DISABLED)
@@ -450,11 +465,11 @@ static int const aDisable_Client_CertCantList[] = {
* x509fmtder option description:
*/
/** Descriptive text for the x509fmtder option */
-#define X509FMTDER_DESC (gnutls_serv_opt_strs+1899)
+#define X509FMTDER_DESC (gnutls_serv_opt_strs+1937)
/** Upper-cased name for the x509fmtder option */
-#define X509FMTDER_NAME (gnutls_serv_opt_strs+1944)
+#define X509FMTDER_NAME (gnutls_serv_opt_strs+1982)
/** Name string for the x509fmtder option */
-#define X509FMTDER_name (gnutls_serv_opt_strs+1955)
+#define X509FMTDER_name (gnutls_serv_opt_strs+1993)
/** Compiled in flag settings for the x509fmtder option */
#define X509FMTDER_FLAGS (OPTST_DISABLED)
@@ -462,11 +477,11 @@ static int const aDisable_Client_CertCantList[] = {
* priority option description:
*/
/** Descriptive text for the priority option */
-#define PRIORITY_DESC (gnutls_serv_opt_strs+1966)
+#define PRIORITY_DESC (gnutls_serv_opt_strs+2004)
/** Upper-cased name for the priority option */
-#define PRIORITY_NAME (gnutls_serv_opt_strs+1984)
+#define PRIORITY_NAME (gnutls_serv_opt_strs+2022)
/** Name string for the priority option */
-#define PRIORITY_name (gnutls_serv_opt_strs+1993)
+#define PRIORITY_name (gnutls_serv_opt_strs+2031)
/** Compiled in flag settings for the priority option */
#define PRIORITY_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -475,11 +490,11 @@ static int const aDisable_Client_CertCantList[] = {
* dhparams option description:
*/
/** Descriptive text for the dhparams option */
-#define DHPARAMS_DESC (gnutls_serv_opt_strs+2002)
+#define DHPARAMS_DESC (gnutls_serv_opt_strs+2040)
/** Upper-cased name for the dhparams option */
-#define DHPARAMS_NAME (gnutls_serv_opt_strs+2024)
+#define DHPARAMS_NAME (gnutls_serv_opt_strs+2062)
/** Name string for the dhparams option */
-#define DHPARAMS_name (gnutls_serv_opt_strs+2033)
+#define DHPARAMS_name (gnutls_serv_opt_strs+2071)
/** Compiled in flag settings for the dhparams option */
#define DHPARAMS_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -488,11 +503,11 @@ static int const aDisable_Client_CertCantList[] = {
* x509cafile option description:
*/
/** Descriptive text for the x509cafile option */
-#define X509CAFILE_DESC (gnutls_serv_opt_strs+2042)
+#define X509CAFILE_DESC (gnutls_serv_opt_strs+2080)
/** Upper-cased name for the x509cafile option */
-#define X509CAFILE_NAME (gnutls_serv_opt_strs+2082)
+#define X509CAFILE_NAME (gnutls_serv_opt_strs+2120)
/** Name string for the x509cafile option */
-#define X509CAFILE_name (gnutls_serv_opt_strs+2093)
+#define X509CAFILE_name (gnutls_serv_opt_strs+2131)
/** Compiled in flag settings for the x509cafile option */
#define X509CAFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -501,11 +516,11 @@ static int const aDisable_Client_CertCantList[] = {
* x509crlfile option description:
*/
/** Descriptive text for the x509crlfile option */
-#define X509CRLFILE_DESC (gnutls_serv_opt_strs+2104)
+#define X509CRLFILE_DESC (gnutls_serv_opt_strs+2142)
/** Upper-cased name for the x509crlfile option */
-#define X509CRLFILE_NAME (gnutls_serv_opt_strs+2120)
+#define X509CRLFILE_NAME (gnutls_serv_opt_strs+2158)
/** Name string for the x509crlfile option */
-#define X509CRLFILE_name (gnutls_serv_opt_strs+2132)
+#define X509CRLFILE_name (gnutls_serv_opt_strs+2170)
/** Compiled in flag settings for the x509crlfile option */
#define X509CRLFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -514,11 +529,11 @@ static int const aDisable_Client_CertCantList[] = {
* pgpkeyfile option description:
*/
/** Descriptive text for the pgpkeyfile option */
-#define PGPKEYFILE_DESC (gnutls_serv_opt_strs+2144)
+#define PGPKEYFILE_DESC (gnutls_serv_opt_strs+2182)
/** Upper-cased name for the pgpkeyfile option */
-#define PGPKEYFILE_NAME (gnutls_serv_opt_strs+2177)
+#define PGPKEYFILE_NAME (gnutls_serv_opt_strs+2215)
/** Name string for the pgpkeyfile option */
-#define PGPKEYFILE_name (gnutls_serv_opt_strs+2188)
+#define PGPKEYFILE_name (gnutls_serv_opt_strs+2226)
/** Compiled in flag settings for the pgpkeyfile option */
#define PGPKEYFILE_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -527,11 +542,11 @@ static int const aDisable_Client_CertCantList[] = {
* x509keyfile option description:
*/
/** Descriptive text for the x509keyfile option */
-#define X509KEYFILE_DESC (gnutls_serv_opt_strs+2199)
+#define X509KEYFILE_DESC (gnutls_serv_opt_strs+2237)
/** Upper-cased name for the x509keyfile option */
-#define X509KEYFILE_NAME (gnutls_serv_opt_strs+2237)
+#define X509KEYFILE_NAME (gnutls_serv_opt_strs+2275)
/** Name string for the x509keyfile option */
-#define X509KEYFILE_name (gnutls_serv_opt_strs+2249)
+#define X509KEYFILE_name (gnutls_serv_opt_strs+2287)
/** Compiled in flag settings for the x509keyfile option */
#define X509KEYFILE_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -540,11 +555,11 @@ static int const aDisable_Client_CertCantList[] = {
* x509certfile option description:
*/
/** Descriptive text for the x509certfile option */
-#define X509CERTFILE_DESC (gnutls_serv_opt_strs+2261)
+#define X509CERTFILE_DESC (gnutls_serv_opt_strs+2299)
/** Upper-cased name for the x509certfile option */
-#define X509CERTFILE_NAME (gnutls_serv_opt_strs+2307)
+#define X509CERTFILE_NAME (gnutls_serv_opt_strs+2345)
/** Name string for the x509certfile option */
-#define X509CERTFILE_name (gnutls_serv_opt_strs+2320)
+#define X509CERTFILE_name (gnutls_serv_opt_strs+2358)
/** Compiled in flag settings for the x509certfile option */
#define X509CERTFILE_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -553,10 +568,10 @@ static int const aDisable_Client_CertCantList[] = {
* x509dsakeyfile option description:
*/
/** Descriptive text for the x509dsakeyfile option */
-#define X509DSAKEYFILE_DESC (gnutls_serv_opt_strs+2333)
+#define X509DSAKEYFILE_DESC (gnutls_serv_opt_strs+2371)
#define X509DSAKEYFILE_NAME NULL
/** Unmodified name string for the x509dsakeyfile option */
-#define X509DSAKEYFILE_name (gnutls_serv_opt_strs+2384)
+#define X509DSAKEYFILE_name (gnutls_serv_opt_strs+2422)
/** Compiled in flag settings for the x509dsakeyfile option */
#define X509DSAKEYFILE_FLAGS (X509KEYFILE_FLAGS | OPTST_ALIAS | OPTST_DEPRECATED)
@@ -564,10 +579,10 @@ static int const aDisable_Client_CertCantList[] = {
* x509dsacertfile option description:
*/
/** Descriptive text for the x509dsacertfile option */
-#define X509DSACERTFILE_DESC (gnutls_serv_opt_strs+2399)
+#define X509DSACERTFILE_DESC (gnutls_serv_opt_strs+2437)
#define X509DSACERTFILE_NAME NULL
/** Unmodified name string for the x509dsacertfile option */
-#define X509DSACERTFILE_name (gnutls_serv_opt_strs+2451)
+#define X509DSACERTFILE_name (gnutls_serv_opt_strs+2489)
/** Compiled in flag settings for the x509dsacertfile option */
#define X509DSACERTFILE_FLAGS (X509CERTFILE_FLAGS | OPTST_ALIAS | OPTST_DEPRECATED)
@@ -575,10 +590,10 @@ static int const aDisable_Client_CertCantList[] = {
* x509ecckeyfile option description:
*/
/** Descriptive text for the x509ecckeyfile option */
-#define X509ECCKEYFILE_DESC (gnutls_serv_opt_strs+2333)
+#define X509ECCKEYFILE_DESC (gnutls_serv_opt_strs+2371)
#define X509ECCKEYFILE_NAME NULL
/** Unmodified name string for the x509ecckeyfile option */
-#define X509ECCKEYFILE_name (gnutls_serv_opt_strs+2467)
+#define X509ECCKEYFILE_name (gnutls_serv_opt_strs+2505)
/** Compiled in flag settings for the x509ecckeyfile option */
#define X509ECCKEYFILE_FLAGS (X509KEYFILE_FLAGS | OPTST_ALIAS | OPTST_DEPRECATED)
@@ -586,10 +601,10 @@ static int const aDisable_Client_CertCantList[] = {
* x509ecccertfile option description:
*/
/** Descriptive text for the x509ecccertfile option */
-#define X509ECCCERTFILE_DESC (gnutls_serv_opt_strs+2399)
+#define X509ECCCERTFILE_DESC (gnutls_serv_opt_strs+2437)
#define X509ECCCERTFILE_NAME NULL
/** Unmodified name string for the x509ecccertfile option */
-#define X509ECCCERTFILE_name (gnutls_serv_opt_strs+2482)
+#define X509ECCCERTFILE_name (gnutls_serv_opt_strs+2520)
/** Compiled in flag settings for the x509ecccertfile option */
#define X509ECCCERTFILE_FLAGS (X509CERTFILE_FLAGS | OPTST_ALIAS | OPTST_DEPRECATED)
@@ -597,11 +612,11 @@ static int const aDisable_Client_CertCantList[] = {
* srppasswd option description:
*/
/** Descriptive text for the srppasswd option */
-#define SRPPASSWD_DESC (gnutls_serv_opt_strs+2498)
+#define SRPPASSWD_DESC (gnutls_serv_opt_strs+2536)
/** Upper-cased name for the srppasswd option */
-#define SRPPASSWD_NAME (gnutls_serv_opt_strs+2523)
+#define SRPPASSWD_NAME (gnutls_serv_opt_strs+2561)
/** Name string for the srppasswd option */
-#define SRPPASSWD_name (gnutls_serv_opt_strs+2533)
+#define SRPPASSWD_name (gnutls_serv_opt_strs+2571)
/** Compiled in flag settings for the srppasswd option */
#define SRPPASSWD_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -610,11 +625,11 @@ static int const aDisable_Client_CertCantList[] = {
* srppasswdconf option description:
*/
/** Descriptive text for the srppasswdconf option */
-#define SRPPASSWDCONF_DESC (gnutls_serv_opt_strs+2543)
+#define SRPPASSWDCONF_DESC (gnutls_serv_opt_strs+2581)
/** Upper-cased name for the srppasswdconf option */
-#define SRPPASSWDCONF_NAME (gnutls_serv_opt_strs+2582)
+#define SRPPASSWDCONF_NAME (gnutls_serv_opt_strs+2620)
/** Name string for the srppasswdconf option */
-#define SRPPASSWDCONF_name (gnutls_serv_opt_strs+2596)
+#define SRPPASSWDCONF_name (gnutls_serv_opt_strs+2634)
/** Compiled in flag settings for the srppasswdconf option */
#define SRPPASSWDCONF_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -623,11 +638,11 @@ static int const aDisable_Client_CertCantList[] = {
* pskpasswd option description:
*/
/** Descriptive text for the pskpasswd option */
-#define PSKPASSWD_DESC (gnutls_serv_opt_strs+2610)
+#define PSKPASSWD_DESC (gnutls_serv_opt_strs+2648)
/** Upper-cased name for the pskpasswd option */
-#define PSKPASSWD_NAME (gnutls_serv_opt_strs+2635)
+#define PSKPASSWD_NAME (gnutls_serv_opt_strs+2673)
/** Name string for the pskpasswd option */
-#define PSKPASSWD_name (gnutls_serv_opt_strs+2645)
+#define PSKPASSWD_name (gnutls_serv_opt_strs+2683)
/** Compiled in flag settings for the pskpasswd option */
#define PSKPASSWD_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -636,11 +651,11 @@ static int const aDisable_Client_CertCantList[] = {
* pskhint option description:
*/
/** Descriptive text for the pskhint option */
-#define PSKHINT_DESC (gnutls_serv_opt_strs+2655)
+#define PSKHINT_DESC (gnutls_serv_opt_strs+2693)
/** Upper-cased name for the pskhint option */
-#define PSKHINT_NAME (gnutls_serv_opt_strs+2680)
+#define PSKHINT_NAME (gnutls_serv_opt_strs+2718)
/** Name string for the pskhint option */
-#define PSKHINT_name (gnutls_serv_opt_strs+2688)
+#define PSKHINT_name (gnutls_serv_opt_strs+2726)
/** Compiled in flag settings for the pskhint option */
#define PSKHINT_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -649,11 +664,11 @@ static int const aDisable_Client_CertCantList[] = {
* ocsp-response option description:
*/
/** Descriptive text for the ocsp-response option */
-#define OCSP_RESPONSE_DESC (gnutls_serv_opt_strs+2696)
+#define OCSP_RESPONSE_DESC (gnutls_serv_opt_strs+2734)
/** Upper-cased name for the ocsp-response option */
-#define OCSP_RESPONSE_NAME (gnutls_serv_opt_strs+2732)
+#define OCSP_RESPONSE_NAME (gnutls_serv_opt_strs+2770)
/** Name string for the ocsp-response option */
-#define OCSP_RESPONSE_name (gnutls_serv_opt_strs+2746)
+#define OCSP_RESPONSE_name (gnutls_serv_opt_strs+2784)
/** Compiled in flag settings for the ocsp-response option */
#define OCSP_RESPONSE_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -662,11 +677,11 @@ static int const aDisable_Client_CertCantList[] = {
* ignore-ocsp-response-errors option description:
*/
/** Descriptive text for the ignore-ocsp-response-errors option */
-#define IGNORE_OCSP_RESPONSE_ERRORS_DESC (gnutls_serv_opt_strs+2760)
+#define IGNORE_OCSP_RESPONSE_ERRORS_DESC (gnutls_serv_opt_strs+2798)
/** Upper-cased name for the ignore-ocsp-response-errors option */
-#define IGNORE_OCSP_RESPONSE_ERRORS_NAME (gnutls_serv_opt_strs+2809)
+#define IGNORE_OCSP_RESPONSE_ERRORS_NAME (gnutls_serv_opt_strs+2847)
/** Name string for the ignore-ocsp-response-errors option */
-#define IGNORE_OCSP_RESPONSE_ERRORS_name (gnutls_serv_opt_strs+2837)
+#define IGNORE_OCSP_RESPONSE_ERRORS_name (gnutls_serv_opt_strs+2875)
/** Compiled in flag settings for the ignore-ocsp-response-errors option */
#define IGNORE_OCSP_RESPONSE_ERRORS_FLAGS (OPTST_DISABLED)
@@ -674,11 +689,11 @@ static int const aDisable_Client_CertCantList[] = {
* port option description:
*/
/** Descriptive text for the port option */
-#define PORT_DESC (gnutls_serv_opt_strs+2865)
+#define PORT_DESC (gnutls_serv_opt_strs+2903)
/** Upper-cased name for the port option */
-#define PORT_NAME (gnutls_serv_opt_strs+2888)
+#define PORT_NAME (gnutls_serv_opt_strs+2926)
/** Name string for the port option */
-#define PORT_name (gnutls_serv_opt_strs+2893)
+#define PORT_name (gnutls_serv_opt_strs+2931)
/** Compiled in flag settings for the port option */
#define PORT_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@@ -687,11 +702,11 @@ static int const aDisable_Client_CertCantList[] = {
* list option description:
*/
/** Descriptive text for the list option */
-#define LIST_DESC (gnutls_serv_opt_strs+2898)
+#define LIST_DESC (gnutls_serv_opt_strs+2936)
/** Upper-cased name for the list option */
-#define LIST_NAME (gnutls_serv_opt_strs+2949)
+#define LIST_NAME (gnutls_serv_opt_strs+2987)
/** Name string for the list option */
-#define LIST_name (gnutls_serv_opt_strs+2954)
+#define LIST_name (gnutls_serv_opt_strs+2992)
/** Compiled in flag settings for the list option */
#define LIST_FLAGS (OPTST_DISABLED)
@@ -699,11 +714,11 @@ static int const aDisable_Client_CertCantList[] = {
* provider option description:
*/
/** Descriptive text for the provider option */
-#define PROVIDER_DESC (gnutls_serv_opt_strs+2959)
+#define PROVIDER_DESC (gnutls_serv_opt_strs+2997)
/** Upper-cased name for the provider option */
-#define PROVIDER_NAME (gnutls_serv_opt_strs+2997)
+#define PROVIDER_NAME (gnutls_serv_opt_strs+3035)
/** Name string for the provider option */
-#define PROVIDER_name (gnutls_serv_opt_strs+3006)
+#define PROVIDER_name (gnutls_serv_opt_strs+3044)
/** Compiled in flag settings for the provider option */
#define PROVIDER_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -711,11 +726,11 @@ static int const aDisable_Client_CertCantList[] = {
/*
* Help/More_Help/Version option descriptions:
*/
-#define HELP_DESC (gnutls_serv_opt_strs+3015)
-#define HELP_name (gnutls_serv_opt_strs+3059)
+#define HELP_DESC (gnutls_serv_opt_strs+3053)
+#define HELP_name (gnutls_serv_opt_strs+3097)
#ifdef HAVE_WORKING_FORK
-#define MORE_HELP_DESC (gnutls_serv_opt_strs+3064)
-#define MORE_HELP_name (gnutls_serv_opt_strs+3109)
+#define MORE_HELP_DESC (gnutls_serv_opt_strs+3102)
+#define MORE_HELP_name (gnutls_serv_opt_strs+3147)
#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
#else
#define MORE_HELP_DESC HELP_DESC
@@ -728,8 +743,8 @@ static int const aDisable_Client_CertCantList[] = {
# define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
#endif
-#define VER_DESC (gnutls_serv_opt_strs+3119)
-#define VER_name (gnutls_serv_opt_strs+3155)
+#define VER_DESC (gnutls_serv_opt_strs+3157)
+#define VER_name (gnutls_serv_opt_strs+3193)
/**
* Declare option callback procedures
*/
@@ -825,8 +840,20 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ NOTICKET_DESC, NOTICKET_NAME, NOTICKET_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 6, VALUE_OPT_NOCOOKIE,
- /* equiv idx, value */ 6, VALUE_OPT_NOCOOKIE,
+ { /* entry idx, value */ 6, VALUE_OPT_EARLYDATA,
+ /* equiv idx, value */ 6, VALUE_OPT_EARLYDATA,
+ /* equivalenced to */ NO_EQUIVALENT,
+ /* min, max, act ct */ 0, 1, 0,
+ /* opt state flags */ EARLYDATA_FLAGS, 0,
+ /* last opt argumnt */ { NULL }, /* --earlydata */
+ /* arg list/cookie */ NULL,
+ /* must/cannot opts */ NULL, NULL,
+ /* option proc */ NULL,
+ /* desc, NAME, name */ EARLYDATA_DESC, EARLYDATA_NAME, EARLYDATA_name,
+ /* disablement strs */ NULL, NULL },
+
+ { /* entry idx, value */ 7, VALUE_OPT_NOCOOKIE,
+ /* equiv idx, value */ 7, VALUE_OPT_NOCOOKIE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ NOCOOKIE_FLAGS, 0,
@@ -837,8 +864,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ NOCOOKIE_DESC, NOCOOKIE_NAME, NOCOOKIE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 7, VALUE_OPT_GENERATE,
- /* equiv idx, value */ 7, VALUE_OPT_GENERATE,
+ { /* entry idx, value */ 8, VALUE_OPT_GENERATE,
+ /* equiv idx, value */ 8, VALUE_OPT_GENERATE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ GENERATE_FLAGS, 0,
@@ -849,8 +876,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ GENERATE_DESC, GENERATE_NAME, GENERATE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 8, VALUE_OPT_QUIET,
- /* equiv idx, value */ 8, VALUE_OPT_QUIET,
+ { /* entry idx, value */ 9, VALUE_OPT_QUIET,
+ /* equiv idx, value */ 9, VALUE_OPT_QUIET,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ QUIET_FLAGS, 0,
@@ -861,8 +888,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ QUIET_DESC, QUIET_NAME, QUIET_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 9, VALUE_OPT_NODB,
- /* equiv idx, value */ 9, VALUE_OPT_NODB,
+ { /* entry idx, value */ 10, VALUE_OPT_NODB,
+ /* equiv idx, value */ 10, VALUE_OPT_NODB,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ NODB_FLAGS, 0,
@@ -873,8 +900,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ NODB_DESC, NODB_NAME, NODB_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 10, VALUE_OPT_HTTP,
- /* equiv idx, value */ 10, VALUE_OPT_HTTP,
+ { /* entry idx, value */ 11, VALUE_OPT_HTTP,
+ /* equiv idx, value */ 11, VALUE_OPT_HTTP,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ HTTP_FLAGS, 0,
@@ -885,8 +912,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ HTTP_DESC, HTTP_NAME, HTTP_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 11, VALUE_OPT_ECHO,
- /* equiv idx, value */ 11, VALUE_OPT_ECHO,
+ { /* entry idx, value */ 12, VALUE_OPT_ECHO,
+ /* equiv idx, value */ 12, VALUE_OPT_ECHO,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ ECHO_FLAGS, 0,
@@ -897,8 +924,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ ECHO_DESC, ECHO_NAME, ECHO_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 12, VALUE_OPT_UDP,
- /* equiv idx, value */ 12, VALUE_OPT_UDP,
+ { /* entry idx, value */ 13, VALUE_OPT_UDP,
+ /* equiv idx, value */ 13, VALUE_OPT_UDP,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ UDP_FLAGS, 0,
@@ -909,8 +936,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ UDP_DESC, UDP_NAME, UDP_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 13, VALUE_OPT_MTU,
- /* equiv idx, value */ 13, VALUE_OPT_MTU,
+ { /* entry idx, value */ 14, VALUE_OPT_MTU,
+ /* equiv idx, value */ 14, VALUE_OPT_MTU,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ MTU_FLAGS, 0,
@@ -921,8 +948,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ MTU_DESC, MTU_NAME, MTU_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 14, VALUE_OPT_SRTP_PROFILES,
- /* equiv idx, value */ 14, VALUE_OPT_SRTP_PROFILES,
+ { /* entry idx, value */ 15, VALUE_OPT_SRTP_PROFILES,
+ /* equiv idx, value */ 15, VALUE_OPT_SRTP_PROFILES,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRTP_PROFILES_FLAGS, 0,
@@ -933,8 +960,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SRTP_PROFILES_DESC, SRTP_PROFILES_NAME, SRTP_PROFILES_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 15, VALUE_OPT_DISABLE_CLIENT_CERT,
- /* equiv idx, value */ 15, VALUE_OPT_DISABLE_CLIENT_CERT,
+ { /* entry idx, value */ 16, VALUE_OPT_DISABLE_CLIENT_CERT,
+ /* equiv idx, value */ 16, VALUE_OPT_DISABLE_CLIENT_CERT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ DISABLE_CLIENT_CERT_FLAGS, 0,
@@ -945,8 +972,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ DISABLE_CLIENT_CERT_DESC, DISABLE_CLIENT_CERT_NAME, DISABLE_CLIENT_CERT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 16, VALUE_OPT_REQUIRE_CLIENT_CERT,
- /* equiv idx, value */ 16, VALUE_OPT_REQUIRE_CLIENT_CERT,
+ { /* entry idx, value */ 17, VALUE_OPT_REQUIRE_CLIENT_CERT,
+ /* equiv idx, value */ 17, VALUE_OPT_REQUIRE_CLIENT_CERT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ REQUIRE_CLIENT_CERT_FLAGS, 0,
@@ -957,8 +984,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ REQUIRE_CLIENT_CERT_DESC, REQUIRE_CLIENT_CERT_NAME, REQUIRE_CLIENT_CERT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 17, VALUE_OPT_VERIFY_CLIENT_CERT,
- /* equiv idx, value */ 17, VALUE_OPT_VERIFY_CLIENT_CERT,
+ { /* entry idx, value */ 18, VALUE_OPT_VERIFY_CLIENT_CERT,
+ /* equiv idx, value */ 18, VALUE_OPT_VERIFY_CLIENT_CERT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ VERIFY_CLIENT_CERT_FLAGS, 0,
@@ -969,8 +996,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ VERIFY_CLIENT_CERT_DESC, VERIFY_CLIENT_CERT_NAME, VERIFY_CLIENT_CERT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 18, VALUE_OPT_HEARTBEAT,
- /* equiv idx, value */ 18, VALUE_OPT_HEARTBEAT,
+ { /* entry idx, value */ 19, VALUE_OPT_HEARTBEAT,
+ /* equiv idx, value */ 19, VALUE_OPT_HEARTBEAT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ HEARTBEAT_FLAGS, 0,
@@ -981,8 +1008,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ HEARTBEAT_DESC, HEARTBEAT_NAME, HEARTBEAT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 19, VALUE_OPT_X509FMTDER,
- /* equiv idx, value */ 19, VALUE_OPT_X509FMTDER,
+ { /* entry idx, value */ 20, VALUE_OPT_X509FMTDER,
+ /* equiv idx, value */ 20, VALUE_OPT_X509FMTDER,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509FMTDER_FLAGS, 0,
@@ -993,8 +1020,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509FMTDER_DESC, X509FMTDER_NAME, X509FMTDER_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 20, VALUE_OPT_PRIORITY,
- /* equiv idx, value */ 20, VALUE_OPT_PRIORITY,
+ { /* entry idx, value */ 21, VALUE_OPT_PRIORITY,
+ /* equiv idx, value */ 21, VALUE_OPT_PRIORITY,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PRIORITY_FLAGS, 0,
@@ -1005,8 +1032,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PRIORITY_DESC, PRIORITY_NAME, PRIORITY_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 21, VALUE_OPT_DHPARAMS,
- /* equiv idx, value */ 21, VALUE_OPT_DHPARAMS,
+ { /* entry idx, value */ 22, VALUE_OPT_DHPARAMS,
+ /* equiv idx, value */ 22, VALUE_OPT_DHPARAMS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ DHPARAMS_FLAGS, 0,
@@ -1017,8 +1044,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ DHPARAMS_DESC, DHPARAMS_NAME, DHPARAMS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 22, VALUE_OPT_X509CAFILE,
- /* equiv idx, value */ 22, VALUE_OPT_X509CAFILE,
+ { /* entry idx, value */ 23, VALUE_OPT_X509CAFILE,
+ /* equiv idx, value */ 23, VALUE_OPT_X509CAFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509CAFILE_FLAGS, 0,
@@ -1029,8 +1056,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CAFILE_DESC, X509CAFILE_NAME, X509CAFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 23, VALUE_OPT_X509CRLFILE,
- /* equiv idx, value */ 23, VALUE_OPT_X509CRLFILE,
+ { /* entry idx, value */ 24, VALUE_OPT_X509CRLFILE,
+ /* equiv idx, value */ 24, VALUE_OPT_X509CRLFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509CRLFILE_FLAGS, 0,
@@ -1041,8 +1068,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CRLFILE_DESC, X509CRLFILE_NAME, X509CRLFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 24, VALUE_OPT_PGPKEYFILE,
- /* equiv idx, value */ 24, VALUE_OPT_PGPKEYFILE,
+ { /* entry idx, value */ 25, VALUE_OPT_PGPKEYFILE,
+ /* equiv idx, value */ 25, VALUE_OPT_PGPKEYFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PGPKEYFILE_FLAGS, 0,
@@ -1053,8 +1080,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PGPKEYFILE_DESC, PGPKEYFILE_NAME, PGPKEYFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 25, VALUE_OPT_X509KEYFILE,
- /* equiv idx, value */ 25, VALUE_OPT_X509KEYFILE,
+ { /* entry idx, value */ 26, VALUE_OPT_X509KEYFILE,
+ /* equiv idx, value */ 26, VALUE_OPT_X509KEYFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, NOLIMIT, 0,
/* opt state flags */ X509KEYFILE_FLAGS, 0,
@@ -1065,8 +1092,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509KEYFILE_DESC, X509KEYFILE_NAME, X509KEYFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 26, VALUE_OPT_X509CERTFILE,
- /* equiv idx, value */ 26, VALUE_OPT_X509CERTFILE,
+ { /* entry idx, value */ 27, VALUE_OPT_X509CERTFILE,
+ /* equiv idx, value */ 27, VALUE_OPT_X509CERTFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, NOLIMIT, 0,
/* opt state flags */ X509CERTFILE_FLAGS, 0,
@@ -1077,8 +1104,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CERTFILE_DESC, X509CERTFILE_NAME, X509CERTFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 27, VALUE_OPT_X509DSAKEYFILE,
- /* equiv idx, value */ 27, VALUE_OPT_X509DSAKEYFILE,
+ { /* entry idx, value */ 28, VALUE_OPT_X509DSAKEYFILE,
+ /* equiv idx, value */ 28, VALUE_OPT_X509DSAKEYFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509DSAKEYFILE_FLAGS, 0,
@@ -1089,8 +1116,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509DSAKEYFILE_DESC, X509DSAKEYFILE_NAME, X509DSAKEYFILE_name,
/* disablement strs */ 0, 0 },
- { /* entry idx, value */ 28, VALUE_OPT_X509DSACERTFILE,
- /* equiv idx, value */ 28, VALUE_OPT_X509DSACERTFILE,
+ { /* entry idx, value */ 29, VALUE_OPT_X509DSACERTFILE,
+ /* equiv idx, value */ 29, VALUE_OPT_X509DSACERTFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509DSACERTFILE_FLAGS, 0,
@@ -1101,8 +1128,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509DSACERTFILE_DESC, X509DSACERTFILE_NAME, X509DSACERTFILE_name,
/* disablement strs */ 0, 0 },
- { /* entry idx, value */ 29, VALUE_OPT_X509ECCKEYFILE,
- /* equiv idx, value */ 29, VALUE_OPT_X509ECCKEYFILE,
+ { /* entry idx, value */ 30, VALUE_OPT_X509ECCKEYFILE,
+ /* equiv idx, value */ 30, VALUE_OPT_X509ECCKEYFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509ECCKEYFILE_FLAGS, 0,
@@ -1113,8 +1140,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509ECCKEYFILE_DESC, X509ECCKEYFILE_NAME, X509ECCKEYFILE_name,
/* disablement strs */ 0, 0 },
- { /* entry idx, value */ 30, VALUE_OPT_X509ECCCERTFILE,
- /* equiv idx, value */ 30, VALUE_OPT_X509ECCCERTFILE,
+ { /* entry idx, value */ 31, VALUE_OPT_X509ECCCERTFILE,
+ /* equiv idx, value */ 31, VALUE_OPT_X509ECCCERTFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509ECCCERTFILE_FLAGS, 0,
@@ -1125,8 +1152,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509ECCCERTFILE_DESC, X509ECCCERTFILE_NAME, X509ECCCERTFILE_name,
/* disablement strs */ 0, 0 },
- { /* entry idx, value */ 31, VALUE_OPT_SRPPASSWD,
- /* equiv idx, value */ 31, VALUE_OPT_SRPPASSWD,
+ { /* entry idx, value */ 32, VALUE_OPT_SRPPASSWD,
+ /* equiv idx, value */ 32, VALUE_OPT_SRPPASSWD,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRPPASSWD_FLAGS, 0,
@@ -1137,8 +1164,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SRPPASSWD_DESC, SRPPASSWD_NAME, SRPPASSWD_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 32, VALUE_OPT_SRPPASSWDCONF,
- /* equiv idx, value */ 32, VALUE_OPT_SRPPASSWDCONF,
+ { /* entry idx, value */ 33, VALUE_OPT_SRPPASSWDCONF,
+ /* equiv idx, value */ 33, VALUE_OPT_SRPPASSWDCONF,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRPPASSWDCONF_FLAGS, 0,
@@ -1149,8 +1176,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SRPPASSWDCONF_DESC, SRPPASSWDCONF_NAME, SRPPASSWDCONF_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 33, VALUE_OPT_PSKPASSWD,
- /* equiv idx, value */ 33, VALUE_OPT_PSKPASSWD,
+ { /* entry idx, value */ 34, VALUE_OPT_PSKPASSWD,
+ /* equiv idx, value */ 34, VALUE_OPT_PSKPASSWD,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PSKPASSWD_FLAGS, 0,
@@ -1161,8 +1188,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PSKPASSWD_DESC, PSKPASSWD_NAME, PSKPASSWD_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 34, VALUE_OPT_PSKHINT,
- /* equiv idx, value */ 34, VALUE_OPT_PSKHINT,
+ { /* entry idx, value */ 35, VALUE_OPT_PSKHINT,
+ /* equiv idx, value */ 35, VALUE_OPT_PSKHINT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PSKHINT_FLAGS, 0,
@@ -1173,8 +1200,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PSKHINT_DESC, PSKHINT_NAME, PSKHINT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 35, VALUE_OPT_OCSP_RESPONSE,
- /* equiv idx, value */ 35, VALUE_OPT_OCSP_RESPONSE,
+ { /* entry idx, value */ 36, VALUE_OPT_OCSP_RESPONSE,
+ /* equiv idx, value */ 36, VALUE_OPT_OCSP_RESPONSE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, NOLIMIT, 0,
/* opt state flags */ OCSP_RESPONSE_FLAGS, 0,
@@ -1185,8 +1212,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ OCSP_RESPONSE_DESC, OCSP_RESPONSE_NAME, OCSP_RESPONSE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 36, VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS,
- /* equiv idx, value */ 36, VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS,
+ { /* entry idx, value */ 37, VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS,
+ /* equiv idx, value */ 37, VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ IGNORE_OCSP_RESPONSE_ERRORS_FLAGS, 0,
@@ -1197,8 +1224,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ IGNORE_OCSP_RESPONSE_ERRORS_DESC, IGNORE_OCSP_RESPONSE_ERRORS_NAME, IGNORE_OCSP_RESPONSE_ERRORS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 37, VALUE_OPT_PORT,
- /* equiv idx, value */ 37, VALUE_OPT_PORT,
+ { /* entry idx, value */ 38, VALUE_OPT_PORT,
+ /* equiv idx, value */ 38, VALUE_OPT_PORT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PORT_FLAGS, 0,
@@ -1209,8 +1236,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PORT_DESC, PORT_NAME, PORT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 38, VALUE_OPT_LIST,
- /* equiv idx, value */ 38, VALUE_OPT_LIST,
+ { /* entry idx, value */ 39, VALUE_OPT_LIST,
+ /* equiv idx, value */ 39, VALUE_OPT_LIST,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ LIST_FLAGS, 0,
@@ -1221,8 +1248,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ LIST_DESC, LIST_NAME, LIST_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 39, VALUE_OPT_PROVIDER,
- /* equiv idx, value */ 39, VALUE_OPT_PROVIDER,
+ { /* entry idx, value */ 40, VALUE_OPT_PROVIDER,
+ /* equiv idx, value */ 40, VALUE_OPT_PROVIDER,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PROVIDER_FLAGS, 0,
@@ -1275,21 +1302,21 @@ static tOptDesc optDesc[OPTION_CT] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/** Reference to the upper cased version of gnutls-serv. */
-#define zPROGNAME (gnutls_serv_opt_strs+3163)
+#define zPROGNAME (gnutls_serv_opt_strs+3201)
/** Reference to the title line for gnutls-serv usage. */
-#define zUsageTitle (gnutls_serv_opt_strs+3175)
+#define zUsageTitle (gnutls_serv_opt_strs+3213)
/** There is no gnutls-serv configuration file. */
#define zRcName NULL
/** There are no directories to search for gnutls-serv config files. */
#define apzHomeList NULL
/** The gnutls-serv program bug email address. */
-#define zBugsAddr (gnutls_serv_opt_strs+3261)
+#define zBugsAddr (gnutls_serv_opt_strs+3299)
/** Clarification/explanation of what gnutls-serv does. */
-#define zExplain (gnutls_serv_opt_strs+3277)
+#define zExplain (gnutls_serv_opt_strs+3315)
/** Extra detail explaining what gnutls-serv does. */
-#define zDetail (gnutls_serv_opt_strs+3279)
+#define zDetail (gnutls_serv_opt_strs+3317)
/** The full version string for gnutls-serv. */
-#define zFullVersion (gnutls_serv_opt_strs+3337)
+#define zFullVersion (gnutls_serv_opt_strs+3375)
/* extracted from optcode.tlib near line 364 */
#if defined(ENABLE_NLS)
@@ -1301,7 +1328,7 @@ static tOptDesc optDesc[OPTION_CT] = {
#endif /* ENABLE_NLS */
#define gnutls_serv_full_usage (NULL)
-#define gnutls_serv_short_usage (gnutls_serv_opt_strs+3355)
+#define gnutls_serv_short_usage (gnutls_serv_opt_strs+3393)
#endif /* not defined __doxygen__ */
@@ -1692,7 +1719,7 @@ tOptions gnutls_servOptions = {
NO_EQUIVALENT, /* '-#' option index */
NO_EQUIVALENT /* index of default opt */
},
- 43 /* full option count */, 40 /* user option count */,
+ 44 /* full option count */, 41 /* user option count */,
gnutls_serv_full_usage, gnutls_serv_short_usage,
NULL, NULL,
PKGDATADIR, gnutls_serv_packager_info
@@ -1864,6 +1891,9 @@ with this program. If not, see <http://www.gnu.org/licenses/>.\n"));
puts(_("Don't accept session tickets"));
/* referenced via gnutls_servOptions.pOptDesc->pzText */
+ puts(_("Accept early data"));
+
+ /* referenced via gnutls_servOptions.pOptDesc->pzText */
puts(_("Don't require cookie on DTLS sessions"));
/* referenced via gnutls_servOptions.pOptDesc->pzText */
@@ -2011,7 +2041,7 @@ gnutls-serv --help for usage instructions.\n"));
puts(_("\tThis is less than the minimum library version: "));
#line 121 "../version.c"
puts(_("Automated Options version %s\n"
- "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n"));
+ "\tCopyright (C) 1999-2017 by Bruce Korb - all rights reserved\n"));
#line 87 "../makeshell.c"
puts(_("(AutoOpts bug): %s.\n"));
#line 90 "../reset.c"
diff --git a/src/serv-args.def b/src/serv-args.def
index e7bb574d2e..6c17998da0 100644
--- a/src/serv-args.def
+++ b/src/serv-args.def
@@ -43,6 +43,12 @@ flag = {
};
flag = {
+ name = earlydata;
+ descrip = "Accept early data";
+ doc = "";
+};
+
+flag = {
name = nocookie;
descrip = "Don't require cookie on DTLS sessions";
doc = "";
diff --git a/src/serv-args.h.bak b/src/serv-args.h.bak
index a2244c351c..2a8d7d0c89 100644
--- a/src/serv-args.h.bak
+++ b/src/serv-args.h.bak
@@ -72,46 +72,47 @@ typedef enum {
INDEX_OPT_ALPN = 3,
INDEX_OPT_ALPN_FATAL = 4,
INDEX_OPT_NOTICKET = 5,
- INDEX_OPT_NOCOOKIE = 6,
- INDEX_OPT_GENERATE = 7,
- INDEX_OPT_QUIET = 8,
- INDEX_OPT_NODB = 9,
- INDEX_OPT_HTTP = 10,
- INDEX_OPT_ECHO = 11,
- INDEX_OPT_UDP = 12,
- INDEX_OPT_MTU = 13,
- INDEX_OPT_SRTP_PROFILES = 14,
- INDEX_OPT_DISABLE_CLIENT_CERT = 15,
- INDEX_OPT_REQUIRE_CLIENT_CERT = 16,
- INDEX_OPT_VERIFY_CLIENT_CERT = 17,
- INDEX_OPT_HEARTBEAT = 18,
- INDEX_OPT_X509FMTDER = 19,
- INDEX_OPT_PRIORITY = 20,
- INDEX_OPT_DHPARAMS = 21,
- INDEX_OPT_X509CAFILE = 22,
- INDEX_OPT_X509CRLFILE = 23,
- INDEX_OPT_PGPKEYFILE = 24,
- INDEX_OPT_X509KEYFILE = 25,
- INDEX_OPT_X509CERTFILE = 26,
- INDEX_OPT_X509DSAKEYFILE = 27,
- INDEX_OPT_X509DSACERTFILE = 28,
- INDEX_OPT_X509ECCKEYFILE = 29,
- INDEX_OPT_X509ECCCERTFILE = 30,
- INDEX_OPT_SRPPASSWD = 31,
- INDEX_OPT_SRPPASSWDCONF = 32,
- INDEX_OPT_PSKPASSWD = 33,
- INDEX_OPT_PSKHINT = 34,
- INDEX_OPT_OCSP_RESPONSE = 35,
- INDEX_OPT_IGNORE_OCSP_RESPONSE_ERRORS = 36,
- INDEX_OPT_PORT = 37,
- INDEX_OPT_LIST = 38,
- INDEX_OPT_PROVIDER = 39,
- INDEX_OPT_VERSION = 40,
- INDEX_OPT_HELP = 41,
- INDEX_OPT_MORE_HELP = 42
+ INDEX_OPT_EARLYDATA = 6,
+ INDEX_OPT_NOCOOKIE = 7,
+ INDEX_OPT_GENERATE = 8,
+ INDEX_OPT_QUIET = 9,
+ INDEX_OPT_NODB = 10,
+ INDEX_OPT_HTTP = 11,
+ INDEX_OPT_ECHO = 12,
+ INDEX_OPT_UDP = 13,
+ INDEX_OPT_MTU = 14,
+ INDEX_OPT_SRTP_PROFILES = 15,
+ INDEX_OPT_DISABLE_CLIENT_CERT = 16,
+ INDEX_OPT_REQUIRE_CLIENT_CERT = 17,
+ INDEX_OPT_VERIFY_CLIENT_CERT = 18,
+ INDEX_OPT_HEARTBEAT = 19,
+ INDEX_OPT_X509FMTDER = 20,
+ INDEX_OPT_PRIORITY = 21,
+ INDEX_OPT_DHPARAMS = 22,
+ INDEX_OPT_X509CAFILE = 23,
+ INDEX_OPT_X509CRLFILE = 24,
+ INDEX_OPT_PGPKEYFILE = 25,
+ INDEX_OPT_X509KEYFILE = 26,
+ INDEX_OPT_X509CERTFILE = 27,
+ INDEX_OPT_X509DSAKEYFILE = 28,
+ INDEX_OPT_X509DSACERTFILE = 29,
+ INDEX_OPT_X509ECCKEYFILE = 30,
+ INDEX_OPT_X509ECCCERTFILE = 31,
+ INDEX_OPT_SRPPASSWD = 32,
+ INDEX_OPT_SRPPASSWDCONF = 33,
+ INDEX_OPT_PSKPASSWD = 34,
+ INDEX_OPT_PSKHINT = 35,
+ INDEX_OPT_OCSP_RESPONSE = 36,
+ INDEX_OPT_IGNORE_OCSP_RESPONSE_ERRORS = 37,
+ INDEX_OPT_PORT = 38,
+ INDEX_OPT_LIST = 39,
+ INDEX_OPT_PROVIDER = 40,
+ INDEX_OPT_VERSION = 41,
+ INDEX_OPT_HELP = 42,
+ INDEX_OPT_MORE_HELP = 43
} teOptIndex;
/** count of all options for gnutls-serv */
-#define OPTION_CT 43
+#define OPTION_CT 44
/** gnutls-serv version */
#define GNUTLS_SERV_VERSION "3.6.4"
/** Full gnutls-serv version text */
@@ -174,44 +175,45 @@ typedef enum {
#define VALUE_OPT_ALPN 0x1003
#define VALUE_OPT_ALPN_FATAL 0x1004
#define VALUE_OPT_NOTICKET 0x1005
-#define VALUE_OPT_NOCOOKIE 0x1006
+#define VALUE_OPT_EARLYDATA 0x1006
+#define VALUE_OPT_NOCOOKIE 0x1007
#define VALUE_OPT_GENERATE 'g'
#define VALUE_OPT_QUIET 'q'
-#define VALUE_OPT_NODB 0x1007
-#define VALUE_OPT_HTTP 0x1008
-#define VALUE_OPT_ECHO 0x1009
+#define VALUE_OPT_NODB 0x1008
+#define VALUE_OPT_HTTP 0x1009
+#define VALUE_OPT_ECHO 0x100A
#define VALUE_OPT_UDP 'u'
-#define VALUE_OPT_MTU 0x100A
+#define VALUE_OPT_MTU 0x100B
#define OPT_VALUE_MTU (DESC(MTU).optArg.argInt)
-#define VALUE_OPT_SRTP_PROFILES 0x100B
+#define VALUE_OPT_SRTP_PROFILES 0x100C
#define VALUE_OPT_DISABLE_CLIENT_CERT 'a'
#define VALUE_OPT_REQUIRE_CLIENT_CERT 'r'
-#define VALUE_OPT_VERIFY_CLIENT_CERT 0x100C
+#define VALUE_OPT_VERIFY_CLIENT_CERT 0x100D
#define VALUE_OPT_HEARTBEAT 'b'
-#define VALUE_OPT_X509FMTDER 0x100D
-#define VALUE_OPT_PRIORITY 0x100E
-#define VALUE_OPT_DHPARAMS 0x100F
-#define VALUE_OPT_X509CAFILE 0x1010
-#define VALUE_OPT_X509CRLFILE 0x1011
-#define VALUE_OPT_PGPKEYFILE 0x1012
-#define VALUE_OPT_X509KEYFILE 0x1013
-#define VALUE_OPT_X509CERTFILE 0x1014
-#define VALUE_OPT_X509DSAKEYFILE 0x1015
-#define VALUE_OPT_X509DSACERTFILE 0x1016
-#define VALUE_OPT_X509ECCKEYFILE 0x1017
-#define VALUE_OPT_X509ECCCERTFILE 0x1018
-#define VALUE_OPT_SRPPASSWD 0x1019
-#define VALUE_OPT_SRPPASSWDCONF 0x101A
-#define VALUE_OPT_PSKPASSWD 0x101B
-#define VALUE_OPT_PSKHINT 0x101C
-#define VALUE_OPT_OCSP_RESPONSE 0x101D
-#define VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS 0x101E
+#define VALUE_OPT_X509FMTDER 0x100E
+#define VALUE_OPT_PRIORITY 0x100F
+#define VALUE_OPT_DHPARAMS 0x1010
+#define VALUE_OPT_X509CAFILE 0x1011
+#define VALUE_OPT_X509CRLFILE 0x1012
+#define VALUE_OPT_PGPKEYFILE 0x1013
+#define VALUE_OPT_X509KEYFILE 0x1014
+#define VALUE_OPT_X509CERTFILE 0x1015
+#define VALUE_OPT_X509DSAKEYFILE 0x1016
+#define VALUE_OPT_X509DSACERTFILE 0x1017
+#define VALUE_OPT_X509ECCKEYFILE 0x1018
+#define VALUE_OPT_X509ECCCERTFILE 0x1019
+#define VALUE_OPT_SRPPASSWD 0x101A
+#define VALUE_OPT_SRPPASSWDCONF 0x101B
+#define VALUE_OPT_PSKPASSWD 0x101C
+#define VALUE_OPT_PSKHINT 0x101D
+#define VALUE_OPT_OCSP_RESPONSE 0x101E
+#define VALUE_OPT_IGNORE_OCSP_RESPONSE_ERRORS 0x101F
#define VALUE_OPT_PORT 'p'
#define OPT_VALUE_PORT (DESC(PORT).optArg.argInt)
#define VALUE_OPT_LIST 'l'
-#define VALUE_OPT_PROVIDER 0x101F
+#define VALUE_OPT_PROVIDER 0x1020
/** option flag (value) for help-value option */
#define VALUE_OPT_HELP 'h'
/** option flag (value) for more-help-value option */
diff --git a/src/serv.c b/src/serv.c
index af58edd9cb..fbe51b604a 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -61,6 +61,7 @@ static int debug = 0;
unsigned int verbose = 1;
static int nodb;
static int noticket;
+static int earlydata;
int require_cert;
int disable_client_cert;
@@ -140,6 +141,7 @@ LIST_TYPE_DECLARE(listener_item, char *http_request; char *http_response;
int handshake_ok;
int close_ok;
time_t start;
+ int earlydata_eof;
);
static const char *safe_strerror(int value)
@@ -375,11 +377,15 @@ gnutls_session_t initialize_session(int dtls)
const char *err;
gnutls_datum_t alpn[MAX_ALPN_PROTOCOLS];
unsigned alpn_size;
+ unsigned flags = GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH;
if (dtls)
- gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_POST_HANDSHAKE_AUTH);
- else
- gnutls_init(&session, GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH);
+ flags |= GNUTLS_DATAGRAM;
+
+ if (earlydata)
+ flags |= GNUTLS_ENABLE_EARLY_DATA;
+
+ gnutls_init(&session, flags);
/* allow the use of private ciphersuites.
*/
@@ -1463,11 +1469,27 @@ static void tcp_server(const char *name, int port)
}
if (j->handshake_ok == 1) {
- r = gnutls_record_recv(j->
- tls_session,
- buf,
- MIN(sizeof(buf),
- SMALL_READ_TEST));
+ int earlydata_read = 0;
+ if (earlydata && !j->earlydata_eof) {
+ r = gnutls_record_recv_early_data(j->
+ tls_session,
+ buf,
+ MIN(sizeof(buf),
+ SMALL_READ_TEST));
+ if (r == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ j->earlydata_eof = 1;
+ }
+ if (r == 0) {
+ earlydata_read = 1;
+ }
+ }
+ if (!earlydata_read) {
+ r = gnutls_record_recv(j->
+ tls_session,
+ buf,
+ MIN(sizeof(buf),
+ SMALL_READ_TEST));
+ }
if (r == GNUTLS_E_INTERRUPTED || r == GNUTLS_E_AGAIN) {
/* do nothing */
} else if (r <= 0) {
@@ -1659,6 +1681,7 @@ static void cmd_parser(int argc, char **argv)
nodb = HAVE_OPT(NODB);
noticket = HAVE_OPT(NOTICKET);
+ earlydata = HAVE_OPT(EARLYDATA);
if (HAVE_OPT(ECHO))
http = 0;