diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-07-26 16:45:00 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-08-04 09:38:27 +0200 |
commit | ec6ea4e696bf3222b76645433c3de8a67ce645bf (patch) | |
tree | 6ba83cadb2d723b15e2f7ab74a69f77f1c261cef /src | |
parent | 4267ef871db68c3981e44b8581d77894a2173b54 (diff) | |
download | gnutls-ec6ea4e696bf3222b76645433c3de8a67ce645bf.tar.gz |
certtool: sign_params_to_flags: use strtok to parse input
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/certtool.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/certtool.c b/src/certtool.c index 906ab9f500..4e4f3277f3 100644 --- a/src/certtool.c +++ b/src/certtool.c @@ -1115,13 +1115,28 @@ static void update_signed_certificate(common_info_st * cinfo) static void sign_params_to_flags(common_info_st *cinfo, const char *params) { - if (strcasecmp(params, "rsa-pss") == 0) { - cinfo->rsa_pss_sign = 1; - return; + char *p, *sp; + + sp = strdup(params); + if (sp == NULL) { + fprintf(stderr, "memory error\n"); + app_exit(1); + } + + p = strtok(sp, ","); + + while(p != NULL) { + if (strcasecmp(p, "rsa-pss")==0) { + cinfo->rsa_pss_sign = 1; + } else { + fprintf(stderr, "Unknown signature parameter: %s\n", p); + app_exit(1); + } + + p=strtok(NULL, ","); } - fprintf(stderr, "Unknown signature parameters: %s\n", params); - app_exit(1); + free(sp); } static void figure_key_type(const char *key_type) |