Commit Graph

2028 Commits (9e689779453ae9ccf305d83c427b6cb6d2223fd1)

Author SHA1 Message Date
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
John Safranek 76e8d66289
SFTP Fix
1. Remove the continue from the SFTP worker loop when there's a timeout
   on the select and when there's a want_read from the wolfSSH_worker.
2. When the select has receive data ready, check it. Don't make it
   conditional on want read as well.

The goal is that when there isn't data waiting on the socket, check and
process the data in the SFTP channel's buffer, always.
2024-03-13 15:08:07 -07:00
JacobBarthelmeh 4ad5c5cd76 refactor windows wolfsshd service to resolve powershell Write-Progress 2024-03-12 10:18:42 -06:00
Anthony Hu 3610e2b297 Add Curve25519 KEX support. 2024-03-08 16:20:42 -05:00
John Safranek f92b076d03
Merge pull request #664 from JacobBarthelmeh/terminal
Use ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows treminal
2024-03-07 13:49:29 -08:00
JacobBarthelmeh 5d3f8776ed add macro guard on windows version for VT 2024-03-06 09:49:42 -07:00
JacobBarthelmeh 9c7edce644 use windows terminal parsing for VT wolfssh.c 2024-03-06 09:06:28 -07:00
JacobBarthelmeh e137865ab2 use windows terminal parsing for VT 2024-03-06 09:01:48 -07:00
JacobBarthelmeh c07a86856e
Merge pull request #663 from ejohnstown/scp-file-modes
SCP File Modes
2024-03-06 17:31:53 +07:00
John Safranek 1b3a81f580
Merge pull request #662 from JacobBarthelmeh/examp 2024-03-05 22:55:50 -08:00
John Safranek 7fa60c4943
SCP File Modes
1. Add a mask for the POSIX file modes.
2. Mask out the file mode bits when setting the C or D command for SCP.
2024-03-05 14:41:20 -08:00
JacobBarthelmeh bb9efdcb5c use WOLFSSL_RETURN_FROM_THREAD in example client 2024-03-05 08:02:06 +07:00
JacobBarthelmeh e617e20e7a example set key algos 2024-03-05 05:14:33 +07:00
JacobBarthelmeh a9973e0136
Merge pull request #661 from ejohnstown/sha1
Cipher List Configuration
2024-03-05 05:13:08 +07:00
John Safranek 8c28f7a3a5
Update Pragma Macro Use
1. The wrapper for the pragma PRAGMA_GCC_DIAG_PUSH and its friends are
   not set up to be used like a function. Remove the semicolons after
   their usage. (Clang doesn't care, but MSVC does.)
2024-03-01 16:02:30 -08:00
John Safranek 6dd53b12ec
KEX Cipher Lists
1. Add API test.
2024-03-01 15:42:40 -08:00
John Safranek ad13545305 KEX Cipher Lists
1. Add new list for the public key algorithms the server can verify
   from the client for user authentication.
2. Add accessors for the key allowed list.
2024-02-29 13:18:49 -08:00
John Safranek 2fabf06441 KEX Cipher Lists
1. Change SendKexInit() to send the configured Key algorithm list or the
   default list if a client or server with a list set. If the server
   doesn't have a list set, use the list from adding the keys.
2. Add the soft disable macro around setting ssh-rsa to the list of public
   key types in the server.
3. Change DoKexInit() to use the appropriate key algorithm list for decoding
   and matching the peer's list.
4. Whitespace.
5. Rearrange the new functions and prototypes in a different order.
2024-02-29 13:18:49 -08:00
John Safranek cfe99cc696 KEX Cipher Lists
1. Fix using the MAC algorithm list from the WOLFSSH object when matching
   the peer's algorithm.
2. Fix polarity checking WOLFSSH_NO_SHA1_SOFT_DISABLE.
3. Remove some redundant size constants. Use strlen().
4. Rearrange the canned key algorithm names, add the missing items, and
   add guards.
5. Whitespace.
2024-02-29 13:18:49 -08:00
John Safranek c8e00a409b KEX Cipher Lists
1. Using the configurable list from the WOLFSSH for setting the KEX
   algorithm list.
2. Removed the ID lists for the KEX algorithm list used in
   DoKexInit().
3. Changing DoKexInit() to use the configurable KEX list.
2024-02-29 13:18:49 -08:00
John Safranek 1319564bdd KEX Cipher Lists
1. Using the configurable list from the WOLFSSH for setting the cipher
   list and the MAC list.
2. Removed the ID lists for the cipher list and MAC list used in
   DoKextInit().
3. Changing DoKexInit() to use the configurable cipher and MAC lists.
2024-02-29 13:18:49 -08:00
John Safranek 672d36e245 KEX Cipher Lists
1. Add APIs for setting the algorithm lists used in the KEX initization
   messages.
2. Add API to check if a specified algorithm name is available.
3. Add APIs to list available algorithms.
4. Add algorithm lists to the WOLFSSH_CTX and WOLFSSH structures.
5. Added a local function to fetch algorithm strings based on their type and
   an index.
6. Added starter tests for the algorithm functions.
7. Move the canned algorithm list strings before CtxInit() so they may be
   used for default lists in the WOLFSSH_CTX.
8. Carry over the algorithm name lists from WOLFSSH_CTX to WOLFSSH.
9. Remove dead code.
10. Add parameter names to a few function prototypes.
2024-02-29 13:18:49 -08:00
John Safranek 077b39de8d SHA1 Revision
1. Restore SHA-1 as enabled by default.
2. Introduce a "soft disable" for SHA-1 algorithms. SHA-1 is allowed to
   be used, but the default configuration will not advertise it as
   available in the KEX.
2024-02-29 13:18:49 -08:00
Daniel Pouzzner 13598c773a
Merge pull request #658 from JacobBarthelmeh/dev_bump
dev bundle, version 1.4.16
2024-02-27 18:16:59 -05:00