From 5d5d5d78ff5efc18233ac6d74a2e294aaa0db2e1 Mon Sep 17 00:00:00 2001 From: djm Date: Wed, 27 May 2026 03:04:30 +0000 Subject: [PATCH] add a -V flag to print the version, but mostly as a way to check the binary is functional; ok deraadt@ --- usr.bin/ssh/ssh-agent.1 | 8 ++++++-- usr.bin/ssh/ssh-agent.c | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/usr.bin/ssh/ssh-agent.1 b/usr.bin/ssh/ssh-agent.1 index c0d01fd9701..723000399f3 100644 --- a/usr.bin/ssh/ssh-agent.1 +++ b/usr.bin/ssh/ssh-agent.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-agent.1,v 1.86 2025/10/04 21:41:35 naddy Exp $ +.\" $OpenBSD: ssh-agent.1,v 1.87 2026/05/27 03:04:30 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -34,7 +34,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: October 4 2025 $ +.Dd $Mdocdate: May 27 2026 $ .Dt SSH-AGENT 1 .Os .Sh NAME @@ -62,6 +62,8 @@ .Fl k .Nm ssh-agent .Fl u +.Nm ssh-agent +.Fl V .Sh DESCRIPTION .Nm is a program to hold private keys used for public key authentication. @@ -208,6 +210,8 @@ If a command (and optional arguments) is given, this is executed as a subprocess of the agent. The agent exits automatically when the command given on the command line terminates. +.It Fl V +Display the version number and exit. .El .Pp There are two main ways to get an agent set up. diff --git a/usr.bin/ssh/ssh-agent.c b/usr.bin/ssh/ssh-agent.c index f83dd03bdd1..35cb464d786 100644 --- a/usr.bin/ssh/ssh-agent.c +++ b/usr.bin/ssh/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.325 2026/04/28 21:32:05 djm Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.326 2026/05/27 03:04:30 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -77,6 +77,7 @@ #include "ssh-pkcs11.h" #include "sk-api.h" #include "myproposal.h" +#include "version.h" #ifndef DEFAULT_ALLOWED_PROVIDERS # define DEFAULT_ALLOWED_PROVIDERS "/usr/lib*/*,/usr/local/lib*/*" @@ -2253,7 +2254,7 @@ main(int ac, char **av) if (getrlimit(RLIMIT_NOFILE, &rlim) == -1) fatal("%s: getrlimit: %s", __progname, strerror(errno)); - while ((ch = getopt(ac, av, "cDdksTuUE:a:O:P:t:")) != -1) { + while ((ch = getopt(ac, av, "cDdksTuUVE:a:O:P:t:")) != -1) { switch (ch) { case 'E': fingerprint_hash = ssh_digest_alg_by_name(optarg); @@ -2319,6 +2320,10 @@ main(int ac, char **av) case 'U': U_flag++; break; + case 'V': + fprintf(stderr, "%s, %s\n", + SSH_VERSION, SSH_OPENSSL_VERSION); + exit(0); default: usage(); }