Commit Graph

768 Commits (86ee47bd330083d83c24d4162690dcdaabe2f664)

Author SHA1 Message Date
Jacob Barthelmeh 2279183e3a fix for setting rPad/sPad value 2019-06-24 10:22:02 -06:00
Andrew Hutchings f07fd5b002 Fix possible NULL ptr dereferences
If certain variables are set to NULL a WS_BAD_ARGUMENT is set but there
is no return until the end of the function. In both the cases in this
commit the NULL ptr could be dereferenced after the ret has been set.
2019-06-24 09:02:22 +01:00
John Safranek 62f309c8ae
Merge pull request #170 from kojo1/GlobalReq
Global request
2019-06-18 10:18:46 -07:00
Takashi Kojo 526ff95de2 move wolfSSH_SetReqSuccess to ssh.c 2019-06-17 05:51:38 +09:00
Chris Conlon b496d15125
Merge pull request #169 from ejohnstown/publickey-auth
Add Client Side Public Key Authentication
2019-06-07 17:12:08 -06:00
John Safranek 3db449d736 Public key authentication
1. Remove a forced test value for a sigSz in PrepareUserAuthRequestEcc.
2. When building the PrepareUserAuthRequest message for ECC user public
keys, the temporary buffer for the signature should be the size of a
signature for prime256 signatures, not 512 bytes.
2019-06-07 16:05:10 -07:00
John Safranek 56616d3416 Public key authentication
1. Cleanup some debug printouts.
2. Add option to the echoserver and wolfSFTP client to use ECC keys or RSA
keys for user authentication.
3. Add option to the echoserver to use ECC keys for peer authentication.

Note, the user authentication type is still hardcoded in the library as
password. To use public key, need to update the authId in
SendUserAuthFailure().
2019-06-06 11:59:35 -07:00
John Safranek d755132ccf Public key authentication
1. Refactor of the RSA public key and password user auth code.
2. In the userauth code remove some usused variable names or use some orphaned variables.
3. Fix the sizes used for calculating the buffer size for ECC public keys.
4. Add in the length of the ECDSA signature wrapping the set r,s.
5. Return the public key rejected error code from DoUserAuthRequestPublicKey when the callback returns invalid public key.
2019-06-06 10:37:22 -07:00
Takashi Kojo faa9764753 add Global Request callback 2019-06-06 07:10:44 +09:00
Takashi Kojo fd4b2a69ee Global Request Failed case in echoserver callback 2019-06-06 07:10:44 +09:00
Takashi Kojo 53aa61580e Minor fix 2019-06-06 07:10:44 +09:00
Takashi Kojo 86cbb26868 Add send Global Request 2019-06-06 07:10:44 +09:00
Chris Conlon 6759ce70a4
Merge pull request #168 from ejohnstown/packet
Refactor Packet Assembly
2019-06-05 15:51:55 -06:00
John Safranek 46d97d751c Refactor Packet Assembly
1. PreparePacket() is to be given an estimated payloadSz, not the actual
payloadSz. The payloadSz should be larger or equal to the actual.
2. BuildPacket() calculates the actual payloadSz based on the position
of idx and value of idx stored before PreparePacket() returns. The size
of the padding is also calculated at this point.

Currently, everything going into a packet needs to be calculated ahead
of time and saved locally until the output buffer is prepared. This
requires saving RSA and ECDSA signatures in large buffers to be copied
later. Now such things can be calculated directly into the output buffer
without the temporary storage and copy.
2019-06-05 14:20:56 -07:00
JacobBarthelmeh a3881e1471
Merge pull request #166 from ejohnstown/unit
Unit Testing - UsePrivateKey_buffer
2019-05-10 15:18:56 -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
JacobBarthelmeh 384a00000f
Merge pull request #165 from ejohnstown/memory
Memory
2019-05-10 11:05:50 -06:00
John Safranek 2547a213e3 Receive Window
1. Fix bug when setting the receive window to 2048 bytes and the LS
would fail. The OpenSSH server is splitting a single full names message
across mulitple SSH data records. Needed to treat partial reads at the
LS level as a would-block.
2019-05-09 15:06:50 -07:00
John Safranek 150ad93a07 Memory Refactor
1. Add functions to print out the sizes of various structures.
2019-05-09 09:37:29 -07:00
Chris Conlon 75e70d24d0
Merge pull request #163 from miyazakh/Renesas_IDE
Add example ssh server code for renesas CS+
2019-05-07 08:30:19 -07:00
Hideki Miyazaki d98acb8d35 addressed review comments 2019-05-07 09:50:26 +09:00
Hideki Miyazaki c402947e3e Add Renesas CS+ support and example server
Fixed CC-RX compiler warning

Fixed README
2019-05-07 09:20:15 +09:00
John Safranek 03f02d9347
Merge pull request #156 from JacobBarthelmeh/release
prepare for release version 1.4.0
2019-04-30 13:33:07 -07:00
Jacob Barthelmeh ee3c0f1224 prepare for release version 1.4.0 2019-04-30 13:03:42 -06:00
Jacob Barthelmeh 3c0e45db59 match lwip errno include from wolfSSL 2019-04-30 13:02:08 -06:00
Jacob Barthelmeh cfe2aafbf0 static analysis and cast of argument 2019-04-30 13:02:08 -06:00
Jacob Barthelmeh fbbd3aa552 fixes for infer test 2019-04-30 13:02:08 -06:00
John Safranek 4ce4b72e1c
Merge pull request #160 from JacobBarthelmeh/testing
fix for gcc 8 build warnings
2019-04-30 08:59:56 -07:00
JacobBarthelmeh 8a3c94a59d
Merge pull request #164 from ejohnstown/auth-fix
Auth Fix
2019-04-26 13:30:50 -06:00
John Safranek cd05289772 Auth Fix
Before calling the auth callback, be sure to zero out the UserAuthData
I/O value, in case the calling application doesn't set a password or
key.
2019-04-26 10:21:14 -07:00
JacobBarthelmeh e004dfa2b8
Merge pull request #162 from ejohnstown/fd-fix
FD Fix
2019-04-26 10:54:16 -06: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 63423e7431 fd Fix
1. Resolved a missed use of the socket FD where it was still being treated as an int.
2. Cleaned up some whitespace in io.c.
2019-04-26 09:29:59 -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 c1da622afd
Merge pull request #161 from JacobBarthelmeh/sftp
change bit mask enum to be macro's
2019-04-25 14:47:25 -07:00
Jacob Barthelmeh 4b389bda26 change bit mask enum to be macro's 2019-04-25 11:37:39 -06:00
Jacob Barthelmeh 1fd4c2cc0c fix for gcc 8 build warnings 2019-04-25 11:32:05 -06:00
JacobBarthelmeh 57a869ecf9
Merge pull request #155 from ejohnstown/bump
Bump Version
2019-04-22 14:53:00 -06:00
John Safranek cc46579db7 Bump Version 2019-04-22 10:18:28 -07:00
John Safranek 997847b5a2
Merge pull request #154 from JacobBarthelmeh/testing
add wc_ecc_fp_free to test treads for ecc caching
2019-04-09 15:06:25 -07:00
John Safranek ff05e7c9cd
Merge pull request #153 from JacobBarthelmeh/sftp-nuc
maintain Nucleus port
2019-04-09 14:50:21 -07:00
Jacob Barthelmeh 9f66a16ed5 add wc_ecc_fp_free to test treads for ecc caching 2019-04-09 15:46:11 -06:00
JacobBarthelmeh 8b11e8019b
Merge pull request #152 from ejohnstown/copyright
Update the copyright to 2019
2019-04-08 13:26:55 -06:00
Jacob Barthelmeh 3b722bf662 maintain Nucleus port 2019-04-08 13:22:36 -06:00
John Safranek 17a7419496 Update the copyright to 2019 2019-04-08 10:50:23 -07:00
JacobBarthelmeh 95e18fc952
Merge pull request #151 from ejohnstown/copyright
Update the copyright to 2019
2019-04-08 11:43:15 -06:00
John Safranek 9aaebbb146 Update the copyright to 2019 2019-04-08 10:24:08 -07:00
John Safranek f7f7b4743e
Merge pull request #147 from kojo1/add-algos
Add AES-CTR, make Algo configurable
2019-04-05 14:14:03 -07:00
JacobBarthelmeh c050a8365a
Merge pull request #150 from ejohnstown/mem-update
Memory Update
2019-04-05 15:00:45 -06: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