mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-27 12:13:20 -04:00
dnssec-verify now returns failure on bad arguments
(cherry picked from commit ac3fba068e)
This commit is contained in:
parent
ac8b23b80b
commit
f7f96a5fdb
12 changed files with 84 additions and 65 deletions
|
|
@ -63,10 +63,10 @@ static enum { progmode_check, progmode_compile } progmode;
|
|||
} while (0)
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr,
|
||||
"usage: %s [-djqvD] [-c class] "
|
||||
"[-f inputformat] [-F outputformat] [-J filename] "
|
||||
|
|
@ -79,7 +79,7 @@ usage(void) {
|
|||
"%s zonename [ (filename|-) ]\n",
|
||||
prog_name,
|
||||
progmode == progmode_check ? "[-o filename]" : "-o filename");
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -431,9 +431,10 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
prog_name, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
default:
|
||||
fprintf(stderr, "%s: unhandled option -%c\n", prog_name,
|
||||
|
|
@ -496,7 +497,7 @@ main(int argc, char **argv) {
|
|||
if (output_filename == NULL) {
|
||||
fprintf(stderr, "output file required, but not "
|
||||
"specified\n");
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -520,7 +521,7 @@ main(int argc, char **argv) {
|
|||
if (argc - isc_commandline_index < 1 ||
|
||||
argc - isc_commandline_index > 2)
|
||||
{
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
|
|||
|
|
@ -171,8 +171,11 @@ get_reverse(char *reverse, size_t len, char *value, bool strict);
|
|||
static isc_result_t
|
||||
parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc);
|
||||
|
||||
noreturn static void
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr,
|
||||
"Usage: delv [@server] {q-opt} {d-opt} [domain] [q-type] "
|
||||
"[q-class]\n"
|
||||
|
|
@ -256,7 +259,7 @@ usage(void) {
|
|||
"process)\n"
|
||||
" +[no]yaml (Present the results as "
|
||||
"YAML)\n");
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
|
|
@ -1438,7 +1441,7 @@ plus_option(char *option) {
|
|||
invalid_option:
|
||||
need_value:
|
||||
fprintf(stderr, "Invalid option: +%s\n", option);
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -1491,8 +1494,8 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
|||
}
|
||||
break;
|
||||
case 'h':
|
||||
usage();
|
||||
exit(EXIT_SUCCESS);
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'i':
|
||||
no_sigs = true;
|
||||
root_validation = false;
|
||||
|
|
@ -1645,7 +1648,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
|||
invalid_option:
|
||||
default:
|
||||
fprintf(stderr, "Invalid option: -%s\n", option);
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
UNREACHABLE();
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -331,10 +331,10 @@ emits(bool showall, bool cds, dns_rdata_t *rdata) {
|
|||
}
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s [options] keyfile\n\n", program);
|
||||
fprintf(stderr, " %s [options] -f zonefile [zonename]\n\n", program);
|
||||
|
|
@ -361,7 +361,7 @@ usage(void) {
|
|||
" -V: print version information\n");
|
||||
fprintf(stderr, "Output: DS or CDS RRs\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -381,7 +381,7 @@ main(int argc, char **argv) {
|
|||
dns_rdata_init(&rdata);
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
@ -451,10 +451,12 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
|
|||
|
|
@ -264,10 +264,10 @@ emit(const char *dir, dns_rdata_t *rdata) {
|
|||
}
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s options [-K dir] keyfile\n\n", program);
|
||||
fprintf(stderr, " %s options -f file [keyname]\n\n", program);
|
||||
|
|
@ -290,7 +290,7 @@ usage(void) {
|
|||
fprintf(stderr, " -D sync date/[+-]offset/none: set/unset "
|
||||
"CDS and CDNSKEY deletion date\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -308,7 +308,7 @@ main(int argc, char **argv) {
|
|||
dns_rdata_init(&rdata);
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
@ -384,10 +384,11 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
|
|||
|
|
@ -46,10 +46,10 @@ const char *program = "dnssec-keyfromlabel";
|
|||
static uint16_t tag_min = 0, tag_max = 0xffff;
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s -l label [options] name\n\n", program);
|
||||
fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
|
||||
|
|
@ -105,7 +105,7 @@ usage(void) {
|
|||
fprintf(stderr, " K<name>+<alg>+<id>.key, "
|
||||
"K<name>+<alg>+<id>.private\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -156,7 +156,7 @@ main(int argc, char **argv) {
|
|||
isc_stdtime_t now = isc_stdtime_now();
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
@ -336,10 +336,12 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ static int min_dh = 128;
|
|||
isc_log_t *lctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
progress(int p);
|
||||
|
|
@ -140,7 +140,7 @@ struct keygen_ctx {
|
|||
typedef struct keygen_ctx keygen_ctx_t;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s [options] name\n\n", program);
|
||||
fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
|
||||
|
|
@ -226,7 +226,7 @@ usage(void) {
|
|||
fprintf(stderr, " K<name>+<alg>+<id>.key, "
|
||||
"K<name>+<alg>+<id>.private\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -879,7 +879,7 @@ main(int argc, char **argv) {
|
|||
};
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_commandline_errprint = false;
|
||||
|
|
@ -1134,10 +1134,12 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
|
|||
|
|
@ -39,10 +39,10 @@ const char *program = "dnssec-revoke";
|
|||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s [options] keyfile\n\n", program);
|
||||
fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
|
||||
|
|
@ -58,7 +58,7 @@ usage(void) {
|
|||
fprintf(stderr, " K<name>+<alg>+<new id>.key, "
|
||||
"K<name>+<alg>+<new id>.private\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -79,7 +79,7 @@ main(int argc, char **argv) {
|
|||
bool id = false;
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
@ -118,10 +118,12 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ const char *program = "dnssec-settime";
|
|||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s [options] keyfile\n\n", program);
|
||||
fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
|
||||
|
|
@ -101,7 +101,7 @@ usage(void) {
|
|||
fprintf(stderr, " K<name>+<alg>+<new id>.key, "
|
||||
"K<name>+<alg>+<new id>.private\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -242,7 +242,7 @@ main(int argc, char **argv) {
|
|||
options = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE;
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
|
|
@ -339,10 +339,13 @@ main(int argc, char **argv) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'I':
|
||||
if (setinact || unsetinact) {
|
||||
fatal("-I specified more than once");
|
||||
|
|
@ -476,7 +479,7 @@ main(int argc, char **argv) {
|
|||
case ' ':
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
break;
|
||||
}
|
||||
} while (*p != '\0');
|
||||
|
|
|
|||
|
|
@ -3234,10 +3234,10 @@ print_version(FILE *fp) {
|
|||
}
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, "\t%s [options] zonefile [keys]\n", program);
|
||||
|
||||
|
|
@ -3325,7 +3325,7 @@ usage(void) {
|
|||
fprintf(stderr, "(default: all zone keys that have private keys)\n");
|
||||
fprintf(stderr, "\tkeyfile (Kname+alg+tag)\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -3699,10 +3699,12 @@ main(int argc, char *argv[]) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
@ -3795,7 +3797,7 @@ main(int argc, char *argv[]) {
|
|||
argv += isc_commandline_index;
|
||||
|
||||
if (argc < 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
file = argv[0];
|
||||
|
|
|
|||
|
|
@ -138,10 +138,10 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
|||
}
|
||||
|
||||
noreturn static void
|
||||
usage(void);
|
||||
usage(int ret);
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
usage(int ret) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, "\t%s [options] zonefile [keys]\n", program);
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ usage(void) {
|
|||
fprintf(stderr, "\t-x:\tDNSKEY record signed with KSKs only, "
|
||||
"not ZSKs\n");
|
||||
fprintf(stderr, "\t-z:\tAll records signed with KSKs\n");
|
||||
exit(EXIT_SUCCESS);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -259,11 +259,12 @@ main(int argc, char *argv[]) {
|
|||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
}
|
||||
FALLTHROUGH;
|
||||
/* Does not return. */
|
||||
usage(EXIT_FAILURE);
|
||||
|
||||
case 'h':
|
||||
/* Does not return. */
|
||||
usage();
|
||||
usage(EXIT_SUCCESS);
|
||||
|
||||
case 'V':
|
||||
/* Does not return. */
|
||||
|
|
@ -292,7 +293,7 @@ main(int argc, char *argv[]) {
|
|||
argv += isc_commandline_index;
|
||||
|
||||
if (argc < 1) {
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
file = argv[0];
|
||||
|
|
|
|||
|
|
@ -574,13 +574,13 @@ try_key:
|
|||
}
|
||||
|
||||
bool
|
||||
isoptarg(const char *arg, char **argv, void (*usage)(void)) {
|
||||
isoptarg(const char *arg, char **argv, void (*usage)(int ret)) {
|
||||
if (!strcasecmp(isc_commandline_argument, arg)) {
|
||||
if (argv[isc_commandline_index] == NULL) {
|
||||
fprintf(stderr, "%s: missing argument -%c %s\n",
|
||||
program, isc_commandline_option,
|
||||
isc_commandline_argument);
|
||||
usage();
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
isc_commandline_argument = argv[isc_commandline_index];
|
||||
/* skip to next argument */
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
|||
isc_mem_t *mctx, uint16_t min, uint16_t max, bool *exact);
|
||||
|
||||
bool
|
||||
isoptarg(const char *arg, char **argv, void (*usage)(void));
|
||||
isoptarg(const char *arg, char **argv, void (*usage)(int ret));
|
||||
|
||||
void
|
||||
loadjournal(isc_mem_t *mctx, dns_db_t *db, const char *journal);
|
||||
|
|
|
|||
Loading…
Reference in a new issue