summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Yantis2015-06-11 08:45:31 -0700
committerJonathan Yantis2015-06-11 08:45:31 -0700
commit6a2cd6a324db98a6ef1439b2133d1da35f902b91 (patch)
treee2c450893f969967acb5c179d8bdec772357e22c
downloadaur-6a2cd6a324db98a6ef1439b2133d1da35f902b91.tar.gz
Initial import
-rw-r--r--.SRCINFO42
-rw-r--r--PKGBUILD112
-rw-r--r--openssh-tests-scp.patch36
-rw-r--r--sshd.pam6
-rw-r--r--sshd.service17
-rw-r--r--sshd.socket10
-rw-r--r--sshd@.service8
-rw-r--r--sshdgenkeys.service17
8 files changed, 248 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..69995110c191
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,42 @@
+pkgbase = openssh-hpn-git
+ pkgdesc = A Secure SHell server/client with High Performance patch
+ pkgver = 6.8.P1.r14.g8f3991a
+ pkgrel = 2
+ url = http://www.psc.edu/networking/projects/hpn-ssh/
+ arch = i686
+ arch = x86_64
+ license = custom:BSD
+ checkdepends = gdb
+ makedepends = git
+ makedepends = linux-headers
+ makedepends = openbsd-netcat
+ depends = krb5
+ depends = openssl
+ depends = libedit
+ depends = ldns
+ optdepends = xorg-xauth: X11 forwarding
+ optdepends = x11-ssh-askpass: input passphrase in X
+ provides = openssh
+ provides = openssh-hpn
+ conflicts = openssh
+ conflicts = openssh-hpn
+ backup = etc/ssh/ssh_config
+ backup = etc/ssh/sshd_config
+ backup = etc/pam.d/sshd
+ source = git+https://github.com/rapier1/openssh-portable
+ source = http://www.eworm.de/download/linux/openssh-tests-scp.patch
+ source = sshdgenkeys.service
+ source = sshd@.service
+ source = sshd.service
+ source = sshd.socket
+ source = sshd.pam
+ sha256sums = SKIP
+ sha256sums = 007a8888855570296c36716df18e986b7265c283e8fc8f6dfd4b3c411905fdb3
+ sha256sums = ff3cbdd0e59ff7dac4dc797d5c0f2b1db4117ddbb49d52f1c4f1771961903878
+ sha256sums = 69cc2abaaae0aa8071b8eac338b2df725f60ce73381843179b74eaac78ba7f1d
+ sha256sums = c5ed9fa629f8f8dbf3bae4edbad4441c36df535088553fe82695c52d7bde30aa
+ sha256sums = de14363e9d4ed92848e524036d9e6b57b2d35cc77d377b7247c38111d2a3defd
+ sha256sums = 64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846
+
+pkgname = openssh-hpn-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fc7b3b45f82e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,112 @@
+# Maintainer: Jonathan Yantis <yantis@yantis.net>
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Caspar Verhey <caspar at verhey dot net>
+# Contributor: Seth Fulton <seth@sysfu.com>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: benetnash <benetnash@mail.icpnet.pl>
+# Contributor: Thomas Haider <t.haider@vcnc.org>
+
+# Note: The bulk of this PKGBUILD is based off:
+# https://aur.archlinux.org/packages/op/openssh-git/PKGBUILD
+# https://aur.archlinux.org/packages/op/openssh-hpn/PKGBUILD
+
+pkgname=openssh-hpn-git
+pkgver=6.8.P1.r14.g8f3991a
+pkgrel=2
+pkgdesc='A Secure SHell server/client with High Performance patch'
+url='http://www.psc.edu/networking/projects/hpn-ssh/'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+depends=('krb5' 'openssl' 'libedit' 'ldns')
+makedepends=('git' 'linux-headers' 'openbsd-netcat')
+optdepends=('xorg-xauth: X11 forwarding'
+ 'x11-ssh-askpass: input passphrase in X')
+checkdepends=('gdb')
+provides=('openssh'
+ 'openssh-hpn')
+conflicts=('openssh'
+ 'openssh-hpn')
+source=('git+https://github.com/rapier1/openssh-portable'
+ 'http://www.eworm.de/download/linux/openssh-tests-scp.patch'
+ 'sshdgenkeys.service'
+ 'sshd@.service'
+ 'sshd.service'
+ 'sshd.socket'
+ 'sshd.pam')
+backup=('etc/ssh/ssh_config'
+ 'etc/ssh/sshd_config'
+ 'etc/pam.d/sshd')
+
+sha256sums=('SKIP'
+ '007a8888855570296c36716df18e986b7265c283e8fc8f6dfd4b3c411905fdb3'
+ 'ff3cbdd0e59ff7dac4dc797d5c0f2b1db4117ddbb49d52f1c4f1771961903878'
+ '69cc2abaaae0aa8071b8eac338b2df725f60ce73381843179b74eaac78ba7f1d'
+ 'c5ed9fa629f8f8dbf3bae4edbad4441c36df535088553fe82695c52d7bde30aa'
+ 'de14363e9d4ed92848e524036d9e6b57b2d35cc77d377b7247c38111d2a3defd'
+ '64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846')
+
+pkgver() {
+ cd openssh-portable/
+
+ if GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)"; then
+ echo "$(sed -e "s/^${pkgname%%-git}//" -e 's/^[-_/a-zA-Z]\+//' -e 's/[-_+]/./g' <<< ${GITTAG}).r$(git rev-list --count ${GITTAG}..).g$(git log -1 --format="%h")"
+ else
+ echo "0.r$(git rev-list --count master).g$(git log -1 --format="%h")"
+ fi
+}
+
+build() {
+ cd openssh-portable/
+
+ # fix building if scp is not installed on host
+ if [ ! -x /usr/bin/scp ]; then
+ patch -Np1 < ${srcdir}/openssh-tests-scp.patch
+ fi
+ autoreconf -fi
+
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib/ssh \
+ --sysconfdir=/etc/ssh \
+ --with-ldns \
+ --with-libedit \
+ --with-ssl-engine \
+ --with-pam \
+ --with-privsep-user=nobody \
+ --with-kerberos5=/usr \
+ --with-xauth=/usr/bin/xauth \
+ --with-mantype=man \
+ --with-md5-passwords \
+ --with-pid-dir=/run \
+
+ make
+}
+
+package() {
+ cd openssh-portable/
+
+ make DESTDIR="${pkgdir}" install
+
+ ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
+ install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
+
+ install -Dm644 ../sshdgenkeys.service "${pkgdir}"/usr/lib/systemd/system/sshdgenkeys.service
+ install -Dm644 ../sshd@.service "${pkgdir}"/usr/lib/systemd/system/sshd@.service
+ install -Dm644 ../sshd.service "${pkgdir}"/usr/lib/systemd/system/sshd.service
+ install -Dm644 ../sshd.socket "${pkgdir}"/usr/lib/systemd/system/sshd.socket
+ install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
+
+ install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
+
+ sed \
+ -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \
+ -e '/^#PrintMotd yes$/c PrintMotd no # pam does that' \
+ -e '/^#UsePAM no$/c UsePAM yes' \
+ -i "${pkgdir}"/etc/ssh/sshd_config
+}
+
diff --git a/openssh-tests-scp.patch b/openssh-tests-scp.patch
new file mode 100644
index 000000000000..32c46285f500
--- /dev/null
+++ b/openssh-tests-scp.patch
@@ -0,0 +1,36 @@
+From 9fc57b8f4f3e4e88f7b130ecf75c1bee46b8e797 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <eworm@leda.eworm.de>
+Date: Wed, 29 Jan 2014 11:59:09 +0100
+Subject: [PATCH 1/1] fix tests if scp is not installed
+
+---
+ regress/multiplex.sh | 6 +++++-
+ 1 file changed, 5 insertion(+), 1 deletion(-)
+
+diff --git a/regress/multiplex.sh b/regress/multiplex.sh
+index 3e697e6..3b49b5b 100644
+--- a/regress/multiplex.sh
++++ b/regress/multiplex.sh
+@@ -12,6 +12,10 @@ fi
+
+ P=3301 # test port
+
++SRC=$(dirname ${SCRIPT})
++cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp
++chmod 755 ${OBJ}/scp-ssh-wrapper.scp
++
+ wait_for_mux_master_ready()
+ {
+ for i in 1 2 3 4 5; do
+@@ -66,7 +66,7 @@ cmp ${DATA} ${COPY} || fail "sftp: corrupted copy of ${DATA}"
+
+ rm -f ${COPY}
+ trace "scp transfer over multiplexed connection and check result"
+-${SCP} -S ${SSH} -F $OBJ/ssh_config -oControlPath=$CTL otherhost:${DATA} ${COPY} >>$TEST_REGRESS_LOGFILE 2>&1
++${SCP} -S ${OBJ}/scp-ssh-wrapper.scp -F $OBJ/ssh_config -oControlPath=$CTL otherhost:${DATA} ${COPY} >>$TEST_REGRESS_LOGFILE 2>&1
+ test -f ${COPY} || fail "scp: failed copy ${DATA}"
+ cmp ${DATA} ${COPY} || fail "scp: corrupted copy of ${DATA}"
+
+--
+1.8.5.3
+
diff --git a/sshd.pam b/sshd.pam
new file mode 100644
index 000000000000..7ecef084d07a
--- /dev/null
+++ b/sshd.pam
@@ -0,0 +1,6 @@
+#%PAM-1.0
+#auth required pam_securetty.so #disable remote root
+auth include system-remote-login
+account include system-remote-login
+password include system-remote-login
+session include system-remote-login
diff --git a/sshd.service b/sshd.service
new file mode 100644
index 000000000000..55ed95322da7
--- /dev/null
+++ b/sshd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=OpenSSH Daemon
+Wants=sshdgenkeys.service
+After=sshdgenkeys.service
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/sshd -D
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+
+# This service file runs an SSH daemon that forks for each incoming connection.
+# If you prefer to spawn on-demand daemons, use sshd.socket and sshd@.service.
diff --git a/sshd.socket b/sshd.socket
new file mode 100644
index 000000000000..e09e328690fd
--- /dev/null
+++ b/sshd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Conflicts=sshd.service
+Wants=sshdgenkeys.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/sshd@.service b/sshd@.service
new file mode 100644
index 000000000000..7ce3d37baa43
--- /dev/null
+++ b/sshd@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=OpenSSH Per-Connection Daemon
+After=sshdgenkeys.service
+
+[Service]
+ExecStart=-/usr/bin/sshd -i
+StandardInput=socket
+StandardError=syslog
diff --git a/sshdgenkeys.service b/sshdgenkeys.service
new file mode 100644
index 000000000000..d1e154692c5d
--- /dev/null
+++ b/sshdgenkeys.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=SSH Key Generation
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_key
+ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
+
+[Service]
+ExecStart=/usr/bin/ssh-keygen -A
+Type=oneshot
+RemainAfterExit=yes