Jakub Jelen
9f2b42382c
fuzz: Use ssh_writen to avoid short reads
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2023-11-22 11:53:17 +01:00
Jakub Jelen
edb04af5be
fuzz: Add key files fuzzers
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2023-11-22 11:52:57 +01:00
Jakub Jelen
9847f3f638
Deprecate SSH_BIND_OPTIONS_{RSA,ECDSA}KEY in favor of generic HOSTKEY
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
2023-06-26 15:10:52 +02:00
Jakub Jelen
804814b895
fuzz: Avoid the server fuzzer to proceed to the authentication and further
...
Thanks Phil Turnbull from GitHub
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
2023-04-21 14:27:46 +02:00
Jakub Jelen
a12a8a0153
fuzz: Set smaller connection timeouts to avoid fuzzing timeouts
...
The client fuzzer can get stuck in poll call, when there is long connection
timeout and there are no usable message from the peer. Setting smaller user
timeout allows us spend more time productively fuzzing and exit early when there
is no message from peer.
Thanks oss-fuzz.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56935
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
2023-04-21 14:25:03 +02:00
Jakub Jelen
97c9ac2f58
Fix various spelling issues reported by codespell
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2022-10-12 13:50:38 +02:00
Jakub Jelen
a07ec441fd
fuzz: Do not expect the channel open and request succeed
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=45109
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-08-08 10:11:15 +02:00
Jakub Jelen
5dd8c03b3a
Do not accept too long inputs that fill socket buffers
...
There are long-standing issues with fuzzing, which cause the send() not writing
all the provided bytes and causing the fuzzer driver to crash. This can be
simply solved by limiting the input size to reasonably large value.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21967
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-08-08 10:11:14 +02:00
Jakub Jelen
33bcd8e81c
fuzz: Reformat
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-08-08 10:11:13 +02:00
Jakub Jelen
f97ff7c2e8
fuzz: Provide host and ssh dir for the fuzzer
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2022-02-15 11:34:11 +01:00
Jakub Jelen
44665f33a4
fuzz: Add a testcase for each fuzzer with a corpus
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-02-10 11:21:19 +01:00
Jakub Jelen
2e68cfbf40
fuzz: Add known_hosts file fuzzer
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-02-10 11:21:19 +01:00
Jakub Jelen
314c57d414
fuzz: Get rid of cpp mess in fuzzers
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-02-08 19:13:45 +01:00
Jakub Jelen
0aa3b4ee81
tests: Introduce bind configuration fuzzer
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2021-11-10 10:12:56 +01:00
Stanislav Zidek
ce26b56e13
client configuration fuzzing and fixes
...
Signed-off-by: Stanislav Zidek <szidek@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2021-11-02 11:33:26 +01:00
Jakub Jelen
455a161ed7
fuzz: Extend readme for reproducing and debugging tips
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-12-08 14:54:25 +01:00
Jakub Jelen
4149cebd64
fuzz: Avoid warnings from csbuild in fuzzers
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:29:16 +02:00
Jakub Jelen
425c02cb94
fuzz: Add instructions for corpus creation and first corpus files
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:29:13 +02:00
Jakub Jelen
ad8dedd4a4
fuzz: Allow to increase log level from server fuzzer
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:23:06 +02:00
Jakub Jelen
e26e98e59f
fuzz: Do not parse configuration files
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:23:06 +02:00
Jakub Jelen
ae184db913
fuzz: Use none cipher and MAC
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:23:06 +02:00
Jakub Jelen
62a0229f16
fuzz: Simplify definition of fuzzing targets and build them also with gcc
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:23:06 +02:00
Jakub Jelen
5411e0821f
fuzz: Correctly sort members initialization to prevent GCC warnings
...
tests/fuzz/ssh_client_fuzzer.cpp:45:1: error: designator order for field ‘ssh_callbacks_struct::userdata’ does not match declaration order in ‘ssh_callbacks_struct’
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2020-05-05 14:23:06 +02:00
Andreas Schneider
8c36a865f2
cmake: Rename static library
...
This is only compiled for tests and fuzzers!
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2019-11-07 14:01:01 +01:00
Andreas Schneider
a5cad4e700
tests: Do not use internal macros in the fuzzer
...
It should be buildable without internal headers.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-07-09 09:31:12 +02:00
Andreas Schneider
85951a156b
tests: Add ssh_client_fuzzer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-07-08 14:58:59 +02:00
Andreas Schneider
343c90ccf4
ctest: Run the ssh_server_fuzzer to check it works
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-07-08 12:02:19 +02:00
Andreas Schneider
7cd66d49f8
tests: Fix memory leak in ssh_server_fuzzer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-07-08 12:02:19 +02:00
Andreas Schneider
b2c7e0dd69
cmake: We don't have to define the ssh link libraries
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-07-08 12:02:19 +02:00
Andreas Schneider
519074f13e
tests: Improve fuzzer test
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2019-07-04 11:56:04 +02:00
Andreas Schneider
5a50fc6b0d
cmake: Fix building the ssh_server_fuzzer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2019-07-04 11:56:04 +02:00
Anderson Toshiyuki Sasaki
83b43443e5
threads: Automatically call ssh_init on load
...
This makes unnecessary to call ssh_init() when the library is
dynamically loaded. Also removes the threads shared library. The used
threads implementation is chosen in configuration time, changing the
ssh_threads_get_default() depending on the available threads library.
Internally, it is expected a threads implementation providing:
- void ssh_mutex_lock(void **mutex);
- void ssh_mutex_unlock(void **mutex);
- struct ssh_threads_callbacks_struct *ssh_threads_get_default(void);
and a crypto implementation providing:
- int crypto_thread_init(struct ssh_threads_callbacks_struct *user_callbacks);
- void crypto_thread_finalize(void);
This adds internal threads implementation for pthreads and noop.
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-08-03 16:43:03 +02:00
Andreas Schneider
6026fc8036
cmake: Fix libfuzzer linking with clang6
...
This is always available using -fsanitize=fuzzer now.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-10 11:13:57 +02:00
Andreas Schneider
25ff1214a4
cmake: Build ssh_server_fuzzer if enabled
...
Fixes T67
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-02-04 11:52:45 +01:00
Alex Gaynor
d84b0926f0
tests: Added a fuzzer for the server
...
Fixes T67
Signed-off-by: Alex Gaynor <alex.gaynor@gmail.com >
2018-02-04 11:51:58 +01:00