| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
pointer+len
suggested by me; implemented by markus@ ok me
|
|
|
|
|
|
| |
than make the caller do it. Saves a lot of boilerplate code.
from markus@ ok djm@
|
|
|
|
|
| |
packet-related fatal error messages more context (esp. the remote endpoint)
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@
|
| |
|
|
|
|
| |
ok markus@
|
|
|
|
| |
message. Based in part on diff from lars.nooden at gmail, ok djm
|
|
|
|
|
|
|
| |
user session (including the shell and any TCP/IP forwardings) into
the specified rdomain(4)
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@
|
| |
|
| |
|
| |
|
|
|
|
| |
ok markus@
|
|
|
|
| |
ok markus@
|
|
|
|
| |
string in disconnect messages; ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
until rekeying (negative values are rejected at config parse time).
This allows the removal of some casts and a signed vs unsigned
comparison warning.
rekey_time is cast to int64 for the comparison which is a no-op
on OpenBSD, but should also do the right thing in -portable on
anything still using 32bit time_t (until the system time actually
wraps, anyway).
some early guidance deraadt@, ok djm@
|
|
|
|
| |
contents. This will be used for fuzzing; ok markus@
|
|
|
|
|
|
|
|
|
| |
- 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@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
early in the protocol probably seemed reasonable in the 1990s, but
today it's clearly a bad idea in terms of both cryptography (cf.
multiple compression oracle attacks in TLS) and attack surface.
Moreover, to support it across privilege-separation zlib needed
the assistance of a complex shared-memory manager that made the
required attack surface considerably larger.
Prompted by Guido Vranken pointing out a compiler-elided security
check in the shared memory manager found by Stack
(http://css.csail.mit.edu/stack/); ok deraadt@ markus@
NB. pre-auth authentication has been disabled by default in sshd
for >10 years.
|
|
|
|
|
|
|
| |
places that use them (authn and session code). After this, no state is
cached in canohost.c
feedback and ok markus@
|
|
|
|
|
|
|
|
|
|
|
| |
This makes automatic rekeying internal to the packet code (previously
the server and client loops needed to assist). In doing to it makes
application of rekey limits more accurate by accounting for packets
about to be sent as well as packets queued during rekeying events
themselves.
Based on a patch from dtucker@ which was in turn based on a patch
Aleksander Adamowski in bz#2521; ok markus@
|
|
|
|
| |
type of scan_scaled). Part of bz#2521, ok djm.
|
| |
|
|
|
|
| |
messages together into a session a bit easier; bz#2503 ok dtucker@
|
|
|
|
| |
uses; feedback and "looks good" markus@
|
|
|
|
|
| |
makes ssh-keyscan more reliable against server failures
ok dtucker@ markus@
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
a) switch packet.c to buffer api and isolate per-connection info into struct ssh
b) (de)serialization of the state is moved from monitor to packet.c
c) the old packet.c API is implemented in opacket.[ch]
d) compress.c/h is removed and integrated into packet.c
with and ok djm@
|
|
|
|
|
|
| |
post-auth child. the new buffer code is more strict, and requires
buffer_init() while the old code was happy after a bzero();
originally from djm@
|
|
|
|
|
| |
callers that futzing with it will futz with the actual buffer
contents
|
| |
|
|
|
|
|
| |
rekeying based on elapsed time in addition to amount of traffic.
with djm@ jmc@, ok djm
|
| |
|
|
|
|
|
| |
patch from lionel AT mamane.lu via Colin Watson in bz#1855;
ok markus@
|
|
|
|
|
|
| |
hardcoding lowdelay/throughput.
bz#1733 patch from philipp AT redfish-solutions.com; ok markus@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA offer
better performance than plain DH and DSA at the same equivalent symmetric
key length, as well as much shorter keys.
Only the mandatory sections of RFC5656 are implemented, specifically the
three REQUIRED curves nistp256, nistp384 and nistp521 and only ECDH and
ECDSA. Point compression (optional in RFC5656 is NOT implemented).
Certificate host and user keys using the new ECDSA key types are supported.
Note that this code has not been tested for interoperability and may be
subject to change.
feedback and ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string extracted from the buffer contains no embedded \0 characters*
This prevents random (possibly malicious) crap from being appended to
strings where it would not be noticed if the string is used with
a string(3) function.
Use the new API in a few sensitive places.
* actually, we allow a single one at the end of the string for now because
we don't know how many deployed implementations get this wrong, but don't
count on this to remain indefinitely.
|
|
|
|
|
| |
temporarily save the current state ren resuming a suspended connection.
ok markus@
|
|
|
|
|
| |
from Martin Forssen.
ok markus@
|
|
|
|
|
| |
from other files. No functional changes.
ok markus@ djm@
|
| |
|
|
|
|
| |
key renegotiation (bz #1363). With djm and Matt Day, ok djm@
|
|
|
|
| |
~10% speedup for localhost-scp; ok djm@
|
|
|
|
| |
keepalive timer (bz #1307). ok markus@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
has been authenticated successfully and set compression to 'delayed'
for sshd.
this breaks older openssh clients (< 3.5) if they insist on
compression, so you have to re-enable compression in sshd_config.
ok djm@
|
| |
|
| |
|