]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Make the standard output messages of both methods of
authorlum@openbsd.org <lum@openbsd.org>
Wed, 29 May 2019 08:30:26 +0000 (08:30 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 7 Jun 2019 14:20:01 +0000 (00:20 +1000)
changing a key pair's comments (using -c and -C) more applicable to both
methods. ok and suggestions djm@ dtucker@

OpenBSD-Commit-ID: b379338118109eb36e14a65bc0a12735205b3de6

ssh-keygen.c

index 3898b281e5a09ed15aa62cc3454bed9e0eb6c7d4..db371090d8a58f39519192a838b6baea9f0ce80c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keygen.c,v 1.329 2019/03/25 16:19:44 dtucker Exp $ */
+/* $OpenBSD: ssh-keygen.c,v 1.330 2019/05/29 08:30:26 lum Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1488,14 +1488,14 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
                exit(1);
        }
        if (comment)
-               printf("Key now has comment '%s'\n", comment);
+               printf("Old comment: %s\n", comment);
        else
-               printf("Key now has no comment\n");
+               printf("No existing comment\n");
 
        if (identity_comment) {
                strlcpy(new_comment, identity_comment, sizeof(new_comment));
        } else {
-               printf("Enter new comment: ");
+               printf("New comment: ");
                fflush(stdout);
                if (!fgets(new_comment, sizeof(new_comment), stdin)) {
                        explicit_bzero(passphrase, strlen(passphrase));
@@ -1504,6 +1504,13 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
                }
                new_comment[strcspn(new_comment, "\n")] = '\0';
        }
+       if (comment != NULL && strcmp(comment, new_comment) == 0) {
+               printf("No change to comment\n");
+               free(passphrase);
+               sshkey_free(private);
+               free(comment);
+               exit(0);
+       }
 
        /* Save the file using the new passphrase. */
        if ((r = sshkey_save_private(private, identity_file, passphrase,
@@ -1537,7 +1544,11 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
 
        free(comment);
 
-       printf("The comment in your key file has been changed.\n");
+       if (strlen(new_comment) > 0)
+               printf("Comment '%s' applied\n", new_comment);
+       else
+               printf("Comment removed\n");
+
        exit(0);
 }