diff options
author | Daiki Ueno <dueno@redhat.com> | 2018-10-12 13:33:13 +0200 |
---|---|---|
committer | Daiki Ueno <dueno@redhat.com> | 2018-11-12 13:26:43 +0100 |
commit | 5c8d543e9554292f22200b91a0595d3dfa26cecf (patch) | |
tree | 7b90d4c485342e00173001ac76ec73c332473039 | |
parent | 0676e51e8c621add86b1a9ba90b142dd1c3c7060 (diff) | |
download | gnutls-5c8d543e9554292f22200b91a0595d3dfa26cecf.tar.gz |
cli: add --earlydata option
Signed-off-by: Daiki Ueno <dueno@redhat.com>
-rw-r--r-- | src/cli-args.c.bak | 853 | ||||
-rw-r--r-- | src/cli-args.def | 7 | ||||
-rw-r--r-- | src/cli-args.h.bak | 190 | ||||
-rw-r--r-- | src/cli.c | 21 | ||||
-rw-r--r-- | src/socket.c | 16 | ||||
-rw-r--r-- | src/socket.h | 9 |
6 files changed, 585 insertions, 511 deletions
diff --git a/src/cli-args.c.bak b/src/cli-args.c.bak index 3e40c4f9b3..cb49046a9c 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[5102] = +static char const gnutls_cli_opt_strs[5176] = /* 0 */ "gnutls-cli 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" @@ -108,166 +108,169 @@ static char const gnutls_cli_opt_strs[5102] = /* 1370 */ "Establish a session and resume\0" /* 1401 */ "RESUME\0" /* 1408 */ "resume\0" -/* 1415 */ "Establish a session and rehandshake\0" -/* 1451 */ "REHANDSHAKE\0" -/* 1463 */ "rehandshake\0" -/* 1475 */ "Server's hostname for server name indication extension\0" -/* 1530 */ "SNI_HOSTNAME\0" -/* 1543 */ "sni-hostname\0" -/* 1556 */ "Server's hostname to use for validation\0" -/* 1596 */ "VERIFY_HOSTNAME\0" -/* 1612 */ "verify-hostname\0" -/* 1628 */ "Connect, establish a plain session and start TLS\0" -/* 1677 */ "STARTTLS\0" -/* 1686 */ "starttls\0" -/* 1695 */ "an alias for the 'starttls-proto' option\0" -/* 1736 */ "app-proto\0" -/* 1746 */ "The application protocol to be used to obtain the server's certificate\n" +/* 1415 */ "Send early data on resumption from the specified file\0" +/* 1469 */ "EARLYDATA\0" +/* 1479 */ "earlydata\0" +/* 1489 */ "Establish a session and rehandshake\0" +/* 1525 */ "REHANDSHAKE\0" +/* 1537 */ "rehandshake\0" +/* 1549 */ "Server's hostname for server name indication extension\0" +/* 1604 */ "SNI_HOSTNAME\0" +/* 1617 */ "sni-hostname\0" +/* 1630 */ "Server's hostname to use for validation\0" +/* 1670 */ "VERIFY_HOSTNAME\0" +/* 1686 */ "verify-hostname\0" +/* 1702 */ "Connect, establish a plain session and start TLS\0" +/* 1751 */ "STARTTLS\0" +/* 1760 */ "starttls\0" +/* 1769 */ "an alias for the 'starttls-proto' option\0" +/* 1810 */ "app-proto\0" +/* 1820 */ "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" -/* 1889 */ "STARTTLS_PROTO\0" -/* 1904 */ "starttls-proto\0" -/* 1919 */ "Use DTLS (datagram TLS) over UDP\0" -/* 1952 */ "UDP\0" -/* 1956 */ "udp\0" -/* 1960 */ "Set MTU for datagram TLS\0" -/* 1985 */ "MTU\0" -/* 1989 */ "mtu\0" -/* 1993 */ "Send CR LF instead of LF\0" -/* 2018 */ "CRLF\0" -/* 2023 */ "crlf\0" -/* 2028 */ "Enable TCP Fast Open\0" -/* 2049 */ "FASTOPEN\0" -/* 2058 */ "fastopen\0" -/* 2067 */ "Use DER format for certificates to read from\0" -/* 2112 */ "X509FMTDER\0" -/* 2123 */ "x509fmtder\0" -/* 2134 */ "Print peer's certificate in PEM format\0" -/* 2173 */ "PRINT_CERT\0" -/* 2184 */ "print-cert\0" -/* 2195 */ "Save the peer's certificate chain in the specified file in PEM format\0" -/* 2265 */ "SAVE_CERT\0" -/* 2275 */ "save-cert\0" -/* 2285 */ "Save the peer's OCSP status response in the provided file\0" -/* 2343 */ "SAVE_OCSP\0" -/* 2353 */ "save-ocsp\0" -/* 2363 */ "Save the server-side TLS message trace in the provided file\0" -/* 2423 */ "SAVE_SERVER_TRACE\0" -/* 2441 */ "save-server-trace\0" -/* 2459 */ "Save the client-side TLS message trace in the provided file\0" -/* 2519 */ "SAVE_CLIENT_TRACE\0" -/* 2537 */ "save-client-trace\0" -/* 2555 */ "The minimum number of bits allowed for DH\0" -/* 2597 */ "DH_BITS\0" -/* 2605 */ "dh-bits\0" -/* 2613 */ "Priorities string\0" -/* 2631 */ "PRIORITY\0" -/* 2640 */ "priority\0" -/* 2649 */ "Certificate file or PKCS #11 URL to use\0" -/* 2689 */ "X509CAFILE\0" -/* 2700 */ "x509cafile\0" -/* 2711 */ "CRL file to use\0" -/* 2727 */ "X509CRLFILE\0" -/* 2739 */ "x509crlfile\0" -/* 2751 */ "X.509 key file or PKCS #11 URL to use\0" -/* 2789 */ "X509KEYFILE\0" -/* 2801 */ "x509keyfile\0" -/* 2813 */ "X.509 Certificate file or PKCS #11 URL to use\0" -/* 2859 */ "X509CERTFILE\0" -/* 2872 */ "x509certfile\0" -/* 2885 */ "SRP username to use\0" -/* 2905 */ "SRPUSERNAME\0" -/* 2917 */ "srpusername\0" -/* 2929 */ "SRP password to use\0" -/* 2949 */ "SRPPASSWD\0" -/* 2959 */ "srppasswd\0" -/* 2969 */ "PSK username to use\0" -/* 2989 */ "PSKUSERNAME\0" -/* 3001 */ "pskusername\0" -/* 3013 */ "PSK key (in hex) to use\0" -/* 3037 */ "PSKKEY\0" -/* 3044 */ "pskkey\0" -/* 3051 */ "The port or service to connect to\0" -/* 3085 */ "PORT\0" -/* 3090 */ "port\0" -/* 3095 */ "Don't abort program if server certificate can't be validated\0" -/* 3156 */ "INSECURE\0" -/* 3165 */ "insecure\0" -/* 3174 */ "Allow broken algorithms, such as MD5 for certificate verification\0" -/* 3240 */ "VERIFY_ALLOW_BROKEN\0" -/* 3260 */ "verify-allow-broken\0" -/* 3280 */ "Use length-hiding padding to prevent traffic analysis (deprecated)\0" -/* 3347 */ "RANGES\0" -/* 3354 */ "ranges\0" -/* 3361 */ "Benchmark individual ciphers\0" -/* 3390 */ "BENCHMARK_CIPHERS\0" -/* 3408 */ "benchmark-ciphers\0" -/* 3426 */ "Benchmark TLS key exchange methods\0" -/* 3461 */ "BENCHMARK_TLS_KX\0" -/* 3478 */ "benchmark-tls-kx\0" -/* 3495 */ "Benchmark TLS ciphers\0" -/* 3517 */ "BENCHMARK_TLS_CIPHERS\0" -/* 3539 */ "benchmark-tls-ciphers\0" -/* 3561 */ "Print a list of the supported algorithms and modes\0" -/* 3612 */ "LIST\0" -/* 3617 */ "list\0" -/* 3622 */ "Print a list of the supported priority strings\0" -/* 3669 */ "PRIORITY_LIST\0" -/* 3683 */ "priority-list\0" -/* 3697 */ "Don't allow session tickets\0" -/* 3725 */ "NOTICKET\0" -/* 3734 */ "noticket\0" -/* 3743 */ "Offer SRTP profiles\0" -/* 3763 */ "SRTP_PROFILES\0" -/* 3777 */ "srtp-profiles\0" -/* 3791 */ "Application layer protocol\0" -/* 3818 */ "ALPN\0" -/* 3823 */ "alpn\0" -/* 3828 */ "Activate heartbeat support\0" -/* 3855 */ "HEARTBEAT\0" -/* 3865 */ "heartbeat\0" -/* 3875 */ "The maximum record size to advertize\0" -/* 3912 */ "RECORDSIZE\0" -/* 3923 */ "recordsize\0" -/* 3934 */ "Do not send a Server Name Indication (SNI)\0" -/* 3977 */ "DISABLE_SNI\0" -/* 3989 */ "disable-sni\0" -/* 4001 */ "Disable all the TLS extensions (deprecated)\0" -/* 4045 */ "DISABLE_EXTENSIONS\0" -/* 4064 */ "disable-extensions\0" -/* 4083 */ "Send a single key share under TLS1.3\0" -/* 4120 */ "SINGLE_KEY_SHARE\0" -/* 4137 */ "single-key-share\0" -/* 4154 */ "Enable post-handshake authentication under TLS1.3\0" -/* 4204 */ "POST_HANDSHAKE_AUTH\0" -/* 4224 */ "post-handshake-auth\0" -/* 4244 */ "Inline commands of the form ^<cmd>^\0" -/* 4280 */ "INLINE_COMMANDS\0" -/* 4296 */ "inline-commands\0" -/* 4312 */ "Change the default delimiter for inline commands.\0" -/* 4362 */ "INLINE_COMMANDS_PREFIX\0" -/* 4385 */ "inline-commands-prefix\0" -/* 4408 */ "Specify the PKCS #11 provider library\0" -/* 4446 */ "PROVIDER\0" -/* 4455 */ "provider\0" -/* 4464 */ "Reports the status of the FIPS140-2 mode in gnutls library\0" -/* 4523 */ "FIPS140_MODE\0" -/* 4536 */ "fips140-mode\0" -/* 4549 */ "display extended usage information and exit\0" -/* 4593 */ "help\0" -/* 4598 */ "extended usage information passed thru pager\0" -/* 4643 */ "more-help\0" -/* 4653 */ "output version information and exit\0" -/* 4689 */ "version\0" -/* 4697 */ "GNUTLS_CLI\0" -/* 4708 */ "gnutls-cli - GnuTLS client\n" +/* 1963 */ "STARTTLS_PROTO\0" +/* 1978 */ "starttls-proto\0" +/* 1993 */ "Use DTLS (datagram TLS) over UDP\0" +/* 2026 */ "UDP\0" +/* 2030 */ "udp\0" +/* 2034 */ "Set MTU for datagram TLS\0" +/* 2059 */ "MTU\0" +/* 2063 */ "mtu\0" +/* 2067 */ "Send CR LF instead of LF\0" +/* 2092 */ "CRLF\0" +/* 2097 */ "crlf\0" +/* 2102 */ "Enable TCP Fast Open\0" +/* 2123 */ "FASTOPEN\0" +/* 2132 */ "fastopen\0" +/* 2141 */ "Use DER format for certificates to read from\0" +/* 2186 */ "X509FMTDER\0" +/* 2197 */ "x509fmtder\0" +/* 2208 */ "Print peer's certificate in PEM format\0" +/* 2247 */ "PRINT_CERT\0" +/* 2258 */ "print-cert\0" +/* 2269 */ "Save the peer's certificate chain in the specified file in PEM format\0" +/* 2339 */ "SAVE_CERT\0" +/* 2349 */ "save-cert\0" +/* 2359 */ "Save the peer's OCSP status response in the provided file\0" +/* 2417 */ "SAVE_OCSP\0" +/* 2427 */ "save-ocsp\0" +/* 2437 */ "Save the server-side TLS message trace in the provided file\0" +/* 2497 */ "SAVE_SERVER_TRACE\0" +/* 2515 */ "save-server-trace\0" +/* 2533 */ "Save the client-side TLS message trace in the provided file\0" +/* 2593 */ "SAVE_CLIENT_TRACE\0" +/* 2611 */ "save-client-trace\0" +/* 2629 */ "The minimum number of bits allowed for DH\0" +/* 2671 */ "DH_BITS\0" +/* 2679 */ "dh-bits\0" +/* 2687 */ "Priorities string\0" +/* 2705 */ "PRIORITY\0" +/* 2714 */ "priority\0" +/* 2723 */ "Certificate file or PKCS #11 URL to use\0" +/* 2763 */ "X509CAFILE\0" +/* 2774 */ "x509cafile\0" +/* 2785 */ "CRL file to use\0" +/* 2801 */ "X509CRLFILE\0" +/* 2813 */ "x509crlfile\0" +/* 2825 */ "X.509 key file or PKCS #11 URL to use\0" +/* 2863 */ "X509KEYFILE\0" +/* 2875 */ "x509keyfile\0" +/* 2887 */ "X.509 Certificate file or PKCS #11 URL to use\0" +/* 2933 */ "X509CERTFILE\0" +/* 2946 */ "x509certfile\0" +/* 2959 */ "SRP username to use\0" +/* 2979 */ "SRPUSERNAME\0" +/* 2991 */ "srpusername\0" +/* 3003 */ "SRP password to use\0" +/* 3023 */ "SRPPASSWD\0" +/* 3033 */ "srppasswd\0" +/* 3043 */ "PSK username to use\0" +/* 3063 */ "PSKUSERNAME\0" +/* 3075 */ "pskusername\0" +/* 3087 */ "PSK key (in hex) to use\0" +/* 3111 */ "PSKKEY\0" +/* 3118 */ "pskkey\0" +/* 3125 */ "The port or service to connect to\0" +/* 3159 */ "PORT\0" +/* 3164 */ "port\0" +/* 3169 */ "Don't abort program if server certificate can't be validated\0" +/* 3230 */ "INSECURE\0" +/* 3239 */ "insecure\0" +/* 3248 */ "Allow broken algorithms, such as MD5 for certificate verification\0" +/* 3314 */ "VERIFY_ALLOW_BROKEN\0" +/* 3334 */ "verify-allow-broken\0" +/* 3354 */ "Use length-hiding padding to prevent traffic analysis (deprecated)\0" +/* 3421 */ "RANGES\0" +/* 3428 */ "ranges\0" +/* 3435 */ "Benchmark individual ciphers\0" +/* 3464 */ "BENCHMARK_CIPHERS\0" +/* 3482 */ "benchmark-ciphers\0" +/* 3500 */ "Benchmark TLS key exchange methods\0" +/* 3535 */ "BENCHMARK_TLS_KX\0" +/* 3552 */ "benchmark-tls-kx\0" +/* 3569 */ "Benchmark TLS ciphers\0" +/* 3591 */ "BENCHMARK_TLS_CIPHERS\0" +/* 3613 */ "benchmark-tls-ciphers\0" +/* 3635 */ "Print a list of the supported algorithms and modes\0" +/* 3686 */ "LIST\0" +/* 3691 */ "list\0" +/* 3696 */ "Print a list of the supported priority strings\0" +/* 3743 */ "PRIORITY_LIST\0" +/* 3757 */ "priority-list\0" +/* 3771 */ "Don't allow session tickets\0" +/* 3799 */ "NOTICKET\0" +/* 3808 */ "noticket\0" +/* 3817 */ "Offer SRTP profiles\0" +/* 3837 */ "SRTP_PROFILES\0" +/* 3851 */ "srtp-profiles\0" +/* 3865 */ "Application layer protocol\0" +/* 3892 */ "ALPN\0" +/* 3897 */ "alpn\0" +/* 3902 */ "Activate heartbeat support\0" +/* 3929 */ "HEARTBEAT\0" +/* 3939 */ "heartbeat\0" +/* 3949 */ "The maximum record size to advertize\0" +/* 3986 */ "RECORDSIZE\0" +/* 3997 */ "recordsize\0" +/* 4008 */ "Do not send a Server Name Indication (SNI)\0" +/* 4051 */ "DISABLE_SNI\0" +/* 4063 */ "disable-sni\0" +/* 4075 */ "Disable all the TLS extensions (deprecated)\0" +/* 4119 */ "DISABLE_EXTENSIONS\0" +/* 4138 */ "disable-extensions\0" +/* 4157 */ "Send a single key share under TLS1.3\0" +/* 4194 */ "SINGLE_KEY_SHARE\0" +/* 4211 */ "single-key-share\0" +/* 4228 */ "Enable post-handshake authentication under TLS1.3\0" +/* 4278 */ "POST_HANDSHAKE_AUTH\0" +/* 4298 */ "post-handshake-auth\0" +/* 4318 */ "Inline commands of the form ^<cmd>^\0" +/* 4354 */ "INLINE_COMMANDS\0" +/* 4370 */ "inline-commands\0" +/* 4386 */ "Change the default delimiter for inline commands.\0" +/* 4436 */ "INLINE_COMMANDS_PREFIX\0" +/* 4459 */ "inline-commands-prefix\0" +/* 4482 */ "Specify the PKCS #11 provider library\0" +/* 4520 */ "PROVIDER\0" +/* 4529 */ "provider\0" +/* 4538 */ "Reports the status of the FIPS140-2 mode in gnutls library\0" +/* 4597 */ "FIPS140_MODE\0" +/* 4610 */ "fips140-mode\0" +/* 4623 */ "display extended usage information and exit\0" +/* 4667 */ "help\0" +/* 4672 */ "extended usage information passed thru pager\0" +/* 4717 */ "more-help\0" +/* 4727 */ "output version information and exit\0" +/* 4763 */ "version\0" +/* 4771 */ "GNUTLS_CLI\0" +/* 4782 */ "gnutls-cli - GnuTLS client\n" "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostname]\n\0" -/* 4804 */ "bugs@gnutls.org\0" -/* 4820 */ "\n\0" -/* 4822 */ "Simple client program to set up a TLS connection to some other computer. It\n" +/* 4878 */ "bugs@gnutls.org\0" +/* 4894 */ "\n\0" +/* 4896 */ "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" -/* 5005 */ "gnutls-cli 3.6.4\0" -/* 5022 */ "Usage: gnutls-cli [options] hostname\n" +/* 5079 */ "gnutls-cli 3.6.4\0" +/* 5096 */ "Usage: gnutls-cli [options] hostname\n" "gnutls-cli --help for usage instructions.\n"; /** @@ -404,14 +407,27 @@ static char const gnutls_cli_opt_strs[5102] = #define RESUME_FLAGS (OPTST_DISABLED) /** + * earlydata option description: + */ +/** Descriptive text for the earlydata option */ +#define EARLYDATA_DESC (gnutls_cli_opt_strs+1415) +/** Upper-cased name for the earlydata option */ +#define EARLYDATA_NAME (gnutls_cli_opt_strs+1469) +/** Name string for the earlydata option */ +#define EARLYDATA_name (gnutls_cli_opt_strs+1479) +/** 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+1415) +#define REHANDSHAKE_DESC (gnutls_cli_opt_strs+1489) /** Upper-cased name for the rehandshake option */ -#define REHANDSHAKE_NAME (gnutls_cli_opt_strs+1451) +#define REHANDSHAKE_NAME (gnutls_cli_opt_strs+1525) /** Name string for the rehandshake option */ -#define REHANDSHAKE_name (gnutls_cli_opt_strs+1463) +#define REHANDSHAKE_name (gnutls_cli_opt_strs+1537) /** Compiled in flag settings for the rehandshake option */ #define REHANDSHAKE_FLAGS (OPTST_DISABLED) @@ -419,11 +435,11 @@ static char const gnutls_cli_opt_strs[5102] = * sni-hostname option description: */ /** Descriptive text for the sni-hostname option */ -#define SNI_HOSTNAME_DESC (gnutls_cli_opt_strs+1475) +#define SNI_HOSTNAME_DESC (gnutls_cli_opt_strs+1549) /** Upper-cased name for the sni-hostname option */ -#define SNI_HOSTNAME_NAME (gnutls_cli_opt_strs+1530) +#define SNI_HOSTNAME_NAME (gnutls_cli_opt_strs+1604) /** Name string for the sni-hostname option */ -#define SNI_HOSTNAME_name (gnutls_cli_opt_strs+1543) +#define SNI_HOSTNAME_name (gnutls_cli_opt_strs+1617) /** 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[5102] = * verify-hostname option description: */ /** Descriptive text for the verify-hostname option */ -#define VERIFY_HOSTNAME_DESC (gnutls_cli_opt_strs+1556) +#define VERIFY_HOSTNAME_DESC (gnutls_cli_opt_strs+1630) /** Upper-cased name for the verify-hostname option */ -#define VERIFY_HOSTNAME_NAME (gnutls_cli_opt_strs+1596) +#define VERIFY_HOSTNAME_NAME (gnutls_cli_opt_strs+1670) /** Name string for the verify-hostname option */ -#define VERIFY_HOSTNAME_name (gnutls_cli_opt_strs+1612) +#define VERIFY_HOSTNAME_name (gnutls_cli_opt_strs+1686) /** 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[5102] = * starttls option description: */ /** Descriptive text for the starttls option */ -#define STARTTLS_DESC (gnutls_cli_opt_strs+1628) +#define STARTTLS_DESC (gnutls_cli_opt_strs+1702) /** Upper-cased name for the starttls option */ -#define STARTTLS_NAME (gnutls_cli_opt_strs+1677) +#define STARTTLS_NAME (gnutls_cli_opt_strs+1751) /** Name string for the starttls option */ -#define STARTTLS_name (gnutls_cli_opt_strs+1686) +#define STARTTLS_name (gnutls_cli_opt_strs+1760) /** Compiled in flag settings for the starttls option */ #define STARTTLS_FLAGS (OPTST_DISABLED) @@ -457,10 +473,10 @@ static char const gnutls_cli_opt_strs[5102] = * app-proto option description: */ /** Descriptive text for the app-proto option */ -#define APP_PROTO_DESC (gnutls_cli_opt_strs+1695) +#define APP_PROTO_DESC (gnutls_cli_opt_strs+1769) #define APP_PROTO_NAME NULL /** Unmodified name string for the app-proto option */ -#define APP_PROTO_name (gnutls_cli_opt_strs+1736) +#define APP_PROTO_name (gnutls_cli_opt_strs+1810) /** 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[5102] = * "Must also have options" and "Incompatible options": */ /** Descriptive text for the starttls-proto option */ -#define STARTTLS_PROTO_DESC (gnutls_cli_opt_strs+1746) +#define STARTTLS_PROTO_DESC (gnutls_cli_opt_strs+1820) /** Upper-cased name for the starttls-proto option */ -#define STARTTLS_PROTO_NAME (gnutls_cli_opt_strs+1889) +#define STARTTLS_PROTO_NAME (gnutls_cli_opt_strs+1963) /** Name string for the starttls-proto option */ -#define STARTTLS_PROTO_name (gnutls_cli_opt_strs+1904) +#define STARTTLS_PROTO_name (gnutls_cli_opt_strs+1978) /** 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+1919) +#define UDP_DESC (gnutls_cli_opt_strs+1993) /** Upper-cased name for the udp option */ -#define UDP_NAME (gnutls_cli_opt_strs+1952) +#define UDP_NAME (gnutls_cli_opt_strs+2026) /** Name string for the udp option */ -#define UDP_name (gnutls_cli_opt_strs+1956) +#define UDP_name (gnutls_cli_opt_strs+2030) /** 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+1960) +#define MTU_DESC (gnutls_cli_opt_strs+2034) /** Upper-cased name for the mtu option */ -#define MTU_NAME (gnutls_cli_opt_strs+1985) +#define MTU_NAME (gnutls_cli_opt_strs+2059) /** Name string for the mtu option */ -#define MTU_name (gnutls_cli_opt_strs+1989) +#define MTU_name (gnutls_cli_opt_strs+2063) /** 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+1993) +#define CRLF_DESC (gnutls_cli_opt_strs+2067) /** Upper-cased name for the crlf option */ -#define CRLF_NAME (gnutls_cli_opt_strs+2018) +#define CRLF_NAME (gnutls_cli_opt_strs+2092) /** Name string for the crlf option */ -#define CRLF_name (gnutls_cli_opt_strs+2023) +#define CRLF_name (gnutls_cli_opt_strs+2097) /** 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+2028) +#define FASTOPEN_DESC (gnutls_cli_opt_strs+2102) /** Upper-cased name for the fastopen option */ -#define FASTOPEN_NAME (gnutls_cli_opt_strs+2049) +#define FASTOPEN_NAME (gnutls_cli_opt_strs+2123) /** Name string for the fastopen option */ -#define FASTOPEN_name (gnutls_cli_opt_strs+2058) +#define FASTOPEN_name (gnutls_cli_opt_strs+2132) /** 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+2067) +#define X509FMTDER_DESC (gnutls_cli_opt_strs+2141) /** Upper-cased name for the x509fmtder option */ -#define X509FMTDER_NAME (gnutls_cli_opt_strs+2112) +#define X509FMTDER_NAME (gnutls_cli_opt_strs+2186) /** Name string for the x509fmtder option */ -#define X509FMTDER_name (gnutls_cli_opt_strs+2123) +#define X509FMTDER_name (gnutls_cli_opt_strs+2197) /** 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+2134) +#define PRINT_CERT_DESC (gnutls_cli_opt_strs+2208) /** Upper-cased name for the print-cert option */ -#define PRINT_CERT_NAME (gnutls_cli_opt_strs+2173) +#define PRINT_CERT_NAME (gnutls_cli_opt_strs+2247) /** Name string for the print-cert option */ -#define PRINT_CERT_name (gnutls_cli_opt_strs+2184) +#define PRINT_CERT_name (gnutls_cli_opt_strs+2258) /** 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+2195) +#define SAVE_CERT_DESC (gnutls_cli_opt_strs+2269) /** Upper-cased name for the save-cert option */ -#define SAVE_CERT_NAME (gnutls_cli_opt_strs+2265) +#define SAVE_CERT_NAME (gnutls_cli_opt_strs+2339) /** Name string for the save-cert option */ -#define SAVE_CERT_name (gnutls_cli_opt_strs+2275) +#define SAVE_CERT_name (gnutls_cli_opt_strs+2349) /** 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+2285) +#define SAVE_OCSP_DESC (gnutls_cli_opt_strs+2359) /** Upper-cased name for the save-ocsp option */ -#define SAVE_OCSP_NAME (gnutls_cli_opt_strs+2343) +#define SAVE_OCSP_NAME (gnutls_cli_opt_strs+2417) /** Name string for the save-ocsp option */ -#define SAVE_OCSP_name (gnutls_cli_opt_strs+2353) +#define SAVE_OCSP_name (gnutls_cli_opt_strs+2427) /** 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+2363) +#define SAVE_SERVER_TRACE_DESC (gnutls_cli_opt_strs+2437) /** Upper-cased name for the save-server-trace option */ -#define SAVE_SERVER_TRACE_NAME (gnutls_cli_opt_strs+2423) +#define SAVE_SERVER_TRACE_NAME (gnutls_cli_opt_strs+2497) /** Name string for the save-server-trace option */ -#define SAVE_SERVER_TRACE_name (gnutls_cli_opt_strs+2441) +#define SAVE_SERVER_TRACE_name (gnutls_cli_opt_strs+2515) /** 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+2459) +#define SAVE_CLIENT_TRACE_DESC (gnutls_cli_opt_strs+2533) /** Upper-cased name for the save-client-trace option */ -#define SAVE_CLIENT_TRACE_NAME (gnutls_cli_opt_strs+2519) +#define SAVE_CLIENT_TRACE_NAME (gnutls_cli_opt_strs+2593) /** Name string for the save-client-trace option */ -#define SAVE_CLIENT_TRACE_name (gnutls_cli_opt_strs+2537) +#define SAVE_CLIENT_TRACE_name (gnutls_cli_opt_strs+2611) /** 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+2555) +#define DH_BITS_DESC (gnutls_cli_opt_strs+2629) /** Upper-cased name for the dh-bits option */ -#define DH_BITS_NAME (gnutls_cli_opt_strs+2597) +#define DH_BITS_NAME (gnutls_cli_opt_strs+2671) /** Name string for the dh-bits option */ -#define DH_BITS_name (gnutls_cli_opt_strs+2605) +#define DH_BITS_name (gnutls_cli_opt_strs+2679) /** 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+2613) +#define PRIORITY_DESC (gnutls_cli_opt_strs+2687) /** Upper-cased name for the priority option */ -#define PRIORITY_NAME (gnutls_cli_opt_strs+2631) +#define PRIORITY_NAME (gnutls_cli_opt_strs+2705) /** Name string for the priority option */ -#define PRIORITY_name (gnutls_cli_opt_strs+2640) +#define PRIORITY_name (gnutls_cli_opt_strs+2714) /** 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+2649) +#define X509CAFILE_DESC (gnutls_cli_opt_strs+2723) /** Upper-cased name for the x509cafile option */ -#define X509CAFILE_NAME (gnutls_cli_opt_strs+2689) +#define X509CAFILE_NAME (gnutls_cli_opt_strs+2763) /** Name string for the x509cafile option */ -#define X509CAFILE_name (gnutls_cli_opt_strs+2700) +#define X509CAFILE_name (gnutls_cli_opt_strs+2774) /** 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+2711) +#define X509CRLFILE_DESC (gnutls_cli_opt_strs+2785) /** Upper-cased name for the x509crlfile option */ -#define X509CRLFILE_NAME (gnutls_cli_opt_strs+2727) +#define X509CRLFILE_NAME (gnutls_cli_opt_strs+2801) /** Name string for the x509crlfile option */ -#define X509CRLFILE_name (gnutls_cli_opt_strs+2739) +#define X509CRLFILE_name (gnutls_cli_opt_strs+2813) /** 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+2751) +#define X509KEYFILE_DESC (gnutls_cli_opt_strs+2825) /** Upper-cased name for the x509keyfile option */ -#define X509KEYFILE_NAME (gnutls_cli_opt_strs+2789) +#define X509KEYFILE_NAME (gnutls_cli_opt_strs+2863) /** Name string for the x509keyfile option */ -#define X509KEYFILE_name (gnutls_cli_opt_strs+2801) +#define X509KEYFILE_name (gnutls_cli_opt_strs+2875) /** 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+2813) +#define X509CERTFILE_DESC (gnutls_cli_opt_strs+2887) /** Upper-cased name for the x509certfile option */ -#define X509CERTFILE_NAME (gnutls_cli_opt_strs+2859) +#define X509CERTFILE_NAME (gnutls_cli_opt_strs+2933) /** Name string for the x509certfile option */ -#define X509CERTFILE_name (gnutls_cli_opt_strs+2872) +#define X509CERTFILE_name (gnutls_cli_opt_strs+2946) /** 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+2885) +#define SRPUSERNAME_DESC (gnutls_cli_opt_strs+2959) /** Upper-cased name for the srpusername option */ -#define SRPUSERNAME_NAME (gnutls_cli_opt_strs+2905) +#define SRPUSERNAME_NAME (gnutls_cli_opt_strs+2979) /** Name string for the srpusername option */ -#define SRPUSERNAME_name (gnutls_cli_opt_strs+2917) +#define SRPUSERNAME_name (gnutls_cli_opt_strs+2991) /** 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+2929) +#define SRPPASSWD_DESC (gnutls_cli_opt_strs+3003) /** Upper-cased name for the srppasswd option */ -#define SRPPASSWD_NAME (gnutls_cli_opt_strs+2949) +#define SRPPASSWD_NAME (gnutls_cli_opt_strs+3023) /** Name string for the srppasswd option */ -#define SRPPASSWD_name (gnutls_cli_opt_strs+2959) +#define SRPPASSWD_name (gnutls_cli_opt_strs+3033) /** 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+2969) +#define PSKUSERNAME_DESC (gnutls_cli_opt_strs+3043) /** Upper-cased name for the pskusername option */ -#define PSKUSERNAME_NAME (gnutls_cli_opt_strs+2989) +#define PSKUSERNAME_NAME (gnutls_cli_opt_strs+3063) /** Name string for the pskusername option */ -#define PSKUSERNAME_name (gnutls_cli_opt_strs+3001) +#define PSKUSERNAME_name (gnutls_cli_opt_strs+3075) /** 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+3013) +#define PSKKEY_DESC (gnutls_cli_opt_strs+3087) /** Upper-cased name for the pskkey option */ -#define PSKKEY_NAME (gnutls_cli_opt_strs+3037) +#define PSKKEY_NAME (gnutls_cli_opt_strs+3111) /** Name string for the pskkey option */ -#define PSKKEY_name (gnutls_cli_opt_strs+3044) +#define PSKKEY_name (gnutls_cli_opt_strs+3118) /** 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+3051) +#define PORT_DESC (gnutls_cli_opt_strs+3125) /** Upper-cased name for the port option */ -#define PORT_NAME (gnutls_cli_opt_strs+3085) +#define PORT_NAME (gnutls_cli_opt_strs+3159) /** Name string for the port option */ -#define PORT_name (gnutls_cli_opt_strs+3090) +#define PORT_name (gnutls_cli_opt_strs+3164) /** 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+3095) +#define INSECURE_DESC (gnutls_cli_opt_strs+3169) /** Upper-cased name for the insecure option */ -#define INSECURE_NAME (gnutls_cli_opt_strs+3156) +#define INSECURE_NAME (gnutls_cli_opt_strs+3230) /** Name string for the insecure option */ -#define INSECURE_name (gnutls_cli_opt_strs+3165) +#define INSECURE_name (gnutls_cli_opt_strs+3239) /** 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+3174) +#define VERIFY_ALLOW_BROKEN_DESC (gnutls_cli_opt_strs+3248) /** Upper-cased name for the verify-allow-broken option */ -#define VERIFY_ALLOW_BROKEN_NAME (gnutls_cli_opt_strs+3240) +#define VERIFY_ALLOW_BROKEN_NAME (gnutls_cli_opt_strs+3314) /** Name string for the verify-allow-broken option */ -#define VERIFY_ALLOW_BROKEN_name (gnutls_cli_opt_strs+3260) +#define VERIFY_ALLOW_BROKEN_name (gnutls_cli_opt_strs+3334) /** 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+3280) +#define RANGES_DESC (gnutls_cli_opt_strs+3354) /** Upper-cased name for the ranges option */ -#define RANGES_NAME (gnutls_cli_opt_strs+3347) +#define RANGES_NAME (gnutls_cli_opt_strs+3421) /** Name string for the ranges option */ -#define RANGES_name (gnutls_cli_opt_strs+3354) +#define RANGES_name (gnutls_cli_opt_strs+3428) /** 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+3361) +#define BENCHMARK_CIPHERS_DESC (gnutls_cli_opt_strs+3435) /** Upper-cased name for the benchmark-ciphers option */ -#define BENCHMARK_CIPHERS_NAME (gnutls_cli_opt_strs+3390) +#define BENCHMARK_CIPHERS_NAME (gnutls_cli_opt_strs+3464) /** Name string for the benchmark-ciphers option */ -#define BENCHMARK_CIPHERS_name (gnutls_cli_opt_strs+3408) +#define BENCHMARK_CIPHERS_name (gnutls_cli_opt_strs+3482) /** 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+3426) +#define BENCHMARK_TLS_KX_DESC (gnutls_cli_opt_strs+3500) /** Upper-cased name for the benchmark-tls-kx option */ -#define BENCHMARK_TLS_KX_NAME (gnutls_cli_opt_strs+3461) +#define BENCHMARK_TLS_KX_NAME (gnutls_cli_opt_strs+3535) /** Name string for the benchmark-tls-kx option */ -#define BENCHMARK_TLS_KX_name (gnutls_cli_opt_strs+3478) +#define BENCHMARK_TLS_KX_name (gnutls_cli_opt_strs+3552) /** 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+3495) +#define BENCHMARK_TLS_CIPHERS_DESC (gnutls_cli_opt_strs+3569) /** Upper-cased name for the benchmark-tls-ciphers option */ -#define BENCHMARK_TLS_CIPHERS_NAME (gnutls_cli_opt_strs+3517) +#define BENCHMARK_TLS_CIPHERS_NAME (gnutls_cli_opt_strs+3591) /** Name string for the benchmark-tls-ciphers option */ -#define BENCHMARK_TLS_CIPHERS_name (gnutls_cli_opt_strs+3539) +#define BENCHMARK_TLS_CIPHERS_name (gnutls_cli_opt_strs+3613) /** 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+3561) +#define LIST_DESC (gnutls_cli_opt_strs+3635) /** Upper-cased name for the list option */ -#define LIST_NAME (gnutls_cli_opt_strs+3612) +#define LIST_NAME (gnutls_cli_opt_strs+3686) /** Name string for the list option */ -#define LIST_name (gnutls_cli_opt_strs+3617) +#define LIST_name (gnutls_cli_opt_strs+3691) /** 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+3622) +#define PRIORITY_LIST_DESC (gnutls_cli_opt_strs+3696) /** Upper-cased name for the priority-list option */ -#define PRIORITY_LIST_NAME (gnutls_cli_opt_strs+3669) +#define PRIORITY_LIST_NAME (gnutls_cli_opt_strs+3743) /** Name string for the priority-list option */ -#define PRIORITY_LIST_name (gnutls_cli_opt_strs+3683) +#define PRIORITY_LIST_name (gnutls_cli_opt_strs+3757) /** 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+3697) +#define NOTICKET_DESC (gnutls_cli_opt_strs+3771) /** Upper-cased name for the noticket option */ -#define NOTICKET_NAME (gnutls_cli_opt_strs+3725) +#define NOTICKET_NAME (gnutls_cli_opt_strs+3799) /** Name string for the noticket option */ -#define NOTICKET_name (gnutls_cli_opt_strs+3734) +#define NOTICKET_name (gnutls_cli_opt_strs+3808) /** 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+3743) +#define SRTP_PROFILES_DESC (gnutls_cli_opt_strs+3817) /** Upper-cased name for the srtp_profiles option */ -#define SRTP_PROFILES_NAME (gnutls_cli_opt_strs+3763) +#define SRTP_PROFILES_NAME (gnutls_cli_opt_strs+3837) /** Name string for the srtp_profiles option */ -#define SRTP_PROFILES_name (gnutls_cli_opt_strs+3777) +#define SRTP_PROFILES_name (gnutls_cli_opt_strs+3851) /** 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+3791) +#define ALPN_DESC (gnutls_cli_opt_strs+3865) /** Upper-cased name for the alpn option */ -#define ALPN_NAME (gnutls_cli_opt_strs+3818) +#define ALPN_NAME (gnutls_cli_opt_strs+3892) /** Name string for the alpn option */ -#define ALPN_name (gnutls_cli_opt_strs+3823) +#define ALPN_name (gnutls_cli_opt_strs+3897) /** 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+3828) +#define HEARTBEAT_DESC (gnutls_cli_opt_strs+3902) /** Upper-cased name for the heartbeat option */ -#define HEARTBEAT_NAME (gnutls_cli_opt_strs+3855) +#define HEARTBEAT_NAME (gnutls_cli_opt_strs+3929) /** Name string for the heartbeat option */ -#define HEARTBEAT_name (gnutls_cli_opt_strs+3865) +#define HEARTBEAT_name (gnutls_cli_opt_strs+3939) /** 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+3875) +#define RECORDSIZE_DESC (gnutls_cli_opt_strs+3949) /** Upper-cased name for the recordsize option */ -#define RECORDSIZE_NAME (gnutls_cli_opt_strs+3912) +#define RECORDSIZE_NAME (gnutls_cli_opt_strs+3986) /** Name string for the recordsize option */ -#define RECORDSIZE_name (gnutls_cli_opt_strs+3923) +#define RECORDSIZE_name (gnutls_cli_opt_strs+3997) /** 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+3934) +#define DISABLE_SNI_DESC (gnutls_cli_opt_strs+4008) /** Upper-cased name for the disable-sni option */ -#define DISABLE_SNI_NAME (gnutls_cli_opt_strs+3977) +#define DISABLE_SNI_NAME (gnutls_cli_opt_strs+4051) /** Name string for the disable-sni option */ -#define DISABLE_SNI_name (gnutls_cli_opt_strs+3989) +#define DISABLE_SNI_name (gnutls_cli_opt_strs+4063) /** 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+4001) +#define DISABLE_EXTENSIONS_DESC (gnutls_cli_opt_strs+4075) /** Upper-cased name for the disable-extensions option */ -#define DISABLE_EXTENSIONS_NAME (gnutls_cli_opt_strs+4045) +#define DISABLE_EXTENSIONS_NAME (gnutls_cli_opt_strs+4119) /** Name string for the disable-extensions option */ -#define DISABLE_EXTENSIONS_name (gnutls_cli_opt_strs+4064) +#define DISABLE_EXTENSIONS_name (gnutls_cli_opt_strs+4138) /** 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+4083) +#define SINGLE_KEY_SHARE_DESC (gnutls_cli_opt_strs+4157) /** Upper-cased name for the single-key-share option */ -#define SINGLE_KEY_SHARE_NAME (gnutls_cli_opt_strs+4120) +#define SINGLE_KEY_SHARE_NAME (gnutls_cli_opt_strs+4194) /** Name string for the single-key-share option */ -#define SINGLE_KEY_SHARE_name (gnutls_cli_opt_strs+4137) +#define SINGLE_KEY_SHARE_name (gnutls_cli_opt_strs+4211) /** 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+4154) +#define POST_HANDSHAKE_AUTH_DESC (gnutls_cli_opt_strs+4228) /** Upper-cased name for the post-handshake-auth option */ -#define POST_HANDSHAKE_AUTH_NAME (gnutls_cli_opt_strs+4204) +#define POST_HANDSHAKE_AUTH_NAME (gnutls_cli_opt_strs+4278) /** Name string for the post-handshake-auth option */ -#define POST_HANDSHAKE_AUTH_name (gnutls_cli_opt_strs+4224) +#define POST_HANDSHAKE_AUTH_name (gnutls_cli_opt_strs+4298) /** 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+4244) +#define INLINE_COMMANDS_DESC (gnutls_cli_opt_strs+4318) /** Upper-cased name for the inline-commands option */ -#define INLINE_COMMANDS_NAME (gnutls_cli_opt_strs+4280) +#define INLINE_COMMANDS_NAME (gnutls_cli_opt_strs+4354) /** Name string for the inline-commands option */ -#define INLINE_COMMANDS_name (gnutls_cli_opt_strs+4296) +#define INLINE_COMMANDS_name (gnutls_cli_opt_strs+4370) /** 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+4312) +#define INLINE_COMMANDS_PREFIX_DESC (gnutls_cli_opt_strs+4386) /** Upper-cased name for the inline-commands-prefix option */ -#define INLINE_COMMANDS_PREFIX_NAME (gnutls_cli_opt_strs+4362) +#define INLINE_COMMANDS_PREFIX_NAME (gnutls_cli_opt_strs+4436) /** Name string for the inline-commands-prefix option */ -#define INLINE_COMMANDS_PREFIX_name (gnutls_cli_opt_strs+4385) +#define INLINE_COMMANDS_PREFIX_name (gnutls_cli_opt_strs+4459) /** 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+4408) +#define PROVIDER_DESC (gnutls_cli_opt_strs+4482) /** Upper-cased name for the provider option */ -#define PROVIDER_NAME (gnutls_cli_opt_strs+4446) +#define PROVIDER_NAME (gnutls_cli_opt_strs+4520) /** Name string for the provider option */ -#define PROVIDER_name (gnutls_cli_opt_strs+4455) +#define PROVIDER_name (gnutls_cli_opt_strs+4529) /** 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+4464) +#define FIPS140_MODE_DESC (gnutls_cli_opt_strs+4538) /** Upper-cased name for the fips140-mode option */ -#define FIPS140_MODE_NAME (gnutls_cli_opt_strs+4523) +#define FIPS140_MODE_NAME (gnutls_cli_opt_strs+4597) /** Name string for the fips140-mode option */ -#define FIPS140_MODE_name (gnutls_cli_opt_strs+4536) +#define FIPS140_MODE_name (gnutls_cli_opt_strs+4610) /** 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+4549) -#define HELP_name (gnutls_cli_opt_strs+4593) +#define HELP_DESC (gnutls_cli_opt_strs+4623) +#define HELP_name (gnutls_cli_opt_strs+4667) #ifdef HAVE_WORKING_FORK -#define MORE_HELP_DESC (gnutls_cli_opt_strs+4598) -#define MORE_HELP_name (gnutls_cli_opt_strs+4643) +#define MORE_HELP_DESC (gnutls_cli_opt_strs+4672) +#define MORE_HELP_name (gnutls_cli_opt_strs+4717) #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+4653) -#define VER_name (gnutls_cli_opt_strs+4689) +#define VER_DESC (gnutls_cli_opt_strs+4727) +#define VER_name (gnutls_cli_opt_strs+4763) /** * 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+4697) +#define zPROGNAME (gnutls_cli_opt_strs+4771) /** Reference to the title line for gnutls-cli usage. */ -#define zUsageTitle (gnutls_cli_opt_strs+4708) +#define zUsageTitle (gnutls_cli_opt_strs+4782) /** 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+4804) +#define zBugsAddr (gnutls_cli_opt_strs+4878) /** Clarification/explanation of what gnutls-cli does. */ -#define zExplain (gnutls_cli_opt_strs+4820) +#define zExplain (gnutls_cli_opt_strs+4894) /** Extra detail explaining what gnutls-cli does. */ -#define zDetail (gnutls_cli_opt_strs+4822) +#define zDetail (gnutls_cli_opt_strs+4896) /** The full version string for gnutls-cli. */ -#define zFullVersion (gnutls_cli_opt_strs+5005) +#define zFullVersion (gnutls_cli_opt_strs+5079) /* 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+5022) +#define gnutls_cli_short_usage (gnutls_cli_opt_strs+5096) #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 from the specified file")); + + /* referenced via gnutls_cliOptions.pOptDesc->pzText */ puts(_("Establish a session and rehandshake")); /* referenced via gnutls_cliOptions.pOptDesc->pzText */ @@ -2441,7 +2472,7 @@ gnutls-cli --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/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 6a83f05651..a1788f6d86 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 "3.6.4" /** 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 */ @@ -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); |