Skip to content

Commit 7a5ffb6

Browse files
committed
first pass as merging 9.6
2 parents 8241b9c + 134f702 commit 7a5ffb6

File tree

125 files changed

+13439
-997
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+13439
-997
lines changed

.depend

Lines changed: 20 additions & 11 deletions
Large diffs are not rendered by default.

.github/FUNDING.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# These are supported funding model platforms
2+
3+
github: [rapier1] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/configs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ case "$config" in
182182
LIBCRYPTOFLAGS="--without-openssl"
183183
TEST_TARGET=t-exec
184184
;;
185-
valgrind-[1-5]|valgrind-unit)
185+
valgrind-[1-7]|valgrind-unit)
186186
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
187187
CONFIGFLAGS="--without-sandbox --without-hardening"
188188
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
@@ -193,17 +193,19 @@ case "$config" in
193193
# won't reliably pass, and the unit tests run longer than allowed
194194
# by github so split into separate tests.
195195
tests2="integrity try-ciphers"
196-
tests3="krl forward-control sshsig agent-restrict kextype sftp"
197-
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
196+
tests3="krl forward-control sshsig"
197+
tests4="cert-userkey cert-hostkey"
198198
tests5="rekey"
199+
tests6="agent-restrict kextype sftp"
200+
tests7="kextype sftp-perm keygen-comment percent"
199201
case "$config" in
200202
valgrind-1)
201203
# All tests except agent-timeout (which is flaky under valgrind),
202204
# connection-timeout (which doesn't work since it's so slow)
203205
# and hostbased (since valgrind won't let ssh exec keysign).
204206
# Slow ones are run separately to increase parallelism.
205207
SKIP_LTESTS="agent-timeout connection-timeout hostbased"
206-
SKIP_LTESTS="$SKIP_LTESTS ${tests2} ${tests3} ${tests4} ${tests5}"
208+
SKIP_LTESTS="$SKIP_LTESTS ${tests2} ${tests3} ${tests4} ${tests5} ${tests6} ${tests7}"
207209
;;
208210
valgrind-2)
209211
LTESTS="${tests2}"
@@ -217,6 +219,12 @@ case "$config" in
217219
valgrind-5)
218220
LTESTS="${tests5}"
219221
;;
222+
valgrind-6)
223+
LTESTS="${tests6}"
224+
;;
225+
valgrind-7)
226+
LTESTS="${tests7}"
227+
;;
220228
valgrind-unit)
221229
TEST_TARGET="unit USE_VALGRIND=1"
222230
;;

.github/configure.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ if [ "x$LDFLAGS" != "x" ]; then
1717
printf "LDFLAGS='$LDFLAGS' "
1818
fi
1919

20-
echo ./configure ${CONFIGFLAGS}
21-
./configure ${CONFIGFLAGS} 2>&1
20+
echo ./configure ${CONFIGFLAGS} --with-privsep-user=sshd
21+
./configure ${CONFIGFLAGS} --with-privsep-user=sshd

.github/run_test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ set -ex
88

99
# If we want to test hostbased auth, set up the host for it.
1010
if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then
11-
sshconf=/usr/local/etc
11+
sshconf=/usr/local/etc/hpnssh
12+
$SUDO mkdir -p $sshconf
1213
hostname | $SUDO tee $sshconf/shosts.equiv >/dev/null
1314
echo "EnableSSHKeysign yes" | $SUDO tee $sshconf/ssh_config >/dev/null
14-
$SUDO mkdir -p $sshconf
1515
$SUDO cp -p /etc/ssh/ssh_host*key* $sshconf
1616
$SUDO make install
1717
for key in $sshconf/ssh_host*key*.pub; do

.github/setup_ci.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ esac
2727
TARGETS=$@
2828

2929
INSTALL_FIDO_PPA="no"
30+
#COPY_PAM_MODULE="no"
3031
export DEBIAN_FRONTEND=noninteractive
3132

3233
set -e
@@ -159,6 +160,14 @@ if [ "yes" = "$INSTALL_FIDO_PPA" ]; then
159160
sudo apt-add-repository -y ppa:yubico/stable
160161
fi
161162

163+
#need to copy the pam modules for sshd to hpnsshd on
164+
#macos with pam.
165+
#if [ "yes" = "$COPY_PAM_MODULE" ]; then
166+
# if [ `uname` = "Darwin" }; then
167+
# sudo cp /etc/pam.d/sshd /etc/pam.d/hpnsshd
168+
# fi
169+
#fi
170+
162171
tries=3
163172
while [ ! -z "$PACKAGES" ] && [ "$tries" -gt "0" ]; do
164173
case "$PACKAGER" in

.github/workflows/c-cpp.yml

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ name: C/C++ CI
22

33
on:
44
push:
5+
branches: [ master, pre-stage, '*RC*', dev_major, dev_minor ]
56
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ]
67
pull_request:
8+
branches: [ master ]
79
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ]
810

911
jobs:
@@ -19,31 +21,23 @@ jobs:
1921
- macos-11
2022
- macos-12
2123
- macos-13
22-
- windows-2019
23-
- windows-2022
2424
config: [default]
2525
# Then we include any extra configs we want to test for specific VMs.
26-
# Valgrind slows things down quite a bit, so start them first.
2726
include:
28-
- { target: windows-2019, config: cygwin-release }
29-
- { target: windows-2022, config: cygwin-release }
3027
- { target: ubuntu-20.04, config: valgrind-1 }
3128
- { target: ubuntu-20.04, config: valgrind-2 }
3229
- { target: ubuntu-20.04, config: valgrind-3 }
3330
- { target: ubuntu-20.04, config: valgrind-4 }
34-
- { target: ubuntu-20.04, config: valgrind-5 }
35-
- { target: ubuntu-20.04, config: valgrind-unit }
31+
# - { target: ubuntu-20.04, config: valgrind-5 }
32+
- { target: ubuntu-20.04, config: valgrind-6 }
33+
- { target: ubuntu-20.04, config: valgrind-7 }
3634
- { target: ubuntu-20.04, config: c89 }
3735
- { target: ubuntu-20.04, config: clang-6.0 }
3836
- { target: ubuntu-20.04, config: clang-8 }
3937
- { target: ubuntu-20.04, config: clang-9 }
4038
- { target: ubuntu-20.04, config: clang-10 }
4139
- { target: ubuntu-20.04, config: clang-11 }
4240
- { target: ubuntu-20.04, config: clang-12-Werror }
43-
- { target: ubuntu-20.04, config: clang-sanitize-address }
44-
- { target: ubuntu-20.04, config: clang-sanitize-undefined }
45-
- { target: ubuntu-20.04, config: gcc-sanitize-address }
46-
- { target: ubuntu-20.04, config: gcc-sanitize-undefined }
4741
- { target: ubuntu-20.04, config: gcc-7 }
4842
- { target: ubuntu-20.04, config: gcc-8 }
4943
- { target: ubuntu-20.04, config: gcc-10 }
@@ -53,14 +47,9 @@ jobs:
5347
- { target: ubuntu-20.04, config: kitchensink }
5448
- { target: ubuntu-22.04, config: hardenedmalloc }
5549
- { target: ubuntu-20.04, config: tcmalloc }
56-
- { target: ubuntu-20.04, config: musl }
57-
- { target: ubuntu-latest, config: boringssl }
50+
# musl doesn't work because it doesn't know about linux/tcp.h
51+
# - { target: ubuntu-20.04, config: musl }
5852
- { target: ubuntu-latest, config: libressl-master }
59-
- { target: ubuntu-latest, config: libressl-3.2.6 }
60-
- { target: ubuntu-latest, config: libressl-3.3.6 }
61-
- { target: ubuntu-latest, config: libressl-3.4.3 }
62-
- { target: ubuntu-latest, config: libressl-3.5.3 }
63-
- { target: ubuntu-latest, config: libressl-3.6.1 }
6453
- { target: ubuntu-latest, config: libressl-3.7.2 }
6554
- { target: ubuntu-latest, config: libressl-3.8.2 }
6655
- { target: ubuntu-latest, config: openssl-master }
@@ -85,17 +74,17 @@ jobs:
8574
- { target: ubuntu-22.04, config: selinux }
8675
- { target: ubuntu-22.04, config: kitchensink }
8776
- { target: ubuntu-22.04, config: without-openssl }
88-
- { target: macos-11, config: pam }
89-
- { target: macos-12, config: pam }
90-
- { target: macos-13, config: pam }
77+
- { target: ubuntu-22.04, config: clang-sanitize-address }
78+
- { target: ubuntu-22.04, config: clang-sanitize-undefined }
79+
- { target: ubuntu-22.04, config: gcc-sanitize-address }
80+
- { target: ubuntu-22.04, config: gcc-sanitize-undefined }
81+
# we know pam doesn't work because we can't install a new pam file
82+
# for hpnssh via the CI test methods
83+
# - { target: macos-11, config: pam }
84+
# - { target: macos-12, config: pam }
85+
# - { target: macos-13, config: pam }
9186
runs-on: ${{ matrix.target }}
9287
steps:
93-
- name: set cygwin git params
94-
if: ${{ startsWith(matrix.target, 'windows') }}
95-
run: git config --global core.autocrlf input
96-
- name: install cygwin
97-
if: ${{ startsWith(matrix.target, 'windows') }}
98-
uses: cygwin/cygwin-install-action@master
9988
- uses: actions/checkout@main
10089
- name: setup CI system
10190
run: sh ./.github/setup_ci.sh ${{ matrix.config }}

.github/workflows/cifuzz.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
name: CIFuzz
22
on:
33
push:
4+
branches: [master, pre-stage]
45
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ]
56
pull_request:
67
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ]
78

89
jobs:
910
Fuzzing:
10-
if: github.repository != 'openssh/openssh-portable-selfhosted'
11+
if: github.repository != 'rapier1/openssh-portable-selfhosted'
1112
runs-on: ubuntu-latest
1213
steps:
1314
- name: Build Fuzzers
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: github-repo-stats
2+
3+
on:
4+
schedule:
5+
# Run this once per day, towards the end of the day for keeping the most
6+
# recent data point most meaningful (hours are interpreted in UTC).
7+
- cron: "0 23 * * *"
8+
workflow_dispatch: # Allow for running this manually.
9+
10+
jobs:
11+
j1:
12+
name: github-repo-stats
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: run-ghrs
16+
# Use latest release.
17+
uses: jgehrcke/github-repo-stats@RELEASE
18+
with:
19+
ghtoken: ${{ secrets.ghrs_github_api_token }}

.github/workflows/upstream.yml

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)