From 1428c01a5fd05e60ca30f9645202bfa44a0934f6 Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Wed, 7 Jun 2006 14:48:35 +0000 Subject: [PATCH] Include user@host in the pubkey line, since it's sometimes very useful --HG-- extra : convert_revision : c3d6444f31a3b583e6405e1b99e666d020e89eac --- dropbearkey.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/dropbearkey.c b/dropbearkey.c index 8ceefdc..0825053 100644 --- a/dropbearkey.c +++ b/dropbearkey.c @@ -297,6 +297,9 @@ static void printpubkey(sign_key * key, int keytype) { const char * typestring = NULL; char *fp = NULL; int len; + struct passwd * pw = NULL; + char * username = NULL; + char hostname[100]; buf = buf_new(MAX_PUBKEY_SIZE); buf_put_pub_key(buf, key, keytype); @@ -315,8 +318,19 @@ static void printpubkey(sign_key * key, int keytype) { fp = sign_key_fingerprint(buf_getptr(buf, len), len); - printf("Public key portion is:\n%s %s\nFingerprint: %s\n", - typestring, base64key, fp); + /* a user@host comment is informative */ + username = ""; + pw = getpwuid(getuid()); + if (pw) + { + username = pw->pw_name; + } + + gethostname(hostname, sizeof(hostname)); + hostname[sizeof(hostname)-1] = '\0'; + + printf("Public key portion is:\n%s %s %s@%s\nFingerprint: %s\n", + typestring, base64key, username, hostname, fp); m_free(fp); buf_free(buf);