aboutsummaryrefslogtreecommitdiff
path: root/network/DenyHosts
diff options
context:
space:
mode:
Diffstat (limited to 'network/DenyHosts')
-rw-r--r--network/DenyHosts/DenyHosts.SlackBuild81
-rw-r--r--network/DenyHosts/DenyHosts.info14
-rw-r--r--network/DenyHosts/README23
-rw-r--r--network/DenyHosts/slack-desc6
4 files changed, 102 insertions, 22 deletions
diff --git a/network/DenyHosts/DenyHosts.SlackBuild b/network/DenyHosts/DenyHosts.SlackBuild
index 279b7c1731f06..4d7f9dceb4d1e 100644
--- a/network/DenyHosts/DenyHosts.SlackBuild
+++ b/network/DenyHosts/DenyHosts.SlackBuild
@@ -1,12 +1,43 @@
#!/bin/sh
# Slackware build script for denyhosts
-# Written by chopp (nix4me@gmail.com)
+# originally Written by chopp (nix4me@gmail.com)
# Some portions, methods and/or ideas obtained from:
# http://slackbuilds.org/python-template.SlackBuild
-
+#
+# rewritten (updates) Copyright 2019 Tim Dickson
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Update History:
+# 2019/05/21 Updated to support version 3.1
+# including patches so it works with Slackware. Since being
+# forked from v2.6 the project name changed to denyhost on sourceforge
+# (used for source downloads)
+# and is homed on github https://github.com/denyhosts/denyhosts
+# but programs still have the same name. default config file
+# has moved to /etc and changed from denyhosts.cfg to denyhosts.conf
+# programs have moved to /usr/sbin. Also iptables support
+# has been added.
PRGNAM=DenyHosts
-VERSION=${VERSION:-2.6}
+LCPRGNAM=denyhosts
+VERSION=${VERSION:-3.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -42,25 +73,57 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $LCPRGNAM
+tar xvf $CWD/$LCPRGNAM-$VERSION.tar.gz
+cd $LCPRGNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-
+#patch setup so man files go to correct place for slackware
+sed -i "s/\/usr\/share\/man/\/usr\/man/g" setup.py
+#patch version missmatch
+sed -i "s/3.0/3.1/g" $PRGNAM/version.py
python setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-for docfile in CHANGELOG.txt LICENSE.txt README.txt ; do
- ln -s /usr/share/denyhosts/$docfile $PKG/usr/doc/$PRGNAM-$VERSION/ ;
+for docfile in CHANGELOG.txt LICENSE.txt README.md ; do
+ cp $TMP/$LCPRGNAM/$docfile $PKG/usr/doc/$PRGNAM-$VERSION/
done
+#patch example configs to include and default to slackware compatible
+#first the log file
+DISTDIR=$PKG/usr/sbin
+mkdir -p $DISTDIR
+mkdir -p $PKG/etc/rc.d
+DISTCFG=$PKG/etc/denyhosts.conf
+sed -i "s/ or Gentoo:/,Slackware or Gentoo:/g" $DISTCFG
+sed -i "s/^SECURE_LOG/#SECURE_LOG/g" $DISTCFG
+sed -i "/\/var\/log\/messages/s/^#//" $DISTCFG
+#sed -i "s/^LOCK_FILE/#LOCK_FILE/g" $DISTCFG
+sed -i "s/Debian or/Debian,Slackware or/g" $DISTCFG
+#sed -i "/\/run\/denyhosts.pid/s/^#//" $DISTCFG
+sed -i "/^DAEMON_SLEEP/s/30s/4s/" $DISTCFG
+DISTCTRL=$DISTDIR/daemon-control-dist
+#patch bug where executables are put in wrong place.
+mv $PKG/usr/bin/daemon-control-dist $DISTDIR/
+mv $PKG/usr/bin/$LCPRGNAM.py $DISTDIR/
+rm -rf $PKG/usr/bin
+sed -i "s/\/sbin\/denyhosts/\/sbin\/denyhosts.py/g" $DISTCTRL
+sed -i "s/\/run\/denyhosts.pid/\/var\/run\/denyhosts.pid/g" $DISTCTRL
+#we may as well make a working config active as locations have all
+#been moved since previous availbale versions on sbo.
+cp $DISTDIR/daemon-control-dist $DISTDIR/daemon-control
+#handle man page
+cd $PKG/usr/man/man8
+gzip $LCPRGNAM.8
+cat $CWD/rc.denyhosts > $PKG/etc/rc.d/rc.denyhosts
+#the user will need to add a call to rc.denyhosts in rc.inet2 in order
+#for denyhosts to run at startup, ideally just after ssh is started
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/network/DenyHosts/DenyHosts.info b/network/DenyHosts/DenyHosts.info
index 20c69623e7646..6e7ec0283d568 100644
--- a/network/DenyHosts/DenyHosts.info
+++ b/network/DenyHosts/DenyHosts.info
@@ -1,10 +1,10 @@
PRGNAM="DenyHosts"
-VERSION="2.6"
-HOMEPAGE="http://denyhosts.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz"
-MD5SUM="fc2365305a9402886a2b0173d1beb7df"
+VERSION="3.1"
+HOMEPAGE="https://github.com/denyhosts/denyhosts"
+DOWNLOAD="http://downloads.sourceforge.net/denyhost/denyhosts-3.1.tar.gz"
+MD5SUM="6f6947016ee7f6831237ef2f6edd5dd4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="chopp"
-EMAIL="nix4me@gmail.com"
+REQUIRES="ipaddr-py"
+MAINTAINER="Tim Dickson"
+EMAIL="dickson.tim@googlemail.com"
diff --git a/network/DenyHosts/README b/network/DenyHosts/README
index 823f2b3e16372..cec8931d9c7d0 100644
--- a/network/DenyHosts/README
+++ b/network/DenyHosts/README
@@ -1,4 +1,21 @@
DenyHosts is a python program that automatically blocks ssh attacks
-by adding entries to /etc/hosts.deny. DenyHosts will also inform
-Linux administrators about offending hosts, attacked users, and
-suspicious logins.
+by adding entries to /etc/hosts.deny. It will also block them via
+iptables. DenyHosts will also inform Linux administrators about
+offending hosts, attacked users, and suspicious logins.
+
+Note: the main config file is moved to /etc/denyhosts.conf for
+versions greater than 2.6
+Noote: ipaddr-py is a new dependency
+DenyHosts has been updated to work with python3 as well as 2, but
+will use whichever version is pointed to by /usr/bin/python
+
+to run at start-up, add
+
+# start Denyhosts
+if [ -x /etc/rc.d/rc.denyhosts ]; then
+ echo "Starting Denyhosts:"
+ /etc/rc.d/rc.denyhosts start
+fi
+
+to /etc/rc.d/rc.inet2 just after where sshd is run
+and make /etc/rc.d/rc.denyhosts executable.
diff --git a/network/DenyHosts/slack-desc b/network/DenyHosts/slack-desc
index fc3cae00dbfe3..297cd405a4296 100644
--- a/network/DenyHosts/slack-desc
+++ b/network/DenyHosts/slack-desc
@@ -9,9 +9,9 @@
DenyHosts: DenyHosts (script to help thwart SSH server attacks)
DenyHosts:
DenyHosts: DenyHosts is a python program that automatically blocks ssh attacks
-DenyHosts: by adding entries to /etc/hosts.deny. DenyHosts will also inform
-DenyHosts: Linux administrators about offending hosts, attacked users, and
-DenyHosts: suspicious logins.
+DenyHosts: by adding entries to /etc/hosts.deny and to iptables. DenyHosts
+DenyHosts: will also inform Linux administrators about offending hosts,
+DenyHosts: attacked users, and suspicious logins.
DenyHosts:
DenyHosts: Homepage: http://denyhosts.sourceforge.net/
DenyHosts: