summaryrefslogtreecommitdiff
path: root/mux.c
Commit message (Collapse)AuthorAgeFilesLines
* - djm@cvs.openbsd.org 2010/01/29 20:16:17Damien Miller2010-01-301-3/+5
| | | | | | [mux.c] kill correct channel (was killing already-dead mux channel, not its session channel)
* - djm@cvs.openbsd.org 2010/01/29 00:20:41Damien Miller2010-01-301-2/+2
| | | | | | [sshd.c] set FD_CLOEXEC on sock_in/sock_out; bz#1706 from jchadima AT redhat.com ok dtucker@
* - djm@cvs.openbsd.org 2010/01/27 13:26:17Damien Miller2010-01-281-2/+8
| | | | | | | | | | | | | | [mux.c] fix bug introduced in mux rewrite: In a mux master, when a socket to a mux slave closes before its server session (as may occur when the slave has been signalled), gracefully close the server session rather than deleting its channel immediately. A server may have more messages on that channel to send (e.g. an exit message) that will fatal() the client if they are sent to a channel that has been prematurely deleted. spotted by imorgan AT nas.nasa.gov
* - djm@cvs.openbsd.org 2010/01/26 02:15:20Damien Miller2010-01-281-1/+1
| | | | | | [mux.c] -Wuninitialized and remove a // comment; from portable (Id sync only)
* - djm@cvs.openbsd.org 2010/01/26 01:28:35Damien Miller2010-01-261-415/+1425
| | | | | | | | | | | | | | | | | | | | | | | | | [channels.c channels.h clientloop.c clientloop.h mux.c nchan.c ssh.c] rewrite ssh(1) multiplexing code to a more sensible protocol. The new multiplexing code uses channels for the listener and accepted control sockets to make the mux master non-blocking, so no stalls when processing messages from a slave. avoid use of fatal() in mux master protocol parsing so an errant slave process cannot take down a running master. implement requesting of port-forwards over multiplexed sessions. Any port forwards requested by the slave are added to those the master has established. add support for stdio forwarding ("ssh -W host:port ...") in mux slaves. document master/slave mux protocol so that other tools can use it to control a running ssh(1). Note: there are no guarantees that this protocol won't be incompatibly changed (though it is versioned). feedback Salvador Fandino, dtucker@ channel changes ok markus@
* - djm@cvs.openbsd.org 2010/01/09 05:04:24Darren Tucker2010-01-091-3/+4
| | | | | | [mux.c sshpty.h clientloop.c sshtty.c] quell tc[gs]etattr warnings when forcing a tty (ssh -tt), since we usually don't actually have a tty to read/set; bz#1686 ok dtucker@
* - dtucker@cvs.openbsd.org 2009/08/20 23:54:28Darren Tucker2009-10-071-2/+2
| | | | | [mux.c] subsystem_flag is defined in ssh.c so it's extern; ok djm
* - dtucker@cvs.openbsd.org 2008/06/13 17:21:20Darren Tucker2008-06-141-3/+3
| | | | | [mux.c] Friendlier error messages for mux fallback. ok djm@
* - dtucker@cvs.openbsd.org 2008/06/13 00:47:53Darren Tucker2008-06-131-2/+2
| | | | | [mux.c] upcast size_t to u_long to match format arg; ok djm@
* - djm@cvs.openbsd.org 2008/06/13 00:16:49Darren Tucker2008-06-131-18/+54
| | | | | | | [mux.c] fall back to creating a new TCP connection on most multiplexing errors (socket connect fail, invalid version, refused permittion, corrupted messages, etc.); bz #1329 ok dtucker@
* - djm@cvs.openbsd.org 2008/06/12 15:19:17Darren Tucker2008-06-131-1/+2
| | | | | | [clientloop.h channels.h clientloop.c channels.c mux.c] The multiplexing escape char handler commit last night introduced a small memory leak per session; plug it.
* - djm@cvs.openbsd.org 2008/06/12 05:32:30Darren Tucker2008-06-131-2/+5
| | | | | [mux.c] some more TODO for me
* - djm@cvs.openbsd.org 2008/06/12 03:40:52Darren Tucker2008-06-131-31/+62
| | | | | | | | | | | | [clientloop.h mux.c channels.c clientloop.c channels.h] Enable ~ escapes for multiplex slave sessions; give each channel its own escape state and hook the escape filters up to muxed channels. bz #1331 Mux slaves do not currently support the ~^Z and ~& escapes. NB. this change cranks the mux protocol version, so a new ssh mux client will not be able to connect to a running old ssh mux master. ok dtucker@
* - (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H.Darren Tucker2008-06-071-0/+2
|
* - (djm) [configure.ac mux.c sftp.c openbsd-compat/Makefile.in]Damien Miller2008-05-201-1/+10
| | | | | | [openbsd-compat/fmt_scaled.c openbsd-compat/openbsd-compat.h] Fix compilation on Linux, including pulling in fmt_scaled(3) implementation from OpenBSD's libutil.
* - djm@cvs.openbsd.org 2008/05/09 14:18:44Damien Miller2008-05-191-0/+646
[clientloop.c clientloop.h ssh.c mux.c] tidy up session multiplexing code, moving it into its own file and making the function names more consistent - making ssh.c and clientloop.c a fair bit more readable. ok markus@