@@ -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,14 +818,15 @@ 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
821825 int argc = ((func_args * )args )-> argc ;
822826 char * * argv = ((func_args * )args )-> argv ;
823827 ((func_args * )args )-> return_code = 0 ;
824828
825- while ((ch = mygetopt (argc , argv , "?c :eh:i:j:p:tu:xzNP:R" )) != -1 ) {
829+ while ((ch = mygetopt (argc , argv , "?ac :eh:i:j:p:tu:xzNP:R" )) != -1 ) {
826830 switch (ch ) {
827831 case 'h' :
828832 host = myoptarg ;
@@ -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