2017-03-23 17:15:17 +01:00
|
|
|
TERMUX_PKG_HOMEPAGE=https://www.openssh.com/
|
2015-06-13 01:03:31 +02:00
|
|
|
TERMUX_PKG_DESCRIPTION="Secure shell for logging into a remote machine"
|
2019-01-21 13:53:58 +01:00
|
|
|
TERMUX_PKG_LICENSE="BSD"
|
2019-04-18 09:02:44 +02:00
|
|
|
TERMUX_PKG_VERSION=8.0p1
|
2019-08-22 21:38:35 +02:00
|
|
|
TERMUX_PKG_REVISION=4
|
2019-04-18 09:02:44 +02:00
|
|
|
TERMUX_PKG_SHA256=bd943879e69498e8031eb6b7f44d08cdc37d59a7ab689aa0b437320c3481fd68
|
2017-10-05 08:32:07 +02:00
|
|
|
TERMUX_PKG_SRCURL=https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${TERMUX_PKG_VERSION}.tar.gz
|
2019-04-14 14:51:46 +02:00
|
|
|
TERMUX_PKG_DEPENDS="libandroid-support, ldns, openssl, libedit, termux-auth, krb5, zlib"
|
2018-04-23 01:37:15 +02:00
|
|
|
TERMUX_PKG_CONFLICTS="dropbear"
|
2015-06-13 01:03:31 +02:00
|
|
|
# --disable-strip to prevent host "install" command to use "-s", which won't work for target binaries:
|
2017-03-23 17:15:17 +01:00
|
|
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
|
|
|
--disable-etc-default-login
|
|
|
|
--disable-lastlog
|
|
|
|
--disable-libutil
|
|
|
|
--disable-pututline
|
|
|
|
--disable-pututxline
|
|
|
|
--disable-strip
|
|
|
|
--disable-utmp
|
|
|
|
--disable-utmpx
|
|
|
|
--disable-wtmp
|
|
|
|
--disable-wtmpx
|
|
|
|
--sysconfdir=$TERMUX_PREFIX/etc/ssh
|
|
|
|
--with-cflags=-Dfd_mask=int
|
|
|
|
--with-ldns
|
2017-04-17 23:03:46 +02:00
|
|
|
--with-libedit
|
2017-09-20 20:34:36 +02:00
|
|
|
--with-mantype=man
|
2017-03-23 17:15:17 +01:00
|
|
|
--without-ssh1
|
|
|
|
--without-stackprotect
|
|
|
|
--with-pid-dir=$TERMUX_PREFIX/var/run
|
|
|
|
--with-privsep-path=$TERMUX_PREFIX/var/empty
|
2017-09-14 15:35:29 +02:00
|
|
|
--with-xauth=$TERMUX_PREFIX/bin/xauth
|
2018-09-20 21:04:46 +02:00
|
|
|
--with-kerberos5
|
2017-03-23 17:15:17 +01:00
|
|
|
ac_cv_func_endgrent=yes
|
|
|
|
ac_cv_func_fmt_scaled=no
|
|
|
|
ac_cv_func_getlastlogxbyname=no
|
|
|
|
ac_cv_func_readpassphrase=no
|
|
|
|
ac_cv_func_strnvis=no
|
|
|
|
ac_cv_header_sys_un_h=yes
|
|
|
|
ac_cv_search_getrrsetbyname=no
|
2018-04-04 00:09:47 +02:00
|
|
|
ac_cv_func_bzero=yes
|
2017-03-23 17:15:17 +01:00
|
|
|
"
|
2015-06-13 01:03:31 +02:00
|
|
|
TERMUX_PKG_MAKE_INSTALL_TARGET="install-nokeys"
|
|
|
|
TERMUX_PKG_RM_AFTER_INSTALL="bin/slogin share/man/man1/slogin.1"
|
2019-08-21 21:42:14 +02:00
|
|
|
TERMUX_PKG_CONFFILES="etc/ssh/ssh_config etc/ssh/sshd_config var/service/sshd/run var/service/sshd/log/run"
|
2015-06-13 01:03:31 +02:00
|
|
|
|
2016-09-04 00:45:08 +02:00
|
|
|
termux_step_pre_configure() {
|
2019-08-08 14:25:54 +02:00
|
|
|
# Certain packages are not safe to build on device because their
|
|
|
|
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
2019-08-12 17:28:41 +02:00
|
|
|
if $TERMUX_ON_DEVICE_BUILD; then
|
2019-08-08 14:25:54 +02:00
|
|
|
termux_error_exit "Package '$TERMUX_PKG_NAME' is not safe for on-device builds."
|
|
|
|
fi
|
|
|
|
|
2017-03-23 17:15:17 +01:00
|
|
|
autoreconf
|
|
|
|
|
2017-09-14 15:35:29 +02:00
|
|
|
## Configure script require this variable to set
|
|
|
|
## prefixed path to program 'passwd'
|
|
|
|
export PATH_PASSWD_PROG="${TERMUX_PREFIX}/bin/passwd"
|
|
|
|
|
2018-08-08 13:54:44 +02:00
|
|
|
CPPFLAGS+=" -DHAVE_ATTRIBUTE__SENTINEL__=1 -DBROKEN_SETRESGID"
|
2016-09-04 00:45:08 +02:00
|
|
|
LD=$CC # Needed to link the binaries
|
|
|
|
LDFLAGS+=" -llog" # liblog for android logging in syslog hack
|
|
|
|
}
|
2015-06-13 01:03:31 +02:00
|
|
|
|
2017-01-06 02:37:45 +01:00
|
|
|
termux_step_post_configure() {
|
2015-06-13 01:03:31 +02:00
|
|
|
# We need to remove this file before installing, since otherwise the
|
|
|
|
# install leaves it alone which means no updated timestamps.
|
|
|
|
rm -Rf $TERMUX_PREFIX/etc/moduli
|
|
|
|
}
|
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_post_make_install() {
|
2017-09-17 21:03:46 +02:00
|
|
|
# "PrintMotd no" is due to our login program already showing it.
|
2015-08-19 21:14:15 +02:00
|
|
|
# OpenSSH 7.0 disabled ssh-dss by default, keep it for a while in Termux:
|
2018-10-21 14:21:06 +02:00
|
|
|
echo -e "PrintMotd no\nPasswordAuthentication yes\nPubkeyAcceptedKeyTypes +ssh-dss\nSubsystem sftp $TERMUX_PREFIX/libexec/sftp-server" > $TERMUX_PREFIX/etc/ssh/sshd_config
|
2018-07-02 16:20:38 +02:00
|
|
|
printf "PubkeyAcceptedKeyTypes +ssh-dss\nSendEnv LANG\n" > $TERMUX_PREFIX/etc/ssh/ssh_config
|
2019-02-09 20:12:45 +01:00
|
|
|
install -Dm700 $TERMUX_PKG_BUILDER_DIR/source-ssh-agent.sh $TERMUX_PREFIX/bin/source-ssh-agent
|
|
|
|
install -Dm700 $TERMUX_PKG_BUILDER_DIR/ssh-with-agent.sh $TERMUX_PREFIX/bin/ssha
|
|
|
|
install -Dm700 $TERMUX_PKG_BUILDER_DIR/sftp-with-agent.sh $TERMUX_PREFIX/bin/sftpa
|
2015-06-13 01:03:31 +02:00
|
|
|
|
2015-11-10 23:10:16 +01:00
|
|
|
# Install ssh-copy-id:
|
|
|
|
cp $TERMUX_PKG_SRCDIR/contrib/ssh-copy-id.1 $TERMUX_PREFIX/share/man/man1/
|
|
|
|
cp $TERMUX_PKG_SRCDIR/contrib/ssh-copy-id $TERMUX_PREFIX/bin/
|
|
|
|
chmod +x $TERMUX_PREFIX/bin/ssh-copy-id
|
|
|
|
|
2015-06-13 01:03:31 +02:00
|
|
|
mkdir -p $TERMUX_PREFIX/var/run
|
|
|
|
echo "OpenSSH needs this folder to put sshd.pid in" >> $TERMUX_PREFIX/var/run/README.openssh
|
|
|
|
|
|
|
|
mkdir -p $TERMUX_PREFIX/etc/ssh/
|
|
|
|
cp $TERMUX_PKG_SRCDIR/moduli $TERMUX_PREFIX/etc/ssh/moduli
|
2019-03-06 01:19:40 +01:00
|
|
|
|
|
|
|
# Setup sshd services
|
|
|
|
mkdir -p $TERMUX_PREFIX/var/service
|
|
|
|
cd $TERMUX_PREFIX/var/service
|
|
|
|
mkdir -p sshd/log
|
|
|
|
echo '#!/bin/sh' > sshd/run
|
|
|
|
echo 'exec sshd -D -e 2>&1' >> sshd/run
|
|
|
|
chmod +x sshd/run
|
|
|
|
touch sshd/down
|
2019-08-17 21:15:51 +02:00
|
|
|
ln -sf $TERMUX_PREFIX/share/termux-services/svlogger sshd/log/run
|
2015-06-13 01:03:31 +02:00
|
|
|
}
|
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_post_massage() {
|
2017-09-20 01:49:50 +02:00
|
|
|
# Verify that we have man pages packaged (#1538).
|
|
|
|
local manpage
|
|
|
|
for manpage in ssh-keyscan.1 ssh-add.1 scp.1 ssh-agent.1 ssh.1; do
|
2019-01-29 09:25:09 +01:00
|
|
|
if [ ! -f share/man/man1/$manpage.gz ]; then
|
2017-09-20 01:49:50 +02:00
|
|
|
termux_error_exit "Missing man page $manpage"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_create_debscripts() {
|
2017-08-15 07:09:08 +02:00
|
|
|
echo "#!$TERMUX_PREFIX/bin/sh" > postinst
|
|
|
|
echo "mkdir -p \$HOME/.ssh" >> postinst
|
2017-05-24 21:06:23 +02:00
|
|
|
echo "touch \$HOME/.ssh/authorized_keys" >> postinst
|
|
|
|
echo "chmod 700 \$HOME/.ssh" >> postinst
|
|
|
|
echo "chmod 600 \$HOME/.ssh/authorized_keys" >> postinst
|
2015-06-13 01:03:31 +02:00
|
|
|
echo "" >> postinst
|
2019-02-12 09:23:21 +01:00
|
|
|
echo "for a in rsa dsa ecdsa ed25519; do" >> postinst
|
|
|
|
echo " KEYFILE=$TERMUX_PREFIX/etc/ssh/ssh_host_\${a}_key" >> postinst
|
|
|
|
echo " test ! -f \$KEYFILE && ssh-keygen -N '' -t \$a -f \$KEYFILE" >> postinst
|
|
|
|
echo "done" >> postinst
|
|
|
|
echo "exit 0" >> postinst
|
|
|
|
chmod 0755 postinst
|
2015-06-13 01:03:31 +02:00
|
|
|
}
|