renmingshuai
8c40b2491d
session->socket_callbacks.data will be set to ssh_packet_socket_callback
...
in ssh_packet_register_socket_callback. Here is redundant.
Signed-off-by: renmingshuai <renmingshuai@huawei.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 0799775185 )
2022-08-25 17:36:45 +02:00
Timo Rothenpieler
3331b794bc
misc: rename gettimeofday symbol
...
mingw does have this function, even though it appears to be deprecated.
So the symbol has to have a different name, or linking becomes
impossible.
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 17aec429f5 )
2022-08-25 17:36:42 +02:00
Jakub Jelen
5da93db25a
pki: Rework handling of EVP_PKEYs in OpenSSL backend
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit a81e78aff4 )
2022-08-25 17:36:36 +02:00
Jakub Jelen
b18495b56b
Initialize pkcs11 engine only once
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit 0800618f32 )
2022-08-25 17:36:30 +02:00
Jakub Jelen
a96763b195
libcrypto: Skip unneccessary call to ENGINE_cleanup in OSSL>1.1
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit f721ee847b )
2022-08-25 17:36:26 +02:00
Jakub Jelen
540257b421
pki: Factor out the backend-specifics from cleaning the key structure
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit 382ff38caa )
2022-08-25 17:36:22 +02:00
Jakub Jelen
886ed379d8
session: Avoid memory leak of agent_socket from configuration file
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=48268
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit aa1e136ea3 )
2022-08-08 10:17:00 +02:00
Jakub Jelen
3db3511467
curve25519: Do not check for openssl functions when other crypto backend is used
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 0982715bb5 )
2022-08-03 10:49:18 +02:00
Jakub Jelen
4c5da86f91
pki: Do not check for DSA headers when DSA is not built in
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit ebeee7631d )
2022-08-03 10:49:17 +02:00
Jakub Jelen
2564246024
mbedcrypto: Refactor PEM parsing
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit aca482a5a5 )
2022-08-03 10:49:15 +02:00
Jakub Jelen
146d1a620d
session: Initialize pointers
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 355e29d881 )
2022-08-03 10:49:14 +02:00
Anderson Toshiyuki Sasaki
19c43ff6b7
init: Free global init mutex in the destructor on Windows
...
Fixes : #57 (T238)
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 163951d869 )
2022-08-02 16:03:06 +02:00
Jakub Jelen
17e9cd70a5
Move digest functions into separate file
...
The external ed25519 requires also the sha512 functions to work.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit c09b02c573 )
2022-08-02 16:01:42 +02:00
Jakub Jelen
cee5c9f404
Build external override library with all symbols
...
The curve25519 depends on ssh_get_random, which is normally built into libssh.
For the external override tests to build, we need to have them in separate
source file that can be included for this test.
For some reason, this did not happen on CI builds, but it did happen in koji
during RPM builds.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 0da54f2908 )
2022-08-02 16:01:35 +02:00
Andreas Schneider
43fb1d7c8d
packet: Check hmac return codes in ssh_packet_hmac_verify()
...
CID #1490530
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit b42e9a19a3 )
2022-07-14 15:03:58 +02:00
Andreas Schneider
5c629f22f6
packet: Use consistent return codes in ssh_packet_hmac_verify()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit e27ee9d0a4 )
2022-07-14 15:03:57 +02:00
Andreas Schneider
46e0703c6e
packet: Reformat ssh_packet_hmac_verify()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 4a7791b784 )
2022-07-14 15:03:55 +02:00
Norbert Pocs
cffa103378
Make it work with openssl3.0
...
The KDF was changed in the new API, fetching the algorithm first
then creating the context using it.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 9a4c5203af )
2022-07-13 15:36:07 +02:00
Norbert Pocs
d17c635617
options: Parse hostname by last '@'
...
The login name can have '@' char in it
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit bb5f7e2707 )
2022-07-12 10:45:34 +02:00
Norbert Pocs
dde5fd8d38
bind.c: Add missing size constant to err_msg
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e53a2711d3 )
2022-07-12 10:43:25 +02:00
Andreas Schneider
b9ccaf6e23
cmake: Build curve25519_ref.c if we build with libgcrypt
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 0128ed0d2c )
2022-07-11 11:02:17 +02:00
Andreas Schneider
db0a1d6811
src: Fix building curve25519 with libgcrypt
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit cc0939df73 )
2022-07-11 11:02:14 +02:00
Norbert Pocs
11a7c7b45b
libgcrypt: Remove useless comparison
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
78d109596c
pki_crypto: Fix segfault error when pkcs11
...
EVP_PKEY_dup can't be used with ENGINE generated keys and
the key can't be freed because it is passing the main key
from the struct.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
20c13a2c76
Change const bignum to bignum
...
Openssl3.0 API retrieves bignum variables from a key.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
a9dddd89aa
Use EVP_PKEY as a key type in key structs
...
Merge multiple key variables into one variable.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
7792d38157
Port functions to openssl3.0
...
Remove usage of deprecated functions.
Exceptions are:
- pkcs11 (no openssl provider support yet)
- ec (no support for uncompressed EC keys
https://github.com/openssl/openssl/pull/16624 )
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
fdf518435c
Define EC name constants for openssl3
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
debd0ea4d3
Update HMAC function parameter type
...
New openssl API, libmbedtls, libgcrypt use size_t for
HMAC len pameter.
New helper functions were added in libcrypto.c to avoid
code duplication. (the header pki.h is needed for this
reason)
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Jakub Jelen
51c940adc9
misc: FreeBSD compatible strerror_r usage
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:38:09 +02:00
Norbert Pocs
d30cf11cb6
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
e5bc5ffd04
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4b92d48085
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
a2a037a821
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4719c09e6a
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4f09bb3660
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
594608f21b
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
c437ba5c28
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
3efe7c3cfb
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
b44b749f28
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
9837471c2e
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
d92e389a80
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
0dce42c8fd
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
738cedb8be
Add ssh_strerror function
...
- strerror_r for linux
- strerror_s for windows
Keep in mind that strerror_r has two versions:
- XSI
- GNU
see manpage for more information
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Juraj Vijtiuk
0c08159f53
Fix mbedTLS issues caused by v3 API changes
...
Signed-off-by: Juraj Vijtiuk <vijtiuk.juraj@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-04 08:52:18 +02:00
Andreas Schneider
9caedca2c6
API: Bump SO version to 4.9.0
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-02 07:04:48 +02:00
omsheladia
e0985fc0b4
client: Add ssh_session_set_disconnect_message()
...
Fix #98 by adding 'ssh_session_set_disconnect_message' Whenever the ssh
session disconnects a "Bye Bye" message was set and displayed. Now the
peer has a choice to set a customised message to be sent after the
session is disconnected. The default "Bye Bye" will be set if this
function is not called or not called correctly. The testcases in
tests/server/torture_server can also demonstrate how this function
works.
Signed-off-by: Om Sheladia <omsheladia10@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-02 07:04:48 +02:00
Seung Min Park
4978f30320
Add ssh_send_issue_banner() API
...
Signed-off-by: Seung Min Park <smpark@pnpsecure.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-02 07:04:48 +02:00
tatataeki
332f1c2e09
sftp: fix the length calculation of packet in sftp_write
...
Signed-off-by: tatataeki <shengzeyu19_98@163.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-29 18:29:26 +02:00
Andreas Schneider
63e09908f1
poll: Document errno will be set for ssh_event_dopoll()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-23 12:35:39 +02:00