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. 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. Changed gathering the PTY window size from being OS dependent to
availability of ioctl.h so both Linux and MacOS would start with the
correct size.
2. Added a check to configure for sys/ioctl.h.
3. Changed GetTerminalSize() so it returns the pix width and height as
well.
1. For the new X.509 user certificate support, add a new stub source
file for the wrapper code around wolfSSL's CertManager.
2. Update the makefile includes to use the new source file and header.
3. Update configure with the `--enable-certs` option.
- Moved all wolfsshd source code into apps/wolfsshd/. Then future apps, e.g.
an ssh-keygen type utility, will get their own subdirectory under apps/.
- Rename wolfauth.(c|h) to auth.(c|h), rename wolfconfig.c to config.c.
- Add support for checking user public keys against an authorized keys file.
Doesn't support parsing options and comments in the key file, yet. Parsing
special tokens (e.g. %h) and absolute paths in the AuthorizedKeysFile string
are also not supported.
- Comment out currently unused USER_NODE code. Could be useful later on if
we integrate wolfsshd in an environment where the OS doesn't have its own
username service.
- Modify configure.ac to bring in libcrypt if wolfsshd is enabled.
1. configure.ac: Check that the DECLs for `pread()` and `pwrite()` exist
in unistd.h.
2. port.c: If `pread()` or `pwrite()` aren't available, use the local
versions that are wrappers around `seek()` and `read()` and
`write()`.
1. All the sources for the tests and examples did not have an include
for config.h. This fixed some inconsistent builds with an older
version of gcc.
2. Moved config.h from the src directory to the top level of the repo
directory.
wolfSSL v4.5.0 introduced a new function, `wc_ecc_set_rng()`, which is
present when ECC_TIMING_RESISTANCE is enabled. Added a check to the
configure script for that function, and disable calls to the function
if it isn't present. This allows wolfSSH to build against older
versions of wolfSSL.