Commit Graph

10219 Commits

Author SHA1 Message Date
Damien Miller 10ecc647fc depend 2020-01-21 12:20:05 +11:00
Ruben Kerkhof b3f7009c9f Fix missing prototype warning for copy_environment
This function is only used in this file, and only on Cygwin, so make
it static and hide it behind HAVE_CYGWIN.  Prevents missing prototype
warning.
2020-01-21 10:47:29 +11:00
Ruben Kerkhof 0c428c0e99 configure.ac: fix ldns test
When running ./configure --with-ldns, if ldns-config cannot be found, we
add -Iyes/include to CPPFLAGS and -Lyes/lib to LDFLAGS. Fix that.
2020-01-21 10:46:11 +11:00
Ruben Kerkhof 6089abf715 Make sshpam_password_change_required static.
sshpam_password_change_required is only used in auth-pam.c, so make it
static to prevent a mising prototype warning.
2020-01-21 10:39:49 +11:00
Ruben Kerkhof 5a9b9c8285 sandbox-darwin.c: fix missing prototypes.
Include the right header just like the other sandbox files.
Fixes missing prototype warnings for ssh_sandbox_* functions.
2020-01-21 10:37:25 +11:00
Ruben Kerkhof 335dc93526 Fix a few warnings when on Mac OS X.
Include stdlib.h for calloc, malloc, free and setenv.
2020-01-20 21:17:11 +11:00
Ruben Kerkhof 0488dc2d30 Fix building without openssl.
This fixes the following when there are no openssl headers on the system:
ssh-ecdsa-sk.c:34:10: fatal error: 'openssl/bn.h' file not found
2020-01-20 21:14:46 +11:00
Ruben Kerkhof e6b7157b4e Add config.log to .gitignore 2020-01-16 13:27:23 +11:00
Ruben Kerkhof 515e10ddf9 Fix typo in README.md, s/crytpo/crypto/ 2020-01-16 13:26:46 +11:00
Darren Tucker 1af3354aea Wrap stdint.h in ifdef HAVE_STDINT_H. 2020-01-15 16:22:36 +11:00
Darren Tucker 429170f273 Wrap stdint.h inside HAVE_STDINT_H. 2020-01-14 14:41:47 +11:00
Darren Tucker a0989b6021 Include compat header for definitions. 2020-01-14 14:28:01 +11:00
Darren Tucker e0cedcad51 Improve search for 'struct timespec'.
Make struct timespec test consistent with existing timeval test.
Include time.h for timespec in compat header where required.
2020-01-14 14:28:01 +11:00
Darren Tucker acaf9e0585 Update depend to remove rmd160.h. 2020-01-14 12:43:03 +11:00
Darren Tucker 26b2675b0c Remove configure test & compat code for ripemd160.
RIPEMD160 support was removed upstream in 2017, however we still had
a configure test and compat code for it, so clean those up now.
2020-01-14 12:05:00 +11:00
djm@openbsd.org ed3ad71b17 upstream: fix reversed arguments on expand_proxy_command(); spotted
by anton@

OpenBSD-Commit-ID: db1c32478a01dfbc9c4db171de0f25907bea5775
2020-01-09 21:29:19 +11:00
jmc@openbsd.org cd53476383 upstream: put the fido options in a list, and tidy up the text a
little; ok djm

OpenBSD-Commit-ID: 491ce15ae52a88b7a6a2b3b6708a14b4aacdeebb
2020-01-09 21:29:19 +11:00
Jeremy Drake 30f704ebc0 Deny (non-fatal) ipc in preauth privsep child.
As noted in openssh/openssh-portable#149, i386 does not have have
_NR_shmget etc.  Instead, it has a single ipc syscall (see man 2 ipc,
https://linux.die.net/man/2/ipc).  Add this syscall, if present, to the
list of syscalls that seccomp will deny non-fatally.
2020-01-08 21:47:44 +11:00
Khem Raj b110cefdfb seccomp: Allow clock_gettime64() in sandbox.
This helps sshd accept connections on mips platforms with
upcoming glibc ( 2.31 )
2020-01-08 12:10:00 +11:00
djm@openbsd.org 3cc60c899a upstream: missing else in check_enroll_options()
OpenBSD-Commit-ID: e058fb918fda56ddbbf0bee910101004cec421d4
2020-01-06 13:40:28 +11:00
djm@openbsd.org ff5784e269 upstream: fix error message
OpenBSD-Commit-ID: 1eb52025658eb78ea6223181e552862198d3d505
2020-01-06 13:25:26 +11:00
djm@openbsd.org dd2acc8b86 upstream: adapt sk-dummy to SK API changes
also, make it pull prototypes directly from sk-api.c and #error
if the expected version changes. This will make any future regress
test breakage because of SK API changes much more apparent

OpenBSD-Regress-ID: 79b07055de4feb988e31da71a89051ad5969829d
2020-01-06 13:12:46 +11:00
djm@openbsd.org c312ca077c upstream: Extends the SK API to accept a set of key/value options
for all operations. These are intended to future-proof the API a little by
making it easier to specify additional fields for without having to change
the API version for each.

At present, only two options are defined: one to explicitly specify
the device for an operation (rather than accepting the middleware's
autoselection) and another to specify the FIDO2 username that may
be used when generating a resident key. These new options may be
invoked at key generation time via ssh-keygen -O

This also implements a suggestion from Markus to avoid "int" in favour
of uint32_t for the algorithm argument in the API, to make implementation
of ssh-sk-client/helper a little easier.

feedback, fixes and ok markus@

OpenBSD-Commit-ID: 973ce11704609022ab36abbdeb6bc23c8001eabc
2020-01-06 13:12:46 +11:00
beck@openbsd.org 2ab335712d upstream: fix CanonicalizeHostname, broken by rev 1.507
Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com>
ok dtucker@ markus@ djm@

OpenBSD-Commit-ID: 749f3168ec520609c35b0c4e1984e5fa47f16094
2020-01-06 13:12:46 +11:00
Darren Tucker 69e44ba701 Fix typo: 'you' -> 'your'.
bz#3108 from jmckitrick@gmail.com.
2020-01-06 09:02:53 +11:00
Darren Tucker 7652a57662 Remove auth-skey.c.
S/Key support was removed in OpenSSH 7.8 but this file was missed.
2020-01-06 08:56:46 +11:00
jmc@openbsd.org c593cc5e82 upstream: the download resident keys option is -K (upper) not -k
(lower); ok djm

OpenBSD-Commit-ID: 71dc28a3e1fa7c553844abc508845bcf5766e091
2020-01-04 10:15:03 +11:00
djm@openbsd.org ff31f15773 upstream: what bozo decided to use 2020 as a future date in a regress
test?

OpenBSD-Regress-ID: 3b953df5a7e14081ff6cf495d4e8d40e153cbc3a
2020-01-04 10:14:21 +11:00
djm@openbsd.org 680eb7749a upstream: implement recent SK API change to support resident keys
and PIN prompting in the dummy middleware that we use for the tests. Should
fix breakage spotted by dtucker@

OpenBSD-Regress-ID: 379cf9eabfea57aaf7f3f59dafde59889566c484
2020-01-03 13:47:32 +11:00
dtucker@openbsd.org 86834fe6b5 upstream: Update keygen moduli screen test to match recent command
line option change to ssh-keygen(1).

OpenBSD-Regress-ID: 744a72755004377e9669b662c13c6aa9ead8a0c3
2020-01-03 13:47:32 +11:00
djm@openbsd.org 9039971887 upstream: ability to download FIDO2 resident keys from a token via
"ssh-keygen -K". This will save public/private keys into the current
directory.

This is handy if you move a token between hosts.

feedback & ok markus@

OpenBSD-Commit-ID: d57c1f9802f7850f00a117a1d36682a6c6d10da6
2020-01-03 09:43:24 +11:00
djm@openbsd.org 878ba4350d upstream: add sshkey_save_public(), to save a public key; ok
markus@

OpenBSD-Commit-ID: 5d6f96a966d10d7fa689ff9aa9e1d6767ad5a076
2020-01-03 09:41:20 +11:00
jmc@openbsd.org 3b1382ffd5 upstream: simplify the list for moduli options - no need for
-compact;

OpenBSD-Commit-ID: 6492c72280482c6d072be46236b365cb359fc280
2020-01-03 09:41:20 +11:00
Damien Miller 0248ec7c76 ssh-sk-null.cc needs extern "C" {} 2020-01-02 13:41:31 +11:00
Damien Miller 5ca4b414ef add dummy ssh-sk API for linking with fuzzers 2020-01-02 11:15:49 +11:00
Damien Miller c4b2664be7 refresh depend 2019-12-30 21:04:09 +11:00
djm@openbsd.org 3093d12ff8 upstream: Remove the -x option currently used for
FIDO/U2F-specific key flags. Instead these flags may be specified via -O.

ok markus@

OpenBSD-Commit-ID: f23ebde2a8a7e1bf860a51055a711cffb8c328c1
2019-12-30 21:02:29 +11:00
djm@openbsd.org ef65e7dbaa upstream: document SK API changes in PROTOCOL.u2f
ok markus@

OpenBSD-Commit-ID: 52622363c103a3c4d3d546050480ffe978a32186
2019-12-30 21:01:52 +11:00
djm@openbsd.org 43ce96427b upstream: translate and return error codes; retry on bad PIN
Define some well-known error codes in the SK API and pass
them back via ssh-sk-helper.

Use the new "wrong PIN" error code to retry PIN prompting during
ssh-keygen of resident keys.

feedback and ok markus@

OpenBSD-Commit-ID: 9663c6a2bb7a0bc8deaccc6c30d9a2983b481620
2019-12-30 21:01:51 +11:00
djm@openbsd.org d433596736 upstream: improve some error messages; ok markus@
OpenBSD-Commit-ID: 4ccd8ddabb8df4f995107dd3b7ea58220e93cb81
2019-12-30 21:00:42 +11:00
djm@openbsd.org c54cd1892c upstream: SK API and sk-helper error/PIN passing
Allow passing a PIN via the SK API (API major crank) and let the
ssh-sk-helper API follow.

Also enhance the ssh-sk-helper API to support passing back an error
code instead of a complete reply. Will be used to signal "wrong PIN",
etc.

feedback and ok markus@

OpenBSD-Commit-ID: a1bd6b0a2421646919a0c139b8183ad76d28fb71
2019-12-30 20:59:33 +11:00
djm@openbsd.org 79fe22d9bc upstream: implement loading resident keys in ssh-add
"ssh-add -O" will load resident keys from a FIDO2 token and add them
to a ssh-agent.

feedback and ok markus@

OpenBSD-Commit-ID: 608104ae957a7d65cb84e0a3a26c8f60e0df3290
2019-12-30 20:58:19 +11:00
djm@openbsd.org 27753a8e21 upstream: implement loading of resident keys in ssh-sk-helper
feedback and ok markus@

OpenBSD-Commit-ID: b273c23769ea182c55c4a7b8f9cbd9181722011a
2019-12-30 20:58:19 +11:00
djm@openbsd.org 14cea36df3 upstream: resident keys support in SK API
Adds a sk_load_resident_keys() function to the security key
API that accepts a security key provider and a PIN and returns
a list of keys.

Implement support for this in the usbhid middleware.

feedback and ok markus@

OpenBSD-Commit-ID: 67e984e4e87f4999ce447a6178c4249a9174eff0
2019-12-30 20:58:19 +11:00
djm@openbsd.org 2fe05fcb4a upstream: Factor out parsing of struct sk_enroll_response
We'll reuse this for extracting resident keys from a device.

feedback and ok markus@

OpenBSD-Commit-ID: 9bc1efd9c6897eac4df0983746cf6578c1542273
2019-12-30 20:57:59 +11:00
djm@openbsd.org 4532bd01d5 upstream: basic support for generating FIDO2 resident keys
"ssh-keygen -t ecdsa-sk|ed25519-sk -x resident" will generate a
device-resident key.

feedback and ok markus@

OpenBSD-Commit-ID: 8e1b3c56a4b11d85047bd6c6c705b7eef4d58431
2019-12-30 20:57:58 +11:00
djm@openbsd.org 3e60d18fba upstream: remove single-letter flags for moduli options
Move all moduli generation options to live under the -O flag.

Frees up seven single-letter flags.

NB. this change break existing ssh-keygen commandline syntax for moduli-
related operations. Very few people use these fortunately.

feedback and ok markus@

OpenBSD-Commit-ID: d498f3eaf28128484826a4fcb343612764927935
2019-12-30 14:33:54 +11:00
djm@openbsd.org 1e645fe767 upstream: prepare for use of ssh-keygen -O flag beyond certs
Move list of available certificate options in ssh-keygen.1 to the
CERTIFICATES section.

Collect options specified by -O but delay parsing/validation of
certificate options until we're sure that we're acting as a CA.

ok markus@

OpenBSD-Commit-ID: 33e6bcc29cfca43606f6fa09bd84b955ee3a4106
2019-12-30 14:32:20 +11:00
jmc@openbsd.org 20ccd85424 upstream: sort -Y internally in the options list, as is already
done in synopsis;

OpenBSD-Commit-ID: 86d033c5764404057616690d7be992e445b42274
2019-12-30 14:31:40 +11:00
jmc@openbsd.org 5b6c954751 upstream: in the options list, sort -Y and -y;
OpenBSD-Commit-ID: 24c2e6a3aeab6e050a0271ffc73fdff91c10dcaa
2019-12-30 14:31:40 +11:00