[Ovmsdev] Update WolfSSH/SSL
Mark Webb-Johnson
mark at webb-johnson.net
Wed Jan 27 09:14:48 HKT 2021
The disk space requirement is not really a problem.
The stack size increase is not good, but probably manageable.
Imho, IRAM is out biggest issue at the moment, and any reduction in that is welcome.
Regards, Mark.
> On 24 Jan 2021, at 2:38 PM, Stephen Casner <casner at acm.org> wrote:
>
> After a pause of three years, I have finally gotten around to updating
> wolfssh and wolfssl to the current stable releases, 1.4.5 and 4.6.0
> respectively. This includes the code to support SCP that I wrote and
> contributed back to them and was integrated into wolfssh 1.3.0. There
> were some API tweaks that I needed to work through, but the source
> files are now unmodified except for wolfcrypt/settings.h where I ran
> into a compilation conflict on the XREALLOC macro. As before, I need
> to supply my own malloc, free and realloc functions so we can control
> PSRAM usage and so we can emit a log message if memory allocation
> fails.
>
> For starters, this update removes the restriction to use cipher
> aes128-cbc. In addition, the WolfSSL code now includes integration
> with the hardware crypto acceleration capabilities of the ESP32. I'm
> not sure how much that will affect performance as we see it because I
> think the biggest performance factor is how we need to use the APIs
> given our task structure. The public key handshake for initial
> connection may be faster.
>
> I added the new code on a branch named update-wolfssh by copying in
> the source files as I did when creating the wolfssh and wolfssl
> components initially. I'm running the new code on OVMS in my car and
> have given it basic testing by connecting with the ssh client and
> transferring files with scp. I invite anyone else who is interested
> to test as well or to comment if there are any concerns about merging
> to the master branch. There are some memory considerations.
>
> I've added the complete wolfssl source tree even though we only use
> the wolfcrypt subset of wolfssl. The update added a bunch of files
> and increased the required disk space from 18M to 43M. Similarly,
> wolfssh added code for scp, sftp, ssh agent server code and also ssh
> clients that we are not using; that increased disk space from 2.0M to
> 2.6M. I added our scp code before they implemented theirs and I have
> not examined their scp and sftp code to see if there would be any
> advantage in trying to adapt it to fit our non-blocking architecture.
>
> I had to increase the size of the NetMan stack from 8K to 10K to avoid
> stack overflow. With current master code the max used on my OVMS was
> 5616 whereas after the update it is 9700.
>
> With the current master code, the amount of memory added by NetMan
> when an ssh connection was established was 2557 D/IRAM and 6108 SPIRAM
> for 8665 total. With the update it was 1240 D/IRAM and 8768 SPIRAM
> for 10008 total.
>
> -- Steve
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
More information about the OvmsDev
mailing list