diff --git a/cli-runopts.c b/cli-runopts.c index f8e289bf5fd9cb80ac2b20900e8b5cf4be030c67..5f36f7c5206430a493f0c41f2142c488bdfd6bc0 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -90,6 +90,7 @@ static void printhelp() { "-c <cipher list> Specify preferred ciphers ('-c help' to list options)\n" "-m <MAC list> Specify preferred MACs for packet verification (or '-m help')\n" #endif + "-V Version\n" #ifdef DEBUG_TRACE "-v verbose (compiled with DEBUG_TRACE)\n" #endif @@ -324,6 +325,10 @@ void cli_getopts(int argc, char ** argv) { #ifndef ENABLE_CLI_LOCALTCPFWD case 'L': #endif + case 'V': + print_version(); + exit(EXIT_SUCCESS); + break; case 'o': case 'b': next = &dummy; diff --git a/common-runopts.c b/common-runopts.c index 699ebdaac9fa210f05abae25cdcaef1e8c87c598..cdac77e1cedd8359ff7638c0d420ac2ddcdee212 100644 --- a/common-runopts.c +++ b/common-runopts.c @@ -106,3 +106,8 @@ parse_ciphers_macs() } #endif +void print_version(const char* name) { + fprintf(stderr, "Dropbear %s v%s\n", name, DROPBEAR_VERSION); +} + + diff --git a/dbclient.1 b/dbclient.1 index a6dff62bc855a4ed8b13c363fb48002a3a1cf943..4502b2374ff06f5c0c587be9f16530f52c526d48 100644 --- a/dbclient.1 +++ b/dbclient.1 @@ -19,8 +19,7 @@ dbclient \- lightweight SSH client .SH DESCRIPTION .B dbclient -is a SSH client designed to be small enough to be used in small memory -environments, while still being functional and secure enough for general use. +is a small SSH client .SH OPTIONS .TP .B \-p \fIport @@ -98,7 +97,7 @@ Ensure that traffic is transmitted at a certain interval in seconds. This is useful for working around firewalls or routers that drop connections after a certain period of inactivity. The trade-off is that a session may be closed if there is a temporary lapse of network connectivity. A setting -if 0 disables keepalives. +if 0 disables keepalives. If no response is received for 3 consecutive keepalives the connection will be closed. .TP .B \-I \fIidle_timeout Disconnect the session if no traffic is transmitted or received for \fIidle_timeout\fR seconds. @@ -121,6 +120,9 @@ Specify a comma separated list of authentication MACs to enable. Use \fI-m help\ .TP .B \-s The specified command will be requested as a subsystem, used for sftp. Dropbear doesn't implement sftp itself but the OpenSSH sftp client can be used eg \fIsftp -S dbclient user@host\fR +.TP +.B \-V +Print the version .SH MULTI-HOP Dropbear will also allow multiple "hops" to be specified, separated by commas. In diff --git a/dropbear.8 b/dropbear.8 index 032e4ce0f692f1aa09edc43842394794d5f92aa4..42f8ddb3508de3f12b27cb39a7828e720e9fd80f 100644 --- a/dropbear.8 +++ b/dropbear.8 @@ -10,8 +10,7 @@ dropbear \- lightweight SSH server .IR [address:]port ] .SH DESCRIPTION .B dropbear -is a SSH server designed to be small enough to be used in small memory -environments, while still being functional and secure enough for general use. +is a small SSH server .SH OPTIONS .TP .B \-b \fIbanner @@ -88,10 +87,14 @@ Ensure that traffic is transmitted at a certain interval in seconds. This is useful for working around firewalls or routers that drop connections after a certain period of inactivity. The trade-off is that a session may be closed if there is a temporary lapse of network connectivity. A setting -if 0 disables keepalives. +if 0 disables keepalives. If no response is received for 3 consecutive keepalives the connection will be closed. .TP .B \-I \fIidle_timeout Disconnect the session if no traffic is transmitted or received for \fIidle_timeout\fR seconds. +.TP +.B \-V +Print the version + .SH FILES .TP diff --git a/runopts.h b/runopts.h index f3d784c58efdbd42ae24ac1f27e5976cf469d36f..28a50ddb374f86c8535f1e17dac4c09b601a1902 100644 --- a/runopts.h +++ b/runopts.h @@ -164,4 +164,6 @@ void cli_getopts(int argc, char ** argv); void parse_ciphers_macs(); #endif +void print_version(const char* name); + #endif /* _RUNOPTS_H_ */ diff --git a/svr-runopts.c b/svr-runopts.c index 414cb45e0a84edf3df0419c1f1502d76fe7db876..ad946bcdaa9c0d901564af15bb13e00424625a70 100644 --- a/svr-runopts.c +++ b/svr-runopts.c @@ -92,6 +92,7 @@ static void printhelp(const char * progname) { "-W <receive_window_buffer> (default %d, larger may be faster, max 1MB)\n" "-K <keepalive> (0 is never, default %d, in seconds)\n" "-I <idle_timeout> (0 is never, default %d, in seconds)\n" + "-V Version\n" #ifdef DEBUG_TRACE "-v verbose (compiled with DEBUG_TRACE)\n" #endif @@ -256,7 +257,7 @@ void svr_getopts(int argc, char ** argv) { #endif case 'h': printhelp(argv[0]); - exit(EXIT_FAILURE); + exit(EXIT_SUCCESS); break; case 'u': /* backwards compatibility with old urandom option */ @@ -266,6 +267,10 @@ void svr_getopts(int argc, char ** argv) { debug_trace = 1; break; #endif + case 'V': + print_version("server"); + exit(EXIT_SUCCESS); + break; default: fprintf(stderr, "Unknown argument %s\n", argv[i]); printhelp(argv[0]);