| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
indentation on continuation lines. Prompted by GHPR#185
|
|
|
|
|
| |
use that instead of global variables containing copies of it.
feedback/ok markus@
|
|
|
|
| |
appending ssh_err(r) manually; ok markus@
|
|
|
|
|
| |
select() loop; fixed theoretical case where busy sshd may ignore
timeouts from client; inspired by and ok dtucker
|
|
|
|
| |
failures here too as the former yields better error messages; ok dtucker@
|
|
|
|
|
|
| |
behaviour, rather than killing the connection after sending the first
liveness test probe (regardless of whether the client was responsive)
bz2627; ok markus
|
|
|
|
|
|
|
|
|
|
| |
> revision 1.217
> date: 2019/11/27 03:34:04; author: dtucker; state: Exp; lines: +5 -7; commitid: wkiMn49XJyjzoJIs;
> Make channel_id u_int32_t and remove unnecessary check and cast that were
> left over from the type conversion. Noted by t-hashida@amiya.co.jp in
> bz#3098, ok markus@ djm@
Darren was right the first time; ok dtucker@ "agreed" 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.
|
|
|
|
| |
for channel ids so the INT_MAX check still makes sense.
|
|
|
|
|
| |
left over from the type conversion. Noted by t-hashida@amiya.co.jp in
bz#3098, ok markus@ djm@
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
cause connection to close incorrectly; Report and patch from Jakub
Jelen in bz#2757; ok dtucker@ markus@
|
|
|
|
|
|
| |
keepalives successively and prematurely terminating connection when
ClientAliveCount=1. While there, collapse two similar tests into one.
ok markus@
|
|
|
|
|
| |
sshpkt_error(). The first one logs the error and exits (what we want)
instead of just logging and blundering on.
|
|
|
|
| |
with & ok markus@
|
|
|
|
| |
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@
|
|
|
|
|
|
|
| |
setuid and sshd always has privsep on, we can remove the uid checks
for low port binds and just let the system do the check. We leave
a sanity check for the !privsep case so long as the code is stil
there. with & ok djm@
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
legacy one.
Includes a fairly big refactor of auth2-pubkey.c to retain less state
between key file lines.
feedback and ok markus@
|
|
|
|
|
|
|
|
|
| |
The signal handlers from the original ssh1 code on which OpenSSH
is based assume unreliable signals and reinstall their handlers.
Since OpenBSD (and pretty much every current system) has reliable
signals this is not needed. In the unlikely even that -portable
is still being used on such systems we will deal with it in the
compat layer. ok deraadt@
|
|
|
|
|
|
|
|
|
|
| |
ssh.com <=2.* and OpenSSH <= 3.*.
These versions were all released in or before 2001 and predate the
final SSH RFCs. The hacks in question aren't necessary for RFC-
compliant SSH implementations.
ok markus@
|
|
|
|
|
| |
algorithm of kex->hostkey_alg is incorrect when the key type isn't
capable of making those signatures. ok markus@
|
|
|
|
|
| |
check that the negotiated algorithm matches the type in the
signature (only matters for RSA SHA1/SHA2 sigs). ok markus@
|
|
|
|
| |
message. Based in part on diff from lars.nooden at gmail, ok djm
|
|
|
|
|
|
|
|
|
|
|
| |
At the client, the device may be obtained from a new %T expansion
for LocalCommand.
At the server, the allocated devices will be listed in a
SSH_TUNNEL variable exposed to the environment of any user sessions
started after the tunnel forwarding was established.
ok markus
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
| |
to come...); ok markus@
|
|
|
|
|
| |
instead of just "<" so client_alive_check will fire if the select
happens to return on exact second of the timeout. ok djm@
|
|
|
|
|
|
|
|
|
| |
use this to also schedule a client_alive_check(). Prevents activity
on a forwarded port from indefinitely preventing the select timeout
so that client_alive_check() will eventually (although not optimally)
be called.
Analysis by willchan at google com via bz#2756, feedback & ok djm@
|
| |
|
| |
|
|
|
|
| |
than always "administratively prohibited". bz#2674, ok djm@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
TCP, tunnel and Unix domain socket forwarding, as well as anything
else we might implement in the future.
This, like the 'restrict' authorized_keys flag, is intended to be a
simple and future-proof way of restricting an account. Suggested as
a complement to 'restrict' by Jann Horn; ok markus@
|
|
|
|
|
| |
it easier for Portable to support platforms with permissions models other than
uid==0 (eg bz#2625). ok djm@, "doesn't offend me too much" deraadt@.
|
|
|
|
|
| |
rather than pulling <sys/param.h> and unknown namespace pollution.
ok djm markus dtucker
|
| |
|
|
|
|
|
|
|
| |
places that use them (authn and session code). After this, no state is
cached in canohost.c
feedback and ok markus@
|
|
|
|
|
|
| |
previously keepalive packets were not being sent.
bz#2252 report and analysis by Christian Wittenhorst and Garrett Lee
feedback and ok dtucker@
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
| |
based on draft-rsa-dsa-sha2-256-03.txt and draft-ssh-ext-info-04.txt;
with & ok djm@
|
|
|
|
|
| |
that don't allocate a port; bz#2509 diagnosed by Ron Frederick
ok markus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I accidentally changed the format of the hostkeys@openssh.com messages
last week without changing the extension name, and this has been causing
connection failures for people who are running -current. First reported
by sthen@
s/hostkeys@openssh.com/hostkeys-00@openssh.com/
Change the name of the proof message too, and reorder it a little.
Also, UpdateHostKeys=ask is incompatible with ControlPersist (no TTY
available to read the response) so disable UpdateHostKeys if it is in
ask mode and ControlPersist is active (and document this)
|
|
|
|
|
|
|
|
|
|
| |
The client will not ask the server to prove ownership of the private
halves of any hitherto-unseen hostkeys it offers to the client.
Allow UpdateHostKeys option to take an 'ask' argument to let the
user manually review keys offered.
ok markus@
|