Commit Graph

11990 Commits

Author SHA1 Message Date
djm@openbsd.org
e1ef172646
upstream: regression test for ChannelTimeout
OpenBSD-Regress-ID: 280bfbefcfa415428ad744e43f69a8dede8ad685
2023-01-06 21:37:40 +11:00
djm@openbsd.org
2393ea8daf
upstream: fix typo in verbose logging
OpenBSD-Regress-ID: 0497cdb66e003b2f50ed77291a9104fba2e017e9
2023-01-06 21:37:40 +11:00
djm@openbsd.org
161a5378a3
upstream: unit tests for misc.c:ptimeout_* API
OpenBSD-Regress-ID: 01f8fb12d08e5aaadd4bd4e71f456b6588be9a94
2023-01-06 21:37:40 +11:00
tb@openbsd.org
018d671d78
upstream: Copy bytes from the_banana[] rather than banana()
Fixes test failure due to segfault seen on arm64 with xonly snap.

ok djm

OpenBSD-Regress-ID: 86e2aa4bbd1dff1bc4ebb2969c0d6474485be046
2023-01-06 20:25:14 +11:00
Damien Miller
ab6bb69e25
unbreak scp on NetBSD 4.x
e555d5cad5 effectively increased the default copy buffer size for SFTP
transfers. This caused NetBSD 4.x to hang during the "copy local file to
remote file in place" scp.sh regression test.

This puts back the original 32KB copy buffer size until we can properly
figure out why.

lots of debugging assistance from dtucker@
2023-01-06 19:13:36 +11:00
djm@openbsd.org
2d1ff2b943
upstream: Implement channel inactivity timeouts
This adds a sshd_config ChannelTimeouts directive that allows channels that
have not seen traffic in a configurable interval to be automatically closed.
Different timeouts may be applied to session, X11, agent and TCP forwarding
channels.

Note: this only affects channels over an opened SSH connection and not
the connection itself. Most clients close the connection when their channels
go away, with a notable exception being ssh(1) in multiplexing mode.

ok markus dtucker

OpenBSD-Commit-ID: ae8bba3ed9d9f95ff2e2dc8dcadfa36b48e6c0b8
2023-01-06 16:23:16 +11:00
djm@openbsd.org
0e34348d0b
upstream: Add channel_set_xtype()
This sets an "extended" channel type after channel creation (e.g.
"session:subsystem:sftp") that will be used for setting channel inactivity
timeouts.

ok markus dtucker

OpenBSD-Commit-ID: 42564aa92345045b4a74300528f960416a15d4ca
2023-01-06 16:21:40 +11:00
djm@openbsd.org
ceedf09b29
upstream: tweak channel ctype names
These are now used by sshd_config:ChannelTimeouts to specify timeouts by
channel type, so force them all to use a similar format without whitespace.

ok dtucker markus

OpenBSD-Commit-ID: 66834765bb4ae14f96d2bb981ac98a7dae361b65
2023-01-06 16:21:40 +11:00
djm@openbsd.org
c60438158a
upstream: Add channel_force_close()
This will forcibly close an open channel by simulating read/write errors,
draining the IO buffers and calling the detach function.

Previously the detach function was only ever called during channel garbage
collection, but there was no way to signal the user of a channel (e.g.
session.c) that its channel was being closed deliberately (vs. by the
usual state-machine logic). So this adds an extra "force" argument to the
channel cleanup callback to indicate this condition.

ok markus dtucker

OpenBSD-Commit-ID: 23052707a42bdc62fda2508636e624afd466324b
2023-01-06 16:21:39 +11:00
djm@openbsd.org
d478cdc7ad
upstream: replace manual poll/ppoll timeout math with ptimeout API
feedback markus / ok markus dtucker

OpenBSD-Commit-ID: c5ec4f2d52684cdb788cd9cbc1bcf89464014be2
2023-01-06 16:21:39 +11:00
djm@openbsd.org
4adf3817a2
upstream: add ptimeout API for keeping track of poll/ppoll
timeouts; ok dtucker markus

OpenBSD-Commit-ID: 3335268ca135b3ec15a947547d7cfbb8ff929ead
2023-01-06 16:21:38 +11:00
djm@openbsd.org
8c7c69d323
upstream: suppress "Connection closed" message when in quiet mode
OpenBSD-Commit-ID: 8a3ab7176764da55f60bfacfeae9b82d84e3908f
2023-01-06 16:21:38 +11:00
djm@openbsd.org
845ceecea2
upstream: regression test for PermitRemoteOpen
OpenBSD-Regress-ID: 8271aafbf5c21950cd5bf966f08e585cebfe630c
2023-01-03 17:53:05 +11:00
djm@openbsd.org
b3daa8dc58
upstream: 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@

OpenBSD-Commit-ID: c5678a39f1ff79993d5ae3cfac5746a4ae148ea5
2023-01-03 17:53:05 +11:00
jmc@openbsd.org
0872663a7b
upstream: spelling fixes; from paul tagliamonte amendments to his
diff are noted on tech

OpenBSD-Commit-ID: d776dd03d0b882ca9c83b84f6b384f6f9bd7de4a
2023-01-03 17:53:05 +11:00
djm@openbsd.org
797da2812a
upstream: Mention that scp uses the SFTP protocol and remove
reference to legacy flag. Spotted by, feedback and ok jmc@

OpenBSD-Commit-ID: 9dfe04966f52e941966b46c7a2972147f95281b3
2023-01-03 17:53:05 +11:00
djm@openbsd.org
93f2ce8c05
upstream: Clear signal mask early in main(); sshd may have been
started with one or more signals masked (sigprocmask(2) is not cleared
on fork/exec) and this could interfere with various things, e.g. the
login grace timer.

Execution environments that fail to clear the signal mask before running
sshd are clearly broken, but apparently they do exist.

Reported by Sreedhar Balasubramanian; ok dtucker@

OpenBSD-Commit-ID: 77078c0b1c53c780269fc0c416f121d05e3010ae
2023-01-03 17:53:05 +11:00
jmc@openbsd.org
4acfaabfae
upstream: add -X to usage();
OpenBSD-Commit-ID: 1bdc3df7de11d766587b0428318336dbffe4a9d0
2023-01-03 17:53:05 +11:00
djm@openbsd.org
e555d5cad5
upstream: add a -X option to both scp(1) and sftp(1) to allow
control over some SFTP protocol knobs: the copy buffer length and
the number of inflight requests, both of which are used during
upload/download.

Previously these could be controlled in sftp(1) using the -b/-R options.
This makes them available in both SFTP protocol clients using the same
option character sequence.

ok dtucker@

OpenBSD-Commit-ID: 27502bffc589776f5da1f31df8cb51abe9a15f1c
2023-01-03 17:53:05 +11:00
deraadt@openbsd.org
5a7a7acab2
upstream: The idiomatic way of coping with signed char vs unsigned
char (which did not come from stdio read functions) in the presence of
ctype macros, is to always cast to (unsigned char).  casting to (int)
for a "macro" which is documented to take int, is weird.  And sadly wrong,
because of the sing extension risk.. same diff from florian

OpenBSD-Commit-ID: 65b9a49a68e22ff3a0ebd593f363e9f22dd73fea
2023-01-03 17:48:39 +11:00
Darren Tucker
b0b58222c7
Simply handling of SSH_CONNECTION PAM env var.
Prompted by bz#3508: there's no need to cache the value of
sshpam_conninfo so remove the global.  While there, add check of
return value from pam_putenv.  ok djm@
2022-12-19 18:49:51 +11:00
Darren Tucker
ed8444572a
Add tests for LibreSSL 3.7.0 and OpenSSL 1.1.1s. 2022-12-19 18:42:34 +11:00
Darren Tucker
abb9a8aadd
Use sudo when resetting perms on directories. 2022-12-18 21:36:25 +11:00
Darren Tucker
2f5664c590
Set group perms on regress dir.
This ensures that the tests don't fail due to StrictMode checks.
2022-12-18 21:19:33 +11:00
Darren Tucker
137196300f
Fetch regress logs from obj dir. 2022-12-18 21:13:42 +11:00
Darren Tucker
5f93c48365
obsdsnap test VMs runs-on libvirt too. 2022-12-13 20:59:54 +11:00
Darren Tucker
8386886fb1
Run upstream obsdsnap tests on ephemeral runners. 2022-12-13 20:55:37 +11:00
Darren Tucker
b6e01459b5
Move obsdsnap test VMs to ephemeral runners. 2022-12-13 20:48:56 +11:00
Damien Miller
ea6fdf9a1a
use calloc for allocating arc4random structs
ok dtucker
2022-12-09 18:00:50 +11:00
dtucker@openbsd.org
4403b62f55
upstream: Warn if no host keys for hostbased auth can be loaded.
OpenBSD-Commit-ID: 2a0a13132000cf8d3593133c1b49768aa3c95977
2022-12-09 11:36:35 +11:00
dtucker@openbsd.org
a6183e25e3
upstream: Add server debugging for hostbased auth.
auth_debug_add queues messages about the auth process which is sent to
the client after successful authentication.  This also sends those to
the server debug log to aid in debugging.  From bz#3507, ok djm@

OpenBSD-Commit-ID: 46ff67518cccf9caf47e06393e2a121ee5aa258a
2022-12-09 11:36:27 +11:00
cheloha@openbsd.org
b85c3581c1
upstream: remove '?' from getopt(3) loops
userspace: remove vestigial '?' cases from top-level getopt(3) loops

getopt(3) returns '?' when it encounters a flag not present in the in
the optstring or if a flag is missing its option argument.  We can
handle this case with the "default" failure case with no loss of
legibility.  Hence, remove all the redundant "case '?':" lines.

Prompted by dlg@.  With help from dlg@ and millert@.

Link: https://marc.info/?l=openbsd-tech&m=167011979726449&w=2

ok naddy@ millert@ dlg@

OpenBSD-Commit-ID: b2f89346538ce4f5b33ab8011a23e0626a67e66e
2022-12-09 11:36:12 +11:00
dtucker@openbsd.org
9a067e8d28
upstream: Fix comment typo.
OpenBSD-Regress-ID: 3b04faced6511bb5e74648c6a4ef4bf2c4decf03
2022-12-09 11:24:14 +11:00
Darren Tucker
ce3c3e78ce
Add SANDBOX_DEBUG to the kitchensink test build. 2022-12-07 18:58:25 +11:00
Damien Miller
bc234605fa
disable SANDBOX_SECCOMP_FILTER_DEBUG
It was mistakenly enabled in 2580916e48

Reported by Peter sec-openssh-com.22.fichtner AT 0sg.net
2022-12-07 18:38:25 +11:00
Rose
b087c5cfa0
Update autotools
Regenerate config files using latest autotools
2022-12-06 12:23:08 +11:00
Darren Tucker
d63f549497
Fix typo in comment. Spotted by tim@ 2022-12-06 12:22:36 +11:00
dtucker@openbsd.org
73dcca1211
upstream: Remove duplicate includes.
Patch from AtariDreams via github PR#364.

OpenBSD-Commit-ID: b9186638a05cb8b56ef7c0de521922b6723644ea
2022-12-04 22:40:04 +11:00
djm@openbsd.org
3cec155430
upstream: make struct sshbuf private
and remove an unused field; ok dtucker

OpenBSD-Commit-ID: c7a3d77c0b8c153d463398606a8d57569186a0c3
2022-12-04 22:39:42 +11:00
Darren Tucker
5796bf8ca9
Restore ssh-agent permissions on exit.
...enough that subsequent builds can overwrite ssh-agent if necessary.
2022-12-02 11:55:08 +11:00
dtucker@openbsd.org
ccf5a13868
upstream: Clean up ssh-add and ssh-agent logs.
OpenBSD-Regress-ID: 9eda8e4c3714d7f943ab2e73ed58a233bd29cd2c
2022-12-02 11:51:18 +11:00
dtucker@openbsd.org
7a8b40cf6a
upstream: Log output of ssh-agent and ssh-add
This should  make debugging easier.

OpenBSD-Regress-ID: 5974b02651f428d7e1079b41304c498ca7e306c8
2022-12-02 11:51:02 +11:00
dtucker@openbsd.org
4a1805d532
upstream: Add void to client_repledge args to fix compiler warning. ok djm@
OpenBSD-Commit-ID: 7e964a641ce4a0a0a11f047953b29929d7a4b866
2022-11-30 12:16:14 +11:00
djm@openbsd.org
815c470493
upstream: tighten pledge(2) after session establishment
feedback, ok & testing in snaps deraadt@

OpenBSD-Commit-ID: aecf4d49d28586dfbcc74328d9333398fef9eb58
2022-11-30 12:16:10 +11:00
djm@openbsd.org
f7cebbbf40
upstream: 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

OpenBSD-Commit-ID: 7e277595d60acb8263118dcb66554472257b387a
2022-11-30 12:16:08 +11:00
mbuhl@openbsd.org
d323f7ecf5
upstream: In channel_request_remote_forwarding the parameters for
permission_set_add are leaked as they are also duplicated in the call. Found
by CodeChecker. ok djm

OpenBSD-Commit-ID: 4aef50fa9be7c0b138188814c8fe3dccc196f61e
2022-11-30 12:13:55 +11:00
Darren Tucker
62cc33e6ee
Use -fzero-call-used-regs=used on clang 15.
clang 15 seems to have a problem with -fzero-call-used-reg=all which
causes spurious "incorrect signature" failures with ED25519.  On those
versions, use -fzero-call-used-regs=used instead.  (We may add exceptions
later if specific versions prove to be OK).  Also move the GCC version
check to match.

Initial investigation by Daniel Pouzzner (douzzer at mega nu), workaround
suggested by Bill Wendling (morbo at google com).  bz#3475, ok djm@
2022-11-30 11:45:07 +11:00
Darren Tucker
f84b9cffd5
Skip unit tests on slow riscv64 hardware. 2022-11-28 22:39:25 +11:00
Darren Tucker
9f2747e0be
Rework how selfhosted tests interact with runners.
Previously there was one runner per test target (mostly VMs).  This had
a few limitations:
 - multiple tests that ran on the same target (eg multiple build
   configs) were serialized on availability or that runner.
 - it needed manual balancing of VMs over host machines.

To address this, make VMs that use ephemeral disks (ie most of them)
all use a pool of runners with the "libvirt" label.  This requires that
we distinguish between "host" and "target" for those.  Native runners
and VMs with persistent disks (eg the constantly-updated snapshot ones)
specify the same host and target.

This should improve test throughput.
2022-11-28 22:39:08 +11:00
Darren Tucker
d664ddaec8
Run vmstartup from temp dir.
This will allow us to create ephemeral disk images per-runner.
2022-11-27 12:19:37 +11:00