Skip to content

Commit 88e7919

Browse files
committed
SSH-AGENT
Add command line option to the client to allow use of the agent.
1 parent b81f577 commit 88e7919

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

examples/client/client.c

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ static void ShowUsage(void)
172172
printf(" -R raw untranslated output\n");
173173
#endif
174174
#endif
175+
#ifdef WOLFSSH_AGENT
176+
printf(" -a Attempt to use SSH-AGENT\n");
177+
#endif
175178
}
176179

177180

@@ -815,6 +818,7 @@ THREAD_RETURN WOLFSSH_THREAD client_test(void* args)
815818
byte rawMode = 0;
816819
#endif
817820
#ifdef WOLFSSH_AGENT
821+
byte useAgent = 0;
818822
WS_AgentCbActionCtx agentCbCtx;
819823
#endif
820824

@@ -888,6 +892,13 @@ THREAD_RETURN WOLFSSH_THREAD client_test(void* args)
888892
keepOpen = 1;
889893
break;
890894
#endif
895+
896+
#ifdef WOLFSSH_AGENT
897+
case 'a':
898+
useAgent = 1;
899+
break;
900+
#endif
901+
891902
case '?':
892903
ShowUsage();
893904
exit(EXIT_SUCCESS);
@@ -995,9 +1006,11 @@ THREAD_RETURN WOLFSSH_THREAD client_test(void* args)
9951006
wolfSSH_SetUserAuth(ctx, ((func_args*)args)->user_auth);
9961007

9971008
#ifdef WOLFSSH_AGENT
998-
wolfSSH_CTX_set_agent_cb(ctx,
999-
wolfSSH_AGENT_DefaultActions, wolfSSH_AGENT_IO_Cb);
1000-
wolfSSH_CTX_AGENT_enable(ctx, 1);
1009+
if (useAgent) {
1010+
wolfSSH_CTX_set_agent_cb(ctx,
1011+
wolfSSH_AGENT_DefaultActions, wolfSSH_AGENT_IO_Cb);
1012+
wolfSSH_CTX_AGENT_enable(ctx, 1);
1013+
}
10011014
#endif
10021015

10031016
ssh = wolfSSH_new(ctx);
@@ -1013,9 +1026,11 @@ THREAD_RETURN WOLFSSH_THREAD client_test(void* args)
10131026
wolfSSH_SetUserAuthCtx(ssh, (void*)password);
10141027

10151028
#ifdef WOLFSSH_AGENT
1016-
memset(&agentCbCtx, 0, sizeof(agentCbCtx));
1017-
agentCbCtx.state = AGENT_STATE_INIT;
1018-
wolfSSH_set_agent_cb_ctx(ssh, &agentCbCtx);
1029+
if (useAgent) {
1030+
memset(&agentCbCtx, 0, sizeof(agentCbCtx));
1031+
agentCbCtx.state = AGENT_STATE_INIT;
1032+
wolfSSH_set_agent_cb_ctx(ssh, &agentCbCtx);
1033+
}
10191034
#endif
10201035

10211036
wolfSSH_CTX_SetPublicKeyCheck(ctx, wsPublicKeyCheck);

0 commit comments

Comments
 (0)