move more validation of parameters together

This commit is contained in:
Klas Lindfors
2015-03-19 14:52:38 +01:00
parent 9124e82ea6
commit c85fd4eaa8
+25 -22
View File
@@ -1379,7 +1379,8 @@ int main(int argc, char *argv[]) {
case action_arg_requestMINUS_certificate: case action_arg_requestMINUS_certificate:
case action_arg_selfsignMINUS_certificate: case action_arg_selfsignMINUS_certificate:
if(!args_info.subject_arg) { if(!args_info.subject_arg) {
fprintf(stderr, "The '%s' action needs a subject (-S) to operate on.\n", cmdline_parser_action_values[action]); fprintf(stderr, "The '%s' action needs a subject (-S) to operate on.\n",
cmdline_parser_action_values[action]);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
case action_arg_generate: case action_arg_generate:
@@ -1388,19 +1389,37 @@ int main(int argc, char *argv[]) {
case action_arg_deleteMINUS_certificate: case action_arg_deleteMINUS_certificate:
case action_arg_readMINUS_certificate: case action_arg_readMINUS_certificate:
if(args_info.slot_arg == slot__NULL) { if(args_info.slot_arg == slot__NULL) {
fprintf(stderr, "The '%s' action needs a slot (-s) to operate on.\n", cmdline_parser_action_values[action]); fprintf(stderr, "The '%s' action needs a slot (-s) to operate on.\n",
cmdline_parser_action_values[action]);
return EXIT_FAILURE;
}
break;
case action_arg_changeMINUS_pin:
case action_arg_changeMINUS_puk:
case action_arg_unblockMINUS_pin:
if(!args_info.new_pin_arg) {
fprintf(stderr, "The '%s' action needs a new-pin (-N).\n",
cmdline_parser_action_values[action]);
return EXIT_FAILURE;
}
case action_arg_verifyMINUS_pin:
if(!args_info.pin_arg) {
fprintf(stderr, "The '%s' action needs a pin (-P).\n",
cmdline_parser_action_values[action]);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
break; break;
case action_arg_setMINUS_mgmMINUS_key: case action_arg_setMINUS_mgmMINUS_key:
if(!args_info.new_key_arg) {
fprintf(stderr, "The '%s' action needs the new-key (-n) argument.\n",
cmdline_parser_action_values[action]);
return EXIT_FAILURE;
}
break;
case action_arg_pinMINUS_retries: case action_arg_pinMINUS_retries:
case action_arg_setMINUS_chuid: case action_arg_setMINUS_chuid:
case action_arg_version: case action_arg_version:
case action_arg_reset: case action_arg_reset:
case action_arg_verifyMINUS_pin:
case action_arg_changeMINUS_pin:
case action_arg_changeMINUS_puk:
case action_arg_unblockMINUS_pin:
case action_arg_status: case action_arg_status:
case action__NULL: case action__NULL:
default: default:
@@ -1491,7 +1510,6 @@ int main(int argc, char *argv[]) {
} }
break; break;
case action_arg_setMINUS_mgmMINUS_key: case action_arg_setMINUS_mgmMINUS_key:
if(args_info.new_key_arg) {
if(strlen(args_info.new_key_arg) == (KEY_LEN * 2)){ if(strlen(args_info.new_key_arg) == (KEY_LEN * 2)){
unsigned char new_key[KEY_LEN]; unsigned char new_key[KEY_LEN];
size_t new_key_len = sizeof(new_key); size_t new_key_len = sizeof(new_key);
@@ -1508,10 +1526,6 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "The new management key has to be exactly %d character.\n", KEY_LEN * 2); fprintf(stderr, "The new management key has to be exactly %d character.\n", KEY_LEN * 2);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
} else {
fprintf(stderr, "The 'set-mgm-key' action needs the new-key (-n) argument.\n");
ret = EXIT_FAILURE;
}
break; break;
case action_arg_reset: case action_arg_reset:
if(reset(state) == false) { if(reset(state) == false) {
@@ -1565,21 +1579,15 @@ int main(int argc, char *argv[]) {
} }
break; break;
case action_arg_verifyMINUS_pin: case action_arg_verifyMINUS_pin:
if(args_info.pin_arg) {
if(verify_pin(state, args_info.pin_arg)) { if(verify_pin(state, args_info.pin_arg)) {
fprintf(stderr, "Successfully verified PIN.\n"); fprintf(stderr, "Successfully verified PIN.\n");
} else { } else {
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
} else {
fprintf(stderr, "The 'verify-pin' action needs a pin (-P).\n");
ret = EXIT_FAILURE;
}
break; break;
case action_arg_changeMINUS_pin: case action_arg_changeMINUS_pin:
case action_arg_changeMINUS_puk: case action_arg_changeMINUS_puk:
case action_arg_unblockMINUS_pin: case action_arg_unblockMINUS_pin:
if(args_info.pin_arg && args_info.new_pin_arg) {
if(change_pin(state, action, args_info.pin_arg, args_info.new_pin_arg)) { if(change_pin(state, action, args_info.pin_arg, args_info.new_pin_arg)) {
if(action == action_arg_unblockMINUS_pin) { if(action == action_arg_unblockMINUS_pin) {
fprintf(stderr, "Successfully unblocked the pin code.\n"); fprintf(stderr, "Successfully unblocked the pin code.\n");
@@ -1590,11 +1598,6 @@ int main(int argc, char *argv[]) {
} else { } else {
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
} else {
fprintf(stderr, "The '%s' action needs a %s (-P) and a new-pin (-N).\n",
cmdline_parser_action_values[action], action == action_arg_unblockMINUS_pin ? "puk" : "pin");
ret = EXIT_FAILURE;
}
break; break;
case action_arg_selfsignMINUS_certificate: case action_arg_selfsignMINUS_certificate:
if(selfsign_certificate(state, args_info.key_format_arg, args_info.input_arg, if(selfsign_certificate(state, args_info.key_format_arg, args_info.input_arg,