From df6955866d4be7ce9e06c37256c381ee8e85f2d0 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Wed, 23 Jan 2019 12:02:35 -0700 Subject: [PATCH] add sftp test cases, fix build for C89, add flag print out to echoserver --- examples/echoserver/echoserver.c | 3 +++ examples/sftpclient/sftpclient.c | 2 +- scripts/sftp.test | 29 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/examples/echoserver/echoserver.c b/examples/echoserver/echoserver.c index 5a5a44d3..27c6a610 100644 --- a/examples/echoserver/echoserver.c +++ b/examples/echoserver/echoserver.c @@ -666,6 +666,9 @@ static void ShowUsage(void) printf(" -e use ECC private key\n"); printf(" -p port to connect on, default %d\n", wolfSshPort); printf(" -N use non-blocking sockets\n"); +#ifdef WOLFSSH_SFTP + printf(" -d set the home directory for SFTP connections\n"); +#endif } diff --git a/examples/sftpclient/sftpclient.c b/examples/sftpclient/sftpclient.c index 4c1b6dc0..1f2629fc 100644 --- a/examples/sftpclient/sftpclient.c +++ b/examples/sftpclient/sftpclient.c @@ -133,9 +133,9 @@ static void clean_path(char* path) if (path != NULL) { /* go through path until no cases are found */ do { - sz = (long)WSTRLEN(path); int prIdx = 0; /* begin of cut */ int enIdx = 0; /* end of cut */ + sz = (long)WSTRLEN(path); found = 0; for (i = 0; i < sz; i++) { diff --git a/scripts/sftp.test b/scripts/sftp.test index 96804608..91da1719 100755 --- a/scripts/sftp.test +++ b/scripts/sftp.test @@ -71,6 +71,35 @@ if [ $RESULT -ne 0 ]; then exit 1 fi +# Test non blocking connection +./examples/echoserver/echoserver -N -1 -R $ready_file & +server_pid=$! +create_port +echo "ls\nexit" | ./examples/sftpclient/wolfsftp -N -u jill -P upthehill -p $port +RESULT=$? +remove_ready_file +# if fail here then is a settings issue so return 0 +if [ $RESULT -ne 0 ]; then + echo -e "\n\nfailed to connect" + do_cleanup + exit 1 +fi + +# Test of setting directory +PWD=`pwd` +./examples/echoserver/echoserver -d $PWD/examples -1 -R $ready_file & +server_pid=$! +create_port +echo "ls\nexit" | ./examples/sftpclient/wolfsftp -N -u jill -P upthehill -p $port +RESULT=$? +remove_ready_file +# if fail here then is a settings issue so return 0 +if [ $RESULT -ne 0 ]; then + echo -e "\n\nfailed to connect" + do_cleanup + exit 1 +fi + echo -e "\nALL Tests Passed" exit 0