Commit Graph

8 Commits (master)

Author SHA1 Message Date
Emma Stensland 492e8cd65d Mitigate user enumeration timing oracle using dummy hash cache 2026-08-05 12:26:46 -07:00
Yosuke Shimizu 281e4bc19f Treat combined Match User/Group blocks as a conjunction in wolfsshd 2026-06-23 14:57:09 -07:00
John Safranek a7c7830dcd
Automake Refactor
1. Remove the DISTCLEANFILES variables from automake scripts. The items
   they clean are already cleaned appropriately.
2. For application targets, move the local headers to the SOURCES lists
   for the apps.
2022-10-20 11:35:59 -07:00
Jacob Barthelmeh b0e042b3fa change to adjust include.am include path instead of source code 2022-09-23 15:31:38 -06:00
John Safranek a01d31592c
Wildcard
1. Revise to use the porting functions.
2. Add test cases to check the config wildcards.
3. Generate test files for the wildcard test, and delete them after.
2022-08-26 12:41:00 -07:00
Hayden Roche 90769af1f8 Add a test program, test_configuration.c, for testing sshd config.
I wanted to be able to test ParseConfigLine directly, so I added some
preprocessor logic to expose this function (i.e. make it non-static) when
building test_configuration. I fixed a couple bugs discovered by this new
testing.
2022-07-28 13:12:13 -07:00
Hayden Roche 48b627d70d Refactor various wolfSSHD code.
- Move function declarations for WOLFSSHD_CONFIG from wolfsshd.h to a new
header, configuration.h. Change config.c to configuration.c. (using
"configuration" so as not to collide with autotools' config.h)
- Make the WOLFSSL_CONFIG* member of WOLFSSHD_AUTH const. At least at the
moment, it shouldn't be necessary for this member to be writable.
- Replace wolfSSHD_ConfigGetOption with functions to get specific members from
the config.
- Namespace all config functions with wolfSSHD_Config* and all auth functions
with wolfSSHD_Auth.
- Add const to function parameters, where possible.
- Remove wolfSSHD_ prefix from static functions. Just use PascalCase. These
don't need namespacing since they aren't visible outside their translation unit.
- Modify GetConfigInt to expect leading and trailing whitespace to have already
been removed. It will have been removed in the context this function is used in
configuration.c.
2022-07-27 15:21:11 -07:00
Hayden Roche 787d5be900 Add more functionality to wolfsshd, other improvements.
- 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.
2022-07-21 13:31:22 -07:00