Alberto Aguirre
b50fb638f7
knownhosts: Fix windows build failure
...
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-25 08:20:40 +02:00
Andreas Schneider
0940b0f29b
knownhosts: Do not double free memory
...
CID 1393236
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-06 08:38:14 +02:00
Andreas Schneider
f5f8c0fc76
knownhosts: Fix resource leak in ssh_known_hosts_parse_line()
...
CID 1391444
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-05 10:44:54 +02:00
Andreas Schneider
c4dbe3b863
knownhosts: Fix a memory leak on error
...
CID 1391446
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-05 10:43:08 +02:00
Andreas Schneider
669678119c
knownhosts: Fix possible null pointer dereference
...
CID 1391447
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-05 10:35:42 +02:00
Andreas Schneider
34e7a3cf8c
knownhosts: Fix resource leak in ssh_session_update_known_hosts()
...
CID 1391448
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-05 10:34:56 +02:00
Andreas Schneider
1001cbbb99
knownhosts: Fix resource leak in ssh_known_hosts_read_entries()
...
CID 1391449
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-05 10:34:49 +02:00
Aris Adamantiadis
36d52ee205
buffer: Add ssh_buffer_allocate() function
...
Signed-off-by: Aris Adamantiadis <aris@0xbadc0de.be >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 16:55:23 +02:00
Aris Adamantiadis
0ad462102a
packet: Add more debugging
...
Signed-off-by: Aris Adamantiadis <aris@0xbadc0de.be >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 16:55:21 +02:00
Andreas Schneider
4550c99222
known_hosts: Mark ssh_is_server_known as deprecated
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
a209f928d2
kwonhosts: Add functions to check if servers public key is known
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
f23dbe6f42
knownhosts: Add ssh_session_update_known_hosts()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
974e1831a0
knownhosts: Add ssh_session_export_known_hosts_entry()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
963c46e4fb
knownhosts: Add ssh_session_has_known_hosts_entry()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
32c49ea134
misc: Add ssh_list_count()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
a465ea2d49
knownhosts: Add ssh_known_hosts_read_entries()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
702e9e8ad5
knownhosts: Introduce new known hosts managing functions
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:20:28 +02:00
Andreas Schneider
952c64b4c0
threads: Fix compiler warning
...
Use a protype for libcrypto_lock_callback().
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-06-04 11:18:12 +02:00
Andreas Schneider
8457580f61
wrapper: Fix memory leak when freeing server_pubkey
...
Thanks to John McVann.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-05-14 08:17:08 +02:00
Andreas Schneider
ed4ea51bb8
connector: Add missing check for POLLHUP to detect EOF
...
Thanks to Chris Townsend.
Fixes T81
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-05-07 20:36:56 +02:00
Andreas Schneider
22a92da30d
auth: Handle SSH_AUTH_PARTIAL in agent auth correctly
...
Thanks to Orion Poplawski.
Fixes T82
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-05-07 20:32:13 +02:00
Andreas Schneider
362b20a0bc
server: Fix segfault in dh_handshake_server()
...
Thanks to Felix Jones
Fixes T91
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-05-07 20:09:56 +02:00
Andreas Schneider
816234350d
pki: Fix duplicating ed25519 public keys
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-25 16:25:32 +02:00
Andreas Schneider
4aeb0cfd9c
server: Fix session pubkey import
...
This is a regression introduced by 16217454d5
We import the pubkey into current_crypto which is NULL instead of
next_crypto.
Fixes T90
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-20 13:47:46 +02:00
Andreas Schneider
c705fb6e3b
kex1: Add missing NULL check in make_rsa1_string()
...
CID 1388445
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:33:55 +02:00
Andreas Schneider
1a36aa21ba
packet_cb: Fix the if check in ssh_packet_newkeys()
...
CID 1388446
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:32:35 +02:00
Andreas Schneider
c2f8010b60
known_hosts: Do not leak pubkey_buffer in check_public_key()
...
CID: 1388447
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:29:21 +02:00
Andreas Schneider
64985f7bea
server: Do not leak pubkey_blob in ssh_get_key_params()
...
CID 1388448
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:27:01 +02:00
Nikos Mavrogiannopoulos
3f562ee586
buffer: Do not call explicit_bzero with null arguments
...
This allows compiling and testing with undefined sanitizer.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:24:47 +02:00
Nikos Mavrogiannopoulos
eb796b4bbb
buffer: Do not call memcpy with null arguments
...
This allows compiling and testing with undefined sanitizer.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:24:42 +02:00
Andreas Schneider
87b8d232bd
buffer: Apply coding style to ssh_buffer_reinit()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:22:03 +02:00
Andreas Schneider
6f1f8d2bdb
buffer: Apply coding style to realloc_buffer()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-18 10:22:03 +02:00
Nikos Mavrogiannopoulos
a95bc8a016
kex1: Use libcrypto-compat.h for RSA_get0_key with OpenSSL
...
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-17 18:00:52 +02:00
Meng Tan
e005fd310f
Fix ssh_event_add_session() when session socket has two pollhandlers
...
Signed-off-by: Meng Tan <mtan@wallix.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-10 11:20:52 +02:00
Axel Eppe
fb2fefb3c6
channels: add ssh_channel_request_send_break to support RFC 4335
...
Signed-off-by: Axel Eppe <aeppe@google.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-04-10 11:16:23 +02:00
Andreas Schneider
2cc5b5865c
kex1: Use new dh pubkey import functions
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-28 10:20:54 +02:00
Andreas Schneider
8d65edb41f
kex1: Fix building with OpenSSL 1.1+
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-28 10:20:32 +02:00
Andreas Schneider
1247ba3398
channels1: Add missing config.h include
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-28 10:11:45 +02:00
Alberto Aguirre
be22c0d442
Add a NODELAY option
...
Add a new option SSH_OPTIONS_NODELAY to enable or disable the
Nagle Algorithm (TCP_NODELAY) on the session socket.
Improved performance can be achieved for some applications like
sftp servers by enabling SSH_OPTIONS_NODELAY as typically, the
next request won't arrive until the server replies, which are
typically small writes.
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-21 20:44:04 +01:00
Andreas Schneider
16217454d5
crypto: Change the type of server_pubkey to ssh_key
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-21 20:40:02 +01:00
Alberto Aguirre
7e1e0e5098
misc: Use SecureZeroMemory if available for explicit_bzero
...
Useful on Windows platforms where SecureZeroMemory is available.
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-11 22:58:49 +01:00
Alberto Aguirre
3fa0e3959c
misc: Use memset_s if available for explicit_bzero
...
Useful on OSX where memset_s is available.
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-11 22:58:13 +01:00
Alberto Aguirre
85ab4ee53a
connector: ensure channel callbacks are removed
...
ssh_connector_free fails to remove the in/out channel callbacks
as ssh_connector_remove_event sets the in/out channel variables
to NULL.
Have ssh_connector_free, remove the channel callbacks first before
invoking ssh_connector_remove_event.
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-07 15:48:04 +01:00
Alberto Aguirre
25f31760aa
connector: Check for POLLHUP on in_fd
...
POLLHUP needs to be checked on in_fd, which may be a pipe.
A pipe in Linux signals EOF through POLLHUP (see:
http://www.greenend.org.uk/rjk/tech/poll.html )
Without checking POLLHUP, a client could spin up indefinetely
doing ssh_event_dopoll.
Signed-off-by: Alberto Aguirre <albaguirre@gmail.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-07 15:47:03 +01:00
Juraj Vijtiuk
d11869bdb6
pki: Add mbedTLS ECDSA key comparison support
...
Signed-off-by: Juraj Vijtiuk <juraj.vijtiuk@sartura.hr >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-03-07 15:44:05 +01:00
Andreas Schneider
81847bf513
priv: Implement explicit_bzero as a function if not available
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Alberto Aguirre <albaguirre@gmail.com >
2018-03-02 18:07:42 +01:00
Andreas Schneider
cc1f496741
pki: Use explicit_bzero() to wipe privkey in memory
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-02-16 16:51:37 +01:00
Andreas Schneider
ebcff9fd63
src: Use explicit_bzero() if available on the platform
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-02-12 14:41:27 +01:00
Meng Tan
f19158cadf
Set channel as bound when accepting channel open request
...
Signed-off-by: Meng Tan <mtan@wallix.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-02-01 18:23:38 +01:00
Andreas Schneider
43bd7b6eee
dh: Use calloc() instead of malloc()
2018-01-18 18:57:18 +01:00