[openssh-commits] [openssh] 05/05: upstream commit

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Dec 4 15:15:13 AEDT 2015


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 6064a8b8295cb5a17b5ebcfade53053377714f40
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Fri Dec 4 00:24:55 2015 +0000

    upstream commit
    
    clean up agent_fd handling; properly initialise it to -1
     and make tests consistent
    
    ok markus@
    
    Upstream-ID: ac9554323d5065745caf17b5e37cb0f0d4825707
---
 sshconnect2.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/sshconnect2.c b/sshconnect2.c
index 69d0bee..d29f630 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.229 2015/11/15 22:26:49 jcs Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.230 2015/12/04 00:24:55 djm Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2008 Damien Miller.  All rights reserved.
@@ -978,7 +978,7 @@ identity_sign(struct identity *id, u_char **sigp, size_t *lenp,
 	int ret;
 
 	/* the agent supports this key */
-	if (id->agent_fd)
+	if (id->agent_fd != -1)
 		return ssh_agent_sign(id->agent_fd, id->key, sigp, lenp,
 		    data, datalen, compat);
 
@@ -1197,7 +1197,7 @@ load_identity_file(Identity *id)
 			quit = 1;
 			break;
 		}
-		if (!quit && private != NULL && !id->agent_fd &&
+		if (!quit && private != NULL && id->agent_fd == -1 &&
 		    !(id->key && id->isprivate))
 			maybe_add_key_to_agent(id->filename, private, comment,
 			    passphrase);
@@ -1227,7 +1227,7 @@ pubkey_prepare(Authctxt *authctxt)
 	struct identity *id, *id2, *tmp;
 	struct idlist agent, files, *preferred;
 	struct sshkey *key;
-	int agent_fd, i, r, found;
+	int agent_fd = -1, i, r, found;
 	size_t j;
 	struct ssh_identitylist *idlist;
 
@@ -1245,6 +1245,7 @@ pubkey_prepare(Authctxt *authctxt)
 			continue;
 		options.identity_keys[i] = NULL;
 		id = xcalloc(1, sizeof(*id));
+		id->agent_fd = -1;
 		id->key = key;
 		id->filename = xstrdup(options.identity_files[i]);
 		id->userprovided = options.identity_file_userprovided[i];
@@ -1280,6 +1281,7 @@ pubkey_prepare(Authctxt *authctxt)
 		    key->cert->type != SSH2_CERT_TYPE_USER)
 			continue;
 		id = xcalloc(1, sizeof(*id));
+		id->agent_fd = -1;
 		id->key = key;
 		id->filename = xstrdup(options.certificate_files[i]);
 		id->userprovided = options.certificate_file_userprovided[i];
@@ -1348,8 +1350,9 @@ pubkey_prepare(Authctxt *authctxt)
 			memset(id, 0, sizeof(*id));
 			continue;
 		}
-		debug2("key: %s (%p),%s", id->filename, id->key,
-		    id->userprovided ? " explicit" : "");
+		debug2("key: %s (%p)%s%s", id->filename, id->key,
+		    id->userprovided ? ", explicit" : "",
+		    id->agent_fd != -1 ? ", agent" : "");
 	}
 }
 

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list