blob: ffa5a1aed5056f556ff08e23fd6caf0ef01dd849 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# $Id: PKGBUILD 291134 2017-03-20 21:48:15Z bisson $
# Maintainer (Arch): Gaetan Bisson <bisson@archlinux.org>
# Contributor (Arch): Aaron Griffin <aaron@archlinux.org>
# Contributor (Arch): judd <jvinet@zeroflux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: Julian Kirsch <kirschju@sec.in.tum.de>
# Contributor: Benoît <benoit@neviani.fr>
_pkgname=openssh
pkgname=openssh-knock
pkgver=7.5p1
_knockpatchver=7.5p1
pkgrel=3
pkgdesc='Free version of the SSH connectivity tools, with support for stealth TCP sockets'
url='https://www.openssh.com/portable.html'
license=('custom:BSD4')
arch=('i686' 'x86_64' 'armv7h')
conflicts=(${_pkgname})
provides=(${_pkgname})
makedepends=('linux-libre-headers')
depends=('krb5' 'openssl' 'libedit' 'ldns')
optdepends=('xorg-xauth: X11 forwarding'
'x11-ssh-askpass: input passphrase in X')
validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30'
'C92BAA713B8D53D3CAE63FC9E6974752F9704456')
source=("https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${_pkgname}-${pkgver}.tar.gz"{,.asc}
#"http://gnunet.org/sites/default/files/${_pkgname}-linux-knock-patch_0.diff"
"https://repo.parabola.nu/other/knock/patches/openssh/${_pkgname}-${_knockpatchver}-linux-knock-patch.diff"{,.sig}
'openssl-1.1.0.patch'
'sshdgenkeys.service'
'sshd@.service'
'sshd.service'
'sshd.socket'
'sshd.conf'
'sshd.pam')
sha256sums=('9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0'
'SKIP'
'3d74bb413309e2254620628073bb23a918a8f3189705fbfd68feaa7cf3b212b8'
'SKIP'
'b895b5f8e9f7d3a60286bf0a5b313d0b2ae2891ee1358e4862f1a0f1ad0ddc7d'
'4031577db6416fcbaacf8a26a024ecd3939e5c10fe6a86ee3f0eea5093d533b7'
'69cc2abaaae0aa8071b8eac338b2df725f60ce73381843179b74eaac78ba7f1d'
'c5ed9fa629f8f8dbf3bae4edbad4441c36df535088553fe82695c52d7bde30aa'
'de14363e9d4ed92848e524036d9e6b57b2d35cc77d377b7247c38111d2a3defd'
'4effac1186cc62617f44385415103021f72f674f8b8e26447fc1139c670090f6'
'64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846')
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
patch -Np1 -i ../${_pkgname}-${_knockpatchver}-linux-knock-patch.diff
# OpenSSL 1.1.0 patch from http://vega.pgw.jp/~kabe/vsd/patch/openssh-7.4p1-openssl-1.1.0c.patch.html
patch -Np1 -i ../openssl-1.1.0.patch
}
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
export CFLAGS="$CFLAGS -DTCP_STEALTH=25"
./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-md5-passwords \
--with-pid-dir=/run \
make
}
check() {
cd "${srcdir}/${_pkgname}-${pkgver}"
# Tests require openssh to be already installed system-wide,
# also connectivity tests will fail under makechrootpkg since
# it runs as nobody which has /bin/false as login shell.
if [[ -e /usr/bin/scp && ! -e /.arch-chroot ]]; then
make tests
fi
}
package() {
cd "${srcdir}/${_pkgname}-${pkgver}"
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.conf "${pkgdir}"/usr/lib/tmpfiles.d/sshd.conf
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
}
|