Jon Simons
5865b9436f
kex: server fix for first_kex_packet_follows
...
Ensure to honor the 'first_kex_packet_follow' field when processing
KEXINIT messages in the 'ssh_packet_kexinit' callback. Until now
libssh would assume that this field is always unset (zero). But
some clients may set this (dropbear at or beyond version 2013.57),
and it needs to be included when computing the session ID.
Also include logic for handling wrongly-guessed key exchange algorithms.
Save whether a client's guess is wrong in a new field in the session
struct: when set, the next KEX_DHINIT message to be processed will be
ignored per RFC 4253, 7.1.
While here, update both 'ssh_packet_kexinit' and 'make_sessionid' to
use softabs with a 4 space indent level throughout, and also convert
various error-checking to store intermediate values into an explicit
'rc'.
Signed-off-by: Jon Simons <jon@jonsimons.org >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2014-04-10 08:54:10 +02:00
Rod Vagg
d4d30d0375
dh: Fix NULL check for p_group14.
...
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2014-01-23 11:21:51 +01:00
Andreas Schneider
cb9786b3ae
src: Rename buffer_add_data() to ssh_buffer_add_data().
2014-01-19 20:55:55 +01:00
Andreas Schneider
9c4144689d
src: Rename buffer_init to ssh_buffer_init().
2014-01-19 20:43:29 +01:00
Andreas Schneider
6fe51b13fb
src: Update my mail address.
2014-01-07 16:08:23 +01:00
Aris Adamantiadis
aecd952d18
update copyright information
2014-01-07 15:18:15 +01:00
Andreas Schneider
b3a08ba8d3
dh: Fix wrong assignment.
...
Ups, sorry.
2013-11-14 08:08:49 +01:00
Andreas Schneider
6d7bbe63fe
dh: Avoid possible memory leaks with realloc.
2013-11-09 13:20:13 +01:00
Andreas Schneider
8c5777554a
dh: Move ssh_get_hexa() and ssh_print_hexa() down.
...
This way they are in the documentation block for the session and we get
documentation for them.
2013-11-06 17:10:41 +01:00
Andreas Schneider
06cd9bc4dc
dh: Add new ssh_get_publickey_hash() function.
2013-11-06 17:10:35 +01:00
Aris Adamantiadis
4cb6afcbd4
kex: implement curve25519-sha256@libssh.org
2013-09-27 15:32:44 +02:00
Andreas Schneider
c64ec43eef
src: Remove enter_function() and leave_function().
2013-07-14 13:31:24 +02:00
Andreas Schneider
ebdd0c6ac1
src: Migrate to SSH_LOG.
2013-07-14 12:44:26 +02:00
Aris Adamantiadis
dd6a0b51ac
Server: fix rekeying
2013-07-13 22:56:07 +02:00
Aris Adamantiadis
3b81da21c2
DH: fix rekeying when using aes256 and bigger
2013-07-13 18:12:10 +02:00
Andreas Schneider
4255a7223c
dh: Check return value of buffer_add_ssh_string().
2013-06-17 12:53:26 +02:00
Aris Adamantiadis
63c3f0e736
Implement key re-exchange
2012-12-23 23:09:50 +01:00
Xi Wang
efaebad323
CVE-2012-4562: Fix possible integer overflow in ssh_get_hexa().
...
No exploit known, but it is better to check the string length.
2012-11-14 17:36:11 +01:00
Andreas Schneider
2f8ddc6e65
dh: Don't use strcat for ssh_get_hexa().
...
This is just hardening the code.
Found by Coverity.
2012-10-12 14:45:54 +02:00
Andreas Schneider
96e0301b58
dh: Don't leak 'f' on error.
...
Found by Coverity.
2012-10-12 08:07:01 +02:00
Andreas Schneider
3c5235fdc0
dh: Fix dh_generate_e() with gcrypt.
2012-09-25 15:25:52 +02:00
Dmitriy Kuznetsov
e689375e45
dh: Add support for diffie-hellman-group14-sha1.
2012-09-04 16:17:46 +02:00
Andreas Schneider
782b2e37c6
build: Fix missing struct in_addr warning.
2012-07-17 18:16:07 +02:00
Andreas Schneider
2ed9d2160d
dh: Add a doc hint to ssh_string_free_char() for ssh_get_hexa().
2012-06-11 23:14:25 +02:00
Andreas Schneider
c0a7a84e92
dh: Fix build with DEBUG_CRYPTO.
2012-02-05 10:52:39 +01:00
Andreas Schneider
e799c0ce7d
dh: Add ssh_get_publickey().
2011-10-29 19:58:28 +02:00
Andreas Schneider
85cc582d4a
doc: Improve doc of ssh_get_pubkey_hash().
2011-10-04 10:47:05 +02:00
Aris Adamantiadis
ac41a083ef
kex: moved KEX structures to ssh_crypto_struct
2011-09-18 20:34:16 +02:00
Aris Adamantiadis
1b10b175fc
dh: fix segfault in server
2011-09-18 20:34:15 +02:00
Andreas Schneider
77e71ae3b5
dh: Use ssh_string_new() in make_bignum_string().
2011-09-08 19:58:59 +02:00
Andreas Schneider
5581323c2c
string: Use the struct and array for allocating the struct.
2011-09-08 15:50:39 +02:00
Andreas Schneider
e5a39a3ae9
keys: Remove keys.h where it is obsolete.
2011-08-30 12:15:20 +02:00
Andreas Schneider
9da331e79b
dh: Remove obsolete signature functions.
2011-08-22 18:47:15 +02:00
Andreas Schneider
6c03b7a9c9
misc: Add ssh_match_group().
2011-08-22 16:16:34 +02:00
Aris Adamantiadis
db2d0ebc44
Fix build with missing openssl/ecdh.h
2011-06-14 22:57:43 +02:00
Aris Adamantiadis
c5a998f47a
[crypto] initial support for ecdh-sha2-nistp256
...
Works with openssl
Still requires work for libgcrypt and other modes
2011-06-13 13:46:34 +02:00
Aris Adamantiadis
3b72bf0880
Moved DH specific code to dh.h
2011-06-12 20:55:58 +02:00
Oliver Stöneberg
3ae01ff9f5
init: Some initialization fixes.
...
- Check result of ssh_init() in privatekey_from_base64()
- Moved code from ssh_finalize() to appropriate subroutines
- Only initialize sockets once (caused mismatch of WSAStartup() and
WSACleanup() calls and potential usage of bsd_poll when win_poll
should be used)
2011-05-01 19:42:50 +02:00
Andreas Schneider
a016d356fa
dh: Fixed a memory leak in ssh_print_hexa.
...
Found by cppcheck - http://test.libssh.org/cppcheck-analyzer/
2011-01-06 14:25:35 +01:00
Aris Adamantiadis
98221f4e36
Fixed a bunch of smallish bugs
...
http://linuxtesting.org/upstream-tracker/test_results/libssh/current/test_results.html
for a whole list
2010-10-20 14:47:11 +02:00
Aris Adamantiadis
338a3d9b05
Removed references to ssh_buffer_get_begin
2010-10-03 12:07:00 +02:00
Andreas Schneider
f7842e3a4b
misc: Rename libssh/ to src/
2010-09-06 14:28:38 +02:00