VOOZH about

URL: https://cvsweb.openbsd.org/log/src/usr.bin/ssh/readconf.c,v

⇱ OpenBSD CVS Repository


👁 Image

CVS Repository/ src/ usr.bin/ ssh/ readconf.c


OpenBSD release(s):
1.411 (79),  1.406 (78),  1.398 (77),  1.392 (76),  1.386 (75),  1.381 (74),  1.375 (73),  1.369 (72),  1.366 (71),  1.363 (70),  1.353 (69),  1.335 (68),  1.329 (67),  1.309 (66),  1.304 (65),  1.300 (64),  1.283 (63),  1.279 (62),  1.270 (61),  1.259 (60),  1.250 (59),  1.239 (58),  1.232 (57),  1.220 (56),  1.218 (55),  1.204 (54),  1.196 (53),  1.194 (52 51),  1.193 (50),  1.190 (49),  1.187 (48),  1.183 (47),  1.177 (46),  1.176 (45),  1.167 (44),  1.165 (43),  1.162 (42),  1.161 (41),  1.159 (40),  1.148 (39),  1.143 (38),  1.139 (37),  1.134 (36),  1.128 (35),  1.121 (34),  1.102 (33),  1.100 (32),  1.95 (31),  1.91 (30),  1.76 (29),  1.49 (28),  1.31 (27),  1.12 (26), 
Tags:
None
revision 1.411/ (Download) - annotate - Mon, 30 Mar 2026 07:18:24 UTC by djm
OpenBSD release(s): 79
Changes since 1.410: +86 -38 (diff)
apply the same validity rules to usernames and hostnames set for
ProxyJump/-J on the commandline as we do for destination user/host
names.

Specifically, they are no longer allowed to contain most characters
that have special meaning for common shells. Special characters are
still allowed in ProxyJump commands that are specified in the config
files.

This _reduces_ the chance that shell characters from a hostile -J
option from ending up in a shell execution context.

Don't pass untrusted stuff to the ssh commandline, it's not intended
to be a security boundary. We try to make it safe where we can, but
we can't make guarantees, because we can't know the parsing rules
and special characters for all the shells in the world, nor can we
know what the user does with this data in their ssh_config wrt
percent expansion, LocalCommand, match exec, etc.

While I'm in there, make ProxyJump and ProxyCommand first-match-wins
between each other.

reported by rabbit; ok dtucker@

revision 1.410/ (Download) - annotate - Sat, 14 Feb 2026 00:18:34 UTC by jsg
Changes since 1.409: +1 -4 (diff)
remove unneeded includes; ok dtucker@

revision 1.409/ (Download) - annotate - Wed, 11 Feb 2026 22:57:55 UTC by djm
Changes since 1.408: +37 -5 (diff)
support multiple files in a ssh_config RevokedHostKeys directive
bz3918; ok dtucker

revision 1.408/ (Download) - annotate - Sun, 08 Feb 2026 19:54:31 UTC by dtucker
Changes since 1.407: +2 -2 (diff)
Reorder headers according to KNF, and pull in a few we don't have from
Portable.

revision 1.407/ (Download) - annotate - Thu, 20 Nov 2025 05:10:11 UTC by dtucker
Changes since 1.406: +5 -4 (diff)
Plug leaks while parsing Match blocks. Coverity CID 515634, ok miod@ djm@

revision 1.406/ (Download) - annotate - Fri, 29 Aug 2025 03:50:38 UTC by djm
OpenBSD release(s): 78
Changes since 1.405: +1 -2 (diff)
remove experimental support for XMSS keys;

ok deraadt markus

revision 1.405/ (Download) - annotate - Mon, 11 Aug 2025 10:55:38 UTC by djm
Changes since 1.404: +22 -2 (diff)
ssh(1): add a warning when the connection negotiates a non-post
quantum safe key agreement algorithm.

Controlled via a new WarnWeakCrypto ssh_config option, defaulting
to on. This option might grow additional weak crypto warnings in
the future.

More details at https://openssh.com/pq.html

mostly by deraadt@ feedback dtucker@ ok deraadt@

revision 1.404/ (Download) - annotate - Tue, 05 Aug 2025 09:08:16 UTC by job
Changes since 1.403: +2 -2 (diff)
Use the operating system default DSCP marking for non-interactive traffic

It seems the CS1 traffic class mark is considered ambiguous and therefore
somewhat unhelpful (see RFC 8622 for more considerations). But, the new
'LE' scavenger class (also proposed in RFC 8622) offers high probability
of excessive delays & high packet loss, which would be inappropriate
for use with, for example, X11 forwardings. In fact, it is not known to
SSH what's appropriate because SSH is not aware of the content of what
passing through session forwardings. Therefore, no marking is appropriate.
Non-interactive traffic simply is best effort.

OK djm@ deraadt@

revision 1.403/ (Download) - annotate - Thu, 31 Jul 2025 11:23:39 UTC by job
Changes since 1.402: +13 -1 (diff)
Deprecate support for IPv4 type-of-service (TOS) IPQoS keywords

Type of Service (ToS) was deprecated in the late nineties and replaced
with the Differentiated Services architecture. Diffserv has significant
advantages for operators because this mechanism offers more granularity.

OpenSSH switched its default IPQoS from ToS to DSCP values in 2018.

IPQoS configurations with 'lowdelay', 'reliability', or 'throughput' will be
ignored and instead the system default QoS settings apply. Additionally, a
debug message is logged about the deprecation with a suggestion to use DSCP.

with/OK deraadt@ sthen@ djm@

revision 1.402/ (Download) - annotate - Thu, 31 Jul 2025 09:38:41 UTC by job
Changes since 1.401: +2 -2 (diff)
Set default IPQoS for interactive sessions to Expedited Forwarding (EF)

Marking interactive session data with DSCP value EF (RFC3246, RFC3247)
helps inform the network on relative priority compared to other traffic.
This is especially useful for differentiated treatment over wireless media.

Following the reconciled IETF Diffserv to IEEE 802.11 mappings (RFC 8325),
traffic marked with DSCP value EF maps to User Priority 6 in QoS Control,
in turn mapping to the high priority WMM AC_VO access category.

OK djm@

revision 1.401/ (Download) - annotate - Wed, 23 Jul 2025 05:07:19 UTC by djm
Changes since 1.400: +16 -2 (diff)
add a ssh_config RefuseConnection option that, when encountered while
processing an active section in a configuration file, terminates
ssh(1) with an error message that contains the argument to the
option.

This may be useful for expressing reminders or warnings in config
files, for example:

Match host foo
 RefuseConnection "foo is deprecated, use splork instead"

ok djg

revision 1.400/ (Download) - annotate - Tue, 24 Jun 2025 09:22:03 UTC by djm
Changes since 1.399: +5 -4 (diff)
make "Match !final" not trigger a 2nd pass ssh_config parsing pass
(unless hostname canonicalisation or a separate "Match final" does).
bz3843

ok dtucker@

revision 1.399/ (Download) - annotate - Tue, 06 May 2025 05:40:56 UTC by djm
Changes since 1.398: +1 -4 (diff)
finally remove DSA signature support from OpenSSH.

feedback/ok tb@, ok deraadt@

revision 1.398/ (Download) - annotate - Tue, 18 Mar 2025 04:53:14 UTC by djm
OpenBSD release(s): 77
Changes since 1.397: +6 -3 (diff)
fix NULL dereference for Match conditions missing arguments, e.g.
"Match user". Spotted by Coverity (CID 477813)

revision 1.397/ (Download) - annotate - Sat, 15 Feb 2025 01:52:07 UTC by djm
Changes since 1.396: +8 -1 (diff)
add "Match version" support to ssh_config. Allows matching on the
local version of OpenSSH, e.g. "Match version OpenSSH_10.*"

ok markus@

revision 1.396/ (Download) - annotate - Sat, 15 Feb 2025 01:50:47 UTC by djm
Changes since 1.395: +14 -1 (diff)
Add support for "Match sessiontype" to ssh_config. Allows matching on
the type of session requested, either "shell" for interactive
sessions, "exec" for command execution sessions, "subsystem" for
subsystem requests, such as sftp, or "none" for
transport/forwarding-only sessions.

ok markus@

revision 1.395/ (Download) - annotate - Sat, 15 Feb 2025 01:48:30 UTC by djm
Changes since 1.394: +45 -24 (diff)
"Match command ..." support for ssh_config to allow matching on
the remote command specified on the commandline.

Also relaxes matching rules for `Match tagged` to allow
`Match tagged ""` to match an empty tag value. This also works
for command.

ok markus@

revision 1.394/ (Download) - annotate - Fri, 06 Dec 2024 16:21:48 UTC by djm
Changes since 1.393: +27 -1 (diff)
support VersionAddendum in the client, mirroring the option of
the same name in the server; bz2745 ok dtucker@

revision 1.393/ (Download) - annotate - Wed, 27 Nov 2024 16:07:08 UTC by djm
Changes since 1.392: +3 -1 (diff)
fix argument of "Compression" directive in ssh -G config dump,
which used to work but broke in 9.8

revision 1.392/ (Download) - annotate - Thu, 26 Sep 2024 23:55:08 UTC by djm
OpenBSD release(s): 76
Changes since 1.391: +7 -7 (diff)
fix previous change to ssh_config Match, which broken on negated
Matches; spotted by phessler@ ok deraadt@

revision 1.391/ (Download) - annotate - Wed, 25 Sep 2024 01:24:04 UTC by djm
Changes since 1.390: +23 -5 (diff)
fix regression introduced when I switched the "Match" criteria tokeniser
to a more shell-like one. Apparently the old tokeniser (accidentally?)
allowed "Match criteria=argument" as well as the "Match criteria argument"
syntax that we tested for.

People were using this syntax so this adds back support for
"Match criteria=argument"

bz3739 ok dtucker

revision 1.390/ (Download) - annotate - Sun, 15 Sep 2024 00:57:36 UTC by djm
Changes since 1.389: +14 -21 (diff)
switch "Match" directive processing over to the argv string
tokeniser, making it possible to use shell-like quoting in Match
directives, particularly "Match exec". ok markus@

revision 1.389/ (Download) - annotate - Tue, 03 Sep 2024 05:29:55 UTC by djm
Changes since 1.388: +85 -44 (diff)
allow the "Include" directive to expand the same set of %-tokens
that "Match Exec" and environment variables.

ok dtucker@

revision 1.388/ (Download) - annotate - Fri, 23 Aug 2024 04:51:00 UTC by deraadt
Changes since 1.387: +2 -2 (diff)
As defined in the RFC, the SSH protocol has negotiable compression support
(which is requested as the name "zlib"). Compression starts very early in
the session.
Relative early in OpenSSH lifetime, privsep was added to sshd, and this
required a shared-memory hack so the two processes could see what was going
on in the dataflow. This shared-memory hack was soon recognized as a tremendous
complexity risk, because it put libz (which very much trusts it's memory)
in a dangerous place, and a new option ("zlib@openssh.com") was added begins
compression after authentication (aka delayed-compression). That change
also permitted removal of the shared-memory hack.
Despite removal from the server, the old "zlib" support remained in the
client, to allow negotiation with non-OpenSSH daemons which lack the
delayed-compression option.
This commit deletes support for the older "zlib" option in the client.
It reduces our featureset in a small way, and encourages other servers
to move to a better design.
The SSH protocol is different enough that compressed-key-material attacks
like BEAST are unlikely, but who wants to take the chance?
We encourage other ssh servers who care about optional compression support
to add delayed-zlib support. (Some already do "zlib@openssh.com")
ok djm markus

revision 1.387/ (Download) - annotate - Fri, 17 May 2024 02:39:11 UTC by jsg
Changes since 1.386: +2 -2 (diff)
spelling; ok djm@

revision 1.386/ (Download) - annotate - Mon, 04 Mar 2024 04:13:18 UTC by djm
OpenBSD release(s): 75
Changes since 1.385: +19 -7 (diff)
fix leak of CanonicalizePermittedCNAMEs on error path; spotted
by Coverity (CID 438039)

revision 1.385/ (Download) - annotate - Mon, 04 Mar 2024 02:16:11 UTC by djm
Changes since 1.384: +86 -61 (diff)
Separate parsing of string array options from applying them to the
active configuration. This fixes the config parser from erroneously
rejecting cases like:

AuthenticationMethods password
Match User ivy
 AuthenticationMethods any

bz3657 ok markus@

revision 1.384/ (Download) - annotate - Thu, 11 Jan 2024 01:45:36 UTC by djm
Changes since 1.383: +3 -1 (diff)
make DSA key support compile-time optional, defaulting to on

ok markus@

revision 1.383/ (Download) - annotate - Thu, 12 Oct 2023 02:18:18 UTC by djm
Changes since 1.382: +8 -4 (diff)
add %j token that expands to the configured ProxyJump hostname (or
the empty string if this option is not being used).
bz3610, ok dtucker

revision 1.382/ (Download) - annotate - Wed, 11 Oct 2023 22:42:26 UTC by djm
Changes since 1.381: +45 -2 (diff)
add ChannelTimeout support to the client, mirroring the same option
in the server. ok markus@

revision 1.381/ (Download) - annotate - Mon, 28 Aug 2023 03:31:16 UTC by djm
OpenBSD release(s): 74
Changes since 1.380: +62 -2 (diff)
Add keystroke timing obfuscation to the client.

This attempts to hide inter-keystroke timings by sending interactive
traffic at fixed intervals (default: every 20ms) when there is only a
small amount of data being sent. It also sends fake "chaff" keystrokes
for a random interval after the last real keystroke. These are
controlled by a new ssh_config ObscureKeystrokeTiming keyword/

feedback/ok markus@

revision 1.380/ (Download) - annotate - Mon, 17 Jul 2023 06:16:33 UTC by djm
Changes since 1.379: +3 -1 (diff)
missing match localnetwork negation check

revision 1.379/ (Download) - annotate - Mon, 17 Jul 2023 04:08:31 UTC by djm
Changes since 1.378: +13 -2 (diff)
Add support for configuration tags to ssh(1).

This adds a ssh_config(5) "Tag" directive and corresponding
"Match tag" predicate that may be used to select blocks of
configuration similar to the pf.conf(5) keywords of the same
name.

ok markus

revision 1.378/ (Download) - annotate - Mon, 17 Jul 2023 04:04:36 UTC by djm
Changes since 1.377: +71 -4 (diff)
add a "match localnetwork" predicate.

This allows matching on the addresses of available network interfaces
and may be used to vary the effective client configuration based on
network location (e.g. to use a ProxyJump when not on a particular
network).

ok markus@

revision 1.377/ (Download) - annotate - Wed, 21 Jun 2023 05:10:26 UTC by djm
Changes since 1.376: +7 -3 (diff)
better validate CASignatureAlgorithms in ssh_config and sshd_config.

Previously this directive would accept certificate algorithm names, but
these were unusable in practice as OpenSSH does not support CA chains.

part of bz3577; ok dtucker@

revision 1.376/ (Download) - annotate - Fri, 31 Mar 2023 04:23:02 UTC by djm
Changes since 1.375: +2 -1 (diff)
don't leak arg2 on parse_pubkey_algos error path; ok dtucker@

revision 1.375/ (Download) - annotate - Fri, 10 Mar 2023 02:24:56 UTC by dtucker
OpenBSD release(s): 73
Changes since 1.374: +3 -5 (diff)
Remove no-op (int) > INT_MAX checks since they can never be true.
From Coverity CID 405031, ok djm@

revision 1.374/ (Download) - annotate - Thu, 09 Mar 2023 21:06:24 UTC by jcs
Changes since 1.373: +2 -2 (diff)
modify parentheses in conditionals to make it clearer what is being
assigned and what is being checked

ok djm dtucker

revision 1.373/ (Download) - annotate - Sun, 05 Mar 2023 05:34:09 UTC by dtucker
Changes since 1.372: +1 -2 (diff)
Remove unused compat.h includes. We've previously removed a lot
of the really old compatibility code, and with it went the need to
include compat.h in most of the files that have it.

revision 1.372/ (Download) - annotate - Fri, 13 Jan 2023 02:58:20 UTC by dtucker
Changes since 1.371: +3 -1 (diff)
Add a "Host" line to the output of ssh -G showing the original host arg.
Inspired by patch from vincent at bernat.ch via bz#3343, ok djm@

revision 1.371/ (Download) - annotate - Mon, 02 Jan 2023 07:03:30 UTC by djm
Changes since 1.370: +33 -29 (diff)
fix bug in PermitRemoteOpen which caused it to ignore its first
argument unless it was one of the special keywords "any" or "none".

Reported by Georges Chaudy in bz3515; ok dtucker@

revision 1.370/ (Download) - annotate - Mon, 28 Nov 2022 01:37:36 UTC by djm
Changes since 1.369: +11 -1 (diff)
New EnableEscapeCommandline ssh_config(5) option

This option (default "no") controls whether the ~C escape is available.
Turning it off by default means we will soon be able to use a stricter
default pledge(2) in the client.

feedback deraadt@ dtucker@; tested in snaps for a while

revision 1.369/ (Download) - annotate - Sat, 17 Sep 2022 10:33:18 UTC by djm
OpenBSD release(s): 72
Changes since 1.368: +11 -2 (diff)
add a RequiredRSASize for checking RSA key length in ssh(1).
User authentication keys that fall beneath this limit will be
ignored. If a host presents a host key beneath this limit then
the connection will be terminated (unfortunately there are no
fallbacks in the protocol for host authentication).

feedback deraadt, Dmitry Belyavskiy; ok markus@

revision 1.368/ (Download) - annotate - Fri, 03 Jun 2022 04:30:47 UTC by djm
Changes since 1.367: +15 -26 (diff)
Make SetEnv directives first-match-wins in both sshd_config and
sshd_config; previously if the same name was reused then the last
would win (which is the opposite to how the config is supposed to
work).

While there, make the ssh_config parsing more like sshd_config.

bz3438, ok dtucker

revision 1.367/ (Download) - annotate - Wed, 20 Apr 2022 15:56:49 UTC by millert
Changes since 1.366: +3 -7 (diff)
Avoid an unnecessary xstrdup in rm_env() when matching patterns.
Since match_pattern() doesn't modify its arguments (they are const),
there is no need to make an extra copy of the strings in options->send_env.
From Martin Vahlensieck

revision 1.366/ (Download) - annotate - Tue, 08 Feb 2022 08:59:12 UTC by dtucker
OpenBSD release(s): 71
Changes since 1.365: +4 -5 (diff)
Switch hpdelim interface to accept only ":" as delimiter.

Historicallly, hpdelim accepted ":" or "/" as a port delimiter between
hosts (or addresses) and ports. These days most of the uses for "/"
are no longer accepted, so there are several places where it checks the
delimiter to disallow it. Make hpdelim accept only ":" and use hpdelim2
in the other cases. ok djm@

revision 1.365/ (Download) - annotate - Fri, 04 Feb 2022 02:49:17 UTC by dtucker
Changes since 1.364: +2 -2 (diff)
Since they are deprecated, move DSA to the end of the default list of
public keys so that they will be tried last. From github PR#295 from
"ProBackup-nl", ok djm@

revision 1.364/ (Download) - annotate - Sun, 19 Dec 2021 22:14:47 UTC by djm
Changes since 1.363: +15 -3 (diff)
PubkeyAuthentication=yes|no|unbound|host-bound

Allow control over which pubkey methods are used. Added out of
concern that some hardware devices may have difficulty signing
the longer pubkey authentication challenges. This provides a
way for them to disable the extension. It's also handy for
testing.

feedback / ok markus@

revision 1.363/ (Download) - annotate - Thu, 16 Sep 2021 05:36:03 UTC by djm
OpenBSD release(s): 70
Changes since 1.362: +2 -2 (diff)
missing space character in ssh -G output broke the t-sshcfgparse
regression test; spotted by anton@

revision 1.362/ (Download) - annotate - Wed, 15 Sep 2021 06:56:01 UTC by djm
Changes since 1.361: +47 -11 (diff)
allow CanonicalizePermittedCNAMEs=none in ssh_config; ok markus@

revision 1.361/ (Download) - annotate - Fri, 23 Jul 2021 04:04:52 UTC by djm
Changes since 1.360: +11 -2 (diff)
Add a ForkAfterAuthentication ssh_config(5) counterpart to the
ssh(1) -f flag. Last part of GHPR231 from Volker Diels-Grabsch.
ok dtucker

revision 1.360/ (Download) - annotate - Fri, 23 Jul 2021 04:00:59 UTC by djm
Changes since 1.359: +11 -2 (diff)
Add a StdinNull directive to ssh_config(5) that allows the config
file to do the same thing as -n does on the ssh(1) commandline.
Patch from Volker Diels-Grabsch via GHPR231; ok dtucker

revision 1.359/ (Download) - annotate - Tue, 13 Jul 2021 23:48:36 UTC by djm
Changes since 1.358: +21 -2 (diff)
add a SessionType directive to ssh_config, allowing the configuration
file to offer equivalent control to the -N (no session) and -s
(subsystem) command-line flags.

Part of GHPR#231 by Volker Diels-Grabsch with some minor tweaks;
feedback and ok dtucker@

revision 1.358/ (Download) - annotate - Fri, 02 Jul 2021 05:11:21 UTC by dtucker
Changes since 1.357: +5 -13 (diff)
Remove references to ChallengeResponseAuthentication in favour of
KbdInteractiveAuthentication. The former is what was in SSHv1, the
latter is what is in SSHv2 (RFC4256) and they were treated as somewhat
but not entirely equivalent. We retain the old name as deprecated alias
so config files continue to work and a reference in the man page for
people looking for it.

Prompted by bz#3303 which pointed out the discrepancy between the two
when used with Match. Man page help & ok jmc@, with & ok djm@

revision 1.357/ (Download) - annotate - Tue, 08 Jun 2021 22:06:12 UTC by djm
Changes since 1.356: +3 -2 (diff)
fix regression in r1.356: for ssh_config options that accepted
multiple string arguments, ssh was only recording the first.
Reported by Lucas via bugs@

revision 1.356/ (Download) - annotate - Tue, 08 Jun 2021 07:07:15 UTC by djm
Changes since 1.355: +266 -150 (diff)
Switch ssh_config parsing to use argv_split()

This fixes a couple of problems with the previous tokeniser,
strdelim()

1. strdelim() is permissive wrt accepting '=' characters. This is
 intended to allow it to tokenise "Option=value" but because it
 cannot keep state, it will incorrectly split "Opt=val=val2".
2. strdelim() has rudimentry handling of quoted strings, but it
 is incomplete and inconsistent. E.g. it doesn't handle escaped
 quotes inside a quoted string.
3. It has no support for stopping on a (unquoted) comment. Because
 of this readconf.c r1.343 added chopping of lines at '#', but
 this caused a regression because these characters may legitimately
 appear inside quoted strings.

The new tokeniser is stricter is a number of cases, including #1 above
but previously it was also possible for some directives to appear
without arguments. AFAIK these were nonsensical in all cases, and the
new tokeniser refuses to accept them.

The new code handles quotes much better, permitting quoted space as
well as escaped closing quotes. Finally, comment handling should be
fixed - the tokeniser will terminate only on unquoted # characters.

feedback & ok markus@

tested in snaps for the last five or so days - thanks Theo and those who
caught bugs

revision 1.355/ (Download) - annotate - Tue, 08 Jun 2021 07:02:46 UTC by dtucker
Changes since 1.354: +3 -3 (diff)
Check if IPQoS or TunnelDevice are already set before overriding.
Prevents values in config files from overriding values supplied on
the command line. bz#3319, ok markus.

revision 1.354/ (Download) - annotate - Sun, 23 May 2021 18:22:57 UTC by naddy
Changes since 1.353: +2 -2 (diff)
ssh: The client configuration keyword is "hostbasedacceptedalgorithms"

This fixes a mistake that slipped in when "HostbasedKeyTypes" was
renamed to "HostbasedAcceptedAlgorithms".

Bug report by zack@philomathiclife.com

revision 1.353/ (Download) - annotate - Sat, 03 Apr 2021 06:18:40 UTC by djm
OpenBSD release(s): 69
Changes since 1.352: +4 -4 (diff)
highly polished whitespace, mostly fixing spaces-for-tab and bad
indentation on continuation lines. Prompted by GHPR#185

revision 1.352/ (Download) - annotate - Wed, 24 Feb 2021 01:18:08 UTC by dtucker
Changes since 1.351: +3 -3 (diff)
Put obsolete aliases for hostbasedalgorithms and pubkeyacceptedalgorithms
after their current names so that the config-dump mode finds and uses
the current names. Spotted by Phil Pennock.

revision 1.351/ (Download) - annotate - Mon, 15 Feb 2021 20:43:15 UTC by markus
Changes since 1.350: +60 -3 (diff)
ssh: add PermitRemoteOpen for remote dynamic forwarding with SOCKS
ok djm@, dtucker@

revision 1.350/ (Download) - annotate - Tue, 26 Jan 2021 05:32:21 UTC by dtucker
Changes since 1.349: +10 -9 (diff)
Rename HostbasedKeyTypes (ssh) and HostbasedAcceptedKeyTypes (sshd) to
HostbasedAcceptedAlgorithms, which more accurately reflects its effect.
This matches a previous change to PubkeyAcceptedAlgorithms. The previous
names are retained as aliases. ok djm@

revision 1.349/ (Download) - annotate - Fri, 22 Jan 2021 02:44:58 UTC by dtucker
Changes since 1.348: +14 -13 (diff)
Rename PubkeyAcceptedKeyTypes keyword to PubkeyAcceptedAlgorithms.
While the two were originally equivalent, this actually specifies the
signature algorithms that are accepted. Some key types (eg RSA) can be
used by multiple algorithms (eg ssh-rsa, rsa-sha2-512) so the old name is
becoming increasingly misleading. The old name is retained as an alias.
Prompted by bz#3253, help & ok djm@, man page help jmc@

revision 1.348/ (Download) - annotate - Fri, 08 Jan 2021 04:49:13 UTC by djm
Changes since 1.347: +2 -2 (diff)
make CheckHostIP default to 'no'. It doesn't provide any perceptible
value and makes it much harder for hosts to change host keys,
particularly ones that use IP-based load-balancing.

ok dtucker@

revision 1.347/ (Download) - annotate - Tue, 22 Dec 2020 03:05:31 UTC by tb
Changes since 1.346: +1 -4 (diff)
Remove lines accidentally left behind in the ProxyJump parsing fix r1.345.

ok djm

revision 1.346/ (Download) - annotate - Tue, 22 Dec 2020 00:15:22 UTC by djm
Changes since 1.345: +10 -2 (diff)
add a ssh_config KnownHostsCommand that allows the client to obtain
known_hosts data from a command in addition to the usual files.

The command accepts bunch of %-expansions, including details of the
connection and the offered server host key. Note that the command may
be invoked up to three times per connection (see the manpage for
details).

ok markus@

revision 1.345/ (Download) - annotate - Mon, 21 Dec 2020 09:19:53 UTC by djm
Changes since 1.344: +9 -4 (diff)
properly fix ProxyJump parsing; Thanks to tb@ for pointing out my error
(parse_ssh_uri() can return -1/0/1, that I missed). Reported by Raf
Czlonka via bugs@

ok tb@

revision 1.344/ (Download) - annotate - Thu, 17 Dec 2020 23:10:27 UTC by djm
Changes since 1.343: +404 -155 (diff)
prepare readconf.c for fuzzing; remove fatal calls and fix some
(one-off) memory leaks; ok markus@

revision 1.343/ (Download) - annotate - Mon, 30 Nov 2020 05:36:39 UTC by dtucker
Changes since 1.342: +9 -2 (diff)
Ignore comments at the end of config lines in ssh_config, similar to what
we already do for sshd_config. bz#2320, with & ok djm@

revision 1.342/ (Download) - annotate - Sun, 15 Nov 2020 22:34:58 UTC by djm
Changes since 1.341: +3 -3 (diff)
revert r1.341; it breaks ProxyJump; reported by sthen@

revision 1.341/ (Download) - annotate - Wed, 11 Nov 2020 05:22:32 UTC by djm
Changes since 1.340: +3 -3 (diff)
fix logic error that broke URI parsing in ProxyJump directives;
ok dtucker@

revision 1.340/ (Download) - annotate - Sun, 18 Oct 2020 11:32:01 UTC by djm
Changes since 1.339: +11 -12 (diff)
use the new variant log macros instead of prepending __func__ and
appending ssh_err(r) manually; ok markus@

revision 1.339/ (Download) - annotate - Fri, 16 Oct 2020 13:26:13 UTC by djm
Changes since 1.338: +20 -3 (diff)
LogVerbose keyword for ssh and sshd

Allows forcing maximum debug logging by file/function/line pattern-
lists.

ok markus@

revision 1.338/ (Download) - annotate - Wed, 07 Oct 2020 02:18:45 UTC by djm
Changes since 1.337: +4 -3 (diff)
disable UpdateHostkeys by default if VerifyHostKeyDNS is enabled;
suggested by Mark D. Baushke

revision 1.337/ (Download) - annotate - Sat, 03 Oct 2020 09:22:26 UTC by djm
Changes since 1.336: +4 -15 (diff)
There are lots of place where we want to redirect stdin, stdout
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@

revision 1.336/ (Download) - annotate - Sat, 03 Oct 2020 08:30:47 UTC by djm
Changes since 1.335: +8 -2 (diff)
enable UpdateHostkeys by default when the configuration has not
overridden UserKnownHostsFile;
ok markus@ "The timing is perfect" deraadt@

revision 1.335/ (Download) - annotate - Thu, 27 Aug 2020 02:11:09 UTC by djm
OpenBSD release(s): 68
Changes since 1.334: +1 -13 (diff)
remove unreachable code I forgot to delete in r1.334

revision 1.334/ (Download) - annotate - Tue, 11 Aug 2020 09:49:57 UTC by djm
Changes since 1.333: +68 -17 (diff)
let ssh_config(5)'s AddKeysToAgent keyword accept a time limit for
keys in addition to its current flag options. Time-limited keys will
automatically be removed from ssh-agent after their expiry time has
passed; ok markus@

revision 1.333/ (Download) - annotate - Fri, 17 Jul 2020 07:09:24 UTC by dtucker
Changes since 1.332: +5 -2 (diff)
Add %k to the TOKENs for Match Exec for consistency with the other keywords
that recently got %k.

revision 1.332/ (Download) - annotate - Sun, 05 Jul 2020 23:59:45 UTC by djm
Changes since 1.331: +6 -6 (diff)
some language improvements; ok markus

revision 1.331/ (Download) - annotate - Fri, 29 May 2020 04:25:40 UTC by dtucker
Changes since 1.330: +16 -4 (diff)
Allow some keywords to expand shell-style ${ENV} environment
variables on the client side. The supported keywords are
CertificateFile, ControlPath, IdentityAgent and IdentityFile, plus
LocalForward and RemoteForward when used for Unix domain socket
paths. This would for example allow forwarding of Unix domain
socket paths that change at runtime. bz#3140, ok djm@

revision 1.330/ (Download) - annotate - Wed, 27 May 2020 21:25:18 UTC by djm
Changes since 1.329: +7 -2 (diff)
fix crash in recallocarray when deleting SendEnv variables;
spotted by & ok sthen@

revision 1.329/ (Download) - annotate - Fri, 24 Apr 2020 03:33:21 UTC by dtucker
OpenBSD release(s): 67
Changes since 1.328: +2 -2 (diff)
Fix incorrect error message for "too many known hosts files." bz#3149, patch
from jjelen at redhat.com.

revision 1.328/ (Download) - annotate - Fri, 03 Apr 2020 03:12:11 UTC by dtucker
Changes since 1.327: +2 -2 (diff)
%C expansion just added to Match Exec should include remote user not local
user.

revision 1.327/ (Download) - annotate - Fri, 03 Apr 2020 02:27:12 UTC by dtucker
Changes since 1.326: +25 -1 (diff)
Make with config keywords support which percent_expansions more consistent.
 - %C is moved into its own function and added to Match Exec.
 - move the common (global) options into a macro. This is ugly but it's
 the least-ugly way I could come up with.
 - move IdentityAgent and ForwardAgent percent expansion to before the
 config dump to make it regression-testable.
 - document all of the above

ok jmc@ for man page bits, "makes things less terrible" djm@ for the rest.

revision 1.326/ (Download) - annotate - Thu, 06 Feb 2020 22:46:31 UTC by djm
Changes since 1.325: +15 -3 (diff)
expand HostkeyAlgorithms prior to config dump, matching other
algorithm lists; ok markus@

revision 1.325/ (Download) - annotate - Mon, 03 Feb 2020 23:47:57 UTC by djm
Changes since 1.324: +3 -14 (diff)
revert enabling UpdateHostKeys by default - there are still corner cases
we need to address; ok markus

revision 1.324/ (Download) - annotate - Thu, 30 Jan 2020 22:19:32 UTC by djm
Changes since 1.323: +14 -3 (diff)
enable UpdateKnownHosts=yes if the configuration specifies only the
default known_hosts files, otherwise select UpdateKnownHosts=ask;
ok markus@

revision 1.323/ (Download) - annotate - Sat, 25 Jan 2020 00:22:31 UTC by djm
Changes since 1.322: +2 -2 (diff)
set UpdateKnownHosts=ask by default; bz#2894; ok markus@

revision 1.322/ (Download) - annotate - Thu, 23 Jan 2020 10:24:29 UTC by dtucker
Changes since 1.321: +10 -2 (diff)
Make zlib optional. This adds a "ZLIB" build time option that allows
building without zlib compression and associated options. With feedback
from markus@, ok djm@

revision 1.321/ (Download) - annotate - Thu, 23 Jan 2020 07:10:22 UTC by dtucker
Changes since 1.320: +2 -2 (diff)
Replace all calls to signal(2) with a wrapper around sigaction(2).
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.

revision 1.320/ (Download) - annotate - Thu, 23 Jan 2020 02:46:49 UTC by dtucker
Changes since 1.319: +34 -19 (diff)
Remove unsupported algorithms from list of defaults at run time and
remove ifdef and distinct settings for OPENSSL=no case.

This will make things much simpler for -portable where the exact set
of algos depends on the configuration of both OpenSSH and the libcrypto
it's linked against (if any). ok djm@

revision 1.319/ (Download) - annotate - Sat, 21 Dec 2019 02:19:13 UTC by djm
Changes since 1.318: +37 -6 (diff)
Allow forwarding a different agent socket to the path specified by
$SSH_AUTH_SOCK, by extending the existing ForwardAgent option to
accepting an explicit path or the name of an environment variable
in addition to yes/no.

Patch by Eric Chiang, manpage by me; ok markus@

revision 1.318/ (Download) - annotate - Fri, 20 Dec 2019 02:42:42 UTC by dtucker
Changes since 1.317: +5 -5 (diff)
Move always unsupported keywords to be grouped with the other ones.
Move oSecurityProvider to match the order in the OpCodes enum.
Patch from openbsd@academicsolutions.ch, ok djm@

revision 1.317/ (Download) - annotate - Fri, 20 Dec 2019 02:29:21 UTC by dtucker
Changes since 1.316: +6 -6 (diff)
Remove obsolete opcodes from the configuation enum. Patch from
openbsd@academicsolutions.ch, ok djm@

revision 1.316/ (Download) - annotate - Fri, 20 Dec 2019 02:11:38 UTC by dtucker
Changes since 1.315: +1 -3 (diff)
Remove now-obsolete config options from example in comment. Patch from
openbsd@academicsolutions.ch, ok djm@

revision 1.315/ (Download) - annotate - Sun, 15 Dec 2019 18:57:30 UTC by djm
Changes since 1.314: +2 -2 (diff)
allow security keys to act as host keys as well as user keys.

Previously we didn't do this because we didn't want to expose
the attack surface presented by USB and FIDO protocol handling,
but now that this is insulated behind ssh-sk-helper there is
less risk.

ok markus@

revision 1.314/ (Download) - annotate - Thu, 14 Nov 2019 21:27:29 UTC by djm
Changes since 1.313: +2 -2 (diff)
directly support U2F/FIDO2 security keys in OpenSSH by linking
against the (previously external) USB HID middleware. The dlopen()
capability still exists for alternate middlewares, e.g. for
Bluetooth, NFC and test/debugging.

revision 1.313/ (Download) - annotate - Wed, 13 Nov 2019 05:42:26 UTC by deraadt
Changes since 1.312: +3 -3 (diff)
remove size_t gl_pathc < 0 test, it is invalid. the return value from
glob() is sufficient.
discussed with djm

revision 1.312/ (Download) - annotate - Wed, 13 Nov 2019 04:47:52 UTC by deraadt
Changes since 1.311: +2 -1 (diff)
stdarg.h required more broadly; ok djm

revision 1.311/ (Download) - annotate - Tue, 12 Nov 2019 19:33:08 UTC by markus
Changes since 1.310: +3 -1 (diff)
enable ed25519 support; ok djm

revision 1.310/ (Download) - annotate - Thu, 31 Oct 2019 21:18:28 UTC by djm
Changes since 1.309: +15 -2 (diff)
ssh client support for U2F/FIDO keys

revision 1.309/ (Download) - annotate - Fri, 06 Sep 2019 14:45:34 UTC by naddy
OpenBSD release(s): 66
Changes since 1.308: +9 -5 (diff)
Allow prepending a list of algorithms to the default set by starting
the list with the '^' character, e.g.

HostKeyAlgorithms ^ssh-ed25519
Ciphers ^aes128-gcm@openssh.com,aes256-gcm@openssh.com

ok djm@ dtucker@

revision 1.308/ (Download) - annotate - Fri, 09 Aug 2019 05:05:54 UTC by djm
Changes since 1.307: +6 -1 (diff)
produce a useful error message if the user's shell is set incorrectly
during "match exec" processing. bz#2791 reported by Dario Bertini;
ok dtucker

revision 1.307/ (Download) - annotate - Fri, 28 Jun 2019 13:35:04 UTC by deraadt
Changes since 1.306: +2 -2 (diff)
When system calls indicate an error they return -1, not some arbitrary
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.

revision 1.306/ (Download) - annotate - Wed, 12 Jun 2019 11:31:50 UTC by jmc
Changes since 1.305: +6 -6 (diff)
Hostname->HostName cleanup; from lauri tirkkonen
ok dtucker

revision 1.305/ (Download) - annotate - Fri, 07 Jun 2019 14:18:48 UTC by dtucker
Changes since 1.304: +2 -2 (diff)
Typo and spelling fixes in comments and error messages. Patch from
knweiss at gmail.com via -portable.

revision 1.304/ (Download) - annotate - Fri, 01 Mar 2019 02:08:50 UTC by djm
OpenBSD release(s): 65
Changes since 1.303: +3 -2 (diff)
let PKCS11Provider=none do what users expect

print PKCS11Provider instead of obsolete SmartcardDevice in config dump.

bz#2974 ok dtucker@

revision 1.303/ (Download) - annotate - Sat, 23 Feb 2019 08:20:43 UTC by djm
Changes since 1.302: +4 -4 (diff)
openssh-7.9 accidentally reused the server's algorithm lists in the
client for KEX, ciphers and MACs. The ciphers and MACs were
identical between the client and server, but the error accidentially
disabled the diffie-hellman-group-exchange-sha1 KEX method.

This fixes the client code to use the correct method list, but
because nobody complained, it also disables the
diffie-hellman-group-exchange-sha1 KEX method.

Reported by nuxi AT vault24.org via bz#2697; ok dtucker

revision 1.302/ (Download) - annotate - Fri, 23 Nov 2018 05:08:07 UTC by djm
Changes since 1.301: +28 -16 (diff)
add a ssh_config "Match final" predicate

Matches in same pass as "Match canonical" but doesn't require
hostname canonicalisation be enabled. bz#2906 ok markus

revision 1.301/ (Download) - annotate - Fri, 16 Nov 2018 03:26:01 UTC by djm
Changes since 1.300: +2 -2 (diff)
use path_absolute() for pathname checks; from Manoj Ampalam

revision 1.300/ (Download) - annotate - Fri, 05 Oct 2018 14:26:09 UTC by naddy
OpenBSD release(s): 64
Changes since 1.299: +15 -6 (diff)
Support using service names for port numbers.

* Try to resolve a port specification with getservbyname(3) if a
 numeric conversion fails.
* Make the "Port" option in ssh_config handle its argument as a
 port rather than a plain integer.

ok dtucker@ deraadt@

revision 1.299/ (Download) - annotate - Wed, 03 Oct 2018 06:38:35 UTC by djm
Changes since 1.298: +13 -2 (diff)
Allow ssh_config IdentityAgent directive to accept environment variable
names as well as explicit paths. ok dtucker@

revision 1.298/ (Download) - annotate - Thu, 20 Sep 2018 03:30:44 UTC by djm
Changes since 1.297: +13 -3 (diff)
add CASignatureAlgorithms option for the client, allowing it to specify
which signature algorithms may be used by CAs when signing certificates.
Useful if you want to ban RSA/SHA1; ok markus@

revision 1.297/ (Download) - annotate - Sun, 12 Aug 2018 20:19:13 UTC by djm
Changes since 1.296: +15 -12 (diff)
better diagnosics on alg list assembly errors; ok deraadt@ markus@

revision 1.296/ (Download) - annotate - Fri, 27 Jul 2018 05:34:42 UTC by dtucker
Changes since 1.295: +1 -3 (diff)
Now that ssh can't be setuid, remove the original_real_uid and
original_effective_uid globals and replace with calls to plain getuid().
ok djm@

revision 1.295/ (Download) - annotate - Fri, 27 Jul 2018 05:13:02 UTC by dtucker
Changes since 1.294: +1 -4 (diff)
Remove uid checks from low port binds. Now that ssh cannot be
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@

revision 1.294/ (Download) - annotate - Thu, 19 Jul 2018 10:28:47 UTC by dtucker
Changes since 1.293: +2 -10 (diff)
Deprecate UsePrivilegedPort now that support for running ssh(1)
setuid has been removed, remove supporting code and clean up
references to it in the man pages

We have not shipped ssh(1) the setuid bit since 2002. If ayone
really needs to make connections from a low port number this can
be implemented via a small setuid ProxyCommand.

ok markus@ jmc@ djm@

revision 1.293/ (Download) - annotate - Wed, 18 Jul 2018 11:34:04 UTC by dtucker
Changes since 1.292: +1 -4 (diff)
Remove support for running ssh(1) setuid and fatal if attempted.
Do not link uidwap.c into ssh any more. Neuters UsePrivilegedPort,
which will be marked as deprecated shortly. ok markus@ djm@

revision 1.292/ (Download) - annotate - Wed, 04 Jul 2018 13:49:31 UTC by djm
Changes since 1.291: +28 -10 (diff)
repair PubkeyAcceptedKeyTypes (and friends) after RSA signature work -
returns ability to add/remove/specify algorithms by wildcard.

Algorithm lists are now fully expanded when the server/client configs
are finalised, so errors are reported early and the config dumps
(e.g. "ssh -G ...") now list the actual algorithms selected.

Clarify that, while wildcards are accepted in algorithm lists, they
aren't full pattern-lists that support negation.

(lots of) feedback, ok markus@

revision 1.291/ (Download) - annotate - Sun, 10 Jun 2018 23:45:41 UTC by djm
Changes since 1.290: +2 -2 (diff)
unbreak SendEnv; patch from tb@

revision 1.290/ (Download) - annotate - Sat, 09 Jun 2018 03:01:12 UTC by djm
Changes since 1.289: +31 -3 (diff)
add a SetEnv directive to ssh_config that allows setting environment
variables for the remote session (subject to the server accepting them)

refactor SendEnv to remove the arbitrary limit of variable names.

ok markus@

revision 1.289/ (Download) - annotate - Wed, 06 Jun 2018 18:29:18 UTC by markus
Changes since 1.288: +5 -5 (diff)
switch config file parsing to getline(3) as this avoids static limits
noted by gerhard@; ok dtucker@, djm@

revision 1.288/ (Download) - annotate - Fri, 01 Jun 2018 03:33:53 UTC by djm
Changes since 1.287: +5 -1 (diff)
make UID available as a %-expansion everywhere that the username is
available currently. In the client this is via %i, in the server %U
(since %i was already used in the client in some places for this, but
used for something different in the server);
bz#2870, ok dtucker@

revision 1.287/ (Download) - annotate - Tue, 22 May 2018 00:13:26 UTC by djm
Changes since 1.286: +22 -9 (diff)
support ProxyJump=none to disable ProxyJump functionality; bz#2869
ok dtucker@

revision 1.286/ (Download) - annotate - Fri, 06 Apr 2018 13:02:39 UTC by djm
Changes since 1.285: +42 -6 (diff)
Allow "SendEnv -PATTERN" to clear environment variables previously
labeled for sendind. bz#1285 ok dtucker@

revision 1.285/ (Download) - annotate - Fri, 06 Apr 2018 03:51:27 UTC by djm
Changes since 1.284: +9 -1 (diff)
add a couple of missed options to the config dump; patch from
Jakub Jelen via bz2835

revision 1.284/ (Download) - annotate - Wed, 04 Apr 2018 15:12:17 UTC by job
Changes since 1.283: +3 -3 (diff)
Update default IPQoS in ssh(1), sshd(8) to DSCP AF21 for interactive and CS1 for bulk

AF21 was selected as this is the highest priority within the low-latency
service class (and it is higher than what we have today). SSH is elastic
and time-sensitive data, where a user is waiting for a response via the
network in order to continue with a task at hand. As such, these flows
should be considered foreground traffic, with delays or drops to such
traffic directly impacting user-productivity.

For bulk SSH traffic, the CS1 "Lower Effort" marker was chosen to enable
networks implementing a scavanger/lower-than-best effort class to
discriminate scp(1) below normal activities, such as web surfing. In
general this type of bulk SSH traffic is a background activity.

An advantage of using "AF21" for interactive SSH and "CS1" for bulk SSH
is that they are recognisable values on all common platforms (IANA
https://www.iana.org/assignments/dscp-registry/dscp-registry.xml), and
for AF21 specifically a definition of the intended behavior exists
https://tools.ietf.org/html/rfc4594#section-4.7 in addition to the definition
of the Assured Forwarding PHB group https://tools.ietf.org/html/rfc2597, and
for CS1 (Lower Effort) there is https://tools.ietf.org/html/rfc3662

The first three bits of "AF21" map to the equivalent IEEEE 802.1D PCP, IEEE
802.11e, MPLS EXP/CoS and IP Precedence value of 2 (also known as "Immediate",
or "AC_BE"), and CS1's first 3 bits map to IEEEE 802.1D PCP, IEEE 802.11e,
MPLS/CoS and IP Precedence value 1 ("Background" or "AC_BK").

OK deraadt@, "no objection" djm@

revision 1.283/ (Download) - annotate - Fri, 23 Feb 2018 15:58:37 UTC by markus
OpenBSD release(s): 63
Changes since 1.282: +2 -1 (diff)
Add experimental support for PQC XMSS keys (Extended Hash-Based Signatures)
The code is not compiled in by default (see WITH_XMSS in Makefile.inc)
Joint work with stefan-lukas_gazdag at genua.eu
See https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
ok djm@

revision 1.282/ (Download) - annotate - Fri, 23 Feb 2018 02:34:33 UTC by djm
Changes since 1.281: +9 -2 (diff)
Add BindInterface ssh_config directive and -B command-line argument
to ssh(1) that directs it to bind its outgoing connection to the
address of the specified network interface.

BindInterface prefers to use addresses that aren't loopback or link-
local, but will fall back to those if no other addresses of the
required family are available on that interface.

Based on patch by Mike Manning in bz#2820, ok dtucker@

revision 1.281/ (Download) - annotate - Tue, 05 Dec 2017 23:59:47 UTC by dtucker
Changes since 1.280: +5 -11 (diff)
Replace atoi and strtol conversions for integer arguments to config
keywords with a checking wrapper around strtonum. This will prevent
and flag invalid and negative arguments to these keywords. ok djm@

revision 1.280/ (Download) - annotate - Sat, 21 Oct 2017 23:06:24 UTC by millert
Changes since 1.279: +22 -32 (diff)
Add URI support to ssh, sftp and scp. For example ssh://user@host
or sftp://user@host/path. The connection parameters described in
draft-ietf-secsh-scp-sftp-ssh-uri-04 are not implemented since the
ssh fingerprint format in the draft uses md5 with no way to specify
the hash function type. OK djm@

revision 1.279/ (Download) - annotate - Thu, 21 Sep 2017 19:16:53 UTC by markus
OpenBSD release(s): 62
Changes since 1.278: +24 -18 (diff)
Add 'reverse' dynamic forwarding which combines dynamic forwarding
(-D) with remote forwarding (-R) where the remote-forwarded port
expects SOCKS-requests.

The SSH server code is unchanged and the parsing happens at the SSH
clients side. Thus the full SOCKS-request is sent over the forwarded
channel and the client parses c->output. Parsing happens in
channel_before_prepare_select(), _before_ the select bitmask is
computed in the pre[] handlers, but after network input processing
in the post[] handlers.

help and ok djm@

revision 1.278/ (Download) - annotate - Sun, 03 Sep 2017 23:33:13 UTC by djm
Changes since 1.277: +15 -4 (diff)
Expand ssh_config's StrictModes option with two new settings:

StrictModes=accept-new will automatically accept hitherto-unseen keys
but will refuse connections for changed or invalid hostkeys.

StrictModes=off is the same as StrictModes=no

Motivation:

StrictModes=no combines two behaviours for host key processing:
automatically learning new hostkeys and continuing to connect to hosts
with invalid/changed hostkeys. The latter behaviour is quite dangerous
since it removes most of the protections the SSH protocol is supposed to
provide.

Quite a few users want to automatically learn hostkeys however, so
this makes that feature available with less danger.

At some point in the future, StrictModes=no will change to be a synonym
for accept-new, with its current behaviour remaining available via
StrictModes=off.

bz#2400, suggested by Michael Samuel; ok markus

revision 1.277/ (Download) - annotate - Tue, 30 May 2017 18:58:37 UTC by bluhm
Changes since 1.276: +11 -2 (diff)
Add RemoteCommand option to specify a command in the ssh config
file instead of giving it on the client's command line. This command
will be executed on the remote host. The feature allows to automate
tasks using ssh config.
OK markus@

revision 1.276/ (Download) - annotate - Sat, 20 May 2017 02:35:47 UTC by djm
Changes since 1.275: +3 -3 (diff)
there's no reason to artificially limit the key path here, just check
that it fits PATH_MAX; spotted by Matthew Patton

revision 1.275/ (Download) - annotate - Sun, 30 Apr 2017 23:18:22 UTC by djm
Changes since 1.274: +1 -26 (diff)
remove SSHv1 configuration options and man pages bits

ok markus@

revision 1.274/ (Download) - annotate - Sun, 30 Apr 2017 23:15:04 UTC by djm
Changes since 1.273: +2 -23 (diff)
remove SSHv1 ciphers; ok markus@

revision 1.273/ (Download) - annotate - Sun, 30 Apr 2017 23:11:45 UTC by djm
Changes since 1.272: +11 -46 (diff)
remove options.protocol and client Protocol configuration knob

ok markus@

revision 1.272/ (Download) - annotate - Sun, 30 Apr 2017 23:10:43 UTC by djm
Changes since 1.271: +1 -10 (diff)
unifdef WITH_SSH1
ok markus@

revision 1.271/ (Download) - annotate - Fri, 28 Apr 2017 03:20:27 UTC by dtucker
Changes since 1.270: +18 -2 (diff)
Add SyslogFacility option to ssh(1) matching the equivalent option in
sshd(8). bz#2705, patch from erahn at arista.com, ok djm@

revision 1.270/ (Download) - annotate - Fri, 10 Mar 2017 04:27:32 UTC by djm
OpenBSD release(s): 61
Changes since 1.269: +4 -2 (diff)
better match sshd config parser behaviour: fatal() if line is overlong,
increase line buffer to match sshd's; bz#2651 reported by Don Fong;
ok dtucker@

revision 1.269/ (Download) - annotate - Fri, 10 Mar 2017 03:24:48 UTC by dtucker
Changes since 1.268: +2 -1 (diff)
Plug mem leak on GLOB_NOMATCH case. From jjelen at redhat.com via
bz#2687, ok djm@

revision 1.268/ (Download) - annotate - Fri, 03 Feb 2017 23:01:19 UTC by djm
Changes since 1.267: +7 -5 (diff)
support =- for removing methods from algorithms lists, e.g.
Ciphers=-*cbc; suggested by Cristian Ionescu-Idbohrn in bz#2671
"I like it" markus@

revision 1.267/ (Download) - annotate - Fri, 03 Feb 2017 05:05:56 UTC by djm
Changes since 1.266: +3 -3 (diff)
allow form-feed characters at EOL; bz#2431 ok dtucker@

revision 1.266/ (Download) - annotate - Mon, 30 Jan 2017 00:38:50 UTC by djm
Changes since 1.265: +47 -29 (diff)
small cleanup post SSHv1 removal:

remove SSHv1-isms in commented examples

reorder token table to group deprecated and compile-time conditional tokens
better

fix config dumping code for some compile-time conditional options that
weren't being correctly skipped (SSHv1 and PKCS#11)

revision 1.265/ (Download) - annotate - Mon, 30 Jan 2017 00:34:01 UTC by djm
Changes since 1.264: +3 -3 (diff)
some explicit NULL tests when dumping configured forwardings;
from Karsten Weiss

revision 1.264/ (Download) - annotate - Fri, 06 Jan 2017 09:27:52 UTC by djm
Changes since 1.263: +2 -2 (diff)
fix previous

revision 1.263/ (Download) - annotate - Fri, 06 Jan 2017 03:53:58 UTC by djm
Changes since 1.262: +6 -1 (diff)
show a useful error message when included config files can't be
opened; bz#2653, ok dtucker@

revision 1.262/ (Download) - annotate - Tue, 25 Oct 2016 04:08:13 UTC by jsg
Changes since 1.261: +2 -2 (diff)
Fix logic in add_local_forward() that inverted a test when code was
refactored out into bind_permitted(). This broke ssh port forwarding
for non-priv ports as a non root user.

ok dtucker@ 'looks good' deraadt@

revision 1.261/ (Download) - annotate - Sun, 23 Oct 2016 22:04:05 UTC by dtucker
Changes since 1.260: +2 -2 (diff)
Factor out "can bind to low ports" check into its own function. This will make
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@.

revision 1.260/ (Download) - annotate - Thu, 25 Aug 2016 23:56:51 UTC by djm
Changes since 1.259: +1 -2 (diff)
remove superfluous NOTREACHED comment

revision 1.259/ (Download) - annotate - Fri, 22 Jul 2016 03:35:11 UTC by djm
OpenBSD release(s): 60
Changes since 1.258: +16 -9 (diff)
reverse the order in which -J/JumpHost proxies are visited to be
more intuitive and document

reported by and manpage bits naddy@

revision 1.258/ (Download) - annotate - Wed, 20 Jul 2016 10:45:27 UTC by naddy
Changes since 1.257: +15 -12 (diff)
Do not clobber the global jump_host variables when parsing an inactive
configuration. ok djm@

revision 1.257/ (Download) - annotate - Fri, 15 Jul 2016 00:24:30 UTC by djm
Changes since 1.256: +89 -6 (diff)
Add a ProxyJump ssh_config(5) option and corresponding -J ssh(1)
command-line flag to allow simplified indirection through a
SSH bastion or "jump host".

These options construct a proxy command that connects to the
specified jump host(s) (more than one may be specified) and uses
port-forwarding to establish a connection to the next destination.

This codifies the safest way of indirecting connections through SSH
servers and makes it easy to use.

ok markus@

revision 1.256/ (Download) - annotate - Fri, 03 Jun 2016 04:09:38 UTC by dtucker
Changes since 1.255: +15 -5 (diff)
Allow ExitOnForwardFailure and ClearAllForwardings to be overridden when
using ssh -W (but still default to yes in that case). bz#2577, ok djm@.

revision 1.255/ (Download) - annotate - Fri, 03 Jun 2016 03:14:41 UTC by dtucker
Changes since 1.254: +3 -1 (diff)
Move the host and port used by ssh -W into the Options struct.
This will make future changes a bit easier. ok djm@

revision 1.254/ (Download) - annotate - Wed, 04 May 2016 14:29:58 UTC by markus
Changes since 1.253: +2 -1 (diff)
allow setting IdentityAgent to SSH_AUTH_SOCK; ok djm@

revision 1.253/ (Download) - annotate - Wed, 04 May 2016 12:21:53 UTC by markus
Changes since 1.252: +9 -2 (diff)
IdentityAgent for specifying specific agent sockets; ok djm@

revision 1.252/ (Download) - annotate - Fri, 15 Apr 2016 00:30:19 UTC by djm
Changes since 1.251: +101 -11 (diff)
Include directive for ssh_config(5); feedback & ok markus@

revision 1.251/ (Download) - annotate - Wed, 06 Apr 2016 06:42:17 UTC by djm
Changes since 1.250: +13 -1 (diff)
don't record duplicate LocalForward and RemoteForward entries;
fixes failure with ExitOnForwardFailure+hostname canonicalisation
where the same forwards are added on the second pass through
the configuration file. bz#2562; ok dtucker@

revision 1.250/ (Download) - annotate - Mon, 08 Feb 2016 23:40:12 UTC by djm
OpenBSD release(s): 59
Changes since 1.249: +6 -3 (diff)
don't attempt to percent_expand() already-canonicalised addresses,
avoiding unnecessary failures when attempting to connect to scoped
IPv6 addresses (that naturally contain '%' characters)

revision 1.249/ (Download) - annotate - Fri, 29 Jan 2016 02:54:45 UTC by dtucker
Changes since 1.248: +4 -8 (diff)
Allow RekeyLimits in excess of 4G up to 2**63 bits (limited by the return
type of scan_scaled). Part of bz#2521, ok djm.

revision 1.248/ (Download) - annotate - Thu, 14 Jan 2016 16:17:40 UTC by markus
Changes since 1.247: +3 -9 (diff)
remove roaming support; ok djm@

revision 1.247/ (Download) - annotate - Thu, 14 Jan 2016 14:34:34 UTC by deraadt
Changes since 1.246: +3 -4 (diff)
Disable experimental client-side roaming support. Server side was
disabled/gutted for years already, but this aspect was surprisingly
forgotten.
Thanks for report from Qualys

revision 1.246/ (Download) - annotate - Sun, 15 Nov 2015 22:26:49 UTC by jcs
Changes since 1.245: +20 -2 (diff)
Add an AddKeysToAgent client option which can be set to 'yes', 'no',
'ask', or 'confirm', and defaults to 'no'. When enabled, a private
key that is used during authentication will be added to ssh-agent if
it is running (with confirmation enabled if set to 'confirm').

Initial version from Joachim Schipper many years ago.

ok markus@

revision 1.245/ (Download) - annotate - Tue, 27 Oct 2015 08:54:52 UTC by djm
Changes since 1.244: +6 -1 (diff)
fix execv arguments in a way less likely to cause grief for -portable;
ok dtucker@

revision 1.244/ (Download) - annotate - Tue, 27 Oct 2015 00:49:53 UTC by djm
Changes since 1.243: +2 -7 (diff)
avoid de-const warning & shrink; ok dtucker@

revision 1.243/ (Download) - annotate - Sun, 25 Oct 2015 23:14:03 UTC by dtucker
Changes since 1.242: +3 -10 (diff)
Do not prepend "exec" to the shell command run by "Match exec" in a config
file. It's an unnecessary optimization from repurposed ProxyCommand code
and prevents some things working with some shells. bz#2471, pointed out
by res at qoxp.net. ok markus@

revision 1.242/ (Download) - annotate - Wed, 07 Oct 2015 15:59:12 UTC by djm
Changes since 1.241: +2 -1 (diff)
include PubkeyAcceptedKeyTypes in ssh -G config dump

revision 1.241/ (Download) - annotate - Thu, 24 Sep 2015 06:15:11 UTC by djm
Changes since 1.240: +46 -1 (diff)
add ssh_config CertificateFile option to explicitly list
a certificate; patch from Meghana Bhat on bz#2436; ok markus@

revision 1.240/ (Download) - annotate - Fri, 21 Aug 2015 23:53:08 UTC by djm
Changes since 1.239: +6 -2 (diff)
Fix printing (ssh -G ...) of HostKeyAlgorithms=+...
Reported by Bryan Drewery

revision 1.239/ (Download) - annotate - Thu, 30 Jul 2015 00:01:34 UTC by djm
OpenBSD release(s): 58
Branch point for: 1.239.2.1
Changes since 1.238: +13 -12 (diff)
Allow ssh_config and sshd_config kex parameters options be prefixed
by a '+' to indicate that the specified items be appended to the
default rather than replacing it.

approach suggested by dtucker@, feedback dlg@, ok markus@

revision 1.238/ (Download) - annotate - Fri, 10 Jul 2015 06:21:53 UTC by markus
Changes since 1.237: +20 -17 (diff)
Turn off DSA by default; add HostKeyAlgorithms to the server and
PubkeyAcceptedKeyTypes to the client side, so it still can be
tested or turned back on; feedback and ok djm@

revision 1.237/ (Download) - annotate - Fri, 26 Jun 2015 05:13:20 UTC by djm
Changes since 1.236: +3 -2 (diff)
Fix \-escaping bug that caused forward path parsing to skip two
characters and skip past the end of the string.

Based on patch by Salvador Fandino; ok dtucker@

revision 1.236/ (Download) - annotate - Fri, 22 May 2015 04:45:52 UTC by djm
Changes since 1.235: +6 -6 (diff)
Reorder EscapeChar option parsing to avoid a single-byte out-
of-bounds read. bz#2396 from Jaak Ristioja; ok dtucker@

revision 1.235/ (Download) - annotate - Mon, 04 May 2015 06:10:48 UTC by djm
Changes since 1.234: +7 -9 (diff)
Remove pattern length argument from match_pattern_list(),
we only ever use it for strlen(pattern).

Prompted by hanno AT hboeck.de pointing an out-of-bound read
error caused by an incorrect pattern length found using AFL
and his own tools.

ok markus@

revision 1.234/ (Download) - annotate - Fri, 24 Apr 2015 01:36:00 UTC by deraadt
Changes since 1.233: +3 -3 (diff)
rename xrealloc() to xreallocarray() since it follows that form.
ok djm

revision 1.233/ (Download) - annotate - Mon, 30 Mar 2015 00:00:29 UTC by djm
Changes since 1.232: +4 -2 (diff)
fix uninitialised memory read when parsing a config file consisting
of a single nul byte. Found by hanno AT hboeck.de using AFL;
ok dtucker

revision 1.232/ (Download) - annotate - Mon, 16 Feb 2015 22:13:32 UTC by djm
OpenBSD release(s): 57
Branch point for: 1.232.2.1
Changes since 1.231: +4 -2 (diff)
Revise hostkeys@openssh.com hostkey learning extension.

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@

revision 1.231/ (Download) - annotate - Mon, 02 Feb 2015 07:41:40 UTC by djm
Changes since 1.230: +2 -2 (diff)
turn UpdateHostkeys off by default until I figure out mlarkin@'s
warning message; requested by deraadt@

revision 1.230/ (Download) - annotate - Fri, 30 Jan 2015 11:43:14 UTC by djm
Changes since 1.229: +22 -3 (diff)
Add a ssh_config HostbasedKeyType option to control which
host public key types are tried during hostbased authentication.

This may be used to prevent too many keys being sent to the server,
and blowing past its MaxAuthTries limit.

bz#2211 based on patch by Iain Morgan; ok markus@

revision 1.229/ (Download) - annotate - Mon, 26 Jan 2015 03:04:45 UTC by djm
Changes since 1.228: +11 -2 (diff)
Host key rotation support.

Add a hostkeys@openssh.com protocol extension (global request) for
a server to inform a client of all its available host key after
authentication has completed. The client may record the keys in
known_hosts, allowing it to upgrade to better host key algorithms
and a server to gracefully rotate its keys.

The client side of this is controlled by a UpdateHostkeys config
option (default on).

ok markus@

revision 1.228/ (Download) - annotate - Fri, 16 Jan 2015 06:40:12 UTC by deraadt
Changes since 1.227: +2 -1 (diff)
Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

revision 1.227/ (Download) - annotate - Thu, 15 Jan 2015 09:40:00 UTC by djm
Changes since 1.226: +2 -3 (diff)
sync ssh-keysign, ssh-keygen and some dependencies to the new
buffer/key API; mostly mechanical, ok markus@

revision 1.226/ (Download) - annotate - Tue, 13 Jan 2015 07:39:19 UTC by djm
Changes since 1.225: +2 -2 (diff)
add sshd_config HostbasedAcceptedKeyTypes and PubkeyAcceptedKeyTypes
options to allow sshd to control what public key types will be
accepted. Currently defaults to all. Feedback & ok markus@

revision 1.225/ (Download) - annotate - Thu, 08 Jan 2015 13:44:36 UTC by djm
Changes since 1.224: +4 -3 (diff)
fix ssh_config FingerprintHash evaluation order; from Petr Lautrbach

revision 1.224/ (Download) - annotate - Sun, 21 Dec 2014 22:27:56 UTC by djm
Changes since 1.223: +23 -1 (diff)
Add FingerprintHash option to control algorithm used for key
fingerprints. Default changes from MD5 to SHA256 and format
from hex to base64.

Feedback and ok naddy@ markus@

revision 1.223/ (Download) - annotate - Thu, 04 Dec 2014 02:24:32 UTC by djm
Changes since 1.222: +10 -2 (diff)
add RevokedHostKeys option for the client

Allow textfile or KRL-based revocation of hostkeys.

revision 1.222/ (Download) - annotate - Fri, 24 Oct 2014 02:01:20 UTC by lteo
Changes since 1.221: +1 -2 (diff)
Remove unnecessary include: netinet/in_systm.h is not needed by these
programs.

ok deraadt@ millert@

revision 1.221/ (Download) - annotate - Wed, 08 Oct 2014 22:20:25 UTC by djm
Changes since 1.220: +380 -68 (diff)
Tweak config reparsing with host canonicalisation

Make the second pass through the config files always run when
hostname canonicalisation is enabled.

Add a "Match canonical" criteria that allows ssh_config Match
blocks to trigger only in the second config pass.

Add a -G option to ssh that causes it to parse its configuration
and dump the result to stdout, similar to "sshd -T"

Allow ssh_config Port options set in the second config parse
phase to be applied (they were being ignored).

bz#2267 bz#2286; ok markus

revision 1.220/ (Download) - annotate - Tue, 15 Jul 2014 15:54:14 UTC by millert
OpenBSD release(s): 56
Changes since 1.219: +186 -38 (diff)
Add support for Unix domain socket forwarding. A remote TCP port
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@

revision 1.219/ (Download) - annotate - Wed, 23 Apr 2014 12:42:34 UTC by djm
Changes since 1.218: +12 -1 (diff)
don't record duplicate IdentityFiles

revision 1.218/ (Download) - annotate - Sun, 23 Feb 2014 20:11:36 UTC by djm
OpenBSD release(s): 55
Changes since 1.217: +24 -3 (diff)
reparse ssh_config and ~/.ssh/config if hostname canonicalisation changes
the hostname. This allows users to write configurations that always
refer to canonical hostnames, e.g.

CanonicalizeHostname yes
CanonicalDomains int.example.org example.org
CanonicalizeFallbackLocal no

Host *.int.example.org
 Compression off
Host *.example.org
 User djm

ok markus@

revision 1.217/ (Download) - annotate - Sat, 22 Feb 2014 01:32:19 UTC by djm
Changes since 1.216: +21 -10 (diff)
when processing Match blocks, skip 'exec' clauses if previous predicates
failed to match; ok markus@

revision 1.216/ (Download) - annotate - Wed, 29 Jan 2014 06:18:35 UTC by djm
Changes since 1.215: +2 -15 (diff)
remove experimental, never-enabled JPAKE code; ok markus@

revision 1.215/ (Download) - annotate - Fri, 06 Dec 2013 13:39:49 UTC by markus
Changes since 1.214: +3 -1 (diff)
support ed25519 keys (hostkeys and user identities) using the public domain
ed25519 reference code from SUPERCOP, see http://ed25519.cr.yp.to/software.html
feedback, help & ok djm@

revision 1.214/ (Download) - annotate - Wed, 20 Nov 2013 20:54:10 UTC by deraadt
Changes since 1.213: +2 -2 (diff)
unsigned casts for ctype macros where neccessary
ok guenther millert markus

revision 1.213/ (Download) - annotate - Thu, 24 Oct 2013 00:51:48 UTC by dtucker
Changes since 1.212: +20 -2 (diff)
Disallow empty Match statements and add "Match all" which matches everything.
ok djm, man page help jmc@

revision 1.212/ (Download) - annotate - Wed, 23 Oct 2013 03:05:19 UTC by djm
Changes since 1.211: +2 -1 (diff)
comment

revision 1.211/ (Download) - annotate - Wed, 23 Oct 2013 03:03:07 UTC by djm
Changes since 1.210: +14 -6 (diff)
Hostname may have %h sequences that should be expanded prior to Match
evaluation; spotted by Iain Morgan

revision 1.210/ (Download) - annotate - Sun, 20 Oct 2013 06:19:27 UTC by djm
Changes since 1.209: +4 -4 (diff)
rename "command" subclause of the recently-added "Match" keyword to
"exec"; it's shorter, clearer in intent and we might want to add the
ability to match against the command being executed at the remote end in
the future.

revision 1.209/ (Download) - annotate - Wed, 16 Oct 2013 22:49:38 UTC by djm
Changes since 1.208: +25 -25 (diff)
s/canonicalise/canonicalize/ for consistency with existing spelling,
e.g. authorized_keys; pointed out by naddy@

revision 1.208/ (Download) - annotate - Wed, 16 Oct 2013 02:31:45 UTC by djm
Changes since 1.207: +112 -1 (diff)
Implement client-side hostname canonicalisation to allow an explicit
search path of domain suffixes to use to convert unqualified host names
to fully-qualified ones for host key matching.
This is particularly useful for host certificates, which would otherwise
need to list unqualified names alongside fully-qualified ones (and this
causes a number of problems).

"looks fine" markus@

revision 1.207/ (Download) - annotate - Mon, 14 Oct 2013 23:28:23 UTC by djm
Changes since 1.206: +95 -104 (diff)
refactor client config code a little:

add multistate option partsing to readconf.c, similar to servconf.c's
existing code.

move checking of options that accept "none" as an argument to readconf.c

add a lowercase() function and use it instead of explicit tolower() in
loops

part of a larger diff that was ok markus@

revision 1.206/ (Download) - annotate - Mon, 14 Oct 2013 22:22:02 UTC by djm
Changes since 1.205: +215 -12 (diff)
add a "Match" keyword to ssh_config that allows matching on hostname,
user and result of arbitrary commands. "nice work" markus@

revision 1.205/ (Download) - annotate - Tue, 20 Aug 2013 00:11:37 UTC by djm
Changes since 1.204: +10 -2 (diff)
Add a ssh_config ProxyUseFDPass option that supports the use of
ProxyCommands that establish a connection and then pass a connected
file descriptor back to ssh(1). This allows the ProxyCommand to exit
rather than have to shuffle data back and forth and enables ssh to use
getpeername, etc. to obtain address information just like it does with
regular directly-connected sockets. ok markus@

revision 1.204/ (Download) - annotate - Mon, 10 Jun 2013 19:19:44 UTC by dtucker
OpenBSD release(s): 54
Changes since 1.203: +0 -2 (diff)
revert 1.203 while we investigate crashes reported by okan@

revision 1.203/ (Download) - annotate - Wed, 05 Jun 2013 22:00:28 UTC by dtucker
Changes since 1.202: +3 -1 (diff)
plug another memleak. bz#1967, from Zhenbo Xu, detected by Melton, ok djm

revision 1.202/ (Download) - annotate - Fri, 17 May 2013 00:13:14 UTC by djm
Changes since 1.201: +12 -18 (diff)
bye, bye xfree(); ok markus@

revision 1.201/ (Download) - annotate - Thu, 16 May 2013 10:43:34 UTC by dtucker
Changes since 1.200: +3 -3 (diff)
remove now-unused variables

revision 1.200/ (Download) - annotate - Thu, 16 May 2013 09:12:31 UTC by dtucker
Changes since 1.199: +7 -28 (diff)
switch RekeyLimit traffic volume parsing to scan_scaled. ok djm@

revision 1.199/ (Download) - annotate - Thu, 16 May 2013 04:27:50 UTC by djm
Changes since 1.198: +26 -9 (diff)
add the ability to ignore specific unrecognised ssh_config options;
bz#866; ok markus@

revision 1.198/ (Download) - annotate - Thu, 16 May 2013 02:00:34 UTC by dtucker
Changes since 1.197: +49 -31 (diff)
Add an optional second argument to RekeyLimit in the client to allow
rekeying based on elapsed time in addition to amount of traffic.
with djm@ jmc@, ok djm

revision 1.197/ (Download) - annotate - Wed, 06 Mar 2013 23:36:53 UTC by djm
Changes since 1.196: +1 -3 (diff)
g/c unused variable (-Wunused)

revision 1.196/ (Download) - annotate - Fri, 22 Feb 2013 04:45:08 UTC by dtucker
OpenBSD release(s): 53
Changes since 1.195: +7 -6 (diff)
Don't complain if IdentityFiles specified in system-wide configs are missing.
ok djm, deraadt.

revision 1.195/ (Download) - annotate - Sun, 17 Feb 2013 23:16:57 UTC by dtucker
Changes since 1.194: +30 -26 (diff)
Keep track of which IndentityFile options were manually supplied and which
were default options, and don't warn if the latter are missing. ok markus@

revision 1.194/ (Download) - annotate - Fri, 23 Sep 2011 07:45:05 UTC by markus
OpenBSD release(s): 52 51
Changes since 1.193: +2 -1 (diff)
unbreak remote portforwarding with dynamic allocated listen ports:
1) send the actual listen port in the open message (instead of 0).
 this allows multiple forwardings with a dynamic listen port
2) update the matching permit-open entry, so we can identify where
 to connect to
report: den at skbkontur.ru and P. Szczygielski
feedback and ok djm@

revision 1.193/ (Download) - annotate - Tue, 24 May 2011 07:15:47 UTC by djm
OpenBSD release(s): 50
Changes since 1.192: +40 -29 (diff)
Remove undocumented legacy options UserKnownHostsFile2 and
GlobalKnownHostsFile2 by making UserKnownHostsFile/GlobalKnownHostsFile
accept multiple paths per line and making their defaults include
known_hosts2; ok markus

revision 1.192/ (Download) - annotate - Fri, 06 May 2011 21:34:32 UTC by djm
Changes since 1.191: +26 -2 (diff)
Add a RequestTTY ssh_config option to allow configuration-based
control over tty allocation (like -t/-T); ok markus@

revision 1.191/ (Download) - annotate - Fri, 06 May 2011 21:31:38 UTC by djm
Changes since 1.190: +21 -5 (diff)
support negated Host matching, e.g.

Host *.example.org !c.example.org
	User mekmitasdigoat

Will match "a.example.org", "b.example.org", but not "c.example.org"
ok markus@

revision 1.190/ (Download) - annotate - Sat, 13 Nov 2010 23:27:50 UTC by djm
OpenBSD release(s): 49
Changes since 1.189: +28 -2 (diff)
allow ssh and sshd to set arbitrary TOS/DSCP/QoS values instead of
hardcoding lowdelay/throughput.

bz#1733 patch from philipp AT redfish-solutions.com; ok markus@ deraadt@

revision 1.189/ (Download) - annotate - Wed, 22 Sep 2010 05:01:29 UTC by djm
Changes since 1.188: +17 -1 (diff)
add a KexAlgorithms knob to the client and server configuration to allow
selection of which key exchange methods are used by ssh(1) and sshd(8)
and their order of preference.

ok markus@

revision 1.188/ (Download) - annotate - Tue, 31 Aug 2010 11:54:45 UTC by djm
Changes since 1.187: +7 -1 (diff)
Implement Elliptic Curve Cryptography modes for key exchange (ECDH) and
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@

revision 1.187/ (Download) - annotate - Mon, 19 Jul 2010 09:15:12 UTC by djm
OpenBSD release(s): 48
Changes since 1.186: +34 -2 (diff)
add a "ControlPersist" option that automatically starts a background
ssh(1) multiplex master when connecting. This connection can stay alive
indefinitely, or can be set to automatically close after a user-specified
duration of inactivity. bz#1330 - patch by dwmw2 AT infradead.org, but
further hacked on by wmertens AT cisco.com, apb AT cequrux.com,
martin-mindrot-bugzilla AT earth.li and myself; "looks ok" markus@

revision 1.186/ (Download) - annotate - Fri, 25 Jun 2010 23:15:36 UTC by djm
Changes since 1.185: +11 -3 (diff)
Add X11ForwardTimeout option to specify timeout for untrusted X11
authentication cookies to avoid fallback in X11 code to fully-trusted
implicit authentication using SO_PEERCRED described at:
http://lists.x.org/archives/xorg-devel/2010-May/008636.html

After the X11ForwardTimeout has expired the client will now refuse
incoming X11 channel opens.

based on patch from Tavis Ormandy; "nice" markus@

revision 1.185/ (Download) - annotate - Fri, 25 Jun 2010 07:14:46 UTC by djm
Changes since 1.184: +19 -6 (diff)
bz#1327: remove hardcoded limit of 100 permitopen clauses and port
forwards per direction; ok markus@ stevesk@

revision 1.184/ (Download) - annotate - Sun, 16 May 2010 12:55:51 UTC by markus
Changes since 1.183: +2 -1 (diff)
mux support for remote forwarding with dynamic port allocation,
use with
	LPORT=`ssh -S muxsocket -R0:localhost:25 -O forward somehost`
feedback and ok djm@

revision 1.183/ (Download) - annotate - Mon, 08 Feb 2010 10:50:20 UTC by markus
OpenBSD release(s): 47
Changes since 1.182: +9 -7 (diff)
replace our obsolete smartcard code with PKCS#11.
	ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf
ssh(1) and ssh-keygen(1) use dlopen(3) directly to talk to a PKCS#11
provider (shared library) while ssh-agent(1) delegates PKCS#11 to
a forked a ssh-pkcs11-helper process.
PKCS#11 is currently a compile time option.
feedback and ok djm@; inspired by patches from Alon Bar-Lev

revision 1.182/ (Download) - annotate - Sat, 09 Jan 2010 23:04:13 UTC by dtucker
Changes since 1.181: +3 -19 (diff)
Remove RoutingDomain from ssh since it's now not needed. It can be replaced
with "route exec" or "nc -V" as a proxycommand. "route exec" also ensures
that trafic such as DNS lookups stays withing the specified routingdomain.

For example (from reyk):
# route -T 2 exec /usr/sbin/sshd
or inherited from the parent process
$ route -T 2 exec sh
$ ssh 10.1.2.3

ok deraadt@ markus@ stevesk@ reyk@

revision 1.181/ (Download) - annotate - Tue, 29 Dec 2009 16:38:41 UTC by stevesk
Changes since 1.180: +2 -2 (diff)
Rename RDomain config option to RoutingDomain to be more clear and
consistent with other options.

NOTE: if you currently use RDomain in the ssh client or server config,
or ssh/sshd -o, you must update to use RoutingDomain.

ok markus@ djm@

revision 1.180/ (Download) - annotate - Fri, 25 Dec 2009 19:40:21 UTC by stevesk
Changes since 1.179: +2 -2 (diff)
validate routing domain is in range 0-RT_TABLEID_MAX.
'Looks right' deraadt@

revision 1.179/ (Download) - annotate - Wed, 28 Oct 2009 16:38:18 UTC by reyk
Changes since 1.178: +19 -3 (diff)
Allow to set the rdomain in ssh/sftp/scp/sshd and ssh-keyscan.

ok markus@

revision 1.178/ (Download) - annotate - Thu, 08 Oct 2009 14:03:41 UTC by markus
Changes since 1.177: +2 -2 (diff)
disable protocol 1 by default (after a transition period of about 10 years)
ok deraadt

revision 1.177/ (Download) - annotate - Sat, 27 Jun 2009 09:35:06 UTC by andreas
OpenBSD release(s): 46
Changes since 1.176: +10 -2 (diff)
Add client option UseRoaming. It doesn't do anything yet but will
control whether the client tries to use roaming if enabled on the
server. From Martin Forssen.
ok markus@

revision 1.176/ (Download) - annotate - Thu, 12 Feb 2009 03:00:56 UTC by djm
OpenBSD release(s): 45
Changes since 1.175: +9 -4 (diff)
support remote port forwarding with a zero listen port (-R0:...) to
dyamically allocate a listen port at runtime (this is actually
specified in rfc4254); bz#1003 ok markus@

revision 1.175/ (Download) - annotate - Thu, 22 Jan 2009 10:02:34 UTC by djm
Changes since 1.174: +3 -3 (diff)
make a2port() return -1 when it encounters an invalid port number
rather than 0, which it will now treat as valid (needed for future work)

adjust current consumers of a2port() to check its return value is <= 0,
which in turn required some things to be converted from u_short => int

make use of int vs. u_short consistent in some other places too

feedback & ok markus@

revision 1.174/ (Download) - annotate - Thu, 15 Jan 2009 17:38:43 UTC by stevesk
Changes since 1.173: +4 -4 (diff)
1) use obsolete instead of alias for consistency
2) oUserKnownHostsFile not obsolete but oGlobalKnownHostsFile2 is
 so move the comment.
3) reorder so like options are together

ok djm@

revision 1.173/ (Download) - annotate - Tue, 09 Dec 2008 02:58:16 UTC by djm
Changes since 1.172: +7 -3 (diff)
don't leave junk (free'd) pointers around in Forward *fwd argument on
failure; avoids double-free in ~C -L handler when given an invalid
forwarding specification; bz#1539 report from adejong AT debian.org
via Colin Watson; ok markus@ dtucker@

revision 1.172/ (Download) - annotate - Tue, 04 Nov 2008 19:18:00 UTC by stevesk
Changes since 1.171: +5 -7 (diff)
because parse_forward() is now used to parse all forward types (DLR),
and it malloc's space for host variables, we don't need to malloc
here. fixes small memory leaks.

previously dynamic forwards were not parsed in parse_forward() and
space was not malloc'd in that case.

ok djm@

revision 1.171/ (Download) - annotate - Tue, 04 Nov 2008 08:22:13 UTC by djm
Changes since 1.170: +16 -2 (diff)
Add support for an experimental zero-knowledge password authentication
method using the J-PAKE protocol described in F. Hao, P. Ryan,
"Password Authenticated Key Exchange by Juggling", 16th Workshop on
Security Protocols, Cambridge, April 2008.

This method allows password-based authentication without exposing
the password to the server. Instead, the client and server exchange
cryptographic proofs to demonstrate of knowledge of the password while
revealing nothing useful to an attacker or compromised endpoint.

This is experimental, work-in-progress code and is presently
compiled-time disabled (turn on -DJPAKE in Makefile.inc).

"just commit it. It isn't too intrusive." deraadt@

revision 1.170/ (Download) - annotate - Mon, 03 Nov 2008 02:44:41 UTC by stevesk
Changes since 1.169: +2 -2 (diff)
fix comment

revision 1.169/ (Download) - annotate - Mon, 03 Nov 2008 01:07:02 UTC by stevesk
Changes since 1.168: +1 -2 (diff)
remove valueless comment

revision 1.168/ (Download) - annotate - Sat, 01 Nov 2008 17:40:33 UTC by stevesk
Changes since 1.167: +45 -37 (diff)
merge dynamic forward parsing into parse_forward(); 'i think this is OK' djm@

revision 1.167/ (Download) - annotate - Thu, 26 Jun 2008 11:46:31 UTC by grunk
OpenBSD release(s): 44
Changes since 1.166: +10 -17 (diff)
Move SSH Fingerprint Visualization away from sharing the config option
CheckHostIP to an own config option named VisualHostKey.
While there, fix the behaviour that ssh would draw a random art picture
on every newly seen host even when the option was not enabled.

prodded by deraadt@, discussions,
help and ok markus@ djm@ dtucker@

revision 1.166/ (Download) - annotate - Wed, 11 Jun 2008 21:01:35 UTC by grunk
Changes since 1.165: +18 -2 (diff)
Introduce SSH Fingerprint ASCII Visualization, a technique inspired by the
graphical hash visualization schemes known as "random art", and by
Dan Kaminsky's musings on the subject during a BlackOp talk at the
23C3 in Berlin.

Scientific publication (original paper):
"Hash Visualization: a New Technique to improve Real-World Security",
Perrig A. and Song D., 1999, International Workshop on Cryptographic
Techniques and E-Commerce (CrypTEC '99)
http://sparrow.ece.cmu.edu/~adrian/projects/validation/validation.pdf

The algorithm used here is a worm crawling over a discrete plane,
leaving a trace (augmenting the field) everywhere it goes.
Movement is taken from dgst_raw 2bit-wise. Bumping into walls
makes the respective movement vector be ignored for this turn,
thus switching to the other color of the chessboard.
Graphs are not unambiguous for now, because circles in graphs can be
walked in either direction.

discussions with several people,
help, corrections and ok markus@ djm@

revision 1.165/ (Download) - annotate - Sat, 19 Jan 2008 23:09:49 UTC by djm
OpenBSD release(s): 43
Changes since 1.164: +4 -5 (diff)
promote rekeylimit to a int64 so it can hold the maximum useful limit
of 2^32; report and patch from Jan.Pechanec AT Sun.COM, ok dtucker@

revision 1.164/ (Download) - annotate - Mon, 31 Dec 2007 10:41:31 UTC by dtucker
Changes since 1.163: +5 -4 (diff)
Prevent strict-aliasing warnings on newer gcc versions. bz #1355, patch
from Dmitry V. Levin, ok djm@

revision 1.163/ (Download) - annotate - Mon, 22 Oct 2007 19:10:24 UTC by markus
Changes since 1.162: +2 -2 (diff)
make sure that both the local and remote port are correct when
parsing -L; Jan Pechanec (bz #1378)

revision 1.162/ (Download) - annotate - Tue, 20 Mar 2007 03:56:12 UTC by tedu
OpenBSD release(s): 42
Changes since 1.161: +2 -2 (diff)
remove some bogus *p tests from charles longeau
ok deraadt millert

revision 1.161/ (Download) - annotate - Sun, 21 Jan 2007 01:45:35 UTC by stevesk
OpenBSD release(s): 41
Changes since 1.160: +2 -2 (diff)
spaces

revision 1.160/ (Download) - annotate - Wed, 17 Jan 2007 23:22:52 UTC by dtucker
Changes since 1.159: +2 -2 (diff)
Honour activep for times (eg ServerAliveInterval) while parsing
ssh_config and ~/.ssh/config so they work properly with Host directives.
From mario.lorenz@wincor-nixdorf.com via bz #1275. ok markus@

revision 1.159/ (Download) - annotate - Thu, 03 Aug 2006 03:34:42 UTC by deraadt
OpenBSD release(s): 40
Changes since 1.158: +5 -4 (diff)
almost entirely get rid of the culture of ".h files that include .h files"
ok djm, sort of ok stevesk
makes the pain stop in one easy step

revision 1.158/ (Download) - annotate - Tue, 01 Aug 2006 23:22:47 UTC by stevesk
Changes since 1.157: +2 -1 (diff)
move #include <stdio.h> out of includes.h

revision 1.157/ (Download) - annotate - Sat, 22 Jul 2006 20:48:23 UTC by stevesk
Changes since 1.156: +2 -1 (diff)
move #include <string.h> out of includes.h

revision 1.156/ (Download) - annotate - Mon, 17 Jul 2006 01:31:09 UTC by stevesk
Changes since 1.155: +2 -1 (diff)
move #include <unistd.h> out of includes.h

revision 1.155/ (Download) - annotate - Wed, 12 Jul 2006 22:28:52 UTC by stevesk
Changes since 1.154: +2 -1 (diff)
move #include <netdb.h> out of includes.h; ok djm@

revision 1.154/ (Download) - annotate - Tue, 11 Jul 2006 20:07:25 UTC by stevesk
Changes since 1.153: +2 -1 (diff)
move #include <errno.h> out of includes.h; ok markus@

revision 1.153/ (Download) - annotate - Tue, 11 Jul 2006 18:50:48 UTC by markus
Changes since 1.152: +10 -1 (diff)
add ExitOnForwardFailure: terminate the connection if ssh(1)
cannot set up all requested dynamic, local, and remote port
forwardings. ok djm, dtucker, stevesk, jmc

revision 1.152/ (Download) - annotate - Wed, 05 Jul 2006 02:42:09 UTC by stevesk
Changes since 1.151: +4 -1 (diff)
move #include <netinet/in.h> out of includes.h; ok deraadt@

revision 1.151/ (Download) - annotate - Sat, 25 Mar 2006 13:17:02 UTC by djm
Changes since 1.150: +1 -0 (diff)
Put $OpenBSD$ tags back (as comments) to replace the RCSID()s that
Theo nuked - our scripts to sync -portable need them in the files

revision 1.150/ (Download) - annotate - Sun, 19 Mar 2006 18:51:18 UTC by deraadt
Changes since 1.149: +0 -1 (diff)
RCSID() can die

revision 1.149/ (Download) - annotate - Sun, 19 Mar 2006 02:24:05 UTC by djm
Changes since 1.148: +3 -2 (diff)
potential NULL pointer dereferences detected by Coverity
via elad AT netbsd.org; ok deraadt@

revision 1.148/ (Download) - annotate - Wed, 22 Feb 2006 00:04:44 UTC by stevesk
OpenBSD release(s): 39
Branch point for: 1.148.2.1
Changes since 1.147: +3 -1 (diff)
move #include <ctype.h> out of includes.h; ok djm@

revision 1.147/ (Download) - annotate - Mon, 20 Feb 2006 17:19:54 UTC by stevesk
Changes since 1.146: +4 -1 (diff)
move #include <sys/stat.h> out of includes.h; ok markus@

revision 1.146/ (Download) - annotate - Sun, 12 Feb 2006 10:44:18 UTC by djm
Changes since 1.145: +22 -7 (diff)
raise error when the user specifies a RekeyLimit that is smaller than 16
(the smallest of our cipher's blocksize) or big enough to cause integer
wraparound; ok & feedback dtucker@

revision 1.145/ (Download) - annotate - Thu, 08 Dec 2005 18:34:11 UTC by reyk
Changes since 1.144: +27 -5 (diff)
two changes to the new ssh tunnel support. this breaks compatibility
with the initial commit but is required for a portable approach.
- make the tunnel id u_int and platform friendly, use predefined types.
- support configuration of layer 2 (ethernet) or layer 3
(point-to-point, default) modes. configuration is done using the
Tunnel (yes|point-to-point|ethernet|no) option is ssh_config(5) and
restricted by the PermitTunnel (yes|point-to-point|ethernet|no) option
in sshd_config(5).

ok djm@, man page bits by jmc@

revision 1.144/ (Download) - annotate - Tue, 06 Dec 2005 22:38:27 UTC by reyk
Changes since 1.143: +49 -3 (diff)
Add support for tun(4) forwarding over OpenSSH, based on an idea and
initial channel code bits by markus@. This is a simple and easy way to
use OpenSSH for ad hoc virtual private network connections, e.g.
administrative tunnels or secure wireless access. It's based on a new
ssh channel and works similar to the existing TCP forwarding support,
except that it depends on the tun(4) network interface on both ends of
the connection for layer 2 or layer 3 tunneling. This diff also adds
support for LocalCommand in the ssh(1) client.

ok djm@, markus@, jmc@ (manpages), tested and discussed with others

revision 1.143/ (Download) - annotate - Sat, 30 Jul 2005 02:03:47 UTC by djm
OpenBSD release(s): 38
Branch point for: 1.143.2.1
Changes since 1.142: +2 -2 (diff)
listen_hosts initialisation here too; spotted greg AT y2005.nest.cx

revision 1.142/ (Download) - annotate - Sun, 17 Jul 2005 07:17:55 UTC by djm
Changes since 1.141: +2 -2 (diff)
knf says that a 2nd level indent is four (not three or five) spaces

revision 1.141/ (Download) - annotate - Wed, 08 Jun 2005 11:25:09 UTC by djm
Changes since 1.140: +22 -2 (diff)
add ControlMaster=auto/autoask options to support opportunistic multiplexing;
tested avsm@ and jakob@, ok markus@

revision 1.140/ (Download) - annotate - Mon, 16 May 2005 15:30:51 UTC by markus
Changes since 1.139: +4 -1 (diff)
check return value from strdelim() for NULL (AddressFamily); mpech

revision 1.139/ (Download) - annotate - Thu, 10 Mar 2005 22:01:05 UTC by deraadt
OpenBSD release(s): 37
Branch point for: 1.139.2.1
Changes since 1.138: +2 -2 (diff)
spacing

revision 1.138/ (Download) - annotate - Thu, 10 Mar 2005 10:15:02 UTC by dtucker
Changes since 1.137: +5 -3 (diff)
Check listen addresses for null, prevents xfree from dying during
ClearAllForwardings (bz #996). From Craig Leres, ok markus@

revision 1.137/ (Download) - annotate - Fri, 04 Mar 2005 08:48:06 UTC by djm
Changes since 1.136: +3 -1 (diff)
fix SendEnv config parsing bug found by Roumen Petrov; ok dtucker@

revision 1.136/ (Download) - annotate - Tue, 01 Mar 2005 10:40:26 UTC by djm
Changes since 1.135: +10 -2 (diff)
add support for hashing host names and addresses added to known_hosts files,
to improve privacy of which hosts user have been visiting; ok markus@ deraadt@

revision 1.135/ (Download) - annotate - Tue, 01 Mar 2005 10:09:52 UTC by djm
Changes since 1.134: +119 -38 (diff)
bz#413: allow optional specification of bind address for port forwardings.
Patch originally by Dan Astorian, but worked on by several people
Adds GatewayPorts=clientspecified option on server to allow remote forwards
to bind to client-specified ports.

ok markus@

revision 1.134/ (Download) - annotate - Sun, 11 Jul 2004 17:48:47 UTC by deraadt
OpenBSD release(s): 36
Branch point for: 1.134.2.1
Changes since 1.133: +3 -3 (diff)
spaces

revision 1.133/ (Download) - annotate - Thu, 17 Jun 2004 15:10:14 UTC by djm
Changes since 1.132: +2 -2 (diff)
Add option for confirmation (ControlMaster=ask) via ssh-askpass before opening
shared connections; ok markus@

revision 1.132/ (Download) - annotate - Sun, 13 Jun 2004 15:03:02 UTC by djm
Changes since 1.131: +16 -2 (diff)
implement session multiplexing in the client (the server has supported this
since 2.0); ok markus@

revision 1.131/ (Download) - annotate - Thu, 27 May 2004 00:50:13 UTC by dtucker
Changes since 1.130: +3 -8 (diff)
Kill dead code after fatal(); ok djm@

revision 1.130/ (Download) - annotate - Tue, 27 Apr 2004 09:46:36 UTC by djm
Changes since 1.129: +17 -1 (diff)
bz #815: implement ability to pass specified environment variables from the
client to the server; ok markus@

revision 1.129/ (Download) - annotate - Sun, 18 Apr 2004 23:10:26 UTC by djm
Changes since 1.128: +19 -4 (diff)
perform strict ownership and modes checks for ~/.ssh/config files, as these
can be used to execute arbitrary programs; ok markus@

NB. ssh will now exit when it detects a config with poor permissions

revision 1.128/ (Download) - annotate - Fri, 05 Mar 2004 10:53:58 UTC by markus
OpenBSD release(s): 35
Branch point for: 1.128.2.1
Changes since 1.127: +10 -2 (diff)
add IdentitiesOnly; ok djm@, pb@

revision 1.127/ (Download) - annotate - Tue, 16 Dec 2003 15:49:51 UTC by markus
Changes since 1.126: +19 -2 (diff)
application layer keep alive (ServerAliveInterval ServerAliveCountMax)
for ssh(1), similar to the sshd(8) option; ok beck@; with help from
jmc and dtucker@

revision 1.126/ (Download) - annotate - Tue, 09 Dec 2003 21:53:36 UTC by markus
Changes since 1.125: +10 -9 (diff)
rename keepalive to tcpkeepalive; the old name causes too much
confusion; ok djm, dtucker; with help from jmc@

revision 1.125/ (Download) - annotate - Wed, 12 Nov 2003 16:39:58 UTC by jakob
Changes since 1.124: +3 -2 (diff)
update SSHFP validation. ok markus@

revision 1.124/ (Download) - annotate - Tue, 14 Oct 2003 19:42:10 UTC by jakob
Changes since 1.123: +1 -5 (diff)
include SSHFP lookup code (not enabled by default). ok markus@

revision 1.123/ (Download) - annotate - Sat, 11 Oct 2003 08:24:07 UTC by markus
Changes since 1.122: +10 -2 (diff)
remote x11 clients are now untrusted by default, uses xauth(8) to generate
untrusted cookies; ForwardX11Trusted=yes restores old behaviour.
ok deraadt; feedback and ok djm/fries

revision 1.122/ (Download) - annotate - Wed, 08 Oct 2003 15:21:24 UTC by markus
Changes since 1.121: +2 -2 (diff)
default GSS API to no in client, too; ok jakob, deraadt@

revision 1.121/ (Download) - annotate - Mon, 01 Sep 2003 18:15:50 UTC by markus
OpenBSD release(s): 34
Branch point for: 1.121.2.1
Changes since 1.120: +1 -16 (diff)
remove unused kerberos code; ok henning@

revision 1.120/ (Download) - annotate - Mon, 01 Sep 2003 12:50:46 UTC by markus
Changes since 1.119: +1 -2 (diff)
rm gssapidelegatecreds alias; never supported before

revision 1.119/ (Download) - annotate - Thu, 28 Aug 2003 12:54:34 UTC by markus
Changes since 1.118: +1 -6 (diff)
remove kerberos support from ssh1, since it has been replaced with GSSAPI;
but keep kerberos passwd auth for ssh1 and 2; ok djm, hin, henning, ...

revision 1.118/ (Download) - annotate - Fri, 22 Aug 2003 10:56:09 UTC by markus
Changes since 1.117: +24 -2 (diff)
support GSS API user authentication; patches from Simon Wilkinson,
stripped down and tested by Jakob and myself.

revision 1.117/ (Download) - annotate - Wed, 13 Aug 2003 09:07:09 UTC by markus
Changes since 1.116: +2 -2 (diff)
socks4->socks, since with support both 4 and 5; dtucker@zip.com.au

revision 1.116/ (Download) - annotate - Wed, 13 Aug 2003 08:46:30 UTC by markus
Changes since 1.115: +3 -12 (diff)
remove RhostsAuthentication; suggested by djm@ before; ok djm@, deraadt@,
fgsch@, miod@, henning@, jakob@ and others

revision 1.115/ (Download) - annotate - Tue, 22 Jul 2003 13:35:22 UTC by markus
Changes since 1.114: +3 -14 (diff)
remove (already disabled) KRB4/AFS support, re-enable -k in ssh(1);
test+ok henning@

revision 1.114/ (Download) - annotate - Thu, 03 Jul 2003 08:09:05 UTC by djm
Changes since 1.113: +10 -5 (diff)
fix AddressFamily option in config file, from brent@graveland.net; ok markus@

revision 1.113/ (Download) - annotate - Thu, 26 Jun 2003 20:08:33 UTC by markus
Changes since 1.112: +3 -1 (diff)
do not dump core for 'ssh -o proxycommand host'; ok deraadt@

revision 1.112/ (Download) - annotate - Fri, 16 May 2003 03:27:12 UTC by djm
Changes since 1.111: +16 -1 (diff)
add AddressFamily option to ssh_config (like -4, -6 on commandline).
Portable bug #534; ok markus@

revision 1.111/ (Download) - annotate - Thu, 15 May 2003 14:55:25 UTC by djm
Changes since 1.110: +18 -2 (diff)
add a ConnectTimeout option to ssh, based on patch from
Jean-Charles Longuet (jclonguet at free.fr); portable #207 ok markus@

revision 1.110/ (Download) - annotate - Thu, 15 May 2003 14:02:47 UTC by jakob
Changes since 1.109: +24 -14 (diff)
warn for unsupported config option. ok markus@

revision 1.109/ (Download) - annotate - Thu, 15 May 2003 04:08:44 UTC by jakob
Changes since 1.108: +13 -1 (diff)
disable kerberos when not supported. ok markus@

revision 1.108/ (Download) - annotate - Thu, 15 May 2003 01:48:10 UTC by jakob
Changes since 1.107: +6 -34 (diff)
always parse kerberos options. ok djm@ markus@

revision 1.107/ (Download) - annotate - Wed, 14 May 2003 18:16:20 UTC by jakob
Changes since 1.106: +10 -2 (diff)
add experimental support for verifying hos keys using DNS as described
in draft-ietf-secsh-dns-xx.txt. more information in README.dns.
ok markus@ and henning@

revision 1.106/ (Download) - annotate - Wed, 09 Apr 2003 12:00:37 UTC by djm
Changes since 1.105: +8 -1 (diff)
strip trailing whitespace from config lines before parsing. Fixes bz 528;
ok markus@

revision 1.105/ (Download) - annotate - Wed, 02 Apr 2003 09:48:07 UTC by markus
Changes since 1.104: +31 -2 (diff)
reapply rekeying chage, tested by henning@, ok djm@

revision 1.104/ (Download) - annotate - Tue, 01 Apr 2003 10:22:21 UTC by markus
Changes since 1.103: +2 -31 (diff)
backout rekeying changes (for 3.6.1)

revision 1.103/ (Download) - annotate - Tue, 01 Apr 2003 10:10:23 UTC by markus
Changes since 1.102: +31 -2 (diff)
rekeying bugfixes and automatic rekeying:

* both client and server rekey _automatically_
 (a) after 2^31 packets, because after 2^32 packets
 the sequence number for packets wraps
 (b) after 2^(blocksize_in_bits/4) blocks
 (see: http://www.ietf.org/internet-drafts/draft-ietf-secsh-newmodes-00.txt)
 (a) and (b) are _enabled_ by default, and only disabled for known
 openssh versions, that don't support rekeying properly.
* client option 'RekeyLimit'
* do not reply to requests during rekeying

revision 1.102/ (Download) - annotate - Wed, 05 Feb 2003 09:02:28 UTC by markus
OpenBSD release(s): 33
Branch point for: 1.102.2.1
Changes since 1.101: +6 -11 (diff)
simplify ProxyCommand parsing, remove strcat/xrealloc; ok henning@, djm@

revision 1.101/ (Download) - annotate - Thu, 07 Nov 2002 22:08:07 UTC by markus
Changes since 1.100: +10 -1 (diff)
we cannot use HostbasedAuthentication for enabling ssh-keysign(8),
because HostbasedAuthentication might be enabled based on the
target host and ssh-keysign(8) does not know the remote hostname
and not trust ssh(1) about the hostname, so we add a new option
EnableSSHKeysign; ok djm@, report from zierke@informatik.uni-hamburg.de

revision 1.100/ (Download) - annotate - Wed, 19 Jun 2002 00:27:55 UTC by deraadt
OpenBSD release(s): 32
Branch point for: 1.100.2.1
Changes since 1.99: +2 -2 (diff)
KNF done automatically while reading....

revision 1.99/ (Download) - annotate - Mon, 10 Jun 2002 17:45:20 UTC by stevesk
Changes since 1.98: +3 -3 (diff)
change RhostsRSAAuthentication and RhostsAuthentication default to no
since ssh is no longer setuid root by default; ok markus@

revision 1.98/ (Download) - annotate - Sat, 08 Jun 2002 12:46:14 UTC by markus
Changes since 1.97: +3 -3 (diff)
silently ignore deprecated options, since FallBackToRsh might be passed
by remote scp commands.

revision 1.97/ (Download) - annotate - Sat, 08 Jun 2002 05:40:01 UTC by markus
Changes since 1.96: +2 -2 (diff)
just warn about Deprecated options for now

revision 1.96/ (Download) - annotate - Sat, 08 Jun 2002 05:17:01 UTC by markus
Changes since 1.95: +13 -23 (diff)
deprecate FallBackToRsh and UseRsh; patch from djm@

revision 1.95/ (Download) - annotate - Mon, 04 Feb 2002 12:15:25 UTC by markus
OpenBSD release(s): 31
Branch point for: 1.95.2.1
Changes since 1.94: +5 -5 (diff)
add SYSLOG_FACILITY_NOT_SET = -1, SYSLOG_LEVEL_NOT_SET = -1,
fixes arm/netbsd; based on patch from bjh21@netbsd.org; ok djm@

revision 1.94/ (Download) - annotate - Fri, 04 Jan 2002 17:59:17 UTC by stevesk
Changes since 1.93: +1 -3 (diff)
remove #ifdef _PATH_XAUTH/#endif; ok markus@

revision 1.93/ (Download) - annotate - Wed, 19 Dec 2001 07:18:56 UTC by deraadt
Changes since 1.92: +16 -16 (diff)
basic KNF done while i was looking for something else

revision 1.92/ (Download) - annotate - Sat, 17 Nov 2001 19:14:34 UTC by stevesk
Changes since 1.91: +2 -2 (diff)
enum/int type cleanup where it made sense to do so; ok markus@

revision 1.91/ (Download) - annotate - Mon, 01 Oct 2001 21:51:16 UTC by markus
OpenBSD release(s): 30
Branch point for: 1.91.2.1
Changes since 1.90: +10 -2 (diff)
add NoHostAuthenticationForLocalhost; note that the hostkey is
now check for localhost, too.

revision 1.90/ (Download) - annotate - Wed, 19 Sep 2001 19:24:18 UTC by stevesk
Changes since 1.89: +24 -2 (diff)
add ClearAllForwardings ssh option and set it in scp and sftp; ok markus@

revision 1.89/ (Download) - annotate - Mon, 03 Sep 2001 20:58:33 UTC by stevesk
Changes since 1.88: +5 -4 (diff)
fatal() for nonexistent -Fssh_config. ok markus@

revision 1.88/ (Download) - annotate - Thu, 30 Aug 2001 16:04:35 UTC by stevesk
Changes since 1.87: +24 -31 (diff)
validate ports for LocalForward/RemoteForward.
add host/port alternative syntax for IPv6 (like -L/-R).
ok markus@

revision 1.87/ (Download) - annotate - Tue, 28 Aug 2001 09:51:26 UTC by markus
Changes since 1.86: +3 -2 (diff)
don't set DynamicForward unless Host matches

revision 1.86/ (Download) - annotate - Wed, 01 Aug 2001 22:03:33 UTC by markus
Changes since 1.85: +4 -4 (diff)
use strings instead of ints for smartcard reader ids

revision 1.85/ (Download) - annotate - Tue, 31 Jul 2001 09:28:44 UTC by jakob
Changes since 1.84: +8 -2 (diff)
add 'SmartcardDevice' client option to specify which smartcard device is used
to access a smartcard used for storing the user's private RSA key. ok markus@.

revision 1.84/ (Download) - annotate - Wed, 25 Jul 2001 14:35:18 UTC by markus
Changes since 1.83: +2 -2 (diff)
cleanup connect(); connection_attempts 4 -> 1; from eivind@freebsd.org

revision 1.83/ (Download) - annotate - Sun, 22 Jul 2001 22:04:19 UTC by markus
Changes since 1.82: +2 -2 (diff)
enable challenge-response auth by default; ok millert@

revision 1.82/ (Download) - annotate - Tue, 26 Jun 2001 16:15:23 UTC by dugsong
Changes since 1.81: +27 -20 (diff)
Kerberos v5 support for SSH1, mostly from Assar Westerlund <assar@freebsd.org> and Bjorn Gronvall <bg@sics.se>. markus@ ok

revision 1.81/ (Download) - annotate - Sat, 23 Jun 2001 02:34:30 UTC by markus
Changes since 1.80: +3 -3 (diff)
get rid of known_hosts2, use it for hostkey lookup, but do not modify.

revision 1.80/ (Download) - annotate - Fri, 08 Jun 2001 15:25:40 UTC by markus
Changes since 1.79: +4 -4 (diff)
move the path for xauth to pathnames.h

revision 1.79/ (Download) - annotate - Thu, 24 May 2001 18:57:53 UTC by stevesk
Changes since 1.78: +2 -2 (diff)
don't perform escape processing when ``EscapeChar none''; ok markus@

revision 1.78/ (Download) - annotate - Fri, 18 May 2001 14:13:28 UTC by markus
Changes since 1.77: +5 -5 (diff)
improved kbd-interactive support. work by per@appgate.com and me

revision 1.77/ (Download) - annotate - Mon, 30 Apr 2001 11:18:51 UTC by markus
Changes since 1.76: +8 -2 (diff)
implement 'ssh -b bind_address' like 'telnet -b'

revision 1.76/ (Download) - annotate - Tue, 17 Apr 2001 10:53:25 UTC by markus
OpenBSD release(s): 29
Branch point for: 1.76.2.1
Changes since 1.75: +17 -2 (diff)
add HostKeyAlgorithms; based on patch from res@shore.net; ok provos@

revision 1.75/ (Download) - annotate - Sun, 15 Apr 2001 21:28:35 UTC by stevesk
Changes since 1.74: +3 -3 (diff)
use fatal() or error() vs. fprintf(); ok markus@

revision 1.74/ (Download) - annotate - Thu, 12 Apr 2001 20:09:37 UTC by stevesk
Changes since 1.73: +7 -7 (diff)
robust port validation; ok markus@ jakob@

revision 1.73/ (Download) - annotate - Thu, 12 Apr 2001 19:39:27 UTC by markus
Changes since 1.72: +2 -2 (diff)
typo

revision 1.72/ (Download) - annotate - Thu, 12 Apr 2001 19:15:25 UTC by markus
Changes since 1.71: +12 -4 (diff)
implement HostbasedAuthentication (= RhostRSAAuthentication for ssh v2)
similar to RhostRSAAuthentication unless you enable (the experimental)
HostbasedUsesNameFromPacketOnly option. please test. :)

revision 1.71/ (Download) - annotate - Sat, 07 Apr 2001 08:55:17 UTC by markus
Changes since 1.70: +15 -2 (diff)
allow the ssh client act as a SOCKS4 proxy (dynamic local portforwarding).
work by Dan Kaminsky <dankamin@cisco.com> and me. thanks to Dan for this
great patch: use 'ssh -D 1080 host' and make netscape use localhost:1080 as
a socks proxy.

revision 1.70/ (Download) - annotate - Mon, 02 Apr 2001 14:20:23 UTC by stevesk
Changes since 1.69: +2 -3 (diff)
correct comment; ok markus@

revision 1.69/ (Download) - annotate - Tue, 20 Mar 2001 19:10:16 UTC by markus
Changes since 1.68: +1 -1 (diff)
default to SSH protocol version 2

revision 1.68/ (Download) - annotate - Mon, 19 Mar 2001 17:07:23 UTC by markus
Changes since 1.67: +2 -2 (diff)
undo /etc/shell and proto 2,1 change for openssh-2.5.2

revision 1.67/ (Download) - annotate - Sat, 10 Mar 2001 17:51:04 UTC by markus
Changes since 1.66: +10 -2 (diff)
add PreferredAuthentications

revision 1.66/ (Download) - annotate - Sat, 10 Mar 2001 12:53:52 UTC by deraadt
Changes since 1.65: +2 -2 (diff)
default to SSH2, now that m68k runs fast

revision 1.65/ (Download) - annotate - Thu, 08 Mar 2001 00:15:47 UTC by markus
Changes since 1.64: +2 -2 (diff)
turn off useprivilegedports by default. only rhost-auth needs
this. older sshd's may need this, too.

revision 1.64/ (Download) - annotate - Sun, 04 Mar 2001 17:42:28 UTC by millert
Changes since 1.63: +4 -4 (diff)
log functions should not be passed strings that end in newline as they
get passed on to syslog() and when logging to stderr, do_log() appends
its own newline.

revision 1.63/ (Download) - annotate - Sat, 24 Feb 2001 10:37:55 UTC by deraadt
Changes since 1.62: +7 -1 (diff)
look for id_rsa by default, before id_dsa

revision 1.62/ (Download) - annotate - Sun, 11 Feb 2001 12:59:25 UTC by markus
Changes since 1.61: +18 -2 (diff)
1) clean up the MAC support for SSH-2
2) allow you to specify the MAC with 'ssh -m'
3) or the 'MACs' keyword in ssh(d)_config
4) add hmac-{md5,sha1}-96
	ok stevesk@, provos@

revision 1.61/ (Download) - annotate - Thu, 08 Feb 2001 14:39:36 UTC by deraadt
Changes since 1.60: +11 -7 (diff)
snprintf

revision 1.60/ (Download) - annotate - Sun, 28 Jan 2001 20:36:16 UTC by stevesk
Changes since 1.59: +2 -2 (diff)
``StrictHostKeyChecking ask'' documentation and small cleanup.
ok markus@

revision 1.59/ (Download) - annotate - Mon, 22 Jan 2001 23:06:39 UTC by markus
Changes since 1.58: +13 -14 (diff)
rename skey -> challenge response.
auto-enable kbd-interactive for ssh2 if challenge-reponse is enabled.

revision 1.58/ (Download) - annotate - Sun, 21 Jan 2001 19:05:53 UTC by markus
Changes since 1.57: +6 -3 (diff)
split ssh.h and try to cleanup the #include mess. remove unnecessary #includes.
rename util.[ch] -> misc.[ch]

revision 1.57/ (Download) - annotate - Sat, 20 Jan 2001 23:02:07 UTC by djm
Changes since 1.56: +2 -3 (diff)
KNF; ok markus

revision 1.56/ (Download) - annotate - Sat, 20 Jan 2001 17:59:40 UTC by deraadt
Changes since 1.55: +2 -2 (diff)
fix SIGSEGV from -o ""; problem noted by jehsom@togetherweb.com

revision 1.55/ (Download) - annotate - Fri, 19 Jan 2001 15:55:11 UTC by markus
Changes since 1.54: +10 -9 (diff)
move ssh1 definitions to ssh1.h, pathnames to pathnames.h

revision 1.54/ (Download) - annotate - Thu, 18 Jan 2001 16:20:22 UTC by markus
Changes since 1.53: +2 -2 (diff)
log() is at pri=LOG_INFO, since LOG_NOTICE goes to /dev/console on many systems

revision 1.53/ (Download) - annotate - Sun, 07 Jan 2001 11:28:05 UTC by markus
Changes since 1.52: +2 -2 (diff)
rename SYSLOG_LEVEL_INFO->SYSLOG_LEVEL_NOTICE
syslog priority changes:
	fatal() LOG_ERR -> LOG_CRIT
	log() LOG_INFO -> LOG_NOTICE

revision 1.52/ (Download) - annotate - Wed, 27 Dec 2000 12:30:19 UTC by markus
Changes since 1.51: +9 -2 (diff)
new option: HostKeyAlias: allows the user to record the host key
under a different name. This is useful for ssh tunneling over
forwarded connections or if you run multiple sshd's on different
ports on the same machine.

revision 1.51/ (Download) - annotate - Tue, 19 Dec 2000 23:17:57 UTC by markus
Changes since 1.50: +5 -5 (diff)
replace 'unsigned bla' with 'u_bla' everywhere. also, replace 'char unsigned'
with u_char.

revision 1.50/ (Download) - annotate - Sun, 12 Nov 2000 19:50:37 UTC by markus
Changes since 1.49: +26 -29 (diff)
add support for RSA to SSH2. please test.

there are now 3 types of keys: RSA1 is used by ssh-1 only,
RSA and DSA are used by SSH2.

you can use 'ssh-keygen -t rsa -f ssh2_rsa_file' to generate RSA
keys for SSH2 and use the RSA keys for hostkeys or for user keys.

SSH2 RSA or DSA keys are added to .ssh/authorised_keys2 as before.

IdentityFile2, HostDsaKey and DSAAuthentication are obsolete.
you can use multiple IdentityFile and HostKey for all types of keys.

the option DSAAuthentication is replaced by PubkeyAuthetication.

revision 1.49/ (Download) - annotate - Wed, 11 Oct 2000 20:27:23 UTC by markus
OpenBSD release(s): 28
Branch point for: 1.49.2.1
Changes since 1.48: +1 -2 (diff)
new cipher framework

revision 1.48/ (Download) - annotate - Wed, 11 Oct 2000 20:14:39 UTC by markus
Changes since 1.47: +17 -2 (diff)
add support for s/key (kbd-interactive) to ssh2, based on work by mkiernan@avantgo.com and me

revision 1.47/ (Download) - annotate - Thu, 07 Sep 2000 21:13:37 UTC by markus
Changes since 1.46: +1 -24 (diff)
some more Copyright fixes

revision 1.46/ (Download) - annotate - Thu, 07 Sep 2000 20:27:53 UTC by deraadt
Changes since 1.45: +29 -8 (diff)
cleanup copyright notices on all files. I have attempted to be accurate with
the details. everything is now under Tatu's licence (which I copied from his
readme), and/or the core-sdi bsd-ish thing for deattack, or various openbsd
developers under a 2-term bsd licence. We're not changing any rules, just
being accurate.

revision 1.45/ (Download) - annotate - Wed, 02 Aug 2000 17:27:04 UTC by provos
Changes since 1.44: +2 -2 (diff)
disallow kerberos authentication if we can't verify the TGT; from
dugsong@
kerberos authentication is on by default only if you have a srvtab.

revision 1.44/ (Download) - annotate - Wed, 02 Aug 2000 16:27:16 UTC by provos
Changes since 1.43: +2 -2 (diff)
disable kerberos authentication by default

revision 1.43/ (Download) - annotate - Fri, 14 Jul 2000 22:59:46 UTC by markus
Changes since 1.42: +2 -2 (diff)
 allow leading whitespace. ok niels

revision 1.42/ (Download) - annotate - Thu, 13 Jul 2000 22:53:21 UTC by provos
Changes since 1.41: +26 -28 (diff)
allow multiple whitespace but only one '=' between tokens, bug report from
Ralf S. Engelschall <rse@engelschall.com> but different fix. okay deraadt@

revision 1.41/ (Download) - annotate - Tue, 11 Jul 2000 19:17:44 UTC by deraadt
Changes since 1.40: +2 -2 (diff)
disable FallBackToRsh by default

revision 1.40/ (Download) - annotate - Mon, 10 Jul 2000 16:27:05 UTC by ho
Changes since 1.39: +17 -17 (diff)
Get the correct message on errors. (niels@ ok)

revision 1.39/ (Download) - annotate - Sun, 09 Jul 2000 01:27:33 UTC by ho
Changes since 1.38: +6 -4 (diff)
Better conditions for strsep() ending.

revision 1.38/ (Download) - annotate - Sat, 08 Jul 2000 23:17:31 UTC by provos
Changes since 1.37: +73 -73 (diff)
replace strtok with strsep; from David Young <dyoung@onthejob.net>

revision 1.37/ (Download) - annotate - Tue, 20 Jun 2000 01:39:43 UTC by markus
Changes since 1.36: +1 -1 (diff)
OpenBSD tag

revision 1.36/ (Download) - annotate - Sun, 18 Jun 2000 00:57:48 UTC by deraadt
Changes since 1.35: +2 -2 (diff)
include = in WHITESPACE; markus ok

revision 1.35/ (Download) - annotate - Wed, 31 May 2000 09:20:38 UTC by markus
Changes since 1.34: +2 -2 (diff)
typo, unused

revision 1.34/ (Download) - annotate - Wed, 31 May 2000 06:36:40 UTC by markus
Changes since 1.33: +12 -2 (diff)
xauth_location support; pr 1234

revision 1.33/ (Download) - annotate - Mon, 29 May 2000 20:20:46 UTC by markus
Changes since 1.32: +2 -2 (diff)
forwardagent defaults to no, add ssh -A

revision 1.32/ (Download) - annotate - Mon, 22 May 2000 18:42:01 UTC by markus
Changes since 1.31: +7 -1 (diff)
check strtok() != NULL; ok niels@

revision 1.31/ (Download) - annotate - Mon, 08 May 2000 17:12:15 UTC by markus
OpenBSD release(s): 27
Branch point for: 1.31.2.1
Changes since 1.30: +3 -2 (diff)
complain about invalid ciphers in SSH1 (e.g. arcfour is SSH2 only)

revision 1.30/ (Download) - annotate - Sat, 06 May 2000 17:45:36 UTC by markus
Changes since 1.29: +10 -2 (diff)
add DSAAuthetication option to ssh/sshd, document SSH2 in sshd.8

revision 1.29/ (Download) - annotate - Tue, 02 May 2000 22:18:04 UTC by markus
Changes since 1.28: +3 -5 (diff)
default DSA key file ~/.ssh/id_dsa

revision 1.28/ (Download) - annotate - Wed, 26 Apr 2000 22:43:14 UTC by markus
Changes since 1.27: +2 -2 (diff)
ssh/sshd default to proto 1 and 2

revision 1.27/ (Download) - annotate - Wed, 26 Apr 2000 20:56:29 UTC by markus
Changes since 1.26: +39 -4 (diff)
add DSA pubkey auth and other SSH2 fixes. use ssh-keygen -[xX]
for trading keys with the real and the original SSH, directly from the
people who invented the SSH protocol.

revision 1.26/ (Download) - annotate - Fri, 14 Apr 2000 10:30:32 UTC by markus
Changes since 1.25: +13 -13 (diff)
whitespace cleanup

revision 1.25/ (Download) - annotate - Wed, 12 Apr 2000 07:45:44 UTC by markus
Changes since 1.24: +29 -2 (diff)
add Cipher and Protocol options to ssh/sshd, e.g.:
ssh -o 'Protocol 1,2' if you prefer proto 1, ssh -o 'Ciphers arcfour,3des-cbc'

revision 1.24/ (Download) - annotate - Tue, 28 Mar 2000 20:31:28 UTC by markus
Changes since 1.23: +2 -1 (diff)
replace big switch() with function tables (prepare for ssh2)

revision 1.23/ (Download) - annotate - Mon, 28 Feb 2000 19:51:58 UTC by markus
Changes since 1.22: +2 -2 (diff)
turn off x11-fwd for the client, too.

revision 1.22/ (Download) - annotate - Wed, 01 Dec 1999 13:59:15 UTC by markus
Changes since 1.21: +9 -10 (diff)
ports are u_short

revision 1.21/ (Download) - annotate - Wed, 24 Nov 1999 20:24:09 UTC by markus
Changes since 1.20: +7 -13 (diff)
remove dead #ifdef-0-code

revision 1.20/ (Download) - annotate - Wed, 24 Nov 1999 20:19:37 UTC by markus
Changes since 1.19: +2 -9 (diff)
strcasecmp instead of tolower

revision 1.19/ (Download) - annotate - Wed, 24 Nov 1999 19:53:49 UTC by markus
Changes since 1.18: +42 -27 (diff)
KNF, final part 3

revision 1.18/ (Download) - annotate - Wed, 24 Nov 1999 00:26:02 UTC by deraadt
Changes since 1.17: +14 -14 (diff)
much more KNF

revision 1.17/ (Download) - annotate - Tue, 23 Nov 1999 22:25:54 UTC by markus
Changes since 1.16: +536 -539 (diff)
KNF part 1

revision 1.16/ (Download) - annotate - Mon, 22 Nov 1999 21:52:41 UTC by markus
Changes since 1.15: +12 -10 (diff)
tranfer s/key challenge/response data in SSH_SMSG_AUTH_TIS_CHALLENGE
messages. allows use of s/key in windows (ttssh, securecrt) and
ssh-1.2.27 clients without 'ssh -v', ok: niels@

revision 1.15/ (Download) - annotate - Fri, 19 Nov 1999 16:04:17 UTC by markus
Changes since 1.14: +11 -37 (diff)
bugfix: loglevels are per host in clientconfig,
factor out common log-level parsing code.

revision 1.14/ (Download) - annotate - Sun, 14 Nov 1999 21:45:07 UTC by markus
Changes since 1.13: +21 -13 (diff)
print _all_ bad config-options in ssh(1), too

revision 1.13/ (Download) - annotate - Wed, 10 Nov 1999 23:36:44 UTC by markus
Changes since 1.12: +45 -3 (diff)
add LogLevel {QUIET, FATAL, ERROR, INFO, CHAT, DEBUG} to ssh/sshd,
obsoletes QuietMode and FascistLogging in sshd.

revision 1.12/ (Download) - annotate - Fri, 15 Oct 1999 21:39:02 UTC by markus
OpenBSD release(s): 26
Changes since 1.11: +2 -2 (diff)
typo: s/UsePrivilegedPorts/UsePrivilegedPort/

revision 1.11/ (Download) - annotate - Tue, 12 Oct 1999 21:04:21 UTC by markus
Changes since 1.10: +11 -2 (diff)
-P/UsePrivilegedPort from 1.2.27, it turns of allocation of priv. port
and disabled rhosts/rhosts-rsa, ok deraadt@

revision 1.10/ (Download) - annotate - Wed, 06 Oct 1999 20:07:42 UTC by dugsong
Changes since 1.9: +10 -2 (diff)
implement client NumberOfPasswordPrompts option

revision 1.9/ (Download) - annotate - Sun, 03 Oct 1999 22:01:39 UTC by provos
Changes since 1.8: +5 -1 (diff)
fix last commit.

revision 1.8/ (Download) - annotate - Sun, 03 Oct 1999 21:50:03 UTC by provos
Changes since 1.7: +7 -3 (diff)
add code to detect DNS spoofing:

the main idea is to not only store the host key for the hostname but
also for the according IP address. When we check the host key in the
known_hosts file, we also check the key against the according IP address.
When the server key changes, host_status = HOST_CHANGED. If
check_host_in_hostfile() returns differing status for the IP address
that means that either DNS was spoofed or that the IP address
for the host and the host key changed at the same time.

revision 1.7/ (Download) - annotate - Thu, 30 Sep 1999 08:03:39 UTC by deraadt
Changes since 1.6: +2 -2 (diff)
IPPORT_RESERVED

revision 1.6/ (Download) - annotate - Thu, 30 Sep 1999 05:03:05 UTC by deraadt
Changes since 1.5: +1 -13 (diff)
cull more ancient garbage from pre-POSIX days

revision 1.5/ (Download) - annotate - Wed, 29 Sep 1999 18:16:19 UTC by dugsong
Changes since 1.4: +8 -19 (diff)
update krb4/AFS support to ssh-1.2.27-afs-kerberos-pl1 level, clean up unused variables, update manpages

revision 1.4/ (Download) - annotate - Wed, 29 Sep 1999 17:52:12 UTC by deraadt
Changes since 1.3: +6 -1 (diff)
disable portforwarding for reserved/bad ports; Markus.Friedl@informatik.uni-erlangen.de

revision 1.3/ (Download) - annotate - Wed, 29 Sep 1999 00:10:16 UTC by deraadt
Changes since 1.2: +10 -2 (diff)
GatewayPorts and ssh -g; markus.friedl@informatik.uni-erlangen.de

revision 1.2/ (Download) - annotate - Tue, 28 Sep 1999 04:45:36 UTC by provos
Changes since 1.1: +1 -2 (diff)
convert all uses of gmp to SSL bignum
convert all used of rsa to SSL rsa functions
remove all use of randomstate to OpenBSD arc4random() and arc4_stir()
all this done at a long long night in Canada.

revision 1.1/ (Download) - annotate - Sun, 26 Sep 1999 20:53:37 UTC by deraadt
i bet a lot of people didn't know what ssh 1.2.16 had a nice license.
well, except for the patent issues. someone in sweden (forget their
name at the moment) cleaned out most of the patented code, and now
this code removes rsa code. when this is done, it will link against
libssl, but the work isn't completely done yet. then we need to bring
this up to modern days, featurewise.

revision 1.31.2.5/ (Download) - annotate - Wed, 21 Mar 2001 18:52:57 UTC by jason
Changes since 1.31.2.4: +20 -6 (diff)
Pull in OpenSSH-2.5.2 for 2.7 branch.

revision 1.31.2.4/ (Download) - annotate - Mon, 12 Mar 2001 15:44:13 UTC by jason
Changes since 1.31.2.3: +82 -56 (diff)
OpenSSH-2.5.1 for 2.7 patch branch

revision 1.31.2.3/ (Download) - annotate - Wed, 08 Nov 2000 21:31:07 UTC by jason
Changes since 1.31.2.2: +22 -10 (diff)
openssh-2.3.0 (again) for 2.7 branch

revision 1.31.2.2/ (Download) - annotate - Fri, 01 Sep 2000 18:23:21 UTC by jason
Changes since 1.31.2.1: +81 -81 (diff)
Pull in the rest of openssh-2.2.0 to 2.7 branch (luvin' cvs...)

revision 1.31.2.1/ (Download) - annotate - Mon, 12 Jun 2000 02:37:34 UTC by jason
Changes since 1.31: +19 -3 (diff)
lovin' CVS... update patch branch to OpenSSH-2.1.1

revision 1.49.2.7/ (Download) - annotate - Fri, 08 Mar 2002 17:04:42 UTC by brad
Changes since 1.49.2.6: +21 -23 (diff)
Merge OpenSSH 3.1.

revision 1.49.2.6/ (Download) - annotate - Thu, 15 Nov 2001 00:14:59 UTC by miod
Changes since 1.49.2.5: +10 -2 (diff)
Merge OpenSSH 3.0

revision 1.49.2.5/ (Download) - annotate - Thu, 27 Sep 2001 00:15:42 UTC by miod
Changes since 1.49.2.4: +102 -66 (diff)
Pull in OpenSSH 2.9.9 to the 2.8 branch.

revision 1.49.2.4/ (Download) - annotate - Mon, 07 May 2001 21:09:32 UTC by jason
Changes since 1.49.2.3: +47 -12 (diff)
Pull in OpenSSH-2.9 to 2.8 branch.

revision 1.49.2.3/ (Download) - annotate - Wed, 21 Mar 2001 19:46:27 UTC by jason
Changes since 1.49.2.2: +20 -6 (diff)
Pull in OpenSSH-2.5.2 for 2.8 branch.

revision 1.49.2.2/ (Download) - annotate - Mon, 19 Feb 2001 17:19:12 UTC by jason
Changes since 1.49.2.1: None
Pull in OpenSSH-2.5.1

revision 1.49.2.1/ (Download) - annotate - Fri, 16 Feb 2001 20:13:10 UTC by jason
Changes since 1.49: +82 -56 (diff)
Pull in OpenSSH 2.5.0

revision 1.76.2.3/ (Download) - annotate - Sat, 09 Mar 2002 00:20:44 UTC by miod
Changes since 1.76.2.2: +21 -23 (diff)
Merge OpenSSH 3.1, keeping /etc as configuration files directory.
(i.e. OpenSSH 3.1 + openbsd29_3.1.patch)

revision 1.76.2.2/ (Download) - annotate - Thu, 15 Nov 2001 00:15:19 UTC by miod
Changes since 1.76.2.1: +10 -2 (diff)
Merge OpenSSH 3.0

revision 1.76.2.1/ (Download) - annotate - Thu, 27 Sep 2001 19:03:54 UTC by jason
Changes since 1.76: +102 -66 (diff)
Pull in OpenSSH-2.9.9

revision 1.91.2.2/ (Download) - annotate - Sat, 22 Jun 2002 07:23:17 UTC by miod
Changes since 1.91.2.1: +15 -25 (diff)
Update OpenSSH to version 3.3 (with local changes, configuration files still
living in /etc and privsep user being nobody).

revision 1.91.2.1/ (Download) - annotate - Thu, 07 Mar 2002 17:37:47 UTC by jason
Changes since 1.91: +21 -23 (diff)
Update to OpenSSH-3.1 on 3.0-stable branch

revision 1.95.2.2/ (Download) - annotate - Thu, 03 Apr 2003 22:35:17 UTC by miod
Changes since 1.95.2.1: +15 -11 (diff)
Merge OpenSSH 3.6.1

revision 1.95.2.1/ (Download) - annotate - Wed, 26 Jun 2002 15:30:38 UTC by jason
Changes since 1.95: +15 -25 (diff)
Pull in OpenSSH-3.4

revision 1.100.2.2/ (Download) - annotate - Tue, 16 Sep 2003 21:20:26 UTC by brad
Changes since 1.100.2.1: +123 -66 (diff)
upgrade to OpenSSH 3.7

revision 1.100.2.1/ (Download) - annotate - Tue, 01 Apr 2003 00:12:14 UTC by margarida
Changes since 1.100: +15 -11 (diff)
Update to OpenSSH 3.6

revision 1.102.2.2/ (Download) - annotate - Thu, 04 Mar 2004 18:18:16 UTC by brad
Changes since 1.102.2.1: +40 -17 (diff)
upgrade to OpenSSH 3.8upgrade to OpenSSH 3.8upgrade to OpenSSH 3.8

revision 1.102.2.1/ (Download) - annotate - Tue, 16 Sep 2003 20:50:43 UTC by brad
Changes since 1.102: +123 -66 (diff)
upgrade to OpenSSH 3.7

revision 1.121.2.2/ (Download) - annotate - Thu, 19 Aug 2004 22:37:31 UTC by brad
Changes since 1.121.2.1: +53 -5 (diff)
upgrade to OpenSSH 3.9

revision 1.121.2.1/ (Download) - annotate - Sat, 28 Feb 2004 03:51:33 UTC by brad
Changes since 1.121: +40 -17 (diff)
upgrade to OpenSSH 3.8

revision 1.128.2.2/ (Download) - annotate - Thu, 10 Mar 2005 17:15:04 UTC by brad
Changes since 1.128.2.1: +132 -39 (diff)
upgrade to OpenSSH 4.0

revision 1.128.2.1/ (Download) - annotate - Thu, 19 Aug 2004 04:13:26 UTC by brad
Changes since 1.128: +44 -4 (diff)
upgrade to OpenSSH 3.9

revision 1.134.2.3/ (Download) - annotate - Fri, 02 Sep 2005 03:45:00 UTC by brad
Changes since 1.134.2.2: +27 -4 (diff)
upgrade to OpenSSH 4.2

revision 1.134.2.2/ (Download) - annotate - Sun, 05 Jun 2005 02:22:39 UTC by brad
Changes since 1.134.2.1: +2 -2 (diff)
upgrade to OpenSSH 4.1

revision 1.134.2.1/ (Download) - annotate - Thu, 10 Mar 2005 16:28:27 UTC by brad
Changes since 1.134: +132 -39 (diff)
upgrade to OpenSSH 4.0

revision 1.139.2.2/ (Download) - annotate - Fri, 03 Feb 2006 02:53:44 UTC by brad
Changes since 1.139.2.1: +71 -3 (diff)
upgrade to OpenSSH 4.3

revision 1.139.2.1/ (Download) - annotate - Sun, 04 Sep 2005 18:40:02 UTC by brad
Changes since 1.139: +27 -4 (diff)
upgrade to OpenSSH 4.2

revision 1.143.2.2/ (Download) - annotate - Fri, 06 Oct 2006 03:19:33 UTC by brad
Changes since 1.143.2.1: +49 -10 (diff)
upgrade to OpenSSH 4.4

revision 1.143.2.1/ (Download) - annotate - Fri, 03 Feb 2006 03:01:56 UTC by brad
Changes since 1.143: +71 -3 (diff)
upgrade to OpenSSH 4.3

revision 1.148.2.1/ (Download) - annotate - Sat, 30 Sep 2006 04:06:51 UTC by brad
Changes since 1.148: +24 -5 (diff)
upgrade to OpenSSH 4.4

revision 1.232.2.1/ (Download) - annotate - Thu, 14 Jan 2016 14:48:36 UTC by sthen
Changes since 1.232: +3 -4 (diff)
MFC changes by: deraadt@cvs.openbsd.org 2016/01/14 07:34:34

Disable experimental client-side roaming support. Server side was
disabled/gutted for years already, but this aspect was surprisingly
forgotten.
Thanks for report from Qualys

revision 1.239.2.1/ (Download) - annotate - Thu, 14 Jan 2016 14:48:18 UTC by sthen
Changes since 1.239: +3 -4 (diff)
MFC changes by: deraadt@cvs.openbsd.org 2016/01/14 07:34:34

Disable experimental client-side roaming support. Server side was
disabled/gutted for years already, but this aspect was surprisingly
forgotten.
Thanks for report from Qualys