Commit Graph

60 Commits (0ef7ca2145590c8b760cdc9a9aebe757c4d890d0)

Author SHA1 Message Date
John Safranek 185a730752
SFTP RealPath
1. Add a function for returning a RealPath per the SFTP RFC.
2. Add a test function for the RealPath to test against.
2022-08-21 21:32:25 -07:00
Jacob Barthelmeh 92d1f39065 update copyright date 2022-08-17 16:58:21 -06:00
John Safranek 5b8db26063
Add ECDSA Key Generation Wrapper
1. Added a wrapper function for ECDSA key generation like the RSA key
   generation.
2. Added keygen to the unit test.
2022-05-16 11:58:12 -07:00
David Garske 76ba904819 Fixes for all FIPS 140-3 cases. 2022-04-04 16:27:23 -07:00
David Garske 6162cd1181 Fixes for building without RSA or ECC. 2022-02-28 12:48:22 -08:00
John Safranek 796423bfac
Update tests and examples to include config.h
1. All the sources for the tests and examples did not have an include
   for config.h. This fixed some inconsistent builds with an older
   version of gcc.
2. Moved config.h from the src directory to the top level of the repo
   directory.
2022-01-26 15:06:07 -08:00
Jacob Barthelmeh ba99ddda68 run license update script 2021-11-04 13:11:53 -06:00
John Safranek 6d606dff45
Port Forwarding Update
1. Fix issue with local port forwarding example.
2. Add remote port forwarding to the echoserver.
3. Updated the unsupported GlobalReq response.
2021-09-27 08:06:54 -07:00
Eric Blankenhorn d02e6003f9 Fix for not HAVE_ECC 2021-07-20 11:22:06 -07:00
Jacob Barthelmeh a0e19049f4 fixes for build with NO_WOLFSSH_CLIENT macro and --enable-all 2021-03-26 17:24:39 +07:00
John Safranek bbd3d76291
Add some option disables to the api test and the echoserver. 2021-02-02 11:45:21 -08:00
John Safranek 717ea6a050
Separate the ECC disable into ECDSA and ECDHE disables. 2021-02-02 10:58:04 -08:00
John Safranek ee139f8e0d
Merge pull request #291 from JacobBarthelmeh/sftp
add special case for real path and refactor clean_path
2020-11-09 09:02:03 -08:00
Jacob Barthelmeh 7acf574001 add test case for updated realpath 2020-11-09 22:54:38 +07:00
John Safranek 4d5ce88cc9
More Options
Wrapped more items with guards to disable them if not usable.
2020-10-13 17:42:02 -07:00
John Safranek b63d3c4914
More Options
Added many more guards for algorithms that may be disabled in wolfCrypt
including DH, AES-GCM-CTR-CBC, SHA1, ECC, RSA, etc.
2020-10-13 17:42:02 -07:00
John Safranek 39f30e25a4
Optional RSA
1. If RSA is disabled in the wolfCrypt build, the RSA related code
   in wolfSSH shall be disabled.
2. Examples will force themselves to use ECC if RSA is disabled.
2020-09-04 15:28:25 -07:00
John Safranek 1250e1f9d8
SSH-AGENT
1. Added the agent support to the configure.ac script.
2. Updated the gitignore file to ignore any stamp-h file.
3. Changed to use the parsing functions and to make the parsing functions
   local.
4. Updates to multichannel.
5. Add -lutil only if needed.
6. Add configure checks for some headers that change based on target OS.
7. Bump version.
8. Test doesn't have real account or real key so agent doesn't test well.
2020-07-15 09:29:49 -07:00
John Safranek 49bd9ad518
Shell Worker
1. Fixed issue with the testsuite failing when the shell is enabled.
2. Added option to echoserver to force the echo behavior instead of
the shell when shell is enabled.
2020-07-08 12:02:27 -07:00
John Safranek cb277a92fc
Error Codes
1. Rename an error code that was prefixed with WC_ instead of WS_.
2. Add a new error code for missing callbacks.
3. Remove a redundant error code. Channel pending appeared twice.
4. Fix the error code vs string test.
2020-03-12 13:30:08 -07:00
John Safranek 7c8ae04b44
VxWorks Customizations
Also includes some bug fixes.
1. Add a function that returns a pointer to a session's username string.
2. Add a function to set a "raw" username copied from an incoming packet.
3. Add tests for 1 and 2.
4. Server saves a copy of the username on successful authentication.
5. Fix bug with GetString() where it would choke on a 0 length string.
6. Clean up the termios macros and mode creation.
7. Add some options for when WOLFSSL_VXWORKS is set.
2020-02-18 16:01:00 -08:00
Jacob Barthelmeh 31131c0e03 public key vs password is now decision of user callback 2020-01-27 10:33:28 -07:00
Chris Conlon 83f8372458 update copyright to 2020 2020-01-03 15:16:47 -08:00
John Safranek cacd19819b
Maintenance
1. Clean up some scan-build complaints from the unit test. It was
potentially using memory after it was freed.
2019-12-05 13:43:46 -08:00
Jacob Barthelmeh ef47ac7796 filter out directories in test case 2019-08-20 14:06:32 -06:00
Jacob Barthelmeh e590ee3445 account for smaller files in test case 2019-08-20 13:36:35 -06:00
Jacob Barthelmeh 864908b65a add test case for wolfSSH_SFTP_SendReadPacket 2019-08-20 13:24:19 -06:00
John Safranek 97df8b56d1 Unit Testing
1. Added API test for wolfSSH_CTX_UsePrivateKey_buffer().
2. Added the string->binary code to the API test.
3. Fixed a bug in UsePrivateKey(). When loading a new key into a CTX that already has a key, also reset useEcc.
4. Added a test case for wolfSSH_new() returning a null.
5. The test tools can find the -D flags for SFTP and SCP.
2019-05-10 11:04:20 -07:00
John Safranek 09b4c60c83 fd Fix
The API test assert was using an int comparison. Revised to use a local
check value and just use an AssertTrue for the comparison.
2019-04-26 09:41:13 -07:00
John Safranek c2873009e9 fd Fix
POSIX uses an int for a file descriptor. In Windows, they use a SOCKET
type which isn't an int, it is a unsigned long. Changed the types of
the file descriptors to a WS_SOCKET_T, which is either an int or a
SOCKET. Added a unit test.
2019-04-26 09:22:34 -07:00
John Safranek 9aaebbb146 Update the copyright to 2019 2019-04-08 10:24:08 -07:00
John Safranek 1d051e1a84 Memory Update
1. Renumbered the dynamic memory type IDs so they don't conflict with wolfCrypt/wolfSSL.
2. Renumbered the error codes so they don't conflict with wolfCrypt.
3. Fixed a couple of typos when using dynamic memory type IDs that were missed due to default memory handling being used.
2019-04-05 11:36:25 -07:00
Jacob Barthelmeh ff84dea8a0 add function to get extended data and example remote command execute
update client example remote command execute for Windows

add wolfSSH_stream_peek and console translation

improvements to console translation and add client side psuedo terminal

windows client -c fix, clang build, sanity check on side for exec

fix for warnings with VS 2010 build

cast return value of WSTRLEN

update termios guard and fix for scan-build check

advance extended data buffer index on read

fix for error.h after rebase
2019-03-29 09:25:27 -06:00
Jacob Barthelmeh 3a2da4bb0e account for order of test listing directory 2019-02-19 15:44:56 -07:00
Jacob Barthelmeh aa7330f7fc nonblocking chmod, add chmod sftp test 2019-02-07 17:51:52 -07:00
Jacob Barthelmeh d0a7e69487 adjustement to sftp test and fix typo 2019-02-07 12:12:30 -07:00
John Safranek accd3c299d Add a function to assign-add a 32-bit value to a 64-bit value. The
64-bit value is an array 2 of 32-bit values. In SFTP, changed up all the
uses (most) of word64 to word32 arrays. Not all systems we support have
64-bit types available.
2019-02-06 14:31:31 -08:00
Jacob Barthelmeh a92bcdc074 add test cases for more SFTP commands 2019-02-06 13:45:18 -07:00
Jacob Barthelmeh a268085b0b cast return value of wstrlen 2019-02-04 14:53:45 -07:00
Jacob Barthelmeh 55a763c360 add missing testsuite.h file 2019-02-04 14:49:56 -07:00
Jacob Barthelmeh 9c73700f25 add SFTP tests to testsuite 2019-02-04 12:22:31 -07:00
John Safranek 42675723e2 Fixed some issues with NO_WOLFSSH_SERVER builds. wolfSSH proper still
has the server code, but the wolfSFTP code excludes the server side.
2019-01-09 13:14:25 -08:00
John Safranek d8797b07f8 Add the function wstrcat() which acts like strncat, but adds an extra
check for space in the destination and will fail instead of truncating
the string.
2018-12-03 16:27:45 -08:00
John Safranek b97b237695 Static Analysis Fixes
Ran the clang static analysis and infer and fixed most of the reported
items. There were many that infer found that looked like false
positives.
2018-11-15 13:28:42 -08:00
John Safranek bbf818c587 also added test-locking group. tweaked misc.c, misc.h so they played nice with NO_INLINE 2018-09-20 16:19:25 -07:00
John Safranek cf959db741 Grouping test header functions into test-client, test-server, or
test-threading blocks. Adding flags to the examples and testsuite to
enable various test functions.
2018-09-20 16:10:13 -07:00
John Safranek 8a13a829df scan-build fixes
1. Didn't initialize errFd before calling select() in wolffwd.
2. Wasn't checking the accepted appFd in wolffwd.
3. For the test_KDF() unit test, a call to ConvertHexToBin() could succeed and leave eKey NULL, and pass it to memcmp().
2018-09-13 17:19:39 -07:00
John Safranek a42075d823 TCP/IP Forwarding
1. Removed some unused macros in the configure.ac script.
2. Added option for enabling TCP/IP Forwarding.
3. Coalesced the option enable checks to one location in the configure script.
4. Removed redundant compile flags from the wolfSSH automake include.
5. Added a check of the BUILD_SCP option to leave out the wolfcsp file as needed.
6. Removed the redundant debug flags from the ax_harden macro since we add them at the configure level.
7. Modified the ax_harden macro to add the flags to AM_CFLAGS rather than CFLAGS.
8. Removed redundant AM_CFLAGS from the include.am that are adding them to their build's CFLAGS.
9. Replaced the have-wolfssl macro with AC_CHECK_LIB.
10. When adding per-target CPPFLAGS, add the AM_CPPFLAGS back in.
11. remove redundant call to wolfSSH_Init() from echoserver
12. Add runtime configuration of the session window size and max packet size.
13. Parse the TCP/IP direct connect flavor of the Channel Open message.
14. Save and release the host and origin addresses.
15. Added an example forwarding tool.
16. Move and rename the FIND_SELF and FIND_PEER constants.
17. Add planned functions ChannelSend, ChannelRead, ChannelExit, worker.
18. Add new function ChannelNext, which returns the next channel in the list.
19. Changed SendBuffered() from static to local so it could be used by the worker.
20. Separated creating a channel and sending an channel open request.
21. Added status code for pending open channel and for received data.
2018-08-31 11:21:42 -07:00
John Safranek f08628af2b Scan Build Fixes
1. In the echoserver, free the thread context before exiting app on error.
2. In the unit test, when checking the KDF, initialize the sizes to zero
and the pointers to NULL after freeing them.
2018-08-15 12:38:20 -07:00
Jacob Barthelmeh a631cf5794 add SCP functions to api tests 2018-07-02 12:04:00 -06:00