[openssh-commits] [openssh] 02/02: upstream: Add local hostname and pid to ~I escape connection info,

git+noreply at mindrot.org git+noreply at mindrot.org
Sat Nov 29 19:01:30 AEDT 2025


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit 8fce5520a1c9c2cf3fc6c6974dd158f4b3ce9c4e
Author: dtucker at openbsd.org <dtucker at openbsd.org>
AuthorDate: Sat Nov 29 06:49:56 2025 +0000

    upstream: Add local hostname and pid to ~I escape connection info,
    
    only display peer information for TCP connections including source address
    and port This provides enough information to uniquely identify a connection
    on the host or network.
    
    OpenBSD-Commit-ID: aa18a4af2de41c298d1195d2566808585f8ce964
---
 packet.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/packet.c b/packet.c
index d0d2560dd..be90e90d4 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.325 2025/11/29 05:00:50 dtucker Exp $ */
+/* $OpenBSD: packet.c,v 1.326 2025/11/29 06:49:56 dtucker Exp $ */
 /*
  * Author: Tatu Ylonen <ylo at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -2978,6 +2978,7 @@ connection_info_message(struct ssh *ssh)
 {
 	char *ret = NULL, *cipher = NULL, *mac = NULL, *comp = NULL;
 	char *rekey_volume = NULL, *rekey_time = NULL, *comp_info = NULL;
+	char thishost[NI_MAXHOST] = "unknown", *tcp_info = NULL;
 	struct kex *kex;
 	struct session_state *state;
 	struct newkeys *nk_in, *nk_out;
@@ -2989,6 +2990,17 @@ connection_info_message(struct ssh *ssh)
 	state = ssh->state;
 	kex = ssh->kex;
 
+	(void)gethostname(thishost, sizeof(thishost));
+
+	if (ssh_local_port(ssh) != 65535 ||
+	     strcmp(ssh_local_ipaddr(ssh), "UNKNOWN") != 0) {
+		xasprintf(&tcp_info, "  tcp %s:%d -> %s:%d\r\n",
+		    ssh_local_ipaddr(ssh), ssh_local_port(ssh),
+		    ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
+	} else {
+		tcp_info = xstrdup("");
+	}
+
 	nk_in = ssh->state->newkeys[MODE_IN];
 	nk_out = ssh->state->newkeys[MODE_OUT];
 	stats_in = format_traffic_stats(&ssh->state->p_read);
@@ -3026,19 +3038,22 @@ connection_info_message(struct ssh *ssh)
 	}
 	comp_info = comp_status_message(ssh);
 
-	xasprintf(&ret, "Connection information for peer %s port %d:\r\n"
+	xasprintf(&ret, "Connection information for %s pid %lld:\r\n"
+	    "%s"
 	    "  kexalgorithm %s\r\n  hostkeyalgorithm %s\r\n"
 	    "  cipher %s\r\n  mac %s\r\n  compression %s\r\n"
 	    "  rekey %s %s\r\n"
 	    "  traffic %s in, %s out\r\n"
 	    "%s",
-	    ssh_remote_ipaddr(ssh), ssh_remote_port(ssh),
+	    thishost, (long long)getpid(),
+	    tcp_info,
 	    kex->name, kex->hostkey_alg,
 	    cipher, mac, comp,
 	    rekey_volume, rekey_time,
 	    stats_in, stats_out,
 	    comp_info
 	);
+	free(tcp_info);
 	free(cipher);
 	free(mac);
 	free(comp);

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list