The example server was never used. All new behaviors were added to the
echoserver only. Now with wolfSSHd, the server example can finally be
removed.
1. Remove the example server from the build.
2. Remove the file notes.md.
3. Update the readme.
1. Fix an instance in the example sftpclient where the size of something
is treated as an int and may have caused trouble, per the pedantic
compiler settings.
2. Changed a check for snprintf where we checked the lengths of
everything before calling snprintf. Turned it around where we check
the return of snprintf and error if the process would have output too
much.
1. Add a check for limits.h to configure.ac.
2. In wolfSSHd's configuration.c file, add an include of limits.h if
available. It is including the header indirectly while using it
directly.
1. Added function wolfSSH_RsaVerify() which verifies the provided
RSA signature with the provided key.
2. Call wolfSSH_RsaVerify() after all calls to wc_RsaSSL_Sign().
3. Changed a comparison between an unsigned and 0 to == from <=.
4. Fixed a spot where we still tried to sign a digest when the call
to wc_DigestFinal() failed.
When populating the file permission status for a file vs directory in
the zephyr porting, use the new constants for the file permissions being
a regular file or directory. Not (the wrong) bare numbers.
1. When putting a file with SFTP, the client should check that the
requested file is a regular file based on its attributes.
2. Add the attributes to check in the permissions.
3. Add server checking for non-regular files and not allowing them to
be opened for reading or writing.
1. When getting a file with SFTP, the client should check that the
requested file is a regular file based on its attributes.
2. Add the attributes to check in the permissions.
3. Add a new error for a non-regular file.
1. Remove the grace period wolfSSHd test. It asks for a password, and
when running as an action it doesn't have stdin, so it fails. The
test works when stdin is available.
2. Remove the check for __uint128_t from configure. wolfSSL exports this
value, if present, in its options.h. After wolfSSL v5.6.4, wolfSSL
also exports this to options.h when building it with CMake. The check
in wolfSSH isn't necessary now.
1. Moved the heap variable declaration to the top of the function
ChannelUpdateForward().
2. Only set heap if channel is non-null.
3. Tag heap as unused. Depending on the build environment, it might be
left out by the preprocessor.
4. Fix a bad memory type name used in a malloc in the agent.
5. Fix a use of heap when ctx->heap was intended.
6. Fix a typo where ssh->ctx->heap was intended.
1. Move setting a nul termination on the knownHosts data until after
checking the size is reasonable.
2. A temporary keySz variable was getting used to get the length of the
key type value, but it wasn't used to copy the value. Deleted it and
used the other sz value.
3. Fix the leaking of the known hosts filename.
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.