1. Rename one of the new constants.
2. Change a couple new string values to be file-static.
3. Add word32 typecasts to all the sizeof() uses in internal.c where
they are assigned to or used with word32 values. (Some compilers
complain about the implicit typecasting to values of smaller size.)
1. Add logging of the signature type used in both server authentication
and user authentication.
2. Fix issue with the user authentication request message using the key
type rather than the signature type in the message.
1. Started changing LENGTH_SZ to UINT32_SZ. The RFCs define the length
of strings and mpints as uint32 values.
2. Some whitespace changes.
3. The getting data into the input buffer is done based on the goal size.
The pattern is to get the first block, decrypt it if necessary, then read
the size out, then get that much data plus the size of the length and the
MAC.
1. Change LENGTH_SZ to be UINT32_SZ.
2. Change the buffer's length to be the insert point for adding data,
and the idx is where is it removed.
3. Changed the buffer's available size to be the length minus the idx.
4. Updated the copy behavior of GrowBuffer() and ShrinkBuffer().
1. Cleaned up some whitespace.
2. A couple functions were using a couple strings repeatedly. Assigned
to a pointer and used that instead. Also used strlen rather then
sizeof for them.
1. Pick the algorithm based on the server's user auth algo list for
SHA2 signing.
2. When PrepareUserAuthRequest is called based on keySigId, do it
conditionally on error.
1. Add sending and decoding the RFC 8308 extensions, specifically the
server signature algorithms extension.
2. Add function CountNameList() to count items in a name list.
3. Split GetNameList() to make GetNameListRaw() that is given the
pointer to the start of the list and its size.
4. Store the list of server user auth algos in the WOLFSSH object.
1. Increased the number of private keys stored.
2. Increased the number of items processed in the received KexInit
message. Other SSH implementations are sending many more possible
algorithm selections.
3. Split the adding of private keys and certificates to a WOLFSSH_CTX
into two functions. Both share an action to make sure certificates
and keys are married up as appropriate.
4. Removed the function UpdateKeyID() as it was modifying the
WOLFSSH_CTX after having created WOLFSSH objects with it. Its other
behaviors were incorporated into 3 above.