Commit Graph

47 Commits

Author SHA1 Message Date
Markus Friedl
23f31b72d2 sshpkt_put_u8 should touch the OUTGOING buffer 2012-09-20 11:15:46 +02:00
Markus Friedl
383e471d75 PACKET_SKIP_COMPAT2 for sshconnect2.c 2012-09-20 11:15:45 +02:00
Markus Friedl
79d66b3de8 add sshpkt_get(), use it for the rsa-response 2012-09-19 14:55:31 +02:00
Damien Miller
2a99b71b39 Include CRC compensation attack detector in per-transport state structure 2012-09-17 21:41:05 +02:00
Markus Friedl
e3403f3457 update to openssh-6.1 2012-07-30 20:41:29 +02:00
Markus Friedl
faaf51919a free the internal state in ssh_packet_close() 2012-03-07 00:26:56 +01:00
Damien Miller
4a3c3a7baf fix some kex-related leaks 2012-03-07 00:26:54 +01:00
Markus Friedl
a9b5c1feef replace ssh_packet_payload() with sshpkt_ptr(); adapt ssh_packet_payload()
sshpkt_ptr() has similar argument/return types as sshbuf_ptr()
u_int -> size_t, void * -> u_char.
2012-03-04 21:19:24 +01:00
Markus Friedl
f7ecade3a0 make sshbuf_get_stringb() a public API 2012-03-04 21:19:24 +01:00
Markus Friedl
ef966564df zero *kexp in kex_from_blob() 2012-03-04 21:19:24 +01:00
Markus Friedl
cfa5a3fa83 kex_from_blob(): don't leak the kex on error 2012-03-04 21:19:24 +01:00
Markus Friedl
43a81ccd73 make get_remote_ipaddr() per-connection and move it to ssh_remote_ipaddr() 2012-03-04 21:19:23 +01:00
Markus Friedl
b039f2339c don't make packet.c depend on the channels.c code 2012-03-04 21:19:23 +01:00
Markus Friedl
91f929fc6f de-fatal deattack and use sshbuf.h instead of misc.c 2012-03-04 21:19:23 +01:00
Markus Friedl
f8339e5505 de-fatal state serialisation and remove obsolete state-functions 2012-03-04 21:19:23 +01:00
Markus Friedl
63e255807e move packet state serialisation from monitor to packet.c 2012-03-04 21:19:23 +01:00
Markus Friedl
aac1adfc7b replace global 'datafellows' with new ssh->compat flag 2012-03-04 21:19:21 +01:00
Markus Friedl
ce73007d5b create struct ssh in ssh_connect() and pass it to ssh_login(),
ssh_exchange_identification(), ssh_kex2() and ssh_userauth2()
so we can avoid accessing the global connections state from there.
2012-03-04 21:19:21 +01:00
Markus Friedl
d9fd38c3a2 unbreak privsep by resetting the rekeying flag after authentication for now 2012-03-04 21:19:21 +01:00
Markus Friedl
2c632c1123 print full input buffer if packet size contains garbage (PACKET_DEBUG) 2012-03-04 21:19:20 +01:00
Markus Friedl
57cc6bbbe5 ssh_packet_send2() needs to queue pkts until initial kex is done.
fixes ssh-proxy w/ dropbear client
2012-03-04 21:19:20 +01:00
Markus Friedl
6da9f87abc add new error messages for protocol version and hostkey loading 2012-03-04 21:19:19 +01:00
Markus Friedl
d04408425a de-fatal packet_close(): cipher_cleanup() send and receive context
even if cleanup for the first fails
2012-03-04 21:19:19 +01:00
Markus Friedl
01f9f4bfb4 de-fatal ssh_packet_{send2_wrapped,read_poll2} 2012-03-04 21:19:18 +01:00
Markus Friedl
b645f5761f defatal ssh_set_newkeys() & ssh_packet_enable_delayed_compress() 2012-03-04 21:19:18 +01:00
Markus Friedl
14d8f87192 de-fatal ssh_packet_{init,start}_compression() 2012-03-04 21:19:18 +01:00
Markus Friedl
f6bb12089e defatal compression code by merging it into packet.c
Conflicts:

	ssh/packet.c
2012-01-17 14:45:00 +01:00
Markus Friedl
6e36bbb8ae de-fatal ssh_packet_{start,stop}_discard() 2012-01-17 14:44:19 +01:00
Markus Friedl
b618c7766b packet_read_poll*: switch from ssh_packet_get to sshpkt_get + return codes 2012-01-17 14:44:19 +01:00
Markus Friedl
679bcc093b packet.c: {get,put}_u32 -> {PEEK,POKE}_U32 2012-01-17 14:44:19 +01:00
Damien Miller
3ed152cd93 move cipher warning flag to session_state 2012-01-17 14:43:51 +01:00
Markus Friedl
85054aaf18 merge "defatal mac.[ch]" from djm
Conflicts:

	ssh/packet.c
2012-01-17 14:43:39 +01:00
Markus Friedl
568a12a63e defatal mac.[ch]
Conflicts:

	ssh/packet.c
2012-01-17 14:42:52 +01:00
Damien Miller
ef0c2e123f defatal cipher.[ch]
unbreak arcfour(128|256)
2012-01-17 14:37:27 +01:00
Markus Friedl
52128ed203 packet.c: s/ret/r/g 2012-01-17 14:37:27 +01:00
Markus Friedl
43f038abce ssh_packet_read_poll/seqnr now return an error and no longer use xmalloc 2012-01-17 14:37:27 +01:00
Markus Friedl
9e254e24c5 new sshpkt API: {get,put} wraps ssh_packet_{get,put}, adds {get_end,disconnect} 2012-01-17 14:37:27 +01:00
Markus Friedl
54c5205bc4 switch packet.c from buffer_* to sshbuf_* and call fatal on failure
this moves the call to fatal() to packet.c itself.
2012-01-17 14:37:27 +01:00
Markus Friedl
9662f3f978 replace Buffer with allocated 'struct sshbuf *' in session_state 2012-01-17 14:37:27 +01:00
Damien Miller
44dce8d972 reinitialise compression buffers in postauth privsep child
the postauth privsep child never had its compression buffers initialised.
the old buffer code would would because they were (fortunately) bzeroed,
but the new code is more paranoid.

There is probably a more minimal way to do this that I'm missing :)
2012-01-17 14:37:26 +01:00
Damien Miller
ea5ceecdc2 first cut at merging disentangled buffer and library code. buffer_* continue
to exist as thin wrappers around sshbuf_*

doesn't yet pass regress (breakage in hostkey checking, probably related to
new sshkey_* return values)
2012-01-17 14:32:48 +01:00
Markus Friedl
c714b85e60 do not send service request/accept during rekeying 2012-01-17 14:32:48 +01:00
Markus Friedl
3bbc21f3af packet.c: s/ssh->state/state/ 2012-01-17 14:32:47 +01:00
Markus Friedl
fd206f1cc3 remove duplicates from session_state 2012-01-17 14:32:47 +01:00
Markus Friedl
9cc85e2464 move packet state internals back from packet.h to packet.c 2012-01-17 14:32:46 +01:00
Markus Friedl
530367aafa Move the key exchange state and other global variables into
a per connection state struct, add a initial API that could
be used for a proxy (see ssh-proxy.c)

Joint work with Matthias Pitzl, Stefan Rinkes, Bernhard Zaun and
Arne Becker.
2012-01-17 14:32:46 +01:00
Markus Friedl
a87828ec88 import openssh as of 2012/01/05 2012-01-05 12:08:12 +01:00