diff options
Diffstat (limited to 'core/openssh')
-rw-r--r-- | core/openssh/PKGBUILD | 39 | ||||
-rwxr-xr-x | core/openssh/sshd | 2 | ||||
-rw-r--r-- | core/openssh/sshd.service | 19 | ||||
-rw-r--r-- | core/openssh/sshd.socket | 10 | ||||
-rw-r--r-- | core/openssh/sshdgenkeys.service | 18 | ||||
-rw-r--r-- | core/openssh/tmpfiles.d | 1 |
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 - |