=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ssh.c,v retrieving revision 1.438 retrieving revision 1.439 diff -u -r1.438 -r1.439 --- src/usr.bin/ssh/ssh.c 2016/04/29 08:07:53 1.438 +++ src/usr.bin/ssh/ssh.c 2016/05/04 12:21:53 1.439 @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.438 2016/04/29 08:07:53 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.439 2016/05/04 12:21:53 markus Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1285,6 +1285,22 @@ /* load options.identity_files */ load_public_identity_files(); + + /* optionally set the SSH_AUTHSOCKET_ENV_NAME varibale */ + if (options.identity_agent) { + if (strcmp(options.identity_agent, "none") == 0) { + unsetenv(SSH_AUTHSOCKET_ENV_NAME); + } else { + p = tilde_expand_filename(options.identity_agent, + original_real_uid); + cp = percent_expand(p, "d", pw->pw_dir, + "u", pw->pw_name, "l", thishost, "h", host, + "r", options.user, (char *)NULL); + setenv(SSH_AUTHSOCKET_ENV_NAME, cp, 1); + free(cp); + free(p); + } + } /* Expand ~ in known host file names. */ tilde_expand_paths(options.system_hostfiles,