Andreas Schneider
62bff4aff1
wrapper: Use explicit_bzero() in crypto_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2018-09-04 19:57:16 +02:00
Andreas Schneider
f8e68b92b8
wrapper: Fix size type
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2018-09-04 19:57:12 +02:00
Andreas Schneider
9c5d2d4543
wrapper: Reformat crypto_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2018-09-04 19:57:06 +02:00
Andreas Schneider
4774d2b9f7
sftp: Fix segfault in sftp_canonicalize_path()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-04 17:30:18 +02:00
Andreas Schneider
f48dcb26e3
string: Don't allow to allocate strings bigger than 256M
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2018-09-04 12:29:20 +02:00
Andreas Schneider
d1f23cd6d8
string: Reformat ssh_string_new()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2018-09-04 12:29:09 +02:00
Andreas Schneider
e601dbd8e3
sftp: Use ssh_buffer_pack() in sftp_fstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
f3ffd8aa41
sftp: Reformat sftp_lstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
4d98b1cd7e
sftp: Use ssh_buffer_pack() in sftp_xstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
b00a0578f9
sftp: Reformat sftp_xstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
336c097ae7
sftp: Use ssh_buffer_unpack() in sftp_canonicalize_path()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
1dd8466f66
sftp: Use ssh_buffer_pack() in sftp_canonicalize_path()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
8b19ef05f3
sftp: Reformat sftp_canonicalize_path()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
7e11e41a9f
sftp: Use sftp_buffer_pack() in sftp_fstatvfs()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
5914ea7c75
sftp: Reformat sftp_fstatvfs()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
f1e84d5e67
sftp: Use ssh_buffer_pack() in sftp_fsync()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
8e3dd09e11
sftp: Use ssh_buffer_pack() in sftp_statvfs()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
ae0afec98d
sftp: Reformat sftp_statvfs()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
0be43c333e
sftp: Use ssh_buffer_unpack() in sftp_readlink()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
83a5d3b258
sftp: Use ssh_buffer_pack() in sftp_readlink()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:23 +02:00
Andreas Schneider
bb4bdec184
sftp: Reformat sftp_readlink()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:39:16 +02:00
Andreas Schneider
e0449ba21f
sftp: Use ssh_buffer_pack() in sftp_setstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:37:24 +02:00
Andreas Schneider
8a56b90c3e
sftp: Reformat sftp_setstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:36:29 +02:00
Andreas Schneider
218c67a51d
sftp: Use ssh_buffer_pack() in sftp_mkdir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:36:29 +02:00
Andreas Schneider
89c525bbf1
sftp: Reformat sftp_mkdir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:36:29 +02:00
Andreas Schneider
2c0baef7d4
sftp: Use ssh_buffer_pack in sftp_open()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:34:00 +02:00
Andreas Schneider
bfb6718b50
sftp: Reformat sftp_open()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:34:00 +02:00
Andreas Schneider
d99c066a0b
sftp: Use ssh_buffer_pack() in sftp_handle_close()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:34:00 +02:00
Andreas Schneider
2844942c1b
sftp: Reformat sftp_handle_close()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:34:00 +02:00
Andreas Schneider
3a729829fd
sftp: Use ssh_buffer_pack() in sftp_readdir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:34:00 +02:00
Andreas Schneider
576fdbe1e8
sftp: Reformat sftp_readdir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:32:45 +02:00
Andreas Schneider
87df9cfc5d
sftp: Use ssh_buffer_pack() in sftp_opendir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:32:23 +02:00
Andreas Schneider
ea375d1605
sftp: Reformat sftp_opendir()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:32:23 +02:00
Andreas Schneider
c15bd2831f
buffer: Precalculate the size required for ssh_buffer_pack()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:32:12 +02:00
Andreas Schneider
efef877356
buffer: Only reduce the buffer size if it gets bigger than 64K
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:29:15 +02:00
Andreas Schneider
254a0f7132
buffer: Only allow to allocate a maximum of 256MB
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:27:32 +02:00
Andreas Schneider
d2131b286f
buffer: Always preallocate a buffer with 64 bytes
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:26:36 +02:00
Andreas Schneider
c1c32bda14
buffer: Rewrite ssh_buffer_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 18:19:58 +02:00
Andreas Schneider
a1b57d3b94
buffer: Use bool for secure buffer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 15:00:53 +02:00
Andreas Schneider
be703974e9
buffer: Reformat buffer_shift()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 15:00:53 +02:00
Andreas Schneider
29f36791c9
buffer: Cleanup buffer_verify
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-03 15:00:53 +02:00
Andreas Schneider
f99e6766d6
auth: Fix freeing memory in ssh_userauth_agent_publickey()
...
CID 1395453
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-02 10:01:47 +02:00
Andreas Schneider
f8fc0b9dfb
messages: Fix memory leak in ssh_packet_userauth_request
...
Found by AddressSanitizer.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-01 21:26:37 +02:00
Andreas Schneider
ea2b403ab2
auth: Fix a memory leak in ssh_userauth_agent_publickey()
...
CID 1230358
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-01 09:41:11 +02:00
Andreas Schneider
8323cd791f
pki: Fix a memory leak in ssh_pki_do_sign()
...
CID 1395335
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-01 09:41:11 +02:00
Andreas Schneider
461ebd1e2f
packet: Add a bound check for nr_extensions
...
CID 1395335
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
2018-09-01 09:40:44 +02:00
Jakub Jelen
b4c8bd9fe4
pki: Support RSA SHA2 signatures of sessionid for server
...
This involves mostly creation of host keys proofs but needs
to follow the same procedure as the client authentication
signatures.
At the same time, the SHA2 extension is enabled in the pkd
so we are able to atomicaly provide correct signatures and
pass tests.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-08-31 14:18:34 +02:00
Jakub Jelen
5d13006650
server: We should list SHA2 variants in offered hostkeys
...
The SHA2 variants should be preferred. Also the buffer needs to be
extended to fit all possible public key algorithms.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-08-31 14:18:34 +02:00
Jakub Jelen
6fa5e8adb0
server: Support for extension negotiation
...
This includes intercepting the ext-info-c string from
the client kex proposal, configuring the server to allow using
this extension and sending the SSH_MSG_EXT_INFO packet back
to the client after the new keys are in use.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-08-31 14:18:34 +02:00
Jakub Jelen
60ad7ee15d
messages: Create correct digest for pki signatures
...
This does not affect old signatures, where the public key algorithm
matches the public key type.
This is a problem when using SHA2 extension for the RSA keys, where
the new signature algorithsm are introduced in addition to the
exitsing ssh-rsa which was ignored throughout the code.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2018-08-31 14:18:34 +02:00