Module Name:    src
Committed By:   christos
Date:           Sat Apr  4 02:51:10 UTC 2015

Modified Files:
        src/lib/libpam/modules/pam_ssh: pam_ssh.c

Log Message:
Adapt to the new API.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/lib/libpam/modules/pam_ssh/pam_ssh.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libpam/modules/pam_ssh/pam_ssh.c
diff -u src/lib/libpam/modules/pam_ssh/pam_ssh.c:1.22 src/lib/libpam/modules/pam_ssh/pam_ssh.c:1.23
--- src/lib/libpam/modules/pam_ssh/pam_ssh.c:1.22	Fri Jan  6 09:04:02 2012
+++ src/lib/libpam/modules/pam_ssh/pam_ssh.c	Fri Apr  3 22:51:10 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: pam_ssh.c,v 1.22 2012/01/06 14:04:02 drochner Exp $	*/
+/*	$NetBSD: pam_ssh.c,v 1.23 2015/04/04 02:51:10 christos Exp $	*/
 
 /*-
  * Copyright (c) 2003 Networks Associates Technology, Inc.
@@ -38,7 +38,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_ssh/pam_ssh.c,v 1.40 2004/02/10 10:13:21 des Exp $");
 #else
-__RCSID("$NetBSD: pam_ssh.c,v 1.22 2012/01/06 14:04:02 drochner Exp $");
+__RCSID("$NetBSD: pam_ssh.c,v 1.23 2015/04/04 02:51:10 christos Exp $");
 #endif
 
 #include <sys/param.h>
@@ -352,11 +352,11 @@ done:
 static int
 pam_ssh_add_keys_to_agent(pam_handle_t *pamh)
 {
-	AuthenticationConnection *ac;
 	const struct pam_ssh_key *psk;
 	const char **kfn;
 	char **envlist, **env;
 	int pam_err;
+	int agent_fd;
 
 	/* switch to PAM environment */
 	envlist = environ;
@@ -368,11 +368,12 @@ pam_ssh_add_keys_to_agent(pam_handle_t *
 	}
 
 	/* get a connection to the agent */
-	if ((ac = ssh_get_authentication_connection()) == NULL) {
+	if (ssh_get_authentication_socket(&agent_fd) != 0) {
 		openpam_log(PAM_LOG_DEBUG,
 		    "%s: cannot get authentication connection",
 		    __func__);
 		pam_err = PAM_SYSTEM_ERR;
+		agent_fd = -1;
 		goto end;
 	}
 
@@ -382,7 +383,8 @@ pam_ssh_add_keys_to_agent(pam_handle_t *
 		pam_err = pam_get_data(pamh, *kfn, &vp);
 		psk = vp;
 		if (pam_err == PAM_SUCCESS && psk != NULL) {
-			if (ssh_add_identity(ac, psk->key, psk->comment))
+			if (ssh_add_identity_constrained(agent_fd, psk->key,
+			    psk->comment, 0, 0))
 				openpam_log(PAM_LOG_DEBUG,
 				    "added %s to ssh agent", psk->comment);
 			else
@@ -395,8 +397,8 @@ pam_ssh_add_keys_to_agent(pam_handle_t *
 	pam_err = PAM_SUCCESS;
  end:
 	/* disconnect from agent */
-	if (ac != NULL)
-		ssh_close_authentication_connection(ac);
+	if (agent_fd != -1)
+		ssh_close_authentication_socket(agent_fd);
 
 	/* switch back to original environment */
 	for (env = environ; *env != NULL; ++env)

Reply via email to