summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-10-12 13:33:13 +0200
committerDaiki Ueno <dueno@redhat.com>2018-10-29 06:49:43 +0100
commit9f0becf5b028828e92f77885bc7d1a24d9f1ebd1 (patch)
tree540e0db3661ce920fa9c6afd5e6fc52c9d3d3064
parent8846e346c6fc28b949927e4614acd3aed56be019 (diff)
downloadgnutls-9f0becf5b028828e92f77885bc7d1a24d9f1ebd1.tar.gz
cli: add --earlydata option
Signed-off-by: Daiki Ueno <dueno@redhat.com>
-rw-r--r--src/cli-args.c.bak851
-rw-r--r--src/cli-args.def7
-rw-r--r--src/cli-args.h.bak190
-rw-r--r--src/cli.c21
-rw-r--r--src/socket.c16
-rw-r--r--src/socket.h9
6 files changed, 584 insertions, 510 deletions
diff --git a/src/cli-args.c.bak b/src/cli-args.c.bak
index d893f3ef41..f7a3687763 100644
--- a/src/cli-args.c.bak
+++ b/src/cli-args.c.bak
@@ -63,7 +63,7 @@ extern FILE * option_usage_fp;
/**
* static const strings for gnutls-cli options
*/
-static char const gnutls_cli_opt_strs[5116] =
+static char const gnutls_cli_opt_strs[5166] =
/* 0 */ "gnutls-cli @VERSION@\n"
"Copyright (C) 2000-@YEAR@ Free Software Foundation, and others, all rights reserved.\n"
"This is free software. It is licensed for use, modification and\n"
@@ -108,166 +108,169 @@ static char const gnutls_cli_opt_strs[5116] =
/* 1376 */ "Establish a session and resume\0"
/* 1407 */ "RESUME\0"
/* 1414 */ "resume\0"
-/* 1421 */ "Establish a session and rehandshake\0"
-/* 1457 */ "REHANDSHAKE\0"
-/* 1469 */ "rehandshake\0"
-/* 1481 */ "Server's hostname for server name indication extension\0"
-/* 1536 */ "SNI_HOSTNAME\0"
-/* 1549 */ "sni-hostname\0"
-/* 1562 */ "Server's hostname to use for validation\0"
-/* 1602 */ "VERIFY_HOSTNAME\0"
-/* 1618 */ "verify-hostname\0"
-/* 1634 */ "Connect, establish a plain session and start TLS\0"
-/* 1683 */ "STARTTLS\0"
-/* 1692 */ "starttls\0"
-/* 1701 */ "an alias for the 'starttls-proto' option\0"
-/* 1742 */ "app-proto\0"
-/* 1752 */ "The application protocol to be used to obtain the server's certificate\n"
+/* 1421 */ "Send early data on resumption\0"
+/* 1451 */ "EARLYDATA\0"
+/* 1461 */ "earlydata\0"
+/* 1471 */ "Establish a session and rehandshake\0"
+/* 1507 */ "REHANDSHAKE\0"
+/* 1519 */ "rehandshake\0"
+/* 1531 */ "Server's hostname for server name indication extension\0"
+/* 1586 */ "SNI_HOSTNAME\0"
+/* 1599 */ "sni-hostname\0"
+/* 1612 */ "Server's hostname to use for validation\0"
+/* 1652 */ "VERIFY_HOSTNAME\0"
+/* 1668 */ "verify-hostname\0"
+/* 1684 */ "Connect, establish a plain session and start TLS\0"
+/* 1733 */ "STARTTLS\0"
+/* 1742 */ "starttls\0"
+/* 1751 */ "an alias for the 'starttls-proto' option\0"
+/* 1792 */ "app-proto\0"
+/* 1802 */ "The application protocol to be used to obtain the server's certificate\n"
"(https, ftp, smtp, imap, ldap, xmpp, lmtp, pop3, nntp, sieve, postgres)\0"
-/* 1895 */ "STARTTLS_PROTO\0"
-/* 1910 */ "starttls-proto\0"
-/* 1925 */ "Use DTLS (datagram TLS) over UDP\0"
-/* 1958 */ "UDP\0"
-/* 1962 */ "udp\0"
-/* 1966 */ "Set MTU for datagram TLS\0"
-/* 1991 */ "MTU\0"
-/* 1995 */ "mtu\0"
-/* 1999 */ "Send CR LF instead of LF\0"
-/* 2024 */ "CRLF\0"
-/* 2029 */ "crlf\0"
-/* 2034 */ "Enable TCP Fast Open\0"
-/* 2055 */ "FASTOPEN\0"
-/* 2064 */ "fastopen\0"
-/* 2073 */ "Use DER format for certificates to read from\0"
-/* 2118 */ "X509FMTDER\0"
-/* 2129 */ "x509fmtder\0"
-/* 2140 */ "Print peer's certificate in PEM format\0"
-/* 2179 */ "PRINT_CERT\0"
-/* 2190 */ "print-cert\0"
-/* 2201 */ "Save the peer's certificate chain in the specified file in PEM format\0"
-/* 2271 */ "SAVE_CERT\0"
-/* 2281 */ "save-cert\0"
-/* 2291 */ "Save the peer's OCSP status response in the provided file\0"
-/* 2349 */ "SAVE_OCSP\0"
-/* 2359 */ "save-ocsp\0"
-/* 2369 */ "Save the server-side TLS message trace in the provided file\0"
-/* 2429 */ "SAVE_SERVER_TRACE\0"
-/* 2447 */ "save-server-trace\0"
-/* 2465 */ "Save the client-side TLS message trace in the provided file\0"
-/* 2525 */ "SAVE_CLIENT_TRACE\0"
-/* 2543 */ "save-client-trace\0"
-/* 2561 */ "The minimum number of bits allowed for DH\0"
-/* 2603 */ "DH_BITS\0"
-/* 2611 */ "dh-bits\0"
-/* 2619 */ "Priorities string\0"
-/* 2637 */ "PRIORITY\0"
-/* 2646 */ "priority\0"
-/* 2655 */ "Certificate file or PKCS #11 URL to use\0"
-/* 2695 */ "X509CAFILE\0"
-/* 2706 */ "x509cafile\0"
-/* 2717 */ "CRL file to use\0"
-/* 2733 */ "X509CRLFILE\0"
-/* 2745 */ "x509crlfile\0"
-/* 2757 */ "X.509 key file or PKCS #11 URL to use\0"
-/* 2795 */ "X509KEYFILE\0"
-/* 2807 */ "x509keyfile\0"
-/* 2819 */ "X.509 Certificate file or PKCS #11 URL to use\0"
-/* 2865 */ "X509CERTFILE\0"
-/* 2878 */ "x509certfile\0"
-/* 2891 */ "SRP username to use\0"
-/* 2911 */ "SRPUSERNAME\0"
-/* 2923 */ "srpusername\0"
-/* 2935 */ "SRP password to use\0"
-/* 2955 */ "SRPPASSWD\0"
-/* 2965 */ "srppasswd\0"
-/* 2975 */ "PSK username to use\0"
-/* 2995 */ "PSKUSERNAME\0"
-/* 3007 */ "pskusername\0"
-/* 3019 */ "PSK key (in hex) to use\0"
-/* 3043 */ "PSKKEY\0"
-/* 3050 */ "pskkey\0"
-/* 3057 */ "The port or service to connect to\0"
-/* 3091 */ "PORT\0"
-/* 3096 */ "port\0"
-/* 3101 */ "Don't abort program if server certificate can't be validated\0"
-/* 3162 */ "INSECURE\0"
-/* 3171 */ "insecure\0"
-/* 3180 */ "Allow broken algorithms, such as MD5 for certificate verification\0"
-/* 3246 */ "VERIFY_ALLOW_BROKEN\0"
-/* 3266 */ "verify-allow-broken\0"
-/* 3286 */ "Use length-hiding padding to prevent traffic analysis (deprecated)\0"
-/* 3353 */ "RANGES\0"
-/* 3360 */ "ranges\0"
-/* 3367 */ "Benchmark individual ciphers\0"
-/* 3396 */ "BENCHMARK_CIPHERS\0"
-/* 3414 */ "benchmark-ciphers\0"
-/* 3432 */ "Benchmark TLS key exchange methods\0"
-/* 3467 */ "BENCHMARK_TLS_KX\0"
-/* 3484 */ "benchmark-tls-kx\0"
-/* 3501 */ "Benchmark TLS ciphers\0"
-/* 3523 */ "BENCHMARK_TLS_CIPHERS\0"
-/* 3545 */ "benchmark-tls-ciphers\0"
-/* 3567 */ "Print a list of the supported algorithms and modes\0"
-/* 3618 */ "LIST\0"
-/* 3623 */ "list\0"
-/* 3628 */ "Print a list of the supported priority strings\0"
-/* 3675 */ "PRIORITY_LIST\0"
-/* 3689 */ "priority-list\0"
-/* 3703 */ "Don't allow session tickets\0"
-/* 3731 */ "NOTICKET\0"
-/* 3740 */ "noticket\0"
-/* 3749 */ "Offer SRTP profiles\0"
-/* 3769 */ "SRTP_PROFILES\0"
-/* 3783 */ "srtp-profiles\0"
-/* 3797 */ "Application layer protocol\0"
-/* 3824 */ "ALPN\0"
-/* 3829 */ "alpn\0"
-/* 3834 */ "Activate heartbeat support\0"
-/* 3861 */ "HEARTBEAT\0"
-/* 3871 */ "heartbeat\0"
-/* 3881 */ "The maximum record size to advertize\0"
-/* 3918 */ "RECORDSIZE\0"
-/* 3929 */ "recordsize\0"
-/* 3940 */ "Do not send a Server Name Indication (SNI)\0"
-/* 3983 */ "DISABLE_SNI\0"
-/* 3995 */ "disable-sni\0"
-/* 4007 */ "Disable all the TLS extensions (deprecated)\0"
-/* 4051 */ "DISABLE_EXTENSIONS\0"
-/* 4070 */ "disable-extensions\0"
-/* 4089 */ "Send a single key share under TLS1.3\0"
-/* 4126 */ "SINGLE_KEY_SHARE\0"
-/* 4143 */ "single-key-share\0"
-/* 4160 */ "Enable post-handshake authentication under TLS1.3\0"
-/* 4210 */ "POST_HANDSHAKE_AUTH\0"
-/* 4230 */ "post-handshake-auth\0"
-/* 4250 */ "Inline commands of the form ^<cmd>^\0"
-/* 4286 */ "INLINE_COMMANDS\0"
-/* 4302 */ "inline-commands\0"
-/* 4318 */ "Change the default delimiter for inline commands.\0"
-/* 4368 */ "INLINE_COMMANDS_PREFIX\0"
-/* 4391 */ "inline-commands-prefix\0"
-/* 4414 */ "Specify the PKCS #11 provider library\0"
-/* 4452 */ "PROVIDER\0"
-/* 4461 */ "provider\0"
-/* 4470 */ "Reports the status of the FIPS140-2 mode in gnutls library\0"
-/* 4529 */ "FIPS140_MODE\0"
-/* 4542 */ "fips140-mode\0"
-/* 4555 */ "display extended usage information and exit\0"
-/* 4599 */ "help\0"
-/* 4604 */ "extended usage information passed thru pager\0"
-/* 4649 */ "more-help\0"
-/* 4659 */ "output version information and exit\0"
-/* 4695 */ "version\0"
-/* 4703 */ "GNUTLS_CLI\0"
-/* 4714 */ "gnutls-cli - GnuTLS client\n"
+/* 1945 */ "STARTTLS_PROTO\0"
+/* 1960 */ "starttls-proto\0"
+/* 1975 */ "Use DTLS (datagram TLS) over UDP\0"
+/* 2008 */ "UDP\0"
+/* 2012 */ "udp\0"
+/* 2016 */ "Set MTU for datagram TLS\0"
+/* 2041 */ "MTU\0"
+/* 2045 */ "mtu\0"
+/* 2049 */ "Send CR LF instead of LF\0"
+/* 2074 */ "CRLF\0"
+/* 2079 */ "crlf\0"
+/* 2084 */ "Enable TCP Fast Open\0"
+/* 2105 */ "FASTOPEN\0"
+/* 2114 */ "fastopen\0"
+/* 2123 */ "Use DER format for certificates to read from\0"
+/* 2168 */ "X509FMTDER\0"
+/* 2179 */ "x509fmtder\0"
+/* 2190 */ "Print peer's certificate in PEM format\0"
+/* 2229 */ "PRINT_CERT\0"
+/* 2240 */ "print-cert\0"
+/* 2251 */ "Save the peer's certificate chain in the specified file in PEM format\0"
+/* 2321 */ "SAVE_CERT\0"
+/* 2331 */ "save-cert\0"
+/* 2341 */ "Save the peer's OCSP status response in the provided file\0"
+/* 2399 */ "SAVE_OCSP\0"
+/* 2409 */ "save-ocsp\0"
+/* 2419 */ "Save the server-side TLS message trace in the provided file\0"
+/* 2479 */ "SAVE_SERVER_TRACE\0"
+/* 2497 */ "save-server-trace\0"
+/* 2515 */ "Save the client-side TLS message trace in the provided file\0"
+/* 2575 */ "SAVE_CLIENT_TRACE\0"
+/* 2593 */ "save-client-trace\0"
+/* 2611 */ "The minimum number of bits allowed for DH\0"
+/* 2653 */ "DH_BITS\0"
+/* 2661 */ "dh-bits\0"
+/* 2669 */ "Priorities string\0"
+/* 2687 */ "PRIORITY\0"
+/* 2696 */ "priority\0"
+/* 2705 */ "Certificate file or PKCS #11 URL to use\0"
+/* 2745 */ "X509CAFILE\0"
+/* 2756 */ "x509cafile\0"
+/* 2767 */ "CRL file to use\0"
+/* 2783 */ "X509CRLFILE\0"
+/* 2795 */ "x509crlfile\0"
+/* 2807 */ "X.509 key file or PKCS #11 URL to use\0"
+/* 2845 */ "X509KEYFILE\0"
+/* 2857 */ "x509keyfile\0"
+/* 2869 */ "X.509 Certificate file or PKCS #11 URL to use\0"
+/* 2915 */ "X509CERTFILE\0"
+/* 2928 */ "x509certfile\0"
+/* 2941 */ "SRP username to use\0"
+/* 2961 */ "SRPUSERNAME\0"
+/* 2973 */ "srpusername\0"
+/* 2985 */ "SRP password to use\0"
+/* 3005 */ "SRPPASSWD\0"
+/* 3015 */ "srppasswd\0"
+/* 3025 */ "PSK username to use\0"
+/* 3045 */ "PSKUSERNAME\0"
+/* 3057 */ "pskusername\0"
+/* 3069 */ "PSK key (in hex) to use\0"
+/* 3093 */ "PSKKEY\0"
+/* 3100 */ "pskkey\0"
+/* 3107 */ "The port or service to connect to\0"
+/* 3141 */ "PORT\0"
+/* 3146 */ "port\0"
+/* 3151 */ "Don't abort program if server certificate can't be validated\0"
+/* 3212 */ "INSECURE\0"
+/* 3221 */ "insecure\0"
+/* 3230 */ "Allow broken algorithms, such as MD5 for certificate verification\0"
+/* 3296 */ "VERIFY_ALLOW_BROKEN\0"
+/* 3316 */ "verify-allow-broken\0"
+/* 3336 */ "Use length-hiding padding to prevent traffic analysis (deprecated)\0"
+/* 3403 */ "RANGES\0"
+/* 3410 */ "ranges\0"
+/* 3417 */ "Benchmark individual ciphers\0"
+/* 3446 */ "BENCHMARK_CIPHERS\0"
+/* 3464 */ "benchmark-ciphers\0"
+/* 3482 */ "Benchmark TLS key exchange methods\0"
+/* 3517 */ "BENCHMARK_TLS_KX\0"
+/* 3534 */ "benchmark-tls-kx\0"
+/* 3551 */ "Benchmark TLS ciphers\0"
+/* 3573 */ "BENCHMARK_TLS_CIPHERS\0"
+/* 3595 */ "benchmark-tls-ciphers\0"
+/* 3617 */ "Print a list of the supported algorithms and modes\0"
+/* 3668 */ "LIST\0"
+/* 3673 */ "list\0"
+/* 3678 */ "Print a list of the supported priority strings\0"
+/* 3725 */ "PRIORITY_LIST\0"
+/* 3739 */ "priority-list\0"
+/* 3753 */ "Don't allow session tickets\0"
+/* 3781 */ "NOTICKET\0"
+/* 3790 */ "noticket\0"
+/* 3799 */ "Offer SRTP profiles\0"
+/* 3819 */ "SRTP_PROFILES\0"
+/* 3833 */ "srtp-profiles\0"
+/* 3847 */ "Application layer protocol\0"
+/* 3874 */ "ALPN\0"
+/* 3879 */ "alpn\0"
+/* 3884 */ "Activate heartbeat support\0"
+/* 3911 */ "HEARTBEAT\0"
+/* 3921 */ "heartbeat\0"
+/* 3931 */ "The maximum record size to advertize\0"
+/* 3968 */ "RECORDSIZE\0"
+/* 3979 */ "recordsize\0"
+/* 3990 */ "Do not send a Server Name Indication (SNI)\0"
+/* 4033 */ "DISABLE_SNI\0"
+/* 4045 */ "disable-sni\0"
+/* 4057 */ "Disable all the TLS extensions (deprecated)\0"
+/* 4101 */ "DISABLE_EXTENSIONS\0"
+/* 4120 */ "disable-extensions\0"
+/* 4139 */ "Send a single key share under TLS1.3\0"
+/* 4176 */ "SINGLE_KEY_SHARE\0"
+/* 4193 */ "single-key-share\0"
+/* 4210 */ "Enable post-handshake authentication under TLS1.3\0"
+/* 4260 */ "POST_HANDSHAKE_AUTH\0"
+/* 4280 */ "post-handshake-auth\0"
+/* 4300 */ "Inline commands of the form ^<cmd>^\0"
+/* 4336 */ "INLINE_COMMANDS\0"
+/* 4352 */ "inline-commands\0"
+/* 4368 */ "Change the default delimiter for inline commands.\0"
+/* 4418 */ "INLINE_COMMANDS_PREFIX\0"
+/* 4441 */ "inline-commands-prefix\0"
+/* 4464 */ "Specify the PKCS #11 provider library\0"
+/* 4502 */ "PROVIDER\0"
+/* 4511 */ "provider\0"
+/* 4520 */ "Reports the status of the FIPS140-2 mode in gnutls library\0"
+/* 4579 */ "FIPS140_MODE\0"
+/* 4592 */ "fips140-mode\0"
+/* 4605 */ "display extended usage information and exit\0"
+/* 4649 */ "help\0"
+/* 4654 */ "extended usage information passed thru pager\0"
+/* 4699 */ "more-help\0"
+/* 4709 */ "output version information and exit\0"
+/* 4745 */ "version\0"
+/* 4753 */ "GNUTLS_CLI\0"
+/* 4764 */ "gnutls-cli - GnuTLS client\n"
"Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostname]\n\0"
-/* 4810 */ "@PACKAGE_BUGREPORT@\0"
-/* 4830 */ "\n\0"
-/* 4832 */ "Simple client program to set up a TLS connection to some other computer. It\n"
+/* 4860 */ "@PACKAGE_BUGREPORT@\0"
+/* 4880 */ "\n\0"
+/* 4882 */ "Simple client program to set up a TLS connection to some other computer. It\n"
"sets up a TLS connection and forwards data from the standard input to the\n"
"secured socket and vice versa.\n\0"
-/* 5015 */ "gnutls-cli @VERSION@\0"
-/* 5036 */ "Usage: gnutls-cli [options] hostname\n"
+/* 5065 */ "gnutls-cli @VERSION@\0"
+/* 5086 */ "Usage: gnutls-cli [options] hostname\n"
"gnutls-cli --help for usage instructions.\n";
/**
@@ -404,14 +407,27 @@ static char const gnutls_cli_opt_strs[5116] =
#define RESUME_FLAGS (OPTST_DISABLED)
/**
+ * earlydata option description:
+ */
+/** Descriptive text for the earlydata option */
+#define EARLYDATA_DESC (gnutls_cli_opt_strs+1421)
+/** Upper-cased name for the earlydata option */
+#define EARLYDATA_NAME (gnutls_cli_opt_strs+1451)
+/** Name string for the earlydata option */
+#define EARLYDATA_name (gnutls_cli_opt_strs+1461)
+/** Compiled in flag settings for the earlydata option */
+#define EARLYDATA_FLAGS (OPTST_DISABLED \
+ | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
+
+/**
* rehandshake option description:
*/
/** Descriptive text for the rehandshake option */
-#define REHANDSHAKE_DESC (gnutls_cli_opt_strs+1421)
+#define REHANDSHAKE_DESC (gnutls_cli_opt_strs+1471)
/** Upper-cased name for the rehandshake option */
-#define REHANDSHAKE_NAME (gnutls_cli_opt_strs+1457)
+#define REHANDSHAKE_NAME (gnutls_cli_opt_strs+1507)
/** Name string for the rehandshake option */
-#define REHANDSHAKE_name (gnutls_cli_opt_strs+1469)
+#define REHANDSHAKE_name (gnutls_cli_opt_strs+1519)
/** Compiled in flag settings for the rehandshake option */
#define REHANDSHAKE_FLAGS (OPTST_DISABLED)
@@ -419,11 +435,11 @@ static char const gnutls_cli_opt_strs[5116] =
* sni-hostname option description:
*/
/** Descriptive text for the sni-hostname option */
-#define SNI_HOSTNAME_DESC (gnutls_cli_opt_strs+1481)
+#define SNI_HOSTNAME_DESC (gnutls_cli_opt_strs+1531)
/** Upper-cased name for the sni-hostname option */
-#define SNI_HOSTNAME_NAME (gnutls_cli_opt_strs+1536)
+#define SNI_HOSTNAME_NAME (gnutls_cli_opt_strs+1586)
/** Name string for the sni-hostname option */
-#define SNI_HOSTNAME_name (gnutls_cli_opt_strs+1549)
+#define SNI_HOSTNAME_name (gnutls_cli_opt_strs+1599)
/** Compiled in flag settings for the sni-hostname option */
#define SNI_HOSTNAME_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -432,11 +448,11 @@ static char const gnutls_cli_opt_strs[5116] =
* verify-hostname option description:
*/
/** Descriptive text for the verify-hostname option */
-#define VERIFY_HOSTNAME_DESC (gnutls_cli_opt_strs+1562)
+#define VERIFY_HOSTNAME_DESC (gnutls_cli_opt_strs+1612)
/** Upper-cased name for the verify-hostname option */
-#define VERIFY_HOSTNAME_NAME (gnutls_cli_opt_strs+1602)
+#define VERIFY_HOSTNAME_NAME (gnutls_cli_opt_strs+1652)
/** Name string for the verify-hostname option */
-#define VERIFY_HOSTNAME_name (gnutls_cli_opt_strs+1618)
+#define VERIFY_HOSTNAME_name (gnutls_cli_opt_strs+1668)
/** Compiled in flag settings for the verify-hostname option */
#define VERIFY_HOSTNAME_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -445,11 +461,11 @@ static char const gnutls_cli_opt_strs[5116] =
* starttls option description:
*/
/** Descriptive text for the starttls option */
-#define STARTTLS_DESC (gnutls_cli_opt_strs+1634)
+#define STARTTLS_DESC (gnutls_cli_opt_strs+1684)
/** Upper-cased name for the starttls option */
-#define STARTTLS_NAME (gnutls_cli_opt_strs+1683)
+#define STARTTLS_NAME (gnutls_cli_opt_strs+1733)
/** Name string for the starttls option */
-#define STARTTLS_name (gnutls_cli_opt_strs+1692)
+#define STARTTLS_name (gnutls_cli_opt_strs+1742)
/** Compiled in flag settings for the starttls option */
#define STARTTLS_FLAGS (OPTST_DISABLED)
@@ -457,10 +473,10 @@ static char const gnutls_cli_opt_strs[5116] =
* app-proto option description:
*/
/** Descriptive text for the app-proto option */
-#define APP_PROTO_DESC (gnutls_cli_opt_strs+1701)
+#define APP_PROTO_DESC (gnutls_cli_opt_strs+1751)
#define APP_PROTO_NAME NULL
/** Unmodified name string for the app-proto option */
-#define APP_PROTO_name (gnutls_cli_opt_strs+1742)
+#define APP_PROTO_name (gnutls_cli_opt_strs+1792)
/** Compiled in flag settings for the app-proto option */
#define APP_PROTO_FLAGS (STARTTLS_PROTO_FLAGS | OPTST_ALIAS)
@@ -469,11 +485,11 @@ static char const gnutls_cli_opt_strs[5116] =
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the starttls-proto option */
-#define STARTTLS_PROTO_DESC (gnutls_cli_opt_strs+1752)
+#define STARTTLS_PROTO_DESC (gnutls_cli_opt_strs+1802)
/** Upper-cased name for the starttls-proto option */
-#define STARTTLS_PROTO_NAME (gnutls_cli_opt_strs+1895)
+#define STARTTLS_PROTO_NAME (gnutls_cli_opt_strs+1945)
/** Name string for the starttls-proto option */
-#define STARTTLS_PROTO_name (gnutls_cli_opt_strs+1910)
+#define STARTTLS_PROTO_name (gnutls_cli_opt_strs+1960)
/** Other options that appear in conjunction with the starttls-proto option */
static int const aStarttls_ProtoCantList[] = {
INDEX_OPT_STARTTLS, NO_EQUIVALENT };
@@ -485,11 +501,11 @@ static int const aStarttls_ProtoCantList[] = {
* udp option description:
*/
/** Descriptive text for the udp option */
-#define UDP_DESC (gnutls_cli_opt_strs+1925)
+#define UDP_DESC (gnutls_cli_opt_strs+1975)
/** Upper-cased name for the udp option */
-#define UDP_NAME (gnutls_cli_opt_strs+1958)
+#define UDP_NAME (gnutls_cli_opt_strs+2008)
/** Name string for the udp option */
-#define UDP_name (gnutls_cli_opt_strs+1962)
+#define UDP_name (gnutls_cli_opt_strs+2012)
/** Compiled in flag settings for the udp option */
#define UDP_FLAGS (OPTST_DISABLED)
@@ -497,11 +513,11 @@ static int const aStarttls_ProtoCantList[] = {
* mtu option description:
*/
/** Descriptive text for the mtu option */
-#define MTU_DESC (gnutls_cli_opt_strs+1966)
+#define MTU_DESC (gnutls_cli_opt_strs+2016)
/** Upper-cased name for the mtu option */
-#define MTU_NAME (gnutls_cli_opt_strs+1991)
+#define MTU_NAME (gnutls_cli_opt_strs+2041)
/** Name string for the mtu option */
-#define MTU_name (gnutls_cli_opt_strs+1995)
+#define MTU_name (gnutls_cli_opt_strs+2045)
/** Compiled in flag settings for the mtu option */
#define MTU_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@@ -510,11 +526,11 @@ static int const aStarttls_ProtoCantList[] = {
* crlf option description:
*/
/** Descriptive text for the crlf option */
-#define CRLF_DESC (gnutls_cli_opt_strs+1999)
+#define CRLF_DESC (gnutls_cli_opt_strs+2049)
/** Upper-cased name for the crlf option */
-#define CRLF_NAME (gnutls_cli_opt_strs+2024)
+#define CRLF_NAME (gnutls_cli_opt_strs+2074)
/** Name string for the crlf option */
-#define CRLF_name (gnutls_cli_opt_strs+2029)
+#define CRLF_name (gnutls_cli_opt_strs+2079)
/** Compiled in flag settings for the crlf option */
#define CRLF_FLAGS (OPTST_DISABLED)
@@ -522,11 +538,11 @@ static int const aStarttls_ProtoCantList[] = {
* fastopen option description:
*/
/** Descriptive text for the fastopen option */
-#define FASTOPEN_DESC (gnutls_cli_opt_strs+2034)
+#define FASTOPEN_DESC (gnutls_cli_opt_strs+2084)
/** Upper-cased name for the fastopen option */
-#define FASTOPEN_NAME (gnutls_cli_opt_strs+2055)
+#define FASTOPEN_NAME (gnutls_cli_opt_strs+2105)
/** Name string for the fastopen option */
-#define FASTOPEN_name (gnutls_cli_opt_strs+2064)
+#define FASTOPEN_name (gnutls_cli_opt_strs+2114)
/** Compiled in flag settings for the fastopen option */
#define FASTOPEN_FLAGS (OPTST_DISABLED)
@@ -534,11 +550,11 @@ static int const aStarttls_ProtoCantList[] = {
* x509fmtder option description:
*/
/** Descriptive text for the x509fmtder option */
-#define X509FMTDER_DESC (gnutls_cli_opt_strs+2073)
+#define X509FMTDER_DESC (gnutls_cli_opt_strs+2123)
/** Upper-cased name for the x509fmtder option */
-#define X509FMTDER_NAME (gnutls_cli_opt_strs+2118)
+#define X509FMTDER_NAME (gnutls_cli_opt_strs+2168)
/** Name string for the x509fmtder option */
-#define X509FMTDER_name (gnutls_cli_opt_strs+2129)
+#define X509FMTDER_name (gnutls_cli_opt_strs+2179)
/** Compiled in flag settings for the x509fmtder option */
#define X509FMTDER_FLAGS (OPTST_DISABLED)
@@ -546,11 +562,11 @@ static int const aStarttls_ProtoCantList[] = {
* print-cert option description:
*/
/** Descriptive text for the print-cert option */
-#define PRINT_CERT_DESC (gnutls_cli_opt_strs+2140)
+#define PRINT_CERT_DESC (gnutls_cli_opt_strs+2190)
/** Upper-cased name for the print-cert option */
-#define PRINT_CERT_NAME (gnutls_cli_opt_strs+2179)
+#define PRINT_CERT_NAME (gnutls_cli_opt_strs+2229)
/** Name string for the print-cert option */
-#define PRINT_CERT_name (gnutls_cli_opt_strs+2190)
+#define PRINT_CERT_name (gnutls_cli_opt_strs+2240)
/** Compiled in flag settings for the print-cert option */
#define PRINT_CERT_FLAGS (OPTST_DISABLED)
@@ -558,11 +574,11 @@ static int const aStarttls_ProtoCantList[] = {
* save-cert option description:
*/
/** Descriptive text for the save-cert option */
-#define SAVE_CERT_DESC (gnutls_cli_opt_strs+2201)
+#define SAVE_CERT_DESC (gnutls_cli_opt_strs+2251)
/** Upper-cased name for the save-cert option */
-#define SAVE_CERT_NAME (gnutls_cli_opt_strs+2271)
+#define SAVE_CERT_NAME (gnutls_cli_opt_strs+2321)
/** Name string for the save-cert option */
-#define SAVE_CERT_name (gnutls_cli_opt_strs+2281)
+#define SAVE_CERT_name (gnutls_cli_opt_strs+2331)
/** Compiled in flag settings for the save-cert option */
#define SAVE_CERT_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -571,11 +587,11 @@ static int const aStarttls_ProtoCantList[] = {
* save-ocsp option description:
*/
/** Descriptive text for the save-ocsp option */
-#define SAVE_OCSP_DESC (gnutls_cli_opt_strs+2291)
+#define SAVE_OCSP_DESC (gnutls_cli_opt_strs+2341)
/** Upper-cased name for the save-ocsp option */
-#define SAVE_OCSP_NAME (gnutls_cli_opt_strs+2349)
+#define SAVE_OCSP_NAME (gnutls_cli_opt_strs+2399)
/** Name string for the save-ocsp option */
-#define SAVE_OCSP_name (gnutls_cli_opt_strs+2359)
+#define SAVE_OCSP_name (gnutls_cli_opt_strs+2409)
/** Compiled in flag settings for the save-ocsp option */
#define SAVE_OCSP_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -584,11 +600,11 @@ static int const aStarttls_ProtoCantList[] = {
* save-server-trace option description:
*/
/** Descriptive text for the save-server-trace option */
-#define SAVE_SERVER_TRACE_DESC (gnutls_cli_opt_strs+2369)
+#define SAVE_SERVER_TRACE_DESC (gnutls_cli_opt_strs+2419)
/** Upper-cased name for the save-server-trace option */
-#define SAVE_SERVER_TRACE_NAME (gnutls_cli_opt_strs+2429)
+#define SAVE_SERVER_TRACE_NAME (gnutls_cli_opt_strs+2479)
/** Name string for the save-server-trace option */
-#define SAVE_SERVER_TRACE_name (gnutls_cli_opt_strs+2447)
+#define SAVE_SERVER_TRACE_name (gnutls_cli_opt_strs+2497)
/** Compiled in flag settings for the save-server-trace option */
#define SAVE_SERVER_TRACE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -597,11 +613,11 @@ static int const aStarttls_ProtoCantList[] = {
* save-client-trace option description:
*/
/** Descriptive text for the save-client-trace option */
-#define SAVE_CLIENT_TRACE_DESC (gnutls_cli_opt_strs+2465)
+#define SAVE_CLIENT_TRACE_DESC (gnutls_cli_opt_strs+2515)
/** Upper-cased name for the save-client-trace option */
-#define SAVE_CLIENT_TRACE_NAME (gnutls_cli_opt_strs+2525)
+#define SAVE_CLIENT_TRACE_NAME (gnutls_cli_opt_strs+2575)
/** Name string for the save-client-trace option */
-#define SAVE_CLIENT_TRACE_name (gnutls_cli_opt_strs+2543)
+#define SAVE_CLIENT_TRACE_name (gnutls_cli_opt_strs+2593)
/** Compiled in flag settings for the save-client-trace option */
#define SAVE_CLIENT_TRACE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -610,11 +626,11 @@ static int const aStarttls_ProtoCantList[] = {
* dh-bits option description:
*/
/** Descriptive text for the dh-bits option */
-#define DH_BITS_DESC (gnutls_cli_opt_strs+2561)
+#define DH_BITS_DESC (gnutls_cli_opt_strs+2611)
/** Upper-cased name for the dh-bits option */
-#define DH_BITS_NAME (gnutls_cli_opt_strs+2603)
+#define DH_BITS_NAME (gnutls_cli_opt_strs+2653)
/** Name string for the dh-bits option */
-#define DH_BITS_name (gnutls_cli_opt_strs+2611)
+#define DH_BITS_name (gnutls_cli_opt_strs+2661)
/** Compiled in flag settings for the dh-bits option */
#define DH_BITS_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@@ -623,11 +639,11 @@ static int const aStarttls_ProtoCantList[] = {
* priority option description:
*/
/** Descriptive text for the priority option */
-#define PRIORITY_DESC (gnutls_cli_opt_strs+2619)
+#define PRIORITY_DESC (gnutls_cli_opt_strs+2669)
/** Upper-cased name for the priority option */
-#define PRIORITY_NAME (gnutls_cli_opt_strs+2637)
+#define PRIORITY_NAME (gnutls_cli_opt_strs+2687)
/** Name string for the priority option */
-#define PRIORITY_name (gnutls_cli_opt_strs+2646)
+#define PRIORITY_name (gnutls_cli_opt_strs+2696)
/** Compiled in flag settings for the priority option */
#define PRIORITY_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -636,11 +652,11 @@ static int const aStarttls_ProtoCantList[] = {
* x509cafile option description:
*/
/** Descriptive text for the x509cafile option */
-#define X509CAFILE_DESC (gnutls_cli_opt_strs+2655)
+#define X509CAFILE_DESC (gnutls_cli_opt_strs+2705)
/** Upper-cased name for the x509cafile option */
-#define X509CAFILE_NAME (gnutls_cli_opt_strs+2695)
+#define X509CAFILE_NAME (gnutls_cli_opt_strs+2745)
/** Name string for the x509cafile option */
-#define X509CAFILE_name (gnutls_cli_opt_strs+2706)
+#define X509CAFILE_name (gnutls_cli_opt_strs+2756)
/** Compiled in flag settings for the x509cafile option */
#define X509CAFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -649,11 +665,11 @@ static int const aStarttls_ProtoCantList[] = {
* x509crlfile option description:
*/
/** Descriptive text for the x509crlfile option */
-#define X509CRLFILE_DESC (gnutls_cli_opt_strs+2717)
+#define X509CRLFILE_DESC (gnutls_cli_opt_strs+2767)
/** Upper-cased name for the x509crlfile option */
-#define X509CRLFILE_NAME (gnutls_cli_opt_strs+2733)
+#define X509CRLFILE_NAME (gnutls_cli_opt_strs+2783)
/** Name string for the x509crlfile option */
-#define X509CRLFILE_name (gnutls_cli_opt_strs+2745)
+#define X509CRLFILE_name (gnutls_cli_opt_strs+2795)
/** Compiled in flag settings for the x509crlfile option */
#define X509CRLFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -662,11 +678,11 @@ static int const aStarttls_ProtoCantList[] = {
* x509keyfile option description:
*/
/** Descriptive text for the x509keyfile option */
-#define X509KEYFILE_DESC (gnutls_cli_opt_strs+2757)
+#define X509KEYFILE_DESC (gnutls_cli_opt_strs+2807)
/** Upper-cased name for the x509keyfile option */
-#define X509KEYFILE_NAME (gnutls_cli_opt_strs+2795)
+#define X509KEYFILE_NAME (gnutls_cli_opt_strs+2845)
/** Name string for the x509keyfile option */
-#define X509KEYFILE_name (gnutls_cli_opt_strs+2807)
+#define X509KEYFILE_name (gnutls_cli_opt_strs+2857)
/** Compiled in flag settings for the x509keyfile option */
#define X509KEYFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -676,11 +692,11 @@ static int const aStarttls_ProtoCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the x509certfile option */
-#define X509CERTFILE_DESC (gnutls_cli_opt_strs+2819)
+#define X509CERTFILE_DESC (gnutls_cli_opt_strs+2869)
/** Upper-cased name for the x509certfile option */
-#define X509CERTFILE_NAME (gnutls_cli_opt_strs+2865)
+#define X509CERTFILE_NAME (gnutls_cli_opt_strs+2915)
/** Name string for the x509certfile option */
-#define X509CERTFILE_name (gnutls_cli_opt_strs+2878)
+#define X509CERTFILE_name (gnutls_cli_opt_strs+2928)
/** Other options that are required by the x509certfile option */
static int const aX509certfileMustList[] = {
INDEX_OPT_X509KEYFILE, NO_EQUIVALENT };
@@ -692,11 +708,11 @@ static int const aX509certfileMustList[] = {
* srpusername option description:
*/
/** Descriptive text for the srpusername option */
-#define SRPUSERNAME_DESC (gnutls_cli_opt_strs+2891)
+#define SRPUSERNAME_DESC (gnutls_cli_opt_strs+2941)
/** Upper-cased name for the srpusername option */
-#define SRPUSERNAME_NAME (gnutls_cli_opt_strs+2911)
+#define SRPUSERNAME_NAME (gnutls_cli_opt_strs+2961)
/** Name string for the srpusername option */
-#define SRPUSERNAME_name (gnutls_cli_opt_strs+2923)
+#define SRPUSERNAME_name (gnutls_cli_opt_strs+2973)
/** Compiled in flag settings for the srpusername option */
#define SRPUSERNAME_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -705,11 +721,11 @@ static int const aX509certfileMustList[] = {
* srppasswd option description:
*/
/** Descriptive text for the srppasswd option */
-#define SRPPASSWD_DESC (gnutls_cli_opt_strs+2935)
+#define SRPPASSWD_DESC (gnutls_cli_opt_strs+2985)
/** Upper-cased name for the srppasswd option */
-#define SRPPASSWD_NAME (gnutls_cli_opt_strs+2955)
+#define SRPPASSWD_NAME (gnutls_cli_opt_strs+3005)
/** Name string for the srppasswd option */
-#define SRPPASSWD_name (gnutls_cli_opt_strs+2965)
+#define SRPPASSWD_name (gnutls_cli_opt_strs+3015)
/** Compiled in flag settings for the srppasswd option */
#define SRPPASSWD_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -718,11 +734,11 @@ static int const aX509certfileMustList[] = {
* pskusername option description:
*/
/** Descriptive text for the pskusername option */
-#define PSKUSERNAME_DESC (gnutls_cli_opt_strs+2975)
+#define PSKUSERNAME_DESC (gnutls_cli_opt_strs+3025)
/** Upper-cased name for the pskusername option */
-#define PSKUSERNAME_NAME (gnutls_cli_opt_strs+2995)
+#define PSKUSERNAME_NAME (gnutls_cli_opt_strs+3045)
/** Name string for the pskusername option */
-#define PSKUSERNAME_name (gnutls_cli_opt_strs+3007)
+#define PSKUSERNAME_name (gnutls_cli_opt_strs+3057)
/** Compiled in flag settings for the pskusername option */
#define PSKUSERNAME_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -731,11 +747,11 @@ static int const aX509certfileMustList[] = {
* pskkey option description:
*/
/** Descriptive text for the pskkey option */
-#define PSKKEY_DESC (gnutls_cli_opt_strs+3019)
+#define PSKKEY_DESC (gnutls_cli_opt_strs+3069)
/** Upper-cased name for the pskkey option */
-#define PSKKEY_NAME (gnutls_cli_opt_strs+3043)
+#define PSKKEY_NAME (gnutls_cli_opt_strs+3093)
/** Name string for the pskkey option */
-#define PSKKEY_name (gnutls_cli_opt_strs+3050)
+#define PSKKEY_name (gnutls_cli_opt_strs+3100)
/** Compiled in flag settings for the pskkey option */
#define PSKKEY_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -744,11 +760,11 @@ static int const aX509certfileMustList[] = {
* port option description:
*/
/** Descriptive text for the port option */
-#define PORT_DESC (gnutls_cli_opt_strs+3057)
+#define PORT_DESC (gnutls_cli_opt_strs+3107)
/** Upper-cased name for the port option */
-#define PORT_NAME (gnutls_cli_opt_strs+3091)
+#define PORT_NAME (gnutls_cli_opt_strs+3141)
/** Name string for the port option */
-#define PORT_name (gnutls_cli_opt_strs+3096)
+#define PORT_name (gnutls_cli_opt_strs+3146)
/** Compiled in flag settings for the port option */
#define PORT_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -757,11 +773,11 @@ static int const aX509certfileMustList[] = {
* insecure option description:
*/
/** Descriptive text for the insecure option */
-#define INSECURE_DESC (gnutls_cli_opt_strs+3101)
+#define INSECURE_DESC (gnutls_cli_opt_strs+3151)
/** Upper-cased name for the insecure option */
-#define INSECURE_NAME (gnutls_cli_opt_strs+3162)
+#define INSECURE_NAME (gnutls_cli_opt_strs+3212)
/** Name string for the insecure option */
-#define INSECURE_name (gnutls_cli_opt_strs+3171)
+#define INSECURE_name (gnutls_cli_opt_strs+3221)
/** Compiled in flag settings for the insecure option */
#define INSECURE_FLAGS (OPTST_DISABLED)
@@ -769,11 +785,11 @@ static int const aX509certfileMustList[] = {
* verify-allow-broken option description:
*/
/** Descriptive text for the verify-allow-broken option */
-#define VERIFY_ALLOW_BROKEN_DESC (gnutls_cli_opt_strs+3180)
+#define VERIFY_ALLOW_BROKEN_DESC (gnutls_cli_opt_strs+3230)
/** Upper-cased name for the verify-allow-broken option */
-#define VERIFY_ALLOW_BROKEN_NAME (gnutls_cli_opt_strs+3246)
+#define VERIFY_ALLOW_BROKEN_NAME (gnutls_cli_opt_strs+3296)
/** Name string for the verify-allow-broken option */
-#define VERIFY_ALLOW_BROKEN_name (gnutls_cli_opt_strs+3266)
+#define VERIFY_ALLOW_BROKEN_name (gnutls_cli_opt_strs+3316)
/** Compiled in flag settings for the verify-allow-broken option */
#define VERIFY_ALLOW_BROKEN_FLAGS (OPTST_DISABLED)
@@ -781,11 +797,11 @@ static int const aX509certfileMustList[] = {
* ranges option description:
*/
/** Descriptive text for the ranges option */
-#define RANGES_DESC (gnutls_cli_opt_strs+3286)
+#define RANGES_DESC (gnutls_cli_opt_strs+3336)
/** Upper-cased name for the ranges option */
-#define RANGES_NAME (gnutls_cli_opt_strs+3353)
+#define RANGES_NAME (gnutls_cli_opt_strs+3403)
/** Name string for the ranges option */
-#define RANGES_name (gnutls_cli_opt_strs+3360)
+#define RANGES_name (gnutls_cli_opt_strs+3410)
/** Compiled in flag settings for the ranges option */
#define RANGES_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED)
@@ -793,11 +809,11 @@ static int const aX509certfileMustList[] = {
* benchmark-ciphers option description:
*/
/** Descriptive text for the benchmark-ciphers option */
-#define BENCHMARK_CIPHERS_DESC (gnutls_cli_opt_strs+3367)
+#define BENCHMARK_CIPHERS_DESC (gnutls_cli_opt_strs+3417)
/** Upper-cased name for the benchmark-ciphers option */
-#define BENCHMARK_CIPHERS_NAME (gnutls_cli_opt_strs+3396)
+#define BENCHMARK_CIPHERS_NAME (gnutls_cli_opt_strs+3446)
/** Name string for the benchmark-ciphers option */
-#define BENCHMARK_CIPHERS_name (gnutls_cli_opt_strs+3414)
+#define BENCHMARK_CIPHERS_name (gnutls_cli_opt_strs+3464)
/** Compiled in flag settings for the benchmark-ciphers option */
#define BENCHMARK_CIPHERS_FLAGS (OPTST_DISABLED)
@@ -805,11 +821,11 @@ static int const aX509certfileMustList[] = {
* benchmark-tls-kx option description:
*/
/** Descriptive text for the benchmark-tls-kx option */
-#define BENCHMARK_TLS_KX_DESC (gnutls_cli_opt_strs+3432)
+#define BENCHMARK_TLS_KX_DESC (gnutls_cli_opt_strs+3482)
/** Upper-cased name for the benchmark-tls-kx option */
-#define BENCHMARK_TLS_KX_NAME (gnutls_cli_opt_strs+3467)
+#define BENCHMARK_TLS_KX_NAME (gnutls_cli_opt_strs+3517)
/** Name string for the benchmark-tls-kx option */
-#define BENCHMARK_TLS_KX_name (gnutls_cli_opt_strs+3484)
+#define BENCHMARK_TLS_KX_name (gnutls_cli_opt_strs+3534)
/** Compiled in flag settings for the benchmark-tls-kx option */
#define BENCHMARK_TLS_KX_FLAGS (OPTST_DISABLED)
@@ -817,11 +833,11 @@ static int const aX509certfileMustList[] = {
* benchmark-tls-ciphers option description:
*/
/** Descriptive text for the benchmark-tls-ciphers option */
-#define BENCHMARK_TLS_CIPHERS_DESC (gnutls_cli_opt_strs+3501)
+#define BENCHMARK_TLS_CIPHERS_DESC (gnutls_cli_opt_strs+3551)
/** Upper-cased name for the benchmark-tls-ciphers option */
-#define BENCHMARK_TLS_CIPHERS_NAME (gnutls_cli_opt_strs+3523)
+#define BENCHMARK_TLS_CIPHERS_NAME (gnutls_cli_opt_strs+3573)
/** Name string for the benchmark-tls-ciphers option */
-#define BENCHMARK_TLS_CIPHERS_name (gnutls_cli_opt_strs+3545)
+#define BENCHMARK_TLS_CIPHERS_name (gnutls_cli_opt_strs+3595)
/** Compiled in flag settings for the benchmark-tls-ciphers option */
#define BENCHMARK_TLS_CIPHERS_FLAGS (OPTST_DISABLED)
@@ -830,11 +846,11 @@ static int const aX509certfileMustList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the list option */
-#define LIST_DESC (gnutls_cli_opt_strs+3567)
+#define LIST_DESC (gnutls_cli_opt_strs+3617)
/** Upper-cased name for the list option */
-#define LIST_NAME (gnutls_cli_opt_strs+3618)
+#define LIST_NAME (gnutls_cli_opt_strs+3668)
/** Name string for the list option */
-#define LIST_name (gnutls_cli_opt_strs+3623)
+#define LIST_name (gnutls_cli_opt_strs+3673)
/** Other options that appear in conjunction with the list option */
static int const aListCantList[] = {
INDEX_OPT_PORT, NO_EQUIVALENT };
@@ -845,11 +861,11 @@ static int const aListCantList[] = {
* priority-list option description:
*/
/** Descriptive text for the priority-list option */
-#define PRIORITY_LIST_DESC (gnutls_cli_opt_strs+3628)
+#define PRIORITY_LIST_DESC (gnutls_cli_opt_strs+3678)
/** Upper-cased name for the priority-list option */
-#define PRIORITY_LIST_NAME (gnutls_cli_opt_strs+3675)
+#define PRIORITY_LIST_NAME (gnutls_cli_opt_strs+3725)
/** Name string for the priority-list option */
-#define PRIORITY_LIST_name (gnutls_cli_opt_strs+3689)
+#define PRIORITY_LIST_name (gnutls_cli_opt_strs+3739)
/** Compiled in flag settings for the priority-list option */
#define PRIORITY_LIST_FLAGS (OPTST_DISABLED)
@@ -857,11 +873,11 @@ static int const aListCantList[] = {
* noticket option description:
*/
/** Descriptive text for the noticket option */
-#define NOTICKET_DESC (gnutls_cli_opt_strs+3703)
+#define NOTICKET_DESC (gnutls_cli_opt_strs+3753)
/** Upper-cased name for the noticket option */
-#define NOTICKET_NAME (gnutls_cli_opt_strs+3731)
+#define NOTICKET_NAME (gnutls_cli_opt_strs+3781)
/** Name string for the noticket option */
-#define NOTICKET_name (gnutls_cli_opt_strs+3740)
+#define NOTICKET_name (gnutls_cli_opt_strs+3790)
/** Compiled in flag settings for the noticket option */
#define NOTICKET_FLAGS (OPTST_DISABLED)
@@ -869,11 +885,11 @@ static int const aListCantList[] = {
* srtp_profiles option description:
*/
/** Descriptive text for the srtp_profiles option */
-#define SRTP_PROFILES_DESC (gnutls_cli_opt_strs+3749)
+#define SRTP_PROFILES_DESC (gnutls_cli_opt_strs+3799)
/** Upper-cased name for the srtp_profiles option */
-#define SRTP_PROFILES_NAME (gnutls_cli_opt_strs+3769)
+#define SRTP_PROFILES_NAME (gnutls_cli_opt_strs+3819)
/** Name string for the srtp_profiles option */
-#define SRTP_PROFILES_name (gnutls_cli_opt_strs+3783)
+#define SRTP_PROFILES_name (gnutls_cli_opt_strs+3833)
/** Compiled in flag settings for the srtp_profiles option */
#define SRTP_PROFILES_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -882,11 +898,11 @@ static int const aListCantList[] = {
* alpn option description:
*/
/** Descriptive text for the alpn option */
-#define ALPN_DESC (gnutls_cli_opt_strs+3797)
+#define ALPN_DESC (gnutls_cli_opt_strs+3847)
/** Upper-cased name for the alpn option */
-#define ALPN_NAME (gnutls_cli_opt_strs+3824)
+#define ALPN_NAME (gnutls_cli_opt_strs+3874)
/** Name string for the alpn option */
-#define ALPN_name (gnutls_cli_opt_strs+3829)
+#define ALPN_name (gnutls_cli_opt_strs+3879)
/** Compiled in flag settings for the alpn option */
#define ALPN_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -895,11 +911,11 @@ static int const aListCantList[] = {
* heartbeat option description:
*/
/** Descriptive text for the heartbeat option */
-#define HEARTBEAT_DESC (gnutls_cli_opt_strs+3834)
+#define HEARTBEAT_DESC (gnutls_cli_opt_strs+3884)
/** Upper-cased name for the heartbeat option */
-#define HEARTBEAT_NAME (gnutls_cli_opt_strs+3861)
+#define HEARTBEAT_NAME (gnutls_cli_opt_strs+3911)
/** Name string for the heartbeat option */
-#define HEARTBEAT_name (gnutls_cli_opt_strs+3871)
+#define HEARTBEAT_name (gnutls_cli_opt_strs+3921)
/** Compiled in flag settings for the heartbeat option */
#define HEARTBEAT_FLAGS (OPTST_DISABLED)
@@ -907,11 +923,11 @@ static int const aListCantList[] = {
* recordsize option description:
*/
/** Descriptive text for the recordsize option */
-#define RECORDSIZE_DESC (gnutls_cli_opt_strs+3881)
+#define RECORDSIZE_DESC (gnutls_cli_opt_strs+3931)
/** Upper-cased name for the recordsize option */
-#define RECORDSIZE_NAME (gnutls_cli_opt_strs+3918)
+#define RECORDSIZE_NAME (gnutls_cli_opt_strs+3968)
/** Name string for the recordsize option */
-#define RECORDSIZE_name (gnutls_cli_opt_strs+3929)
+#define RECORDSIZE_name (gnutls_cli_opt_strs+3979)
/** Compiled in flag settings for the recordsize option */
#define RECORDSIZE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@@ -920,11 +936,11 @@ static int const aListCantList[] = {
* disable-sni option description:
*/
/** Descriptive text for the disable-sni option */
-#define DISABLE_SNI_DESC (gnutls_cli_opt_strs+3940)
+#define DISABLE_SNI_DESC (gnutls_cli_opt_strs+3990)
/** Upper-cased name for the disable-sni option */
-#define DISABLE_SNI_NAME (gnutls_cli_opt_strs+3983)
+#define DISABLE_SNI_NAME (gnutls_cli_opt_strs+4033)
/** Name string for the disable-sni option */
-#define DISABLE_SNI_name (gnutls_cli_opt_strs+3995)
+#define DISABLE_SNI_name (gnutls_cli_opt_strs+4045)
/** Compiled in flag settings for the disable-sni option */
#define DISABLE_SNI_FLAGS (OPTST_DISABLED)
@@ -932,11 +948,11 @@ static int const aListCantList[] = {
* disable-extensions option description:
*/
/** Descriptive text for the disable-extensions option */
-#define DISABLE_EXTENSIONS_DESC (gnutls_cli_opt_strs+4007)
+#define DISABLE_EXTENSIONS_DESC (gnutls_cli_opt_strs+4057)
/** Upper-cased name for the disable-extensions option */
-#define DISABLE_EXTENSIONS_NAME (gnutls_cli_opt_strs+4051)
+#define DISABLE_EXTENSIONS_NAME (gnutls_cli_opt_strs+4101)
/** Name string for the disable-extensions option */
-#define DISABLE_EXTENSIONS_name (gnutls_cli_opt_strs+4070)
+#define DISABLE_EXTENSIONS_name (gnutls_cli_opt_strs+4120)
/** Compiled in flag settings for the disable-extensions option */
#define DISABLE_EXTENSIONS_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED)
@@ -944,11 +960,11 @@ static int const aListCantList[] = {
* single-key-share option description:
*/
/** Descriptive text for the single-key-share option */
-#define SINGLE_KEY_SHARE_DESC (gnutls_cli_opt_strs+4089)
+#define SINGLE_KEY_SHARE_DESC (gnutls_cli_opt_strs+4139)
/** Upper-cased name for the single-key-share option */
-#define SINGLE_KEY_SHARE_NAME (gnutls_cli_opt_strs+4126)
+#define SINGLE_KEY_SHARE_NAME (gnutls_cli_opt_strs+4176)
/** Name string for the single-key-share option */
-#define SINGLE_KEY_SHARE_name (gnutls_cli_opt_strs+4143)
+#define SINGLE_KEY_SHARE_name (gnutls_cli_opt_strs+4193)
/** Compiled in flag settings for the single-key-share option */
#define SINGLE_KEY_SHARE_FLAGS (OPTST_DISABLED)
@@ -956,11 +972,11 @@ static int const aListCantList[] = {
* post-handshake-auth option description:
*/
/** Descriptive text for the post-handshake-auth option */
-#define POST_HANDSHAKE_AUTH_DESC (gnutls_cli_opt_strs+4160)
+#define POST_HANDSHAKE_AUTH_DESC (gnutls_cli_opt_strs+4210)
/** Upper-cased name for the post-handshake-auth option */
-#define POST_HANDSHAKE_AUTH_NAME (gnutls_cli_opt_strs+4210)
+#define POST_HANDSHAKE_AUTH_NAME (gnutls_cli_opt_strs+4260)
/** Name string for the post-handshake-auth option */
-#define POST_HANDSHAKE_AUTH_name (gnutls_cli_opt_strs+4230)
+#define POST_HANDSHAKE_AUTH_name (gnutls_cli_opt_strs+4280)
/** Compiled in flag settings for the post-handshake-auth option */
#define POST_HANDSHAKE_AUTH_FLAGS (OPTST_DISABLED)
@@ -968,11 +984,11 @@ static int const aListCantList[] = {
* inline-commands option description:
*/
/** Descriptive text for the inline-commands option */
-#define INLINE_COMMANDS_DESC (gnutls_cli_opt_strs+4250)
+#define INLINE_COMMANDS_DESC (gnutls_cli_opt_strs+4300)
/** Upper-cased name for the inline-commands option */
-#define INLINE_COMMANDS_NAME (gnutls_cli_opt_strs+4286)
+#define INLINE_COMMANDS_NAME (gnutls_cli_opt_strs+4336)
/** Name string for the inline-commands option */
-#define INLINE_COMMANDS_name (gnutls_cli_opt_strs+4302)
+#define INLINE_COMMANDS_name (gnutls_cli_opt_strs+4352)
/** Compiled in flag settings for the inline-commands option */
#define INLINE_COMMANDS_FLAGS (OPTST_DISABLED)
@@ -980,11 +996,11 @@ static int const aListCantList[] = {
* inline-commands-prefix option description:
*/
/** Descriptive text for the inline-commands-prefix option */
-#define INLINE_COMMANDS_PREFIX_DESC (gnutls_cli_opt_strs+4318)
+#define INLINE_COMMANDS_PREFIX_DESC (gnutls_cli_opt_strs+4368)
/** Upper-cased name for the inline-commands-prefix option */
-#define INLINE_COMMANDS_PREFIX_NAME (gnutls_cli_opt_strs+4368)
+#define INLINE_COMMANDS_PREFIX_NAME (gnutls_cli_opt_strs+4418)
/** Name string for the inline-commands-prefix option */
-#define INLINE_COMMANDS_PREFIX_name (gnutls_cli_opt_strs+4391)
+#define INLINE_COMMANDS_PREFIX_name (gnutls_cli_opt_strs+4441)
/** Compiled in flag settings for the inline-commands-prefix option */
#define INLINE_COMMANDS_PREFIX_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@@ -993,11 +1009,11 @@ static int const aListCantList[] = {
* provider option description:
*/
/** Descriptive text for the provider option */
-#define PROVIDER_DESC (gnutls_cli_opt_strs+4414)
+#define PROVIDER_DESC (gnutls_cli_opt_strs+4464)
/** Upper-cased name for the provider option */
-#define PROVIDER_NAME (gnutls_cli_opt_strs+4452)
+#define PROVIDER_NAME (gnutls_cli_opt_strs+4502)
/** Name string for the provider option */
-#define PROVIDER_name (gnutls_cli_opt_strs+4461)
+#define PROVIDER_name (gnutls_cli_opt_strs+4511)
/** Compiled in flag settings for the provider option */
#define PROVIDER_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
@@ -1006,22 +1022,22 @@ static int const aListCantList[] = {
* fips140-mode option description:
*/
/** Descriptive text for the fips140-mode option */
-#define FIPS140_MODE_DESC (gnutls_cli_opt_strs+4470)
+#define FIPS140_MODE_DESC (gnutls_cli_opt_strs+4520)
/** Upper-cased name for the fips140-mode option */
-#define FIPS140_MODE_NAME (gnutls_cli_opt_strs+4529)
+#define FIPS140_MODE_NAME (gnutls_cli_opt_strs+4579)
/** Name string for the fips140-mode option */
-#define FIPS140_MODE_name (gnutls_cli_opt_strs+4542)
+#define FIPS140_MODE_name (gnutls_cli_opt_strs+4592)
/** Compiled in flag settings for the fips140-mode option */
#define FIPS140_MODE_FLAGS (OPTST_DISABLED)
/*
* Help/More_Help/Version option descriptions:
*/
-#define HELP_DESC (gnutls_cli_opt_strs+4555)
-#define HELP_name (gnutls_cli_opt_strs+4599)
+#define HELP_DESC (gnutls_cli_opt_strs+4605)
+#define HELP_name (gnutls_cli_opt_strs+4649)
#ifdef HAVE_WORKING_FORK
-#define MORE_HELP_DESC (gnutls_cli_opt_strs+4604)
-#define MORE_HELP_name (gnutls_cli_opt_strs+4649)
+#define MORE_HELP_DESC (gnutls_cli_opt_strs+4654)
+#define MORE_HELP_name (gnutls_cli_opt_strs+4699)
#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
#else
#define MORE_HELP_DESC HELP_DESC
@@ -1034,8 +1050,8 @@ static int const aListCantList[] = {
# define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
#endif
-#define VER_DESC (gnutls_cli_opt_strs+4659)
-#define VER_name (gnutls_cli_opt_strs+4695)
+#define VER_DESC (gnutls_cli_opt_strs+4709)
+#define VER_name (gnutls_cli_opt_strs+4745)
/**
* Declare option callback procedures
*/
@@ -1164,8 +1180,20 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ RESUME_DESC, RESUME_NAME, RESUME_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 9, VALUE_OPT_REHANDSHAKE,
- /* equiv idx, value */ 9, VALUE_OPT_REHANDSHAKE,
+ { /* entry idx, value */ 9, VALUE_OPT_EARLYDATA,
+ /* equiv idx, value */ 9, 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 */ 10, VALUE_OPT_REHANDSHAKE,
+ /* equiv idx, value */ 10, VALUE_OPT_REHANDSHAKE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ REHANDSHAKE_FLAGS, 0,
@@ -1176,8 +1204,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ REHANDSHAKE_DESC, REHANDSHAKE_NAME, REHANDSHAKE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 10, VALUE_OPT_SNI_HOSTNAME,
- /* equiv idx, value */ 10, VALUE_OPT_SNI_HOSTNAME,
+ { /* entry idx, value */ 11, VALUE_OPT_SNI_HOSTNAME,
+ /* equiv idx, value */ 11, VALUE_OPT_SNI_HOSTNAME,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SNI_HOSTNAME_FLAGS, 0,
@@ -1188,8 +1216,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SNI_HOSTNAME_DESC, SNI_HOSTNAME_NAME, SNI_HOSTNAME_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 11, VALUE_OPT_VERIFY_HOSTNAME,
- /* equiv idx, value */ 11, VALUE_OPT_VERIFY_HOSTNAME,
+ { /* entry idx, value */ 12, VALUE_OPT_VERIFY_HOSTNAME,
+ /* equiv idx, value */ 12, VALUE_OPT_VERIFY_HOSTNAME,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ VERIFY_HOSTNAME_FLAGS, 0,
@@ -1200,8 +1228,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ VERIFY_HOSTNAME_DESC, VERIFY_HOSTNAME_NAME, VERIFY_HOSTNAME_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 12, VALUE_OPT_STARTTLS,
- /* equiv idx, value */ 12, VALUE_OPT_STARTTLS,
+ { /* entry idx, value */ 13, VALUE_OPT_STARTTLS,
+ /* equiv idx, value */ 13, VALUE_OPT_STARTTLS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ STARTTLS_FLAGS, 0,
@@ -1212,8 +1240,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ STARTTLS_DESC, STARTTLS_NAME, STARTTLS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 13, VALUE_OPT_APP_PROTO,
- /* equiv idx, value */ 13, VALUE_OPT_APP_PROTO,
+ { /* entry idx, value */ 14, VALUE_OPT_APP_PROTO,
+ /* equiv idx, value */ 14, VALUE_OPT_APP_PROTO,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ APP_PROTO_FLAGS, 0,
@@ -1224,8 +1252,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ APP_PROTO_DESC, APP_PROTO_NAME, APP_PROTO_name,
/* disablement strs */ 0, 0 },
- { /* entry idx, value */ 14, VALUE_OPT_STARTTLS_PROTO,
- /* equiv idx, value */ 14, VALUE_OPT_STARTTLS_PROTO,
+ { /* entry idx, value */ 15, VALUE_OPT_STARTTLS_PROTO,
+ /* equiv idx, value */ 15, VALUE_OPT_STARTTLS_PROTO,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ STARTTLS_PROTO_FLAGS, 0,
@@ -1236,8 +1264,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ STARTTLS_PROTO_DESC, STARTTLS_PROTO_NAME, STARTTLS_PROTO_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 15, VALUE_OPT_UDP,
- /* equiv idx, value */ 15, VALUE_OPT_UDP,
+ { /* entry idx, value */ 16, VALUE_OPT_UDP,
+ /* equiv idx, value */ 16, VALUE_OPT_UDP,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ UDP_FLAGS, 0,
@@ -1248,8 +1276,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ UDP_DESC, UDP_NAME, UDP_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 16, VALUE_OPT_MTU,
- /* equiv idx, value */ 16, VALUE_OPT_MTU,
+ { /* entry idx, value */ 17, VALUE_OPT_MTU,
+ /* equiv idx, value */ 17, VALUE_OPT_MTU,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ MTU_FLAGS, 0,
@@ -1260,8 +1288,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ MTU_DESC, MTU_NAME, MTU_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 17, VALUE_OPT_CRLF,
- /* equiv idx, value */ 17, VALUE_OPT_CRLF,
+ { /* entry idx, value */ 18, VALUE_OPT_CRLF,
+ /* equiv idx, value */ 18, VALUE_OPT_CRLF,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ CRLF_FLAGS, 0,
@@ -1272,8 +1300,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ CRLF_DESC, CRLF_NAME, CRLF_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 18, VALUE_OPT_FASTOPEN,
- /* equiv idx, value */ 18, VALUE_OPT_FASTOPEN,
+ { /* entry idx, value */ 19, VALUE_OPT_FASTOPEN,
+ /* equiv idx, value */ 19, VALUE_OPT_FASTOPEN,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ FASTOPEN_FLAGS, 0,
@@ -1284,8 +1312,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ FASTOPEN_DESC, FASTOPEN_NAME, FASTOPEN_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,
@@ -1296,8 +1324,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_PRINT_CERT,
- /* equiv idx, value */ 20, VALUE_OPT_PRINT_CERT,
+ { /* entry idx, value */ 21, VALUE_OPT_PRINT_CERT,
+ /* equiv idx, value */ 21, VALUE_OPT_PRINT_CERT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PRINT_CERT_FLAGS, 0,
@@ -1308,8 +1336,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PRINT_CERT_DESC, PRINT_CERT_NAME, PRINT_CERT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 21, VALUE_OPT_SAVE_CERT,
- /* equiv idx, value */ 21, VALUE_OPT_SAVE_CERT,
+ { /* entry idx, value */ 22, VALUE_OPT_SAVE_CERT,
+ /* equiv idx, value */ 22, VALUE_OPT_SAVE_CERT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SAVE_CERT_FLAGS, 0,
@@ -1320,8 +1348,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SAVE_CERT_DESC, SAVE_CERT_NAME, SAVE_CERT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 22, VALUE_OPT_SAVE_OCSP,
- /* equiv idx, value */ 22, VALUE_OPT_SAVE_OCSP,
+ { /* entry idx, value */ 23, VALUE_OPT_SAVE_OCSP,
+ /* equiv idx, value */ 23, VALUE_OPT_SAVE_OCSP,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SAVE_OCSP_FLAGS, 0,
@@ -1332,8 +1360,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SAVE_OCSP_DESC, SAVE_OCSP_NAME, SAVE_OCSP_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 23, VALUE_OPT_SAVE_SERVER_TRACE,
- /* equiv idx, value */ 23, VALUE_OPT_SAVE_SERVER_TRACE,
+ { /* entry idx, value */ 24, VALUE_OPT_SAVE_SERVER_TRACE,
+ /* equiv idx, value */ 24, VALUE_OPT_SAVE_SERVER_TRACE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SAVE_SERVER_TRACE_FLAGS, 0,
@@ -1344,8 +1372,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SAVE_SERVER_TRACE_DESC, SAVE_SERVER_TRACE_NAME, SAVE_SERVER_TRACE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 24, VALUE_OPT_SAVE_CLIENT_TRACE,
- /* equiv idx, value */ 24, VALUE_OPT_SAVE_CLIENT_TRACE,
+ { /* entry idx, value */ 25, VALUE_OPT_SAVE_CLIENT_TRACE,
+ /* equiv idx, value */ 25, VALUE_OPT_SAVE_CLIENT_TRACE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SAVE_CLIENT_TRACE_FLAGS, 0,
@@ -1356,8 +1384,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SAVE_CLIENT_TRACE_DESC, SAVE_CLIENT_TRACE_NAME, SAVE_CLIENT_TRACE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 25, VALUE_OPT_DH_BITS,
- /* equiv idx, value */ 25, VALUE_OPT_DH_BITS,
+ { /* entry idx, value */ 26, VALUE_OPT_DH_BITS,
+ /* equiv idx, value */ 26, VALUE_OPT_DH_BITS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ DH_BITS_FLAGS, 0,
@@ -1368,8 +1396,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ DH_BITS_DESC, DH_BITS_NAME, DH_BITS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 26, VALUE_OPT_PRIORITY,
- /* equiv idx, value */ 26, VALUE_OPT_PRIORITY,
+ { /* entry idx, value */ 27, VALUE_OPT_PRIORITY,
+ /* equiv idx, value */ 27, VALUE_OPT_PRIORITY,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PRIORITY_FLAGS, 0,
@@ -1380,8 +1408,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PRIORITY_DESC, PRIORITY_NAME, PRIORITY_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 27, VALUE_OPT_X509CAFILE,
- /* equiv idx, value */ 27, VALUE_OPT_X509CAFILE,
+ { /* entry idx, value */ 28, VALUE_OPT_X509CAFILE,
+ /* equiv idx, value */ 28, VALUE_OPT_X509CAFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509CAFILE_FLAGS, 0,
@@ -1392,8 +1420,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CAFILE_DESC, X509CAFILE_NAME, X509CAFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 28, VALUE_OPT_X509CRLFILE,
- /* equiv idx, value */ 28, VALUE_OPT_X509CRLFILE,
+ { /* entry idx, value */ 29, VALUE_OPT_X509CRLFILE,
+ /* equiv idx, value */ 29, VALUE_OPT_X509CRLFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509CRLFILE_FLAGS, 0,
@@ -1404,8 +1432,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CRLFILE_DESC, X509CRLFILE_NAME, X509CRLFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 29, VALUE_OPT_X509KEYFILE,
- /* equiv idx, value */ 29, VALUE_OPT_X509KEYFILE,
+ { /* entry idx, value */ 30, VALUE_OPT_X509KEYFILE,
+ /* equiv idx, value */ 30, VALUE_OPT_X509KEYFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509KEYFILE_FLAGS, 0,
@@ -1416,8 +1444,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509KEYFILE_DESC, X509KEYFILE_NAME, X509KEYFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 30, VALUE_OPT_X509CERTFILE,
- /* equiv idx, value */ 30, VALUE_OPT_X509CERTFILE,
+ { /* entry idx, value */ 31, VALUE_OPT_X509CERTFILE,
+ /* equiv idx, value */ 31, VALUE_OPT_X509CERTFILE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ X509CERTFILE_FLAGS, 0,
@@ -1428,8 +1456,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ X509CERTFILE_DESC, X509CERTFILE_NAME, X509CERTFILE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 31, VALUE_OPT_SRPUSERNAME,
- /* equiv idx, value */ 31, VALUE_OPT_SRPUSERNAME,
+ { /* entry idx, value */ 32, VALUE_OPT_SRPUSERNAME,
+ /* equiv idx, value */ 32, VALUE_OPT_SRPUSERNAME,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRPUSERNAME_FLAGS, 0,
@@ -1440,8 +1468,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SRPUSERNAME_DESC, SRPUSERNAME_NAME, SRPUSERNAME_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 32, VALUE_OPT_SRPPASSWD,
- /* equiv idx, value */ 32, VALUE_OPT_SRPPASSWD,
+ { /* entry idx, value */ 33, VALUE_OPT_SRPPASSWD,
+ /* equiv idx, value */ 33, VALUE_OPT_SRPPASSWD,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRPPASSWD_FLAGS, 0,
@@ -1452,8 +1480,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SRPPASSWD_DESC, SRPPASSWD_NAME, SRPPASSWD_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 33, VALUE_OPT_PSKUSERNAME,
- /* equiv idx, value */ 33, VALUE_OPT_PSKUSERNAME,
+ { /* entry idx, value */ 34, VALUE_OPT_PSKUSERNAME,
+ /* equiv idx, value */ 34, VALUE_OPT_PSKUSERNAME,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PSKUSERNAME_FLAGS, 0,
@@ -1464,8 +1492,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PSKUSERNAME_DESC, PSKUSERNAME_NAME, PSKUSERNAME_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 34, VALUE_OPT_PSKKEY,
- /* equiv idx, value */ 34, VALUE_OPT_PSKKEY,
+ { /* entry idx, value */ 35, VALUE_OPT_PSKKEY,
+ /* equiv idx, value */ 35, VALUE_OPT_PSKKEY,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PSKKEY_FLAGS, 0,
@@ -1476,8 +1504,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PSKKEY_DESC, PSKKEY_NAME, PSKKEY_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 35, VALUE_OPT_PORT,
- /* equiv idx, value */ 35, VALUE_OPT_PORT,
+ { /* entry idx, value */ 36, VALUE_OPT_PORT,
+ /* equiv idx, value */ 36, VALUE_OPT_PORT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PORT_FLAGS, 0,
@@ -1488,8 +1516,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PORT_DESC, PORT_NAME, PORT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 36, VALUE_OPT_INSECURE,
- /* equiv idx, value */ 36, VALUE_OPT_INSECURE,
+ { /* entry idx, value */ 37, VALUE_OPT_INSECURE,
+ /* equiv idx, value */ 37, VALUE_OPT_INSECURE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ INSECURE_FLAGS, 0,
@@ -1500,8 +1528,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ INSECURE_DESC, INSECURE_NAME, INSECURE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 37, VALUE_OPT_VERIFY_ALLOW_BROKEN,
- /* equiv idx, value */ 37, VALUE_OPT_VERIFY_ALLOW_BROKEN,
+ { /* entry idx, value */ 38, VALUE_OPT_VERIFY_ALLOW_BROKEN,
+ /* equiv idx, value */ 38, VALUE_OPT_VERIFY_ALLOW_BROKEN,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ VERIFY_ALLOW_BROKEN_FLAGS, 0,
@@ -1512,8 +1540,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ VERIFY_ALLOW_BROKEN_DESC, VERIFY_ALLOW_BROKEN_NAME, VERIFY_ALLOW_BROKEN_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 38, VALUE_OPT_RANGES,
- /* equiv idx, value */ 38, VALUE_OPT_RANGES,
+ { /* entry idx, value */ 39, VALUE_OPT_RANGES,
+ /* equiv idx, value */ 39, VALUE_OPT_RANGES,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ RANGES_FLAGS, 0,
@@ -1524,8 +1552,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ RANGES_DESC, RANGES_NAME, RANGES_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 39, VALUE_OPT_BENCHMARK_CIPHERS,
- /* equiv idx, value */ 39, VALUE_OPT_BENCHMARK_CIPHERS,
+ { /* entry idx, value */ 40, VALUE_OPT_BENCHMARK_CIPHERS,
+ /* equiv idx, value */ 40, VALUE_OPT_BENCHMARK_CIPHERS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ BENCHMARK_CIPHERS_FLAGS, 0,
@@ -1536,8 +1564,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ BENCHMARK_CIPHERS_DESC, BENCHMARK_CIPHERS_NAME, BENCHMARK_CIPHERS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 40, VALUE_OPT_BENCHMARK_TLS_KX,
- /* equiv idx, value */ 40, VALUE_OPT_BENCHMARK_TLS_KX,
+ { /* entry idx, value */ 41, VALUE_OPT_BENCHMARK_TLS_KX,
+ /* equiv idx, value */ 41, VALUE_OPT_BENCHMARK_TLS_KX,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ BENCHMARK_TLS_KX_FLAGS, 0,
@@ -1548,8 +1576,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ BENCHMARK_TLS_KX_DESC, BENCHMARK_TLS_KX_NAME, BENCHMARK_TLS_KX_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 41, VALUE_OPT_BENCHMARK_TLS_CIPHERS,
- /* equiv idx, value */ 41, VALUE_OPT_BENCHMARK_TLS_CIPHERS,
+ { /* entry idx, value */ 42, VALUE_OPT_BENCHMARK_TLS_CIPHERS,
+ /* equiv idx, value */ 42, VALUE_OPT_BENCHMARK_TLS_CIPHERS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ BENCHMARK_TLS_CIPHERS_FLAGS, 0,
@@ -1560,8 +1588,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ BENCHMARK_TLS_CIPHERS_DESC, BENCHMARK_TLS_CIPHERS_NAME, BENCHMARK_TLS_CIPHERS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 42, VALUE_OPT_LIST,
- /* equiv idx, value */ 42, VALUE_OPT_LIST,
+ { /* entry idx, value */ 43, VALUE_OPT_LIST,
+ /* equiv idx, value */ 43, VALUE_OPT_LIST,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ LIST_FLAGS, 0,
@@ -1572,8 +1600,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ LIST_DESC, LIST_NAME, LIST_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 43, VALUE_OPT_PRIORITY_LIST,
- /* equiv idx, value */ 43, VALUE_OPT_PRIORITY_LIST,
+ { /* entry idx, value */ 44, VALUE_OPT_PRIORITY_LIST,
+ /* equiv idx, value */ 44, VALUE_OPT_PRIORITY_LIST,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PRIORITY_LIST_FLAGS, 0,
@@ -1584,8 +1612,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PRIORITY_LIST_DESC, PRIORITY_LIST_NAME, PRIORITY_LIST_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 44, VALUE_OPT_NOTICKET,
- /* equiv idx, value */ 44, VALUE_OPT_NOTICKET,
+ { /* entry idx, value */ 45, VALUE_OPT_NOTICKET,
+ /* equiv idx, value */ 45, VALUE_OPT_NOTICKET,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ NOTICKET_FLAGS, 0,
@@ -1596,8 +1624,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ NOTICKET_DESC, NOTICKET_NAME, NOTICKET_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 45, VALUE_OPT_SRTP_PROFILES,
- /* equiv idx, value */ 45, VALUE_OPT_SRTP_PROFILES,
+ { /* entry idx, value */ 46, VALUE_OPT_SRTP_PROFILES,
+ /* equiv idx, value */ 46, VALUE_OPT_SRTP_PROFILES,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SRTP_PROFILES_FLAGS, 0,
@@ -1608,8 +1636,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 */ 46, VALUE_OPT_ALPN,
- /* equiv idx, value */ 46, VALUE_OPT_ALPN,
+ { /* entry idx, value */ 47, VALUE_OPT_ALPN,
+ /* equiv idx, value */ 47, VALUE_OPT_ALPN,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, NOLIMIT, 0,
/* opt state flags */ ALPN_FLAGS, 0,
@@ -1620,8 +1648,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ ALPN_DESC, ALPN_NAME, ALPN_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 47, VALUE_OPT_HEARTBEAT,
- /* equiv idx, value */ 47, VALUE_OPT_HEARTBEAT,
+ { /* entry idx, value */ 48, VALUE_OPT_HEARTBEAT,
+ /* equiv idx, value */ 48, VALUE_OPT_HEARTBEAT,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ HEARTBEAT_FLAGS, 0,
@@ -1632,8 +1660,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ HEARTBEAT_DESC, HEARTBEAT_NAME, HEARTBEAT_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 48, VALUE_OPT_RECORDSIZE,
- /* equiv idx, value */ 48, VALUE_OPT_RECORDSIZE,
+ { /* entry idx, value */ 49, VALUE_OPT_RECORDSIZE,
+ /* equiv idx, value */ 49, VALUE_OPT_RECORDSIZE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ RECORDSIZE_FLAGS, 0,
@@ -1644,8 +1672,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ RECORDSIZE_DESC, RECORDSIZE_NAME, RECORDSIZE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 49, VALUE_OPT_DISABLE_SNI,
- /* equiv idx, value */ 49, VALUE_OPT_DISABLE_SNI,
+ { /* entry idx, value */ 50, VALUE_OPT_DISABLE_SNI,
+ /* equiv idx, value */ 50, VALUE_OPT_DISABLE_SNI,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ DISABLE_SNI_FLAGS, 0,
@@ -1656,8 +1684,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ DISABLE_SNI_DESC, DISABLE_SNI_NAME, DISABLE_SNI_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 50, VALUE_OPT_DISABLE_EXTENSIONS,
- /* equiv idx, value */ 50, VALUE_OPT_DISABLE_EXTENSIONS,
+ { /* entry idx, value */ 51, VALUE_OPT_DISABLE_EXTENSIONS,
+ /* equiv idx, value */ 51, VALUE_OPT_DISABLE_EXTENSIONS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ DISABLE_EXTENSIONS_FLAGS, 0,
@@ -1668,8 +1696,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ DISABLE_EXTENSIONS_DESC, DISABLE_EXTENSIONS_NAME, DISABLE_EXTENSIONS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 51, VALUE_OPT_SINGLE_KEY_SHARE,
- /* equiv idx, value */ 51, VALUE_OPT_SINGLE_KEY_SHARE,
+ { /* entry idx, value */ 52, VALUE_OPT_SINGLE_KEY_SHARE,
+ /* equiv idx, value */ 52, VALUE_OPT_SINGLE_KEY_SHARE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ SINGLE_KEY_SHARE_FLAGS, 0,
@@ -1680,8 +1708,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ SINGLE_KEY_SHARE_DESC, SINGLE_KEY_SHARE_NAME, SINGLE_KEY_SHARE_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 52, VALUE_OPT_POST_HANDSHAKE_AUTH,
- /* equiv idx, value */ 52, VALUE_OPT_POST_HANDSHAKE_AUTH,
+ { /* entry idx, value */ 53, VALUE_OPT_POST_HANDSHAKE_AUTH,
+ /* equiv idx, value */ 53, VALUE_OPT_POST_HANDSHAKE_AUTH,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ POST_HANDSHAKE_AUTH_FLAGS, 0,
@@ -1692,8 +1720,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ POST_HANDSHAKE_AUTH_DESC, POST_HANDSHAKE_AUTH_NAME, POST_HANDSHAKE_AUTH_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 53, VALUE_OPT_INLINE_COMMANDS,
- /* equiv idx, value */ 53, VALUE_OPT_INLINE_COMMANDS,
+ { /* entry idx, value */ 54, VALUE_OPT_INLINE_COMMANDS,
+ /* equiv idx, value */ 54, VALUE_OPT_INLINE_COMMANDS,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ INLINE_COMMANDS_FLAGS, 0,
@@ -1704,8 +1732,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ INLINE_COMMANDS_DESC, INLINE_COMMANDS_NAME, INLINE_COMMANDS_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 54, VALUE_OPT_INLINE_COMMANDS_PREFIX,
- /* equiv idx, value */ 54, VALUE_OPT_INLINE_COMMANDS_PREFIX,
+ { /* entry idx, value */ 55, VALUE_OPT_INLINE_COMMANDS_PREFIX,
+ /* equiv idx, value */ 55, VALUE_OPT_INLINE_COMMANDS_PREFIX,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ INLINE_COMMANDS_PREFIX_FLAGS, 0,
@@ -1716,8 +1744,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ INLINE_COMMANDS_PREFIX_DESC, INLINE_COMMANDS_PREFIX_NAME, INLINE_COMMANDS_PREFIX_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 55, VALUE_OPT_PROVIDER,
- /* equiv idx, value */ 55, VALUE_OPT_PROVIDER,
+ { /* entry idx, value */ 56, VALUE_OPT_PROVIDER,
+ /* equiv idx, value */ 56, VALUE_OPT_PROVIDER,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ PROVIDER_FLAGS, 0,
@@ -1728,8 +1756,8 @@ static tOptDesc optDesc[OPTION_CT] = {
/* desc, NAME, name */ PROVIDER_DESC, PROVIDER_NAME, PROVIDER_name,
/* disablement strs */ NULL, NULL },
- { /* entry idx, value */ 56, VALUE_OPT_FIPS140_MODE,
- /* equiv idx, value */ 56, VALUE_OPT_FIPS140_MODE,
+ { /* entry idx, value */ 57, VALUE_OPT_FIPS140_MODE,
+ /* equiv idx, value */ 57, VALUE_OPT_FIPS140_MODE,
/* equivalenced to */ NO_EQUIVALENT,
/* min, max, act ct */ 0, 1, 0,
/* opt state flags */ FIPS140_MODE_FLAGS, 0,
@@ -1782,21 +1810,21 @@ static tOptDesc optDesc[OPTION_CT] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/** Reference to the upper cased version of gnutls-cli. */
-#define zPROGNAME (gnutls_cli_opt_strs+4703)
+#define zPROGNAME (gnutls_cli_opt_strs+4753)
/** Reference to the title line for gnutls-cli usage. */
-#define zUsageTitle (gnutls_cli_opt_strs+4714)
+#define zUsageTitle (gnutls_cli_opt_strs+4764)
/** There is no gnutls-cli configuration file. */
#define zRcName NULL
/** There are no directories to search for gnutls-cli config files. */
#define apzHomeList NULL
/** The gnutls-cli program bug email address. */
-#define zBugsAddr (gnutls_cli_opt_strs+4810)
+#define zBugsAddr (gnutls_cli_opt_strs+4860)
/** Clarification/explanation of what gnutls-cli does. */
-#define zExplain (gnutls_cli_opt_strs+4830)
+#define zExplain (gnutls_cli_opt_strs+4880)
/** Extra detail explaining what gnutls-cli does. */
-#define zDetail (gnutls_cli_opt_strs+4832)
+#define zDetail (gnutls_cli_opt_strs+4882)
/** The full version string for gnutls-cli. */
-#define zFullVersion (gnutls_cli_opt_strs+5015)
+#define zFullVersion (gnutls_cli_opt_strs+5065)
/* extracted from optcode.tlib near line 364 */
#if defined(ENABLE_NLS)
@@ -1808,7 +1836,7 @@ static tOptDesc optDesc[OPTION_CT] = {
#endif /* ENABLE_NLS */
#define gnutls_cli_full_usage (NULL)
-#define gnutls_cli_short_usage (gnutls_cli_opt_strs+5036)
+#define gnutls_cli_short_usage (gnutls_cli_opt_strs+5086)
#endif /* not defined __doxygen__ */
@@ -2067,7 +2095,7 @@ tOptions gnutls_cliOptions = {
NO_EQUIVALENT, /* '-#' option index */
NO_EQUIVALENT /* index of default opt */
},
- 60 /* full option count */, 57 /* user option count */,
+ 61 /* full option count */, 58 /* user option count */,
gnutls_cli_full_usage, gnutls_cli_short_usage,
NULL, NULL,
PKGDATADIR, gnutls_cli_packager_info
@@ -2249,6 +2277,9 @@ changed"));
puts(_("Establish a session and resume"));
/* referenced via gnutls_cliOptions.pOptDesc->pzText */
+ puts(_("Send early data on resumption"));
+
+ /* referenced via gnutls_cliOptions.pOptDesc->pzText */
puts(_("Establish a session and rehandshake"));
/* referenced via gnutls_cliOptions.pOptDesc->pzText */
diff --git a/src/cli-args.def b/src/cli-args.def
index ee3eb86c79..1e06e12d3a 100644
--- a/src/cli-args.def
+++ b/src/cli-args.def
@@ -75,6 +75,13 @@ flag = {
};
flag = {
+ name = earlydata;
+ arg-type = string;
+ descrip = "Send early data on resumption from the specified file";
+ doc = "";
+};
+
+flag = {
name = rehandshake;
value = e;
descrip = "Establish a session and rehandshake";
diff --git a/src/cli-args.h.bak b/src/cli-args.h.bak
index 549e687c6f..c26cbb73d2 100644
--- a/src/cli-args.h.bak
+++ b/src/cli-args.h.bak
@@ -75,60 +75,61 @@ typedef enum {
INDEX_OPT_CA_VERIFICATION = 6,
INDEX_OPT_OCSP = 7,
INDEX_OPT_RESUME = 8,
- INDEX_OPT_REHANDSHAKE = 9,
- INDEX_OPT_SNI_HOSTNAME = 10,
- INDEX_OPT_VERIFY_HOSTNAME = 11,
- INDEX_OPT_STARTTLS = 12,
- INDEX_OPT_APP_PROTO = 13,
- INDEX_OPT_STARTTLS_PROTO = 14,
- INDEX_OPT_UDP = 15,
- INDEX_OPT_MTU = 16,
- INDEX_OPT_CRLF = 17,
- INDEX_OPT_FASTOPEN = 18,
- INDEX_OPT_X509FMTDER = 19,
- INDEX_OPT_PRINT_CERT = 20,
- INDEX_OPT_SAVE_CERT = 21,
- INDEX_OPT_SAVE_OCSP = 22,
- INDEX_OPT_SAVE_SERVER_TRACE = 23,
- INDEX_OPT_SAVE_CLIENT_TRACE = 24,
- INDEX_OPT_DH_BITS = 25,
- INDEX_OPT_PRIORITY = 26,
- INDEX_OPT_X509CAFILE = 27,
- INDEX_OPT_X509CRLFILE = 28,
- INDEX_OPT_X509KEYFILE = 29,
- INDEX_OPT_X509CERTFILE = 30,
- INDEX_OPT_SRPUSERNAME = 31,
- INDEX_OPT_SRPPASSWD = 32,
- INDEX_OPT_PSKUSERNAME = 33,
- INDEX_OPT_PSKKEY = 34,
- INDEX_OPT_PORT = 35,
- INDEX_OPT_INSECURE = 36,
- INDEX_OPT_VERIFY_ALLOW_BROKEN = 37,
- INDEX_OPT_RANGES = 38,
- INDEX_OPT_BENCHMARK_CIPHERS = 39,
- INDEX_OPT_BENCHMARK_TLS_KX = 40,
- INDEX_OPT_BENCHMARK_TLS_CIPHERS = 41,
- INDEX_OPT_LIST = 42,
- INDEX_OPT_PRIORITY_LIST = 43,
- INDEX_OPT_NOTICKET = 44,
- INDEX_OPT_SRTP_PROFILES = 45,
- INDEX_OPT_ALPN = 46,
- INDEX_OPT_HEARTBEAT = 47,
- INDEX_OPT_RECORDSIZE = 48,
- INDEX_OPT_DISABLE_SNI = 49,
- INDEX_OPT_DISABLE_EXTENSIONS = 50,
- INDEX_OPT_SINGLE_KEY_SHARE = 51,
- INDEX_OPT_POST_HANDSHAKE_AUTH = 52,
- INDEX_OPT_INLINE_COMMANDS = 53,
- INDEX_OPT_INLINE_COMMANDS_PREFIX = 54,
- INDEX_OPT_PROVIDER = 55,
- INDEX_OPT_FIPS140_MODE = 56,
- INDEX_OPT_VERSION = 57,
- INDEX_OPT_HELP = 58,
- INDEX_OPT_MORE_HELP = 59
+ INDEX_OPT_EARLYDATA = 9,
+ INDEX_OPT_REHANDSHAKE = 10,
+ INDEX_OPT_SNI_HOSTNAME = 11,
+ INDEX_OPT_VERIFY_HOSTNAME = 12,
+ INDEX_OPT_STARTTLS = 13,
+ INDEX_OPT_APP_PROTO = 14,
+ INDEX_OPT_STARTTLS_PROTO = 15,
+ INDEX_OPT_UDP = 16,
+ INDEX_OPT_MTU = 17,
+ INDEX_OPT_CRLF = 18,
+ INDEX_OPT_FASTOPEN = 19,
+ INDEX_OPT_X509FMTDER = 20,
+ INDEX_OPT_PRINT_CERT = 21,
+ INDEX_OPT_SAVE_CERT = 22,
+ INDEX_OPT_SAVE_OCSP = 23,
+ INDEX_OPT_SAVE_SERVER_TRACE = 24,
+ INDEX_OPT_SAVE_CLIENT_TRACE = 25,
+ INDEX_OPT_DH_BITS = 26,
+ INDEX_OPT_PRIORITY = 27,
+ INDEX_OPT_X509CAFILE = 28,
+ INDEX_OPT_X509CRLFILE = 29,
+ INDEX_OPT_X509KEYFILE = 30,
+ INDEX_OPT_X509CERTFILE = 31,
+ INDEX_OPT_SRPUSERNAME = 32,
+ INDEX_OPT_SRPPASSWD = 33,
+ INDEX_OPT_PSKUSERNAME = 34,
+ INDEX_OPT_PSKKEY = 35,
+ INDEX_OPT_PORT = 36,
+ INDEX_OPT_INSECURE = 37,
+ INDEX_OPT_VERIFY_ALLOW_BROKEN = 38,
+ INDEX_OPT_RANGES = 39,
+ INDEX_OPT_BENCHMARK_CIPHERS = 40,
+ INDEX_OPT_BENCHMARK_TLS_KX = 41,
+ INDEX_OPT_BENCHMARK_TLS_CIPHERS = 42,
+ INDEX_OPT_LIST = 43,
+ INDEX_OPT_PRIORITY_LIST = 44,
+ INDEX_OPT_NOTICKET = 45,
+ INDEX_OPT_SRTP_PROFILES = 46,
+ INDEX_OPT_ALPN = 47,
+ INDEX_OPT_HEARTBEAT = 48,
+ INDEX_OPT_RECORDSIZE = 49,
+ INDEX_OPT_DISABLE_SNI = 50,
+ INDEX_OPT_DISABLE_EXTENSIONS = 51,
+ INDEX_OPT_SINGLE_KEY_SHARE = 52,
+ INDEX_OPT_POST_HANDSHAKE_AUTH = 53,
+ INDEX_OPT_INLINE_COMMANDS = 54,
+ INDEX_OPT_INLINE_COMMANDS_PREFIX = 55,
+ INDEX_OPT_PROVIDER = 56,
+ INDEX_OPT_FIPS140_MODE = 57,
+ INDEX_OPT_VERSION = 58,
+ INDEX_OPT_HELP = 59,
+ INDEX_OPT_MORE_HELP = 60
} teOptIndex;
/** count of all options for gnutls-cli */
-#define OPTION_CT 60
+#define OPTION_CT 61
/** gnutls-cli version */
#define GNUTLS_CLI_VERSION "@VERSION@"
/** Full gnutls-cli version text */
@@ -194,60 +195,61 @@ typedef enum {
#define VALUE_OPT_CA_VERIFICATION 0x1005
#define VALUE_OPT_OCSP 0x1006
#define VALUE_OPT_RESUME 'r'
+#define VALUE_OPT_EARLYDATA 0x1007
#define VALUE_OPT_REHANDSHAKE 'e'
-#define VALUE_OPT_SNI_HOSTNAME 0x1007
-#define VALUE_OPT_VERIFY_HOSTNAME 0x1008
+#define VALUE_OPT_SNI_HOSTNAME 0x1008
+#define VALUE_OPT_VERIFY_HOSTNAME 0x1009
#define VALUE_OPT_STARTTLS 's'
-#define VALUE_OPT_APP_PROTO 0x1009
-#define VALUE_OPT_STARTTLS_PROTO 0x100A
+#define VALUE_OPT_APP_PROTO 0x100A
+#define VALUE_OPT_STARTTLS_PROTO 0x100B
#define VALUE_OPT_UDP 'u'
-#define VALUE_OPT_MTU 0x100B
+#define VALUE_OPT_MTU 0x100C
#define OPT_VALUE_MTU (DESC(MTU).optArg.argInt)
-#define VALUE_OPT_CRLF 0x100C
-#define VALUE_OPT_FASTOPEN 0x100D
-#define VALUE_OPT_X509FMTDER 0x100E
-#define VALUE_OPT_PRINT_CERT 0x100F
-#define VALUE_OPT_SAVE_CERT 0x1010
-#define VALUE_OPT_SAVE_OCSP 0x1011
-#define VALUE_OPT_SAVE_SERVER_TRACE 0x1012
-#define VALUE_OPT_SAVE_CLIENT_TRACE 0x1013
-#define VALUE_OPT_DH_BITS 0x1014
+#define VALUE_OPT_CRLF 0x100D
+#define VALUE_OPT_FASTOPEN 0x100E
+#define VALUE_OPT_X509FMTDER 0x100F
+#define VALUE_OPT_PRINT_CERT 0x1010
+#define VALUE_OPT_SAVE_CERT 0x1011
+#define VALUE_OPT_SAVE_OCSP 0x1012
+#define VALUE_OPT_SAVE_SERVER_TRACE 0x1013
+#define VALUE_OPT_SAVE_CLIENT_TRACE 0x1014
+#define VALUE_OPT_DH_BITS 0x1015
#define OPT_VALUE_DH_BITS (DESC(DH_BITS).optArg.argInt)
-#define VALUE_OPT_PRIORITY 0x1015
-#define VALUE_OPT_X509CAFILE 0x1016
-#define VALUE_OPT_X509CRLFILE 0x1017
-#define VALUE_OPT_X509KEYFILE 0x1018
-#define VALUE_OPT_X509CERTFILE 0x1019
-#define VALUE_OPT_SRPUSERNAME 0x101A
-#define VALUE_OPT_SRPPASSWD 0x101B
-#define VALUE_OPT_PSKUSERNAME 0x101C
-#define VALUE_OPT_PSKKEY 0x101D
+#define VALUE_OPT_PRIORITY 0x1016
+#define VALUE_OPT_X509CAFILE 0x1017
+#define VALUE_OPT_X509CRLFILE 0x1018
+#define VALUE_OPT_X509KEYFILE 0x1019
+#define VALUE_OPT_X509CERTFILE 0x101A
+#define VALUE_OPT_SRPUSERNAME 0x101B
+#define VALUE_OPT_SRPPASSWD 0x101C
+#define VALUE_OPT_PSKUSERNAME 0x101D
+#define VALUE_OPT_PSKKEY 0x101E
#define VALUE_OPT_PORT 'p'
-#define VALUE_OPT_INSECURE 0x101E
-#define VALUE_OPT_VERIFY_ALLOW_BROKEN 0x101F
-#define VALUE_OPT_RANGES 0x1020
-#define VALUE_OPT_BENCHMARK_CIPHERS 0x1021
-#define VALUE_OPT_BENCHMARK_TLS_KX 0x1022
-#define VALUE_OPT_BENCHMARK_TLS_CIPHERS 0x1023
+#define VALUE_OPT_INSECURE 0x101F
+#define VALUE_OPT_VERIFY_ALLOW_BROKEN 0x1020
+#define VALUE_OPT_RANGES 0x1021
+#define VALUE_OPT_BENCHMARK_CIPHERS 0x1022
+#define VALUE_OPT_BENCHMARK_TLS_KX 0x1023
+#define VALUE_OPT_BENCHMARK_TLS_CIPHERS 0x1024
#define VALUE_OPT_LIST 'l'
-#define VALUE_OPT_PRIORITY_LIST 0x1024
-#define VALUE_OPT_NOTICKET 0x1025
-#define VALUE_OPT_SRTP_PROFILES 0x1026
-#define VALUE_OPT_ALPN 0x1027
+#define VALUE_OPT_PRIORITY_LIST 0x1025
+#define VALUE_OPT_NOTICKET 0x1026
+#define VALUE_OPT_SRTP_PROFILES 0x1027
+#define VALUE_OPT_ALPN 0x1028
#define VALUE_OPT_HEARTBEAT 'b'
-#define VALUE_OPT_RECORDSIZE 0x1028
+#define VALUE_OPT_RECORDSIZE 0x1029
#define OPT_VALUE_RECORDSIZE (DESC(RECORDSIZE).optArg.argInt)
-#define VALUE_OPT_DISABLE_SNI 0x1029
-#define VALUE_OPT_DISABLE_EXTENSIONS 0x102A
-#define VALUE_OPT_SINGLE_KEY_SHARE 0x102B
-#define VALUE_OPT_POST_HANDSHAKE_AUTH 0x102C
-#define VALUE_OPT_INLINE_COMMANDS 0x102D
-#define VALUE_OPT_INLINE_COMMANDS_PREFIX 0x102E
-#define VALUE_OPT_PROVIDER 0x102F
-#define VALUE_OPT_FIPS140_MODE 0x1030
+#define VALUE_OPT_DISABLE_SNI 0x102A
+#define VALUE_OPT_DISABLE_EXTENSIONS 0x102B
+#define VALUE_OPT_SINGLE_KEY_SHARE 0x102C
+#define VALUE_OPT_POST_HANDSHAKE_AUTH 0x102D
+#define VALUE_OPT_INLINE_COMMANDS 0x102E
+#define VALUE_OPT_INLINE_COMMANDS_PREFIX 0x102F
+#define VALUE_OPT_PROVIDER 0x1030
+#define VALUE_OPT_FIPS140_MODE 0x1031
/** option flag (value) for help-value option */
#define VALUE_OPT_HELP 'h'
/** option flag (value) for more-help-value option */
diff --git a/src/cli.c b/src/cli.c
index 5f82e1486f..fa198e42b7 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -838,6 +838,7 @@ static int try_resume(socket_st * hd)
{
int ret, socket_flags = SOCKET_FLAG_DONT_PRINT_ERRORS;
gnutls_datum_t rdata = {NULL, 0};
+ gnutls_datum_t edata = {NULL, 0};
if (gnutls_session_is_resumed(hd->session) == 0) {
/* not resumed - obtain the session data */
@@ -867,8 +868,22 @@ static int try_resume(socket_st * hd)
if (udp)
socket_flags |= SOCKET_FLAG_UDP;
- socket_open(hd, hostname, service, OPT_ARG(STARTTLS_PROTO),
- socket_flags, CONNECT_MSG, &rdata);
+ if (HAVE_OPT(EARLYDATA)) {
+ FILE *fp;
+ size_t size;
+
+ fp = fopen(OPT_ARG(EARLYDATA), "r");
+ if (fp == NULL) {
+ fprintf(stderr, "could not open %s\n", OPT_ARG(EARLYDATA));
+ exit(1);
+ }
+ edata.data = (void *) fread_file(fp, &size);
+ edata.size = size;
+ fclose(fp);
+ }
+
+ socket_open3(hd, hostname, service, OPT_ARG(STARTTLS_PROTO),
+ socket_flags, CONNECT_MSG, &rdata, &edata);
printf("- Resume Handshake was completed\n");
if (gnutls_session_is_resumed(hd->session) != 0)
@@ -1154,7 +1169,7 @@ int main(int argc, char **argv)
}
socket_open2(&hd, hostname, service, OPT_ARG(STARTTLS_PROTO),
- socket_flags, CONNECT_MSG, NULL,
+ socket_flags, CONNECT_MSG, NULL, NULL,
server_fp, client_fp);
hd.verbose = verbose;
diff --git a/src/socket.c b/src/socket.c
index f488c531e5..be60f9458c 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -456,7 +456,7 @@ inline static int wrap_pull_timeout_func(gnutls_transport_ptr_t ptr,
void
socket_open2(socket_st * hd, const char *hostname, const char *service,
- const char *app_proto, int flags, const char *msg, gnutls_datum_t *rdata,
+ const char *app_proto, int flags, const char *msg, gnutls_datum_t *rdata, gnutls_datum_t *edata,
FILE *server_trace, FILE *client_trace)
{
struct addrinfo hints, *res, *ptr;
@@ -479,6 +479,11 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
hd->rdata.size = rdata->size;
}
+ if (edata) {
+ hd->edata.data = edata->data;
+ hd->edata.size = edata->size;
+ }
+
ret = gnutls_idna_map(hostname, strlen(hostname), &idna, 0);
if (ret < 0) {
fprintf(stderr, "Cannot convert %s to IDNA: %s\n", hostname, gnutls_strerror(ret));
@@ -564,6 +569,13 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
}
if (hd->session) {
+ if (hd->edata.data) {
+ ret = gnutls_record_send_early_data(hd->session, hd->edata.data, hd->edata.size);
+ if (ret < 0) {
+ fprintf(stderr, "error sending early data\n");
+ exit(1);
+ }
+ }
if (hd->rdata.data) {
gnutls_session_set_data(hd->session, hd->rdata.data, hd->rdata.size);
}
@@ -621,6 +633,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
hd->addr_info = res;
gnutls_free(hd->rdata.data);
hd->rdata.data = NULL;
+ gnutls_free(hd->edata.data);
+ hd->edata.data = NULL;
gnutls_free(idna.data);
return;
}
diff --git a/src/socket.h b/src/socket.h
index b66e5c512d..ce64f0bb66 100644
--- a/src/socket.h
+++ b/src/socket.h
@@ -31,6 +31,8 @@ typedef struct {
/* resumption data */
gnutls_datum_t rdata;
+ /* early data */
+ gnutls_datum_t edata;
} socket_st;
/* calling program must provide that */
@@ -47,11 +49,14 @@ ssize_t socket_send_range(const socket_st * socket, const void *buffer,
int buffer_size, gnutls_range_st * range);
void
socket_open2(socket_st * hd, const char *hostname, const char *service,
- const char *app_proto, int flags, const char *msg, gnutls_datum_t *rdata,
+ const char *app_proto, int flags, const char *msg, gnutls_datum_t *rdata, gnutls_datum_t *edata,
FILE *server_trace, FILE *client_trace);
#define socket_open(hd, host, service, app_proto, flags, msg, rdata) \
- socket_open2(hd, host, service, app_proto, flags, msg, rdata, NULL, NULL)
+ socket_open2(hd, host, service, app_proto, flags, msg, rdata, NULL, NULL, NULL)
+
+#define socket_open3(hd, host, service, app_proto, flags, msg, rdata, edata) \
+ socket_open2(hd, host, service, app_proto, flags, msg, rdata, edata, NULL, NULL)
void socket_bye(socket_st * socket, unsigned polite);