Commit Graph

2001 Commits (fa23bf58dff609722064f2cd6b7b441066940bb6)

Author SHA1 Message Date
John Safranek c1244c61e4 Zephyr Memory Tweak
For Zephyr, we allocate memory for a thread's stack from the heap.
Recently a thread's stack size was changed from 24k to 48k. wolfSSH
needed the size of the libc memory arena to be increased a bit to
account for this change.
2024-05-15 08:39:46 -07:00
John Safranek 0d887bd644 Add Ed25519
1. Add an error code for Ed25519 signing or verify issues.
2. Add Ed25519 key support to ReadKey.
3. Add client side support for Ed25519.
4. Update some key usage log strings to be more descriptive.
2024-05-13 14:36:28 -07:00
John Safranek 9b97927cd8 Add Ed25519
1. Add testing key for user barney.
2. Remove some instances of the incorrect macro guard WOLFSSH_NO_ECC. We
   deal in ECDSA or ECDHE separately only.
3. Add WIP function for decoding the OpenSSH format Ed25519 key.
2024-05-13 14:36:28 -07:00
John Safranek 8f61e26819 Add Ed25519
1. Remove some redundant (and incorrect) scaffolding for a couple
   algorithms.
2. Whitespace fixes and add some braces to if-else blocks.
3. Fix allocating an ed25519 key, instead of using an ecc_key for it.
4. Replace a crypto failure error with an invalid algo error.
2024-05-13 14:36:28 -07:00
John Safranek 3602bc10ca Add Ed25519
1. Whitespace fixes.
2. Refactor the signing KEX message signing to break the signing into
   functions depending on the key type.
2024-05-13 14:36:28 -07:00
Fabio Alemagna c3086f9611 Add Ed25519
1. Added support for Ed25519 private keys.
2. Added more define guards for ED25519
3. The userAuthResultCb must be invoked only in the case the pubkey has
   a signature.
4. Define WOLFSSH_NO_ED25519 if the ssh-ed25519 pubkey support must not
   be compiled for lack of prerequisites.
2024-05-13 14:36:28 -07:00
JacobBarthelmeh d11ec5f646
Merge pull request #686 from ejohnstown/key-agree-update
Key Agree Update
2024-05-13 15:14:05 -06:00
JacobBarthelmeh 2c5e9581d8
Merge pull request #682 from ejohnstown/static-memory
Static Memory Pools
2024-05-08 11:26:47 -06:00
Lealem Amedie a87fe3fce5 Updates to STM32Cube Pack 2024-05-02 16:33:43 -06:00
John Safranek 8839376d34
Merge pull request #683 from embhorn/zd17917
Fix state in DoUserAuthRequestPublicKey
2024-05-02 14:05:13 -07:00
John Safranek 39bbaffeda
Merge pull request #680 from miyazakh/server_host_kex
Omit comma at the end
2024-05-02 12:13:23 -07:00
John Safranek 2a139c9ed5
Merge pull request #677 from julek-wolfssl/zephyr-nofs
Add NO_FILESYSTEM to Zephyr port
2024-05-02 12:12:47 -07:00
John Safranek 6e93b92b22 Key Agree Update
1. Add a parameter to the client key agree functions for the hashId.
   It's only really used for EcdhKyber1, but it keeps the functions
   parallel.
2. Add and update some top-of-function comments for the key agree
   functions.
3. Renamed the X25519 key agreement functions to Curve25519 to match the
   naming in the RFC.
4. Removed the temporary hashId local in the client EcdhKyber1
   function.
5. Messed around with some variable declarations in a few of the
   functions.
6. Fix a couple breaks for small stack build.
7. Fix where GEX-SHA2 key exchange wasn't allowed to work.
8. Disable EcdhKyber1 is ECDH-NISTP256 is disabled.
2024-05-01 19:43:12 -07:00
John Safranek 49c420d593 Key Agree Update
1. In SendKexDhReply(), break down the key agreement actions for the
   various supported key types into their own functions. Remove
   the redundant variables.
2. In DoKexDhInit(), add flags for the various key agreement types, and
   set them as appropriate when checking the selected kexId. The flags
   are always present no matter the build options.
3. Simplify some of the flag checks for optional options.
2024-05-01 16:45:04 -07:00
John Safranek 5060dc2d2d Key Agree Update
1. In the key signature block, add flag for Ecc, and for the key
   allocation.
2. Add FreePubKey() to delete the pub key stored in the key signature
   block.
3. In DoKexDhReply(), break down the key agreement actions for the
   various supported key types into their own functions. Remove the
   redundant variables.
4. Using flags that are always present, reduce some of the complicated
   flag checks.
5. Fix a compile guard where the ECDH private key used by the client is
   disabled by ECDSA.
2024-05-01 16:38:58 -07:00
JacobBarthelmeh 4974096361
Merge pull request #685 from ejohnstown/kyber-fix
Kyber Fix
2024-05-01 16:51:07 -06:00
John Safranek e01823d8b7 Kyber Testing
1. Fix a couple spots where a flag to use kyber wasn't getting set
   correctly.
2. Changed a check to kyber back to the original source, a local
   variable.
2024-05-01 15:37:21 -07:00
Eric Blankenhorn 7692effba5 Fix state in DoUserAuthRequestPublicKey 2024-04-30 11:41:57 -05:00
Sean Parkinson 9b29ba68cc
Merge pull request #666 from JacobBarthelmeh/progress_bar
refactor windows wolfsshd service to resolve powershell Write-Progress
2024-04-30 08:52:13 +10:00
Hideki Miyazaki 22c31b813a ommit comma at the end 2024-04-27 15:22:31 +09:00
John Safranek 2e1ca68652 Static Memory
1. Update the scpclient's use of the common key and cert function calls to
   pass NULL for the heap.
2024-04-26 10:21:29 -07:00
John Safranek d6d67c889c Static Memory
1. In the echoserver, change the names of the defines for the
   static memory values.
2. Modify the client common functions for keys and certs to take a heap
   value for their allocations.
3. Update the client's use of the common key and cert function calls to
   pass NULL for the heap.
4. Add a static memory description for the sftp client code.
2024-04-26 10:21:29 -07:00
John Safranek 559f24b476 Static Memory
1. Change the static buffer for the echoserver and the memory
   descriptions to be static values.
2. Fixed a double-free on the memory statistics.
2024-04-26 10:21:29 -07:00
John Safranek 6a65f16083 Static Memory
1. Modify the echoserver to use a static memory pool when using the flag
   WOLFSSH_STATIC_MEMORY. Uses NULL otherwise. The WOLFSSH_CTX is
   created with the pool and subsequent allocations for the WOLFSSH
   server use the same pool.
2. Add a configuration for the memory pool. Only works with SFTP
   enabled.
3. Add the memory pool use statistics to the echoserver.
2024-04-26 10:21:29 -07:00
JacobBarthelmeh d2c428461c
Merge pull request #681 from ejohnstown/action-update
macOS Action Update
2024-04-26 11:01:53 -06:00
John Safranek 1254c939c9 macOS Action Update
1. In the brew install step explicitly install autoconf and add libtool.
2. Skip running autogen.sh for wolfSSH, just use autoreconf directly.
3. Use "--enable-wolfssh" when building wolfSSL.
2024-04-26 09:11:48 -07:00
Juliusz Sosinowicz 2b2337055a Add NO_FILESYSTEM to Zephyr port 2024-04-16 16:27:51 +02:00
John Safranek 9d93d71a34
Merge pull request #676 from anhu/shell_doc
Document how to try out the shell feature.
2024-04-15 10:21:05 -07:00
Anthony Hu 4c8be76926 Document how to try out the shell feature. 2024-04-12 11:43:20 -04:00
JacobBarthelmeh 892c26d0a5
Merge pull request #675 from ejohnstown/zephyr-test
Zephyr Test Update
2024-04-11 11:45:14 -06:00
John Safranek c4d1b55170
Zephyr Test Update
1. Change the name of the Zephyr test's user settings file to
   wolfssh_user_settings.h.
2024-04-11 10:25:11 -07:00
Daniel Pouzzner dc89635e73
Merge pull request #669 from ejohnstown/certs
Certificate OK
2024-03-30 00:11:20 -04:00
Daniel Pouzzner aa84950e7c
Merge pull request #673 from anhu/fred
Change references in README.md from John to Fred.
2024-03-30 00:02:12 -04:00
John Safranek ff071a2d46 Update the certificate build directions so that the "fred" certificate would work. 2024-03-27 10:37:27 -07:00
Anthony Hu 698fb5d930 Change references in README.md from John to Fred. 2024-03-26 15:28:51 -04:00
Daniel Pouzzner 9204ae7119
Merge pull request #672 from ejohnstown/release-v1.4.17
Prepare Release v1.4.17
2024-03-25 14:34:11 -04:00
John Safranek a91a1fd8b6
Release v1.4.17: ChaneLog typo 2024-03-25 08:32:07 -07:00
John Safranek 5cc6e5a6ac
Release v1.4.17: Bump Date 2024-03-24 14:29:17 -07:00
John Safranek 6d51cc8278
Release v1.4.17: Release Testing Fixes
1. C++ build required some additional typecasting.
2. C++ complained about using the `= { 0 }` initializer, switched to
   `WMEMSET()`.
2024-03-22 17:09:01 -07:00
John Safranek d2889924cb
Update Version to v1.4.17
1. Update the library version
2. Update the ChangeLog
2024-03-22 12:36:05 -07:00
John Safranek 1736a4cabf
Update Copyright Date
1. Bring all copyright dates up to 2024.
2. Fix a few files with incorrect licensing.
2024-03-22 12:17:09 -07:00
JacobBarthelmeh 295e5abe7e
Merge pull request #671 from ejohnstown/msgid-filter2
Messaging Filtering Followup
2024-03-22 01:08:20 +07:00
John Safranek 26c8b58965 Messaging Filtering
1. Add a case for user authentication messages after user authentication
   completes.
2024-03-20 18:37:19 -07:00
David Garske 863714a1a4
Merge pull request #670 from ejohnstown/msgid-filter
Messaging Filtering
2024-03-20 15:30:17 -07:00
John Safranek 039aea5142
Messaging Filtering
1. Add an error code and string for the message filtering fail.
2. Add a function to check incoming message IDs for appropriateness
   during the client or server handshake.
(ZD 17710)
2024-03-20 14:08:50 -07:00
John Safranek 0a2a413af3
Certificate OK
1. Split ParseAndVerifyCert() into ParseCertChainVerify() and
   ParseCert() with a common ParseCertChain() function.
2. When the server is checking the user's certificate, don't do the
   verify step. Verify when the user's client sends a signature. The
   server needs to tell the client the cert is OK as a cert. Make the
   client do a PK sign.
3. If the certificate check fails, we still need to be able to send the
   failure message to the peer. Set the `ret` value back to
   `WS_SUCCESS`. All other auth actions are gated on the `authFailed`.
4. Whitespace.
(ZD 17555)
2024-03-18 11:19:50 -07:00
JacobBarthelmeh 902cff345f
Merge pull request #667 from ejohnstown/sftp-fix
SFTP Fix
2024-03-19 00:21:38 +07:00
John Safranek 84bc8b177e
Merge pull request #660 from anhu/Curve25519
Add Curve25519 KEX support.
2024-03-14 13:33:23 -07:00
JacobBarthelmeh b798f63630
Merge pull request #668 from ejohnstown/fix-modes-leak
Fix Modes Leak
2024-03-15 02:08:42 +07:00
John Safranek e6ffad047d
Fix Modes Leak
1. Add dynamic memory type of string to the allocation of the list of
   modes when opening a pty.
2. When freeing a WOLFSSH object, free modes when it is set.
2024-03-14 09:47:27 -07:00