]> andersk Git - openssh.git/commitdiff
- djm@cvs.openbsd.org 2010/01/11 10:51:07
authordtucker <dtucker>
Tue, 12 Jan 2010 08:41:57 +0000 (08:41 +0000)
committerdtucker <dtucker>
Tue, 12 Jan 2010 08:41:57 +0000 (08:41 +0000)
     [ssh-keygen.c]
     when converting keys, truncate key comments at 72 chars as per RFC4716;
     bz#1630 reported by tj AT castaglia.org; ok markus@

ChangeLog
ssh-keygen.c

index 74936fa8b0dc619074fb3a8747974cf8f911cbcf..a9ae9ea3e162c18d0c9d1186858bff42508185bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
      Do not prompt for a passphrase if we fail to open a keyfile, and log the
      reason the open failed to debug.
      bz #1693, found by tj AT castaglia org, ok djm@
+   - djm@cvs.openbsd.org 2010/01/11 10:51:07
+     [ssh-keygen.c]
+     when converting keys, truncate key comments at 72 chars as per RFC4716;
+     bz#1630 reported by tj AT castaglia.org; ok markus@
 
 20100110
  - (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c]
index 4f90ac5c1c7e2f6d9314645a501bae6ff5c224f2..7f5185f8e4b70a04bf37f2168ea0ec630f832765 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keygen.c,v 1.175 2009/08/27 17:33:49 djm Exp $ */
+/* $OpenBSD: ssh-keygen.c,v 1.176 2010/01/11 10:51:07 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -181,6 +181,7 @@ do_convert_to_ssh2(struct passwd *pw)
        Key *k;
        u_int len;
        u_char *blob;
+       char comment[61];
        struct stat st;
 
        if (!have_identity)
@@ -203,11 +204,14 @@ do_convert_to_ssh2(struct passwd *pw)
                fprintf(stderr, "key_to_blob failed\n");
                exit(1);
        }
-       fprintf(stdout, "%s\n", SSH_COM_PUBLIC_BEGIN);
-       fprintf(stdout,
-           "Comment: \"%u-bit %s, converted from OpenSSH by %s@%s\"\n",
+       /* Comment + surrounds must fit into 72 chars (RFC 4716 sec 3.3) */
+       snprintf(comment, sizeof(comment),
+           "%u-bit %s, converted by %s@%s from OpenSSH",
            key_size(k), key_type(k),
            pw->pw_name, hostname);
+
+       fprintf(stdout, "%s\n", SSH_COM_PUBLIC_BEGIN);
+       fprintf(stdout, "Comment: \"%s\"\n", comment);
        dump_base64(stdout, blob, len);
        fprintf(stdout, "%s\n", SSH_COM_PUBLIC_END);
        key_free(k);
This page took 0.05823 seconds and 5 git commands to generate.