Commit Graph

1411 Commits (5267f6cc4b1168cacb55a4a9f68afb21dc14f492)

Author SHA1 Message Date
Hayden Roche d62c1e0078 Fix GetConfigInt. 2022-07-27 16:47:14 -07:00
Hayden Roche e255679861 Add support for PasswordAuthentication config option. 2022-07-27 16:46:15 -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 477fb6c5c8 Add HostKey support and other config file code improvements.
- hostKeyFile and authKeysFile members of the config are now dynamically
allocated strings owned by the config.
- Break out sshd_config option handling into more modular functions.
2022-07-26 14:10:54 -07:00
JacobBarthelmeh 8d1d2fb633 add support for grace login timer 2022-07-26 10:56:30 -07:00
Hayden Roche 374f675553 Add support for PEM host keys. 2022-07-26 09:27:07 -07:00
JacobBarthelmeh 85109e66cf raise and lower permissions levels 2022-07-25 09:26:05 -07:00
JacobBarthelmeh d16f642734 pass full string in as salt 2022-07-21 16:26:26 -07:00
JacobBarthelmeh f8439af47e add support to handle PermitEmptyPasswords config 2022-07-21 16:23:01 -07:00
JacobBarthelmeh 311738d057 add link to liblogin with QNX for crypt 2022-07-21 14:43:43 -07:00
JacobBarthelmeh 11c1a3998d use function callbacks for auth 2022-07-21 13:31:22 -07:00
JacobBarthelmeh 7b8ce149d7 add look for libpam and adjust for QNX build 2022-07-21 13:31:22 -07:00
JacobBarthelmeh e493d3aeb2 assume sshd builds use shell, better support for routing session types after SSH accept 2022-07-21 13:31:22 -07:00
JacobBarthelmeh 2982ae88ee define for crypt use, set fd for shell, tie in sftp 2022-07-21 13:31:22 -07:00
Hayden Roche 76a17c9765 sshd improvements, get password auth working 2022-07-21 13:31:22 -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
Jacob Barthelmeh 474527b89c add missing wolfauth header file 2022-07-21 13:31:22 -07:00
Jacob Barthelmeh 475ee1f113 add wolfauth file for peer auth 2022-07-21 13:31:22 -07:00
Jacob Barthelmeh 65dde05900 simple ssh connection and start of shell with sshd 2022-07-21 13:31:22 -07:00
JacobBarthelmeh 5410cf5690 add tcp select and port arg 2022-07-21 13:31:22 -07:00
Jacob Barthelmeh 757f3c6b2c expanding config parsing 2022-07-21 13:31:22 -07:00
Jacob Barthelmeh 27cf3d31b9 add initial reading of sshd_config file 2022-07-21 13:31:22 -07:00
Jacob Barthelmeh c81fcbca39 initial autotools sshd addition 2022-07-21 13:31:22 -07:00
David Garske 90827e95b0
Merge pull request #427 from JacobBarthelmeh/port
adjust macro guard on NO_WOLFSSL_DIR for examples build
2022-07-15 16:06:32 -07:00
John Safranek b60f802de0
Merge pull request #429 from embhorn/zd14507
Fix mem init error in DoKexDhReply
2022-07-15 13:41:10 -07:00
David Garske 1d1ac2c475
Merge pull request #430 from JacobBarthelmeh/sftp
SFTP want write and SSH quick rekey issues
2022-07-14 13:07:07 -07:00
JacobBarthelmeh 3013eee8cb handle pending sent packets with SFTP and want write case with rekey 2022-07-14 09:17:43 -07:00
JacobBarthelmeh 3475e99f96 reset want read/write state on calling wolfSSH_accept and do not allow calling in error state 2022-07-13 21:41:52 -07:00
JacobBarthelmeh 0b5a36661c handle the case where SSH takes over output packet with SFTP want write 2022-07-13 21:35:32 -07:00
JacobBarthelmeh be2f462f73 handle sftp change to directory '/' 2022-07-13 21:31:26 -07:00
Eric Blankenhorn c31efcd8ed Fix mem init error in DoKexDhReply 2022-07-13 11:30:34 -05:00
JacobBarthelmeh e2ca8ada6e adjust macro guard on NO_WOLFSSL_DIR for examples build 2022-07-05 08:16:10 -07:00
David Garske e646bd141a
Merge pull request #426 from ejohnstown/sig-init
ECC Userauth Initialization
2022-06-29 19:38:47 -07:00
John Safranek 7116dd1d14
ECC Userauth Initialization
For ECC user authentication, initialize the mpints used to store the
signature before checking it. (ZD 14412)
2022-06-29 11:18:24 -07:00
David Garske 8a5d5362d5
Merge pull request #425 from ejohnstown/esp-build
ESP-IDF Build Cleanup
2022-06-28 16:44:30 -07:00
John Safranek 8f2c62accd
ESP-IDF Build Cleanup
1. Update the list of files to leave out of the build. They are from
   wolfCrypt and aren't needed. Also left out wolfSSH's version of
   misc.c as it is handled automatically.
2022-06-28 16:04:26 -07:00
David Garske c384dc56a0
Merge pull request #424 from ejohnstown/comp-init
RSA Userauth Initialization
2022-06-28 12:07:50 -07:00
John Safranek 4ff0683a16
RSA Userauth Initialization
For RSA user authentication, initialize the arrays used to store the
check value and the signature before loading and comparing them.
(ZD 14412)
2022-06-28 11:38:07 -07:00
John Safranek 7bdb49f3b4
Merge pull request #423 from JacobBarthelmeh/scp
handle extended data with scp connection
2022-06-16 10:42:35 -07:00
John Safranek 31f5464b12
Merge pull request #422 from kaleb-himes/MV-VULN-CHNGLOG
Move vulnerability to it's own section in changelog with attribute to researcher
2022-06-16 09:15:45 -07:00
JacobBarthelmeh cbd5ae04a4 handle extended data with scp connection 2022-06-14 15:30:24 -07:00
kaleb-himes d9bbd44d65 Fix typo 2022-06-06 10:53:16 -06:00
kaleb-himes 5d9e709d85 Move vulnerability to it's own section in changelog with attribute to researcher 2022-06-06 09:56:02 -06:00
David Garske 9f8d9c0856
Merge pull request #418 from ejohnstown/ecdsa
Small Fixes
2022-05-25 14:55:26 -07:00
John Safranek c7470383fe
Merge pull request #417 from dgarske/ecc_rng
Improve detection of ECC RNG requirement
2022-05-25 14:28:10 -07:00
John Safranek 6bc47eef77 No User
1. In the echoserver, add a print to the case where a user doesn't exist
   in the system.
2022-05-25 14:21:50 -07:00
John Safranek d30b1a91b4 ECDSA Issues
1. Several ifdef switches were using incorrect logic.
2022-05-25 14:21:50 -07:00
gojimmypi 4e90ba63aa Improve detection of ECC RNG requirement when building without `./configure`. For reference this normally comes from the `configure.ac` here https://github.com/wolfSSL/wolfssh/blob/master/configure.ac#L126, however when building without configure this causes an issue with all ECC signing. If the ECC RNG is not set with `wc_ecc_set_rng` then it will result in an ECC signing error `MISSING_RNG_E`. 2022-05-25 13:24:37 -07:00
John Safranek 73249c7257
Merge pull request #408 from anhu/saber
SABER Level 1 Support in wolfSSH
2022-05-24 14:51:39 -07:00
David Garske ed40938711
Merge pull request #414 from gojimmypi/ESP32_component
Espressif component install; updated setup_win.bat, new setup.sh
2022-05-23 14:04:28 -07:00