Message ID | 20210506135923.161427-12-jandryuk@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vtpmmgr: Some fixes - still incomplete | expand |
Jason Andryuk, le jeu. 06 mai 2021 09:59:21 -0400, a ecrit: > Argument parsing only matches to before ':' and then the string with > leading ':' is passed to parse_auth_string which fails to parse. Extend > the length to include the seperator in the match. > > While here, switch the seperator to "=". The man page documented "=" > and the other tpm.* arguments already use "=". Since it didn't work > before, we don't need to worry about backwards compatibility. > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > stubdom/vtpmmgr/init.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c > index 4ae34a4fcb..62dc5994de 100644 > --- a/stubdom/vtpmmgr/init.c > +++ b/stubdom/vtpmmgr/init.c > @@ -289,16 +289,16 @@ int parse_cmdline_opts(int argc, char** argv, struct Opts* opts) > memcpy(vtpm_globals.srk_auth, WELLKNOWN_AUTH, sizeof(TPM_AUTHDATA)); > > for(i = 1; i < argc; ++i) { > - if(!strncmp(argv[i], "owner_auth:", 10)) { > - if((rc = parse_auth_string(argv[i] + 10, vtpm_globals.owner_auth)) < 0) { > + if(!strncmp(argv[i], "owner_auth=", 11)) { > + if((rc = parse_auth_string(argv[i] + 11, vtpm_globals.owner_auth)) < 0) { > goto err_invalid; > } > if(rc == 1) { > opts->gen_owner_auth = 1; > } > } > - else if(!strncmp(argv[i], "srk_auth:", 8)) { > - if((rc = parse_auth_string(argv[i] + 8, vtpm_globals.srk_auth)) != 0) { > + else if(!strncmp(argv[i], "srk_auth=", 9)) { > + if((rc = parse_auth_string(argv[i] + 9, vtpm_globals.srk_auth)) != 0) { > goto err_invalid; > } > } > -- > 2.30.2 >
On 5/6/21 9:59 AM, Jason Andryuk wrote: > Argument parsing only matches to before ':' and then the string with > leading ':' is passed to parse_auth_string which fails to parse. Extend > the length to include the seperator in the match. > > While here, switch the seperator to "=". The man page documented "=" > and the other tpm.* arguments already use "=". Since it didn't work > before, we don't need to worry about backwards compatibility. > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> > --- Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com> > stubdom/vtpmmgr/init.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c > index 4ae34a4fcb..62dc5994de 100644 > --- a/stubdom/vtpmmgr/init.c > +++ b/stubdom/vtpmmgr/init.c > @@ -289,16 +289,16 @@ int parse_cmdline_opts(int argc, char** argv, struct Opts* opts) > memcpy(vtpm_globals.srk_auth, WELLKNOWN_AUTH, sizeof(TPM_AUTHDATA)); > > for(i = 1; i < argc; ++i) { > - if(!strncmp(argv[i], "owner_auth:", 10)) { > - if((rc = parse_auth_string(argv[i] + 10, vtpm_globals.owner_auth)) < 0) { > + if(!strncmp(argv[i], "owner_auth=", 11)) { > + if((rc = parse_auth_string(argv[i] + 11, vtpm_globals.owner_auth)) < 0) { > goto err_invalid; > } > if(rc == 1) { > opts->gen_owner_auth = 1; > } > } > - else if(!strncmp(argv[i], "srk_auth:", 8)) { > - if((rc = parse_auth_string(argv[i] + 8, vtpm_globals.srk_auth)) != 0) { > + else if(!strncmp(argv[i], "srk_auth=", 9)) { > + if((rc = parse_auth_string(argv[i] + 9, vtpm_globals.srk_auth)) != 0) { > goto err_invalid; > } > } >
diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c index 4ae34a4fcb..62dc5994de 100644 --- a/stubdom/vtpmmgr/init.c +++ b/stubdom/vtpmmgr/init.c @@ -289,16 +289,16 @@ int parse_cmdline_opts(int argc, char** argv, struct Opts* opts) memcpy(vtpm_globals.srk_auth, WELLKNOWN_AUTH, sizeof(TPM_AUTHDATA)); for(i = 1; i < argc; ++i) { - if(!strncmp(argv[i], "owner_auth:", 10)) { - if((rc = parse_auth_string(argv[i] + 10, vtpm_globals.owner_auth)) < 0) { + if(!strncmp(argv[i], "owner_auth=", 11)) { + if((rc = parse_auth_string(argv[i] + 11, vtpm_globals.owner_auth)) < 0) { goto err_invalid; } if(rc == 1) { opts->gen_owner_auth = 1; } } - else if(!strncmp(argv[i], "srk_auth:", 8)) { - if((rc = parse_auth_string(argv[i] + 8, vtpm_globals.srk_auth)) != 0) { + else if(!strncmp(argv[i], "srk_auth=", 9)) { + if((rc = parse_auth_string(argv[i] + 9, vtpm_globals.srk_auth)) != 0) { goto err_invalid; } }
Argument parsing only matches to before ':' and then the string with leading ':' is passed to parse_auth_string which fails to parse. Extend the length to include the seperator in the match. While here, switch the seperator to "=". The man page documented "=" and the other tpm.* arguments already use "=". Since it didn't work before, we don't need to worry about backwards compatibility. Signed-off-by: Jason Andryuk <jandryuk@gmail.com> --- stubdom/vtpmmgr/init.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)