1. Fix a few stdC function calls to use the porting wrappers.
2. Missing some error checking, added it.
3. Add some bounds checking to the sz usage when checking for the
server's key in the known hosts file.
4. Move the temp buffers from the stack to the heap.
5. Make sure to nul terminate the read known_hosts file.
1. Update the logic for checking the key name and key against the known
hosts file.
2. Key fingerprinting for user confirmation.
3. Add user confirmation of host key additions.
4. Remove old debugging for known hosts.
1. Added support to the wolfSSH client for a known hosts file.
2. In the client's common.c file, moved the functions ato32() and
load_der_file() around so the known hosts callback can uses them.
1. Rename and move CleanupUserAuthRequestPublicKey() as
wolfSSH_KEY_clean().
2. Restrict the number of keys allowed in an OpenSSH key package to 1.
3. Initialize the Rsa and Ecc keys right before getting them.
4. New error code for an OpenSSH key format error when decoding.
1. Change the block size in the key decoding to a named constant rather
than a bare number.
2. Change the comparison from a difference of two unsigned values
against zero to comparing them directly.
1. Add two error codes for the new key format decoding.
2. Add in some better error and bound checking.
3. Fix ordering on a WOLFSSH_UNUSED and variable declaration.
4. Remove redundant ; from WOLFSSH_UNUSED function-like macro.
1. Move the KeySignature struct around in internal.c so it can be used
for a couple tasks.
2. Add decoder for the OpenSSH-format keys.
3. Add an identification function for the new key.
4. Update ReadKey to handle the new format.
A couple changes to keep the echoserver from spin-locking.
1. The SFTP worker should wait for data if the channel window is full.
If the client isn't sending a window adjust, it might be because of a
human time scale issue. New timeout is 60 seconds.
2. When the echoserver is waiting for something from the user and the
select times out, wait a second instead.
1. The wolfSSL version number to check for the old threading code was
v5.5.2, not v5.5.1.
2. A new wrapper was introduced around return for threading in what will
be wolfSSL v5.6.4. Added that wrapper if it didn't exist.
3. Some other types for threading are added in v5.6.4, wolfSSH needs to
use the old threading model if using wolfSSL v5.6.3.