mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-12-28 21:22:07 +00:00
- djm@cvs.openbsd.org 2014/07/03 01:45:38
[sshkey.c] make Ed25519 keys' title fit properly in the randomart border; bz#2247 based on patch from Christian Hesse
This commit is contained in:
parent
9eb4cd9a32
commit
61e28e55c3
@ -3,6 +3,11 @@
|
||||
doesn't support it.
|
||||
- (djm) [monitor_fdpass.c] Use sys/poll.h if poll.h doesn't exist;
|
||||
bz#2237
|
||||
- OpenBSD CVS Sync
|
||||
- djm@cvs.openbsd.org 2014/07/03 01:45:38
|
||||
[sshkey.c]
|
||||
make Ed25519 keys' title fit properly in the randomart border; bz#2247
|
||||
based on patch from Christian Hesse
|
||||
|
||||
20140702
|
||||
- OpenBSD CVS Sync
|
||||
|
25
sshkey.c
25
sshkey.c
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: sshkey.c,v 1.2 2014/06/27 18:50:39 markus Exp $ */
|
||||
/* $OpenBSD: sshkey.c,v 1.3 2014/07/03 01:45:38 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2008 Alexander von Gernler. All rights reserved.
|
||||
@ -1026,11 +1026,11 @@ fingerprint_randomart(u_char *dgst_raw, size_t dgst_raw_len,
|
||||
* intersects with itself. Matter of taste.
|
||||
*/
|
||||
char *augmentation_string = " .o+=*BOX@%&#/^SE";
|
||||
char *retval, *p;
|
||||
char *retval, *p, title[FLDSIZE_X];
|
||||
u_char field[FLDSIZE_X][FLDSIZE_Y];
|
||||
size_t i;
|
||||
size_t i, tlen;
|
||||
u_int b;
|
||||
int x, y;
|
||||
int x, y, r;
|
||||
size_t len = strlen(augmentation_string) - 1;
|
||||
|
||||
if ((retval = calloc((FLDSIZE_X + 3), (FLDSIZE_Y + 2))) == NULL)
|
||||
@ -1068,12 +1068,21 @@ fingerprint_randomart(u_char *dgst_raw, size_t dgst_raw_len,
|
||||
field[FLDSIZE_X / 2][FLDSIZE_Y / 2] = len - 1;
|
||||
field[x][y] = len;
|
||||
|
||||
/* fill in retval */
|
||||
snprintf(retval, FLDSIZE_X, "+--[%4s %4u]",
|
||||
sshkey_type(k), sshkey_size(k));
|
||||
p = strchr(retval, '\0');
|
||||
/* assemble title */
|
||||
r = snprintf(title, sizeof(title), "[%s %u]",
|
||||
sshkey_type(k), sshkey_size(k));
|
||||
/* If [type size] won't fit, then try [type]; fits "[ED25519-CERT]" */
|
||||
if (r < 0 || r > (int)sizeof(title))
|
||||
snprintf(title, sizeof(title), "[%s]", sshkey_type(k));
|
||||
tlen = strlen(title);
|
||||
|
||||
/* output upper border */
|
||||
p = retval;
|
||||
*p++ = '+';
|
||||
for (i = 0; i < (FLDSIZE_X - tlen) / 2; i++)
|
||||
*p++ = '-';
|
||||
memcpy(p, title, tlen);
|
||||
p += tlen;
|
||||
for (i = p - retval - 1; i < FLDSIZE_X; i++)
|
||||
*p++ = '-';
|
||||
*p++ = '+';
|
||||
|
Loading…
Reference in New Issue
Block a user