summaryrefslogtreecommitdiff
path: root/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'session.c')
-rw-r--r--session.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/session.c b/session.c
index 6794d3d6a..b94c8e84d 100644
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
33 */ 33 */
34 34
35#include "includes.h" 35#include "includes.h"
36RCSID("$OpenBSD: session.c,v 1.42 2000/10/27 07:32:18 markus Exp $"); 36RCSID("$OpenBSD: session.c,v 1.43 2000/11/06 23:04:56 markus Exp $");
37 37
38#include "xmalloc.h" 38#include "xmalloc.h"
39#include "ssh.h" 39#include "ssh.h"
@@ -1735,6 +1735,19 @@ session_exec_req(Session *s)
1735 return 1; 1735 return 1;
1736} 1736}
1737 1737
1738int
1739session_auth_agent_req(Session *s)
1740{
1741 static int called = 0;
1742 packet_done();
1743 if (called) {
1744 return 0;
1745 } else {
1746 called = 1;
1747 return auth_input_request_forwarding(s->pw);
1748 }
1749}
1750
1738void 1751void
1739session_input_channel_req(int id, void *arg) 1752session_input_channel_req(int id, void *arg)
1740{ 1753{
@@ -1771,6 +1784,8 @@ session_input_channel_req(int id, void *arg)
1771 success = session_pty_req(s); 1784 success = session_pty_req(s);
1772 } else if (strcmp(rtype, "x11-req") == 0) { 1785 } else if (strcmp(rtype, "x11-req") == 0) {
1773 success = session_x11_req(s); 1786 success = session_x11_req(s);
1787 } else if (strcmp(rtype, "auth-agent-req@openssh.com") == 0) {
1788 success = session_auth_agent_req(s);
1774 } else if (strcmp(rtype, "subsystem") == 0) { 1789 } else if (strcmp(rtype, "subsystem") == 0) {
1775 success = session_subsystem_req(s); 1790 success = session_subsystem_req(s);
1776 } 1791 }