1. Adds --disable-server and --disable-client configure flags. Allows for
compile-time exclusion of server or client code.
2. Add check to internal.h for both NO_WOLFSSH_SERVER and
NO_WOLFSSH_CLIENT being set and errors.
3. In ports.h, add check for not-NO_WOLFSSH_CLIENT so SFTP/SCP
filesystrem types are also available in client-only builds.
4. Update the NO_WOLFSSH_SERVER and NO_WOLFSSH_DIR guards around
wolfsftp.c. Update wolfSSH_SFTP_free() to skip directory cleanup
when server code is disabled.
ZD #21261
1. Update the version requirements of libtool, automake, and autoconf to
version contemporary to the first release of wolfSSH.
2. Group all checks of `ENABLED_TPM` into one `AS_IF`.
3. Group all checks of `ENABLED_SSHD` into one `AS_IF`.
4. Replace `if` and `case` with `AS_IF` and `AS_CASE`.
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.