| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
indentation on continuation lines. Prompted by GHPR#185
|
| |
|
|
|
|
| |
appending ssh_err(r) manually; ok markus@
|
|
|
|
|
|
| |
and/or stderr to /dev/null. Factor all these out to a single
stdfd_devnull() function that allows selection of which of these
to redirect. ok markus@
|
| |
|
| |
|
|
|
|
|
|
| |
This wrapper blocks all other signals during the handler preventing
races between handlers, and sets SA_RESTART which should reduce the
potential for short read/write operations.
|
|
|
|
|
|
| |
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.
|
|
|
|
| |
with & ok markus@
|
|
|
|
|
|
|
|
|
|
|
| |
almost exactly six years ago.
This change stops including the old packet_* API by default and makes
each file that requires the old API include it explicitly. We will
commit file-by-file refactoring to remove the old API in consistent
steps.
with & ok markus@
|
|
|
|
|
| |
tasks are obsolete and, of the remainder, most are already captured in
PROTOCOL.mux where they better belong
|
|
|
|
|
|
|
|
|
| |
Gives better symmetry with the existing mux_client_*() names and makes
it more obvious when a message comes from the master vs client (they
are interleved in ControlMaster=auto mode).
no functional change beyond prefixing a could of log messages with
__func__ where they were previously lacking.
|
|
|
|
| |
feedback and ok dtucker@
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
variables for the remote session (subject to the server accepting them)
refactor SendEnv to remove the arbitrary limit of variable names.
ok markus@
|
|
|
|
|
|
|
|
|
| |
may be listened on when the client requests remote forwarding (ssh -R).
This is the converse of the existing PermitOpen directive and this
includes some refactoring to share much of its implementation.
feedback and ok markus@
|
|
|
|
| |
portable where sig_atomic_t might not be int. "much nicer" deraadt@
|
|
|
|
| |
!= int. ok djm@
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we tracked the remote channel IDs in an int, but this is
strictly incorrect: the wire protocol uses uint32 and there is nothing
in-principle stopping a SSH implementation from sending, say, 0xffff0000.
In practice everyone numbers their channels sequentially, so this has
never been a problem.
ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move static state to a "struct ssh_channels" that is allocated at
runtime and tracked as a member of struct ssh.
Explicitly pass "struct ssh" to all channels functions.
Replace use of the legacy packet APIs in channels.c.
Rework sshd_config PermitOpen handling: previously the configuration
parser would call directly into the channels layer. After the refactor
this is not possible, as the channels structures are allocated at
connection time and aren't available when the configuration is parsed.
The server config parser now tracks PermitOpen itself and explicitly
configures the channels code later.
ok markus@
|
|
|
|
|
| |
negotiations. Causes the session to fall back to a non-mux connection
if they occur. bz#2707 ok dtucker@
|
|
|
|
|
|
|
| |
incoming socket, so userspace doesn't need to set it unless it has its
own reasons for tracking the size along with the sockaddr.
ok phessler@ deraadt@ florian@
|
|
|
|
| |
LogLevel=quiet. Patch from Tim Kuijsten via tech@.
|
|
|
|
|
|
|
|
|
| |
- mux client speaks the ssh-packet protocol directly over unix-domain socket.
- mux server acts as a proxy, translates channel IDs and relays to the server.
- no filedescriptor passing necessary.
- combined with unix-domain forwarding it's even possible to run mux client
and server on different machines.
feedback & ok djm@
|
| |
|
|
|
|
| |
This will make future changes a bit easier. ok djm@
|
| |
|
|
|
|
|
| |
forwarding when the X server disables the SECURITY extension;
Reported by Thomas Hoger; ok deraadt@
|
|
|
|
|
|
| |
problem found by halex@
ok halex@
|
|
|
|
|
|
|
|
|
| |
- mux client: which is used when ControlMaster is in use.
will end with "stdio proc tty" (proc is to permit sending SIGWINCH to mux master on window resize)
- client loop: several levels of pledging depending of your used options
ok deraadt@
|
|
|
|
| |
strings; reported by Nicholas Lemonias
|
|
|
|
| |
ok markus@
|
|
|
|
|
| |
list of active forwards; bz#2363, patch mostly by Yoann Ricordel;
ok dtucker@
|
|
|
|
| |
ok dtucker@
|
|
|
|
| |
ok djm
|
|
|
|
| |
ok djm markus
|
|
|
|
|
| |
multiplexing is in use; patch from Sami Hartikainen via bz#2324;
ok dtucker@
|
|
|
|
|
| |
previously we were always returning 0. bz#2255 reported by Brendan
Germain; ok dtucker
|
| |
|
|
|
|
|
|
|
|
| |
may be forwarded to a local Unix domain socket and vice versa or
both ends may be a Unix domain socket. This is a reimplementation
of the streamlocal patches by William Ahern from:
http://www.25thandclement.com/~william/projects/streamlocal.html
OK djm@ markus@
|
|
|
|
|
| |
callers that futzing with it will futz with the actual buffer
contents
|
| |
|
| |
|
|
|
|
| |
and call it through the detach_user function pointer. ok djm@
|
| |
|
| |
|
|
|
|
| |
(in addition to ones already in OPEN); bz#2079, ok dtucker@
|
|
|
|
| |
bz#2055 reported by mathieu.lacage AT gmail.com
|