mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-03-28 08:37:25 +00:00
Merge pull request #7844 from mpg/ssl-progs-usage
Fix usage & error reporting in SSL programs
This commit is contained in:
commit
5d055f8206
@ -469,7 +469,7 @@ int main(void)
|
|||||||
" otherwise. The expansion of the macro\n" \
|
" otherwise. The expansion of the macro\n" \
|
||||||
" is printed if it is defined\n" \
|
" is printed if it is defined\n" \
|
||||||
USAGE_SERIALIZATION \
|
USAGE_SERIALIZATION \
|
||||||
" acceptable ciphersuite names:\n"
|
"\n"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* global options
|
* global options
|
||||||
@ -864,31 +864,6 @@ int main(int argc, char *argv[])
|
|||||||
mbedtls_test_enable_insecure_external_rng();
|
mbedtls_test_enable_insecure_external_rng();
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
|
#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
|
||||||
|
|
||||||
if (argc < 2) {
|
|
||||||
usage:
|
|
||||||
if (ret == 0) {
|
|
||||||
ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
mbedtls_printf(USAGE1);
|
|
||||||
mbedtls_printf(USAGE2);
|
|
||||||
mbedtls_printf(USAGE3);
|
|
||||||
mbedtls_printf(USAGE4);
|
|
||||||
|
|
||||||
list = mbedtls_ssl_list_ciphersuites();
|
|
||||||
while (*list) {
|
|
||||||
mbedtls_printf(" %-42s", mbedtls_ssl_get_ciphersuite_name(*list));
|
|
||||||
list++;
|
|
||||||
if (!*list) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
mbedtls_printf(" %s\n", mbedtls_ssl_get_ciphersuite_name(*list));
|
|
||||||
list++;
|
|
||||||
}
|
|
||||||
mbedtls_printf("\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
opt.server_name = DFL_SERVER_NAME;
|
opt.server_name = DFL_SERVER_NAME;
|
||||||
opt.server_addr = DFL_SERVER_ADDR;
|
opt.server_addr = DFL_SERVER_ADDR;
|
||||||
opt.server_port = DFL_SERVER_PORT;
|
opt.server_port = DFL_SERVER_PORT;
|
||||||
@ -973,9 +948,54 @@ usage:
|
|||||||
opt.key_opaque_alg1 = DFL_KEY_OPAQUE_ALG;
|
opt.key_opaque_alg1 = DFL_KEY_OPAQUE_ALG;
|
||||||
opt.key_opaque_alg2 = DFL_KEY_OPAQUE_ALG;
|
opt.key_opaque_alg2 = DFL_KEY_OPAQUE_ALG;
|
||||||
|
|
||||||
|
p = q = NULL;
|
||||||
|
if (argc < 1) {
|
||||||
|
usage:
|
||||||
|
if (p != NULL && q != NULL) {
|
||||||
|
printf("unrecognized value for '%s': '%s'\n", p, q);
|
||||||
|
} else if (p != NULL && q == NULL) {
|
||||||
|
printf("unrecognized param: '%s'\n", p);
|
||||||
|
}
|
||||||
|
|
||||||
|
mbedtls_printf("usage: ssl_client2 [param=value] [...]\n");
|
||||||
|
mbedtls_printf(" ssl_client2 help[_theme]\n");
|
||||||
|
mbedtls_printf("'help' lists acceptable 'param' and 'value'\n");
|
||||||
|
mbedtls_printf("'help_ciphersuites' lists available ciphersuites\n");
|
||||||
|
mbedtls_printf("\n");
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
|
ret = 1;
|
||||||
|
}
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 1; i < argc; i++) {
|
for (i = 1; i < argc; i++) {
|
||||||
p = argv[i];
|
p = argv[i];
|
||||||
|
|
||||||
|
if (strcmp(p, "help") == 0) {
|
||||||
|
mbedtls_printf(USAGE1);
|
||||||
|
mbedtls_printf(USAGE2);
|
||||||
|
mbedtls_printf(USAGE3);
|
||||||
|
mbedtls_printf(USAGE4);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (strcmp(p, "help_ciphersuites") == 0) {
|
||||||
|
mbedtls_printf(" acceptable ciphersuite names:\n");
|
||||||
|
for (list = mbedtls_ssl_list_ciphersuites();
|
||||||
|
*list != 0;
|
||||||
|
list++) {
|
||||||
|
mbedtls_printf(" %s\n", mbedtls_ssl_get_ciphersuite_name(*list));
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
if ((q = strchr(p, '=')) == NULL) {
|
if ((q = strchr(p, '=')) == NULL) {
|
||||||
|
mbedtls_printf("param requires a value: '%s'\n", p);
|
||||||
|
p = NULL; // avoid "unrecnognized param" message
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
*q++ = '\0';
|
*q++ = '\0';
|
||||||
@ -1372,9 +1392,13 @@ usage:
|
|||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
/* This signals that the problem is with p not q */
|
||||||
|
q = NULL;
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* This signals that any further errors are not with a single option */
|
||||||
|
p = q = NULL;
|
||||||
|
|
||||||
if (opt.nss_keylog != 0 && opt.eap_tls != 0) {
|
if (opt.nss_keylog != 0 && opt.eap_tls != 0) {
|
||||||
mbedtls_printf("Error: eap_tls and nss_keylog options cannot be used together.\n");
|
mbedtls_printf("Error: eap_tls and nss_keylog options cannot be used together.\n");
|
||||||
|
@ -590,7 +590,7 @@ int main(void)
|
|||||||
" otherwise. The expansion of the macro\n" \
|
" otherwise. The expansion of the macro\n" \
|
||||||
" is printed if it is defined\n" \
|
" is printed if it is defined\n" \
|
||||||
USAGE_SERIALIZATION \
|
USAGE_SERIALIZATION \
|
||||||
" acceptable ciphersuite names:\n"
|
"\n"
|
||||||
|
|
||||||
#define PUT_UINT64_BE(out_be, in_le, i) \
|
#define PUT_UINT64_BE(out_be, in_le, i) \
|
||||||
{ \
|
{ \
|
||||||
@ -1642,31 +1642,6 @@ int main(int argc, char *argv[])
|
|||||||
signal(SIGINT, term_handler);
|
signal(SIGINT, term_handler);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (argc < 2) {
|
|
||||||
usage:
|
|
||||||
if (ret == 0) {
|
|
||||||
ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
mbedtls_printf(USAGE1);
|
|
||||||
mbedtls_printf(USAGE2);
|
|
||||||
mbedtls_printf(USAGE3);
|
|
||||||
mbedtls_printf(USAGE4);
|
|
||||||
|
|
||||||
list = mbedtls_ssl_list_ciphersuites();
|
|
||||||
while (*list) {
|
|
||||||
mbedtls_printf(" %-42s", mbedtls_ssl_get_ciphersuite_name(*list));
|
|
||||||
list++;
|
|
||||||
if (!*list) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
mbedtls_printf(" %s\n", mbedtls_ssl_get_ciphersuite_name(*list));
|
|
||||||
list++;
|
|
||||||
}
|
|
||||||
mbedtls_printf("\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
opt.buffer_size = DFL_IO_BUF_LEN;
|
opt.buffer_size = DFL_IO_BUF_LEN;
|
||||||
opt.server_addr = DFL_SERVER_ADDR;
|
opt.server_addr = DFL_SERVER_ADDR;
|
||||||
opt.server_port = DFL_SERVER_PORT;
|
opt.server_port = DFL_SERVER_PORT;
|
||||||
@ -1765,9 +1740,54 @@ usage:
|
|||||||
opt.key2_opaque_alg1 = DFL_KEY_OPAQUE_ALG;
|
opt.key2_opaque_alg1 = DFL_KEY_OPAQUE_ALG;
|
||||||
opt.key2_opaque_alg2 = DFL_KEY_OPAQUE_ALG;
|
opt.key2_opaque_alg2 = DFL_KEY_OPAQUE_ALG;
|
||||||
|
|
||||||
|
p = q = NULL;
|
||||||
|
if (argc < 1) {
|
||||||
|
usage:
|
||||||
|
if (p != NULL && q != NULL) {
|
||||||
|
printf("unrecognized value for '%s': '%s'\n", p, q);
|
||||||
|
} else if (p != NULL && q == NULL) {
|
||||||
|
printf("unrecognized param: '%s'\n", p);
|
||||||
|
}
|
||||||
|
|
||||||
|
mbedtls_printf("usage: ssl_client2 [param=value] [...]\n");
|
||||||
|
mbedtls_printf(" ssl_client2 help[_theme]\n");
|
||||||
|
mbedtls_printf("'help' lists acceptable 'param' and 'value'\n");
|
||||||
|
mbedtls_printf("'help_ciphersuites' lists available ciphersuites\n");
|
||||||
|
mbedtls_printf("\n");
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
|
ret = 1;
|
||||||
|
}
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 1; i < argc; i++) {
|
for (i = 1; i < argc; i++) {
|
||||||
p = argv[i];
|
p = argv[i];
|
||||||
|
|
||||||
|
if (strcmp(p, "help") == 0) {
|
||||||
|
mbedtls_printf(USAGE1);
|
||||||
|
mbedtls_printf(USAGE2);
|
||||||
|
mbedtls_printf(USAGE3);
|
||||||
|
mbedtls_printf(USAGE4);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (strcmp(p, "help_ciphersuites") == 0) {
|
||||||
|
mbedtls_printf(" acceptable ciphersuite names:\n");
|
||||||
|
for (list = mbedtls_ssl_list_ciphersuites();
|
||||||
|
*list != 0;
|
||||||
|
list++) {
|
||||||
|
mbedtls_printf(" %s\n", mbedtls_ssl_get_ciphersuite_name(*list));
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
if ((q = strchr(p, '=')) == NULL) {
|
if ((q = strchr(p, '=')) == NULL) {
|
||||||
|
mbedtls_printf("param requires a value: '%s'\n", p);
|
||||||
|
p = NULL; // avoid "unrecnognized param" message
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
*q++ = '\0';
|
*q++ = '\0';
|
||||||
@ -2232,9 +2252,13 @@ usage:
|
|||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
/* This signals that the problem is with p not q */
|
||||||
|
q = NULL;
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* This signals that any further erorrs are not with a single option */
|
||||||
|
p = q = NULL;
|
||||||
|
|
||||||
if (opt.nss_keylog != 0 && opt.eap_tls != 0) {
|
if (opt.nss_keylog != 0 && opt.eap_tls != 0) {
|
||||||
mbedtls_printf("Error: eap_tls and nss_keylog options cannot be used together.\n");
|
mbedtls_printf("Error: eap_tls and nss_keylog options cannot be used together.\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user