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)