Skip to content

Commit

Permalink
upstream commit
Browse files Browse the repository at this point in the history
- Fix error message: passphrase needs to be at least 5
 characters, not 4. - Remove unused function argument. - Remove two
 unnecessary variables.

OK djm@

Upstream-ID: 13010c05bfa8b523da1c0dc19e81dd180662bc30
  • Loading branch information
tim@openbsd.org authored and djmdjm committed Sep 16, 2015
1 parent 2681cdb commit 3c019a9
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 28 deletions.
6 changes: 3 additions & 3 deletions authfile.c
@@ -1,4 +1,4 @@
/* $OpenBSD: authfile.c,v 1.116 2015/07/09 09:49:46 markus Exp $ */
/* $OpenBSD: authfile.c,v 1.117 2015/09/13 14:39:16 tim Exp $ */
/*
* Copyright (c) 2000, 2013 Markus Friedl. All rights reserved.
*
Expand Down Expand Up @@ -272,8 +272,8 @@ sshkey_load_private(const char *filename, const char *passphrase,
goto out;
}
if ((r = sshkey_load_file(fd, buffer)) != 0 ||
(r = sshkey_parse_private_fileblob(buffer, passphrase, filename,
keyp, commentp)) != 0)
(r = sshkey_parse_private_fileblob(buffer, passphrase, keyp,
commentp)) != 0)
goto out;
r = 0;
out:
Expand Down
13 changes: 6 additions & 7 deletions ssh-add.c
@@ -1,4 +1,4 @@
/* $OpenBSD: ssh-add.c,v 1.124 2015/09/13 13:48:19 tim Exp $ */
/* $OpenBSD: ssh-add.c,v 1.125 2015/09/13 14:39:16 tim Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Expand Down Expand Up @@ -218,17 +218,16 @@ add_file(int agent_fd, const char *filename, int key_only)
close(fd);

/* At first, try empty passphrase */
if ((r = sshkey_parse_private_fileblob(keyblob, "", filename,
&private, &comment)) != 0 && r != SSH_ERR_KEY_WRONG_PASSPHRASE) {
if ((r = sshkey_parse_private_fileblob(keyblob, "", &private,
&comment)) != 0 && r != SSH_ERR_KEY_WRONG_PASSPHRASE) {
fprintf(stderr, "Error loading key \"%s\": %s\n",
filename, ssh_err(r));
goto fail_load;
}
/* try last */
if (private == NULL && pass != NULL) {
if ((r = sshkey_parse_private_fileblob(keyblob, pass, filename,
&private, &comment)) != 0 &&
r != SSH_ERR_KEY_WRONG_PASSPHRASE) {
if ((r = sshkey_parse_private_fileblob(keyblob, pass, &private,
&comment)) != 0 && r != SSH_ERR_KEY_WRONG_PASSPHRASE) {
fprintf(stderr, "Error loading key \"%s\": %s\n",
filename, ssh_err(r));
goto fail_load;
Expand All @@ -244,7 +243,7 @@ add_file(int agent_fd, const char *filename, int key_only)
if (strcmp(pass, "") == 0)
goto fail_load;
if ((r = sshkey_parse_private_fileblob(keyblob, pass,
filename, &private, &comment)) == 0)
&private, &comment)) == 0)
break;
else if (r != SSH_ERR_KEY_WRONG_PASSPHRASE) {
fprintf(stderr,
Expand Down
4 changes: 2 additions & 2 deletions ssherr.c
@@ -1,4 +1,4 @@
/* $OpenBSD: ssherr.c,v 1.4 2015/02/16 22:13:32 djm Exp $ */
/* $OpenBSD: ssherr.c,v 1.5 2015/09/13 14:39:16 tim Exp $ */
/*
* Copyright (c) 2011 Damien Miller
*
Expand Down Expand Up @@ -104,7 +104,7 @@ ssh_err(int n)
case SSH_ERR_NEED_REKEY:
return "rekeying not supported by peer";
case SSH_ERR_PASSPHRASE_TOO_SHORT:
return "passphrase is too short (minimum four characters)";
return "passphrase is too short (minimum five characters)";
case SSH_ERR_FILE_CHANGED:
return "file changed while reading";
case SSH_ERR_KEY_UNKNOWN_CIPHER:
Expand Down
20 changes: 7 additions & 13 deletions sshkey.c
@@ -1,4 +1,4 @@
/* $OpenBSD: sshkey.c,v 1.22 2015/09/02 07:51:12 jsg Exp $ */
/* $OpenBSD: sshkey.c,v 1.23 2015/09/13 14:39:16 tim Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Alexander von Gernler. All rights reserved.
Expand Down Expand Up @@ -3833,8 +3833,6 @@ int
sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
const char *passphrase, struct sshkey **keyp, char **commentp)
{
int r;

*keyp = NULL;
if (commentp != NULL)
*commentp = NULL;
Expand All @@ -3856,8 +3854,8 @@ sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
return sshkey_parse_private2(blob, type, passphrase,
keyp, commentp);
case KEY_UNSPEC:
if ((r = sshkey_parse_private2(blob, type, passphrase, keyp,
commentp)) == 0)
if (sshkey_parse_private2(blob, type, passphrase, keyp,
commentp) == 0)
return 0;
#ifdef WITH_OPENSSL
return sshkey_parse_private_pem_fileblob(blob, type,
Expand All @@ -3872,24 +3870,20 @@ sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,

int
sshkey_parse_private_fileblob(struct sshbuf *buffer, const char *passphrase,
const char *filename, struct sshkey **keyp, char **commentp)
struct sshkey **keyp, char **commentp)
{
int r;

if (keyp != NULL)
*keyp = NULL;
if (commentp != NULL)
*commentp = NULL;

#ifdef WITH_SSH1
/* it's a SSH v1 key if the public key part is readable */
if ((r = sshkey_parse_public_rsa1_fileblob(buffer, NULL, NULL)) == 0) {
if (sshkey_parse_public_rsa1_fileblob(buffer, NULL, NULL) == 0) {
return sshkey_parse_private_fileblob_type(buffer, KEY_RSA1,
passphrase, keyp, commentp);
}
#endif /* WITH_SSH1 */
if ((r = sshkey_parse_private_fileblob_type(buffer, KEY_UNSPEC,
passphrase, keyp, commentp)) == 0)
return 0;
return r;
return sshkey_parse_private_fileblob_type(buffer, KEY_UNSPEC,
passphrase, keyp, commentp);
}
5 changes: 2 additions & 3 deletions sshkey.h
@@ -1,4 +1,4 @@
/* $OpenBSD: sshkey.h,v 1.9 2015/08/04 05:23:06 djm Exp $ */
/* $OpenBSD: sshkey.h,v 1.10 2015/09/13 14:39:16 tim Exp $ */

/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
Expand Down Expand Up @@ -186,8 +186,7 @@ int sshkey_private_to_fileblob(struct sshkey *key, struct sshbuf *blob,
int sshkey_parse_public_rsa1_fileblob(struct sshbuf *blob,
struct sshkey **keyp, char **commentp);
int sshkey_parse_private_fileblob(struct sshbuf *buffer,
const char *passphrase, const char *filename, struct sshkey **keyp,
char **commentp);
const char *passphrase, struct sshkey **keyp, char **commentp);
int sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
const char *passphrase, struct sshkey **keyp, char **commentp);

Expand Down

0 comments on commit 3c019a9

Please sign in to comment.