summaryrefslogtreecommitdiff
path: root/core/openssh
diff options
context:
space:
mode:
Diffstat (limited to 'core/openssh')
-rw-r--r--core/openssh/PKGBUILD39
-rwxr-xr-xcore/openssh/sshd2
-rw-r--r--core/openssh/sshd.service19
-rw-r--r--core/openssh/sshd.socket10
-rw-r--r--core/openssh/sshdgenkeys.service18
-rw-r--r--core/openssh/tmpfiles.d1
6 files changed, 78 insertions, 11 deletions
diff --git a/core/openssh/PKGBUILD b/core/openssh/PKGBUILD
index 66fb4603c..02fef6c1f 100644
--- a/core/openssh/PKGBUILD
+++ b/core/openssh/PKGBUILD
@@ -1,27 +1,38 @@
-# $Id: PKGBUILD 157930 2012-04-30 06:17:08Z bisson $
+# $Id: PKGBUILD 162156 2012-06-22 12:56:57Z dreisner $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
pkgver=6.0p1
-pkgrel=2
+pkgrel=3
pkgdesc='Free version of the SSH connectivity tools'
url='http://www.openssh.org/portable.html'
license=('custom:BSD')
arch=('i686' 'x86_64')
depends=('krb5' 'openssl' 'libedit' 'ldns')
-optdepends=('x11-ssh-askpass: input passphrase in X without a terminal')
+optdepends=('xorg-xauth: X11 forwarding'
+ 'x11-ssh-askpass: input passphrase in X')
source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
'sshd.close-sessions'
+ 'sshdgenkeys.service'
+ 'sshd@.service'
+ 'sshd.service'
+ 'sshd.socket'
+ 'tmpfiles.d'
'sshd.confd'
'sshd.pam'
'sshd')
sha1sums=('f691e53ef83417031a2854b8b1b661c9c08e4422'
'954bf1660aa32620c37034320877f4511b767ccb'
+ '6c71de2c2ca9622aa8e863acd94b135555e11125'
+ 'bd6eae36c7ef9efb7147778baad7858b81f2d660'
+ '83a257b8f6a62237383262cb0e2583e5609ddac0'
+ 'a30fb5fda6d0143345bae47684edaffb8d0a92a7'
+ 'b5cf44205e8f4365c00bfbee110d7c0e563627aa'
'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
'659e3ee95c269014783ff8b318c6f50bf7496fbd'
- '21fa88de6cc1c7912e71655f50896ba17991a1c2')
+ 'ed36e3a522f619ff6b13e253526596e4cca11e9f')
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
@@ -41,6 +52,7 @@ build() {
--with-xauth=/usr/bin/xauth \
--with-mantype=man \
--with-md5-passwords \
+ --with-pid-dir=/run \
make
}
@@ -57,15 +69,22 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
- install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd
- install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
- install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
- install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
- install -Dm755 ../sshd.close-sessions "${pkgdir}/etc/rc.d/functions.d/sshd-close-sessions" # FS#17389
-
rm "${pkgdir}"/usr/share/man/man1/slogin.1
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 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/openssh.conf
+
+ install -Dm755 ../sshd.close-sessions "${pkgdir}/etc/rc.d/functions.d/sshd-close-sessions" # FS#17389
+ install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
+ install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
+ install -Dm755 ../sshd "${pkgdir}"/etc/rc.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
diff --git a/core/openssh/sshd b/core/openssh/sshd
index 1d68fb877..4bf4780f5 100755
--- a/core/openssh/sshd
+++ b/core/openssh/sshd
@@ -4,7 +4,7 @@
. /etc/rc.d/functions
. /etc/conf.d/sshd
-PIDFILE=/var/run/sshd.pid
+PIDFILE=/run/sshd.pid
PID=$(cat $PIDFILE 2>/dev/null)
if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then
PID=
diff --git a/core/openssh/sshd.service b/core/openssh/sshd.service
new file mode 100644
index 000000000..7c8f88372
--- /dev/null
+++ b/core/openssh/sshd.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=OpenSSH Daemon
+After=sshdgenkeys.service
+
+[Service]
+ExecStart=/usr/sbin/sshd -D
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+Also=sshdgenkeys.service
+
+# Note that this is the service file for running a single SSH server for all
+# incoming connections, suitable only for systems with a large amount of SSH
+# traffic. In almost all other cases it is a better idea to use sshd.socket +
+# sshd@.service (i.e. the on-demand spawning version for one instance per
+# connection).
diff --git a/core/openssh/sshd.socket b/core/openssh/sshd.socket
new file mode 100644
index 000000000..6a67bfe86
--- /dev/null
+++ b/core/openssh/sshd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Conflicts=sshd.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
+Also=sshdgenkeys.service
diff --git a/core/openssh/sshdgenkeys.service b/core/openssh/sshdgenkeys.service
new file mode 100644
index 000000000..47c1c3fd6
--- /dev/null
+++ b/core/openssh/sshdgenkeys.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=SSH Key Generation
+ConditionPathExists=|!/etc/ssh/ssh_host_key
+ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_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
+
+[Install]
+WantedBy=multi-user.target
diff --git a/core/openssh/tmpfiles.d b/core/openssh/tmpfiles.d
new file mode 100644
index 000000000..7c5b26100
--- /dev/null
+++ b/core/openssh/tmpfiles.d
@@ -0,0 +1 @@
+d /var/empty 0755 root root -