diff --git a/CHANGES b/CHANGES index 4a475fb3e4..c8b69b7b23 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3879. [func] Add version printing option to various BIND utilities. + [RT #10686] + 3878. [bug] Using the incorrect filename for a DLZ module caused a segmentation fault on startup. [RT #36286] diff --git a/bin/dnssec/dnssec-dsfromkey.c b/bin/dnssec/dnssec-dsfromkey.c index bfedae830b..bfc616810a 100644 --- a/bin/dnssec/dnssec-dsfromkey.c +++ b/bin/dnssec/dnssec-dsfromkey.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-dsfromkey.c,v 1.24 2011/10/25 01:54:18 marka Exp $ */ - /*! \file */ #include @@ -326,6 +324,7 @@ usage(void) { fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Options:\n"); fprintf(stderr, " -v \n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, " -K : directory in which to find " "key file or keyset file\n"); fprintf(stderr, " -a algorithm: digest algorithm " @@ -375,7 +374,7 @@ main(int argc, char **argv) { isc_commandline_errprint = ISC_FALSE; while ((ch = isc_commandline_parse(argc, argv, - "12Aa:c:d:Ff:K:l:sT:v:h")) != -1) { + "12Aa:c:d:Ff:K:l:sT:v:hV")) != -1) { switch (ch) { case '1': dtype = DNS_DSDIGEST_SHA1; @@ -432,8 +431,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* FALLTHROUGH */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-dsfromkey.docbook b/bin/dnssec/dnssec-dsfromkey.docbook index 285b71416d..7245a83f4d 100644 --- a/bin/dnssec/dnssec-dsfromkey.docbook +++ b/bin/dnssec/dnssec-dsfromkey.docbook @@ -72,6 +72,11 @@ dnsname + + dnssec-dsfromkey + + + @@ -210,6 +215,24 @@ + + + -h + + + Prints usage information. + + + + + + -V + + + Prints version information. + + + diff --git a/bin/dnssec/dnssec-importkey.c b/bin/dnssec/dnssec-importkey.c index 95c44245fd..f07f02ecf5 100644 --- a/bin/dnssec/dnssec-importkey.c +++ b/bin/dnssec/dnssec-importkey.c @@ -269,6 +269,7 @@ usage(void) { "the key files\n"); fprintf(stderr, " -L ttl: set default key TTL\n"); fprintf(stderr, " -v \n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, " -h: print usage and exit\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set/unset key " @@ -306,7 +307,7 @@ main(int argc, char **argv) { isc_commandline_errprint = ISC_FALSE; -#define CMDLINE_FLAGS "D:f:hK:L:P:v:" +#define CMDLINE_FLAGS "D:f:hK:L:P:v:V" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { case 'D': @@ -346,8 +347,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* FALLTHROUGH */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-importkey.docbook b/bin/dnssec/dnssec-importkey.docbook index 3993af496f..5893abd270 100644 --- a/bin/dnssec/dnssec-importkey.docbook +++ b/bin/dnssec/dnssec-importkey.docbook @@ -50,6 +50,7 @@ + @@ -61,6 +62,7 @@ + @@ -147,6 +149,15 @@ + + -V + + + Prints version information. + + + + diff --git a/bin/dnssec/dnssec-keyfromlabel.c b/bin/dnssec/dnssec-keyfromlabel.c index 4b82925ed9..9dc9df7519 100644 --- a/bin/dnssec/dnssec-keyfromlabel.c +++ b/bin/dnssec/dnssec-keyfromlabel.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-keyfromlabel.c,v 1.38 2011/11/30 00:48:51 marka Exp $ */ - /*! \file */ #include @@ -94,6 +92,7 @@ usage(void) { "(default: AUTHCONF)\n"); fprintf(stderr, " -y: permit keys that might collide\n"); fprintf(stderr, " -v verbose level\n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, "Date options:\n"); fprintf(stderr, " -P date/[+-]offset: set key publication date\n"); fprintf(stderr, " -A date/[+-]offset: set key activation date\n"); @@ -175,7 +174,7 @@ main(int argc, char **argv) { isc_stdtime_get(&now); -#define CMDLINE_FLAGS "3A:a:Cc:D:E:Ff:GhI:i:kK:L:l:n:P:p:R:S:t:v:y" +#define CMDLINE_FLAGS "3A:a:Cc:D:E:Ff:GhI:i:kK:L:l:n:P:p:R:S:t:v:Vy" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { case '3': @@ -298,8 +297,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* FALLTHROUGH */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-keyfromlabel.docbook b/bin/dnssec/dnssec-keyfromlabel.docbook index 64ab264066..a47c95589f 100644 --- a/bin/dnssec/dnssec-keyfromlabel.docbook +++ b/bin/dnssec/dnssec-keyfromlabel.docbook @@ -69,6 +69,7 @@ + name @@ -304,6 +305,15 @@ + + -V + + + Prints version information. + + + + -y diff --git a/bin/dnssec/dnssec-keygen.c b/bin/dnssec/dnssec-keygen.c index b8f1f6020f..26504410db 100644 --- a/bin/dnssec/dnssec-keygen.c +++ b/bin/dnssec/dnssec-keygen.c @@ -29,8 +29,6 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-keygen.c,v 1.120 2011/11/30 00:48:51 marka Exp $ */ - /*! \file */ #include @@ -142,6 +140,7 @@ usage(void) { fprintf(stderr, " -m :\n"); fprintf(stderr, " usage | trace | record | size | mctx\n"); fprintf(stderr, " -v : set verbosity level (0 - 10)\n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set key publication date " "(default: now)\n"); @@ -257,7 +256,8 @@ main(int argc, char **argv) { /* * Process memory debugging argument first. */ -#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:kL:m:n:P:p:qR:r:S:s:T:t:v:" +#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:kL:m:n:P:p:qR:r:S:s:T:t:" \ + "v:V" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { case 'm': @@ -451,8 +451,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* FALLTHROUGH */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-keygen.docbook b/bin/dnssec/dnssec-keygen.docbook index f39d980873..725c4e1cbb 100644 --- a/bin/dnssec/dnssec-keygen.docbook +++ b/bin/dnssec/dnssec-keygen.docbook @@ -86,6 +86,7 @@ + name @@ -417,6 +418,15 @@ + + -V + + + Prints version information. + + + + diff --git a/bin/dnssec/dnssec-revoke.c b/bin/dnssec/dnssec-revoke.c index 7b11581064..4169474dac 100644 --- a/bin/dnssec/dnssec-revoke.c +++ b/bin/dnssec/dnssec-revoke.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-revoke.c,v 1.24 2011/10/20 23:46:51 tbox Exp $ */ - /*! \file */ #include @@ -65,6 +63,7 @@ usage(void) { fprintf(stderr, " -r: remove old keyfiles after " "creating revoked version\n"); fprintf(stderr, " -v level: set level of verbosity\n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, "Output:\n"); fprintf(stderr, " K++.key, " "K++.private\n"); @@ -104,7 +103,7 @@ main(int argc, char **argv) { isc_commandline_errprint = ISC_FALSE; - while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:")) != -1) { + while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:V")) != -1) { switch (ch) { case 'E': engine = isc_commandline_argument; @@ -140,8 +139,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* Falls into */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-revoke.docbook b/bin/dnssec/dnssec-revoke.docbook index 8fd18cc39b..85463d682c 100644 --- a/bin/dnssec/dnssec-revoke.docbook +++ b/bin/dnssec/dnssec-revoke.docbook @@ -47,6 +47,7 @@ dnssec-revoke + @@ -105,6 +106,15 @@ + + -V + + + Prints version information. + + + + -E engine diff --git a/bin/dnssec/dnssec-settime.c b/bin/dnssec/dnssec-settime.c index 4914ec1739..88f8cf1683 100644 --- a/bin/dnssec/dnssec-settime.c +++ b/bin/dnssec/dnssec-settime.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-settime.c,v 1.32 2011/06/02 20:24:45 each Exp $ */ - /*! \file */ #include @@ -68,6 +66,7 @@ usage(void) { fprintf(stderr, " -K directory: set key file location\n"); fprintf(stderr, " -L ttl: set default key TTL\n"); fprintf(stderr, " -v level: set level of verbosity\n"); + fprintf(stderr, " -V: print version information\n"); fprintf(stderr, " -h: help\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set/unset key " @@ -171,7 +170,7 @@ main(int argc, char **argv) { isc_stdtime_get(&now); -#define CMDLINE_FLAGS "A:D:E:fhI:i:K:L:P:p:R:S:uv:" +#define CMDLINE_FLAGS "A:D:E:fhI:i:K:L:P:p:R:S:uv:V" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { case 'E': @@ -301,8 +300,13 @@ main(int argc, char **argv) { program, isc_commandline_option); /* Falls into */ case 'h': + /* Does not return. */ usage(); + case 'V': + /* Does not return. */ + version(program); + default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); diff --git a/bin/dnssec/dnssec-settime.docbook b/bin/dnssec/dnssec-settime.docbook index 654cbc6ad4..b2c6a2a239 100644 --- a/bin/dnssec/dnssec-settime.docbook +++ b/bin/dnssec/dnssec-settime.docbook @@ -55,6 +55,7 @@ + keyfile @@ -140,6 +141,15 @@ + + -V + + + Prints version information. + + + + -v level diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c index f8c9b94e4c..dfeba07f54 100644 --- a/bin/dnssec/dnssec-signzone.c +++ b/bin/dnssec/dnssec-signzone.c @@ -29,8 +29,6 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-signzone.c,v 1.285 2011/12/22 07:32:39 each Exp $ */ - /*! \file */ #include @@ -2926,6 +2924,7 @@ usage(void) { fprintf(stderr, "\t-j jitter:\n"); fprintf(stderr, "\t\trandomize signature end time up to jitter seconds\n"); fprintf(stderr, "\t-v debuglevel (0)\n"); + fprintf(stderr, "\t-V:\tprint version information\n"); fprintf(stderr, "\t-o origin:\n"); fprintf(stderr, "\t\tzone origin (name of zonefile)\n"); fprintf(stderr, "\t-f outfile:\n"); @@ -2981,6 +2980,7 @@ usage(void) { fprintf(stderr, "Signing Keys: "); fprintf(stderr, "(default: all zone keys that have private keys)\n"); fprintf(stderr, "\tkeyfile (Kname+alg+tag)\n"); + exit(0); } @@ -3063,7 +3063,7 @@ main(int argc, char *argv[]) { /* Unused letters: Bb G J M q Yy (and F is reserved). */ #define CMDLINE_FLAGS \ - "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:n:N:o:O:PpQRr:s:ST:tuUv:X:xzZ:" + "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:n:N:o:O:PpQRr:s:ST:tuUv:VX:xzZ:" /* * Process memory debugging argument first. @@ -3180,10 +3180,6 @@ main(int argc, char *argv[]) { fatal("iterations too big"); break; - case 'h': - usage(); - break; - case 'I': inputformatstr = isc_commandline_argument; break; @@ -3330,17 +3326,24 @@ main(int argc, char *argv[]) { if (isc_commandline_option != '?') fprintf(stderr, "%s: invalid argument -%c\n", program, isc_commandline_option); + /* FALLTHROUGH */ + case 'h': + /* Does not return. */ usage(); + + case 'V': + /* Does not return. */ + version(program); + + case 'Z': /* Undocumented test options */ + if (!strcmp(isc_commandline_argument, "nonsecify")) + nonsecify = ISC_TRUE; break; default: fprintf(stderr, "%s: unhandled option -%c\n", program, isc_commandline_option); exit(1); - case 'Z': /* Undocumented test options */ - if (!strcmp(isc_commandline_argument, "nonsecify")) - nonsecify = ISC_TRUE; - break; } } diff --git a/bin/dnssec/dnssec-signzone.docbook b/bin/dnssec/dnssec-signzone.docbook index 4fd45d59b3..4a092112c7 100644 --- a/bin/dnssec/dnssec-signzone.docbook +++ b/bin/dnssec/dnssec-signzone.docbook @@ -88,6 +88,7 @@ + @@ -308,6 +309,15 @@ + + -V + + + Prints version information. + + + + -i interval diff --git a/bin/dnssec/dnssec-verify.c b/bin/dnssec/dnssec-verify.c index efadacc4c7..09e5211d47 100644 --- a/bin/dnssec/dnssec-verify.c +++ b/bin/dnssec/dnssec-verify.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-verify.c,v 1.1.2.1 2011/03/16 06:37:51 each Exp $ */ - /*! \file */ #include @@ -131,6 +129,7 @@ usage(void) { fprintf(stderr, "Options: (default value in parenthesis) \n"); fprintf(stderr, "\t-v debuglevel (0)\n"); + fprintf(stderr, "\t-V:\tprint version information\n"); fprintf(stderr, "\t-o origin:\n"); fprintf(stderr, "\t\tzone origin (name of zonefile)\n"); fprintf(stderr, "\t-I format:\n"); @@ -166,7 +165,7 @@ main(int argc, char *argv[]) { int ch; #define CMDLINE_FLAGS \ - "m:o:I:c:E:v:xz" + "hm:o:I:c:E:v:Vxz" /* * Process memory debugging argument first. @@ -210,10 +209,6 @@ main(int argc, char *argv[]) { engine = isc_commandline_argument; break; - case 'h': - usage(); - break; - case 'I': inputformatstr = isc_commandline_argument; break; @@ -244,8 +239,15 @@ main(int argc, char *argv[]) { if (isc_commandline_option != '?') fprintf(stderr, "%s: invalid argument -%c\n", program, isc_commandline_option); + /* FALLTHROUGH */ + + case 'h': + /* Does not return. */ usage(); - break; + + case 'V': + /* Does not return. */ + version(program); default: fprintf(stderr, "%s: unhandled option -%c\n", diff --git a/bin/dnssec/dnssec-verify.docbook b/bin/dnssec/dnssec-verify.docbook index c6abb7b849..d3c47c9c15 100644 --- a/bin/dnssec/dnssec-verify.docbook +++ b/bin/dnssec/dnssec-verify.docbook @@ -49,6 +49,7 @@ + zonefile @@ -112,6 +113,15 @@ + + -V + + + Prints version information. + + + + -x diff --git a/bin/dnssec/dnssectool.c b/bin/dnssec/dnssectool.c index d8069bdbf9..ae0adc8422 100644 --- a/bin/dnssec/dnssectool.c +++ b/bin/dnssec/dnssectool.c @@ -15,8 +15,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssectool.c,v 1.63 2011/10/21 03:55:33 marka Exp $ */ - /*! \file */ /*% @@ -121,6 +119,12 @@ vbprintf(int level, const char *fmt, ...) { va_end(ap); } +void +version(const char *program) { + fprintf(stderr, "%s %s\n", program, VERSION); + exit(0); +} + void type_format(const dns_rdatatype_t type, char *cp, unsigned int size) { isc_buffer_t b; diff --git a/bin/dnssec/dnssectool.h b/bin/dnssec/dnssectool.h index adfd747b22..f51bd0001a 100644 --- a/bin/dnssec/dnssectool.h +++ b/bin/dnssec/dnssectool.h @@ -45,6 +45,9 @@ check_result(isc_result_t result, const char *message); void vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); +void +version(const char *program); + void type_format(const dns_rdatatype_t type, char *cp, unsigned int size); #define TYPE_FORMATSIZE 20 diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c index 34b9306551..b77938d080 100644 --- a/bin/nsupdate/nsupdate.c +++ b/bin/nsupdate/nsupdate.c @@ -962,6 +962,11 @@ get_addresses(char *host, in_port_t port, host, isc_result_totext(result)); } +static void +version(void) { + fputs("nsupdate " VERSION "\n", stderr); +} + #define PARSE_ARGS_FMT "dDML:y:ghlovk:p:r:R::t:u:V" static void @@ -985,7 +990,11 @@ pre_parse_args(int argc, char **argv) { argv[0], isc_commandline_option); fprintf(stderr, "usage: nsupdate [-dD] [-L level] [-l]" "[-g | -o | -y keyname:secret | -k keyfile] " - "[-v] [filename]\n"); + "[-v] [-V] [filename]\n"); + exit(1); + + case 'V': + version(); exit(1); default: @@ -996,11 +1005,6 @@ pre_parse_args(int argc, char **argv) { isc_commandline_index = 1; } -static void -version(void) { - fputs("nsupdate " VERSION "\n", stderr); -} - static void parse_args(int argc, char **argv, isc_mem_t *mctx, isc_entropy_t **ectx) { int ch; @@ -1038,10 +1042,6 @@ parse_args(int argc, char **argv, isc_mem_t *mctx, isc_entropy_t **ectx) { case 'v': usevc = ISC_TRUE; break; - case 'V': - version(); - exit(0); - break; case 'k': keyfile = isc_commandline_argument; break;