mirror of
https://github.com/openwrt-xiaomi/xmir-patcher.git
synced 2026-09-22 22:57:55 +03:00
ssh: Cleanup permanent ssh patch
This commit is contained in:
+18
-11
@@ -2,14 +2,8 @@
|
||||
|
||||
DIR_PATCH=/etc/crontabs/patches
|
||||
|
||||
if [ "$( grep 'ssh_patch.sh' /etc/crontabs/root )" != "" ]; then
|
||||
if [ -e "/tmp/ssh_uninstall.sh" ]; then
|
||||
sh /tmp/ssh_uninstall.sh
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d $DIR_PATCH ]; then
|
||||
mkdir $DIR_PATCH
|
||||
mkdir -p $DIR_PATCH
|
||||
chown root $DIR_PATCH
|
||||
chmod 0755 $DIR_PATCH
|
||||
fi
|
||||
@@ -20,7 +14,20 @@ chmod +x $DIR_PATCH/ssh_patch.sh
|
||||
nvram set ssh_en=1
|
||||
nvram commit
|
||||
|
||||
grep -v "/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new
|
||||
echo "*/1 * * * * /etc/crontabs/patches/ssh_patch.sh >/dev/null 2>&1" >> /etc/crontabs/root.new
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
INSTALL_METHOD=2
|
||||
|
||||
if [ $INSTALL_METHOD = 1 ]; then
|
||||
FILE_FOR_EDIT=/etc/crontabs/root
|
||||
grep -v "/ssh_patch.sh" $FILE_FOR_EDIT > $FILE_FOR_EDIT.new
|
||||
echo "*/1 * * * * /etc/crontabs/patches/ssh_patch.sh >/dev/null 2>&1" >> $FILE_FOR_EDIT.new
|
||||
mv $FILE_FOR_EDIT.new $FILE_FOR_EDIT
|
||||
/etc/init.d/cron restart
|
||||
fi
|
||||
|
||||
if [ $INSTALL_METHOD = 2 ]; then
|
||||
uci set firewall.auto_ssh_patch=include
|
||||
uci set firewall.auto_ssh_patch.type='script'
|
||||
uci set firewall.auto_ssh_patch.path="$DIR_PATCH/ssh_patch.sh"
|
||||
uci set firewall.auto_ssh_patch.enabled='1'
|
||||
uci commit firewall
|
||||
fi
|
||||
|
||||
+7
-4
@@ -2,12 +2,15 @@
|
||||
|
||||
[ -e "/tmp/ssh_patch.log" ] && return 0
|
||||
|
||||
HAVE_PATCH=$( grep '= "release"' /etc/init.d/dropbear )
|
||||
if [ -z "$HAVE_PATCH" ]; then
|
||||
return 0
|
||||
SSH_EN=`nvram get ssh_en`
|
||||
if [ "$SSH_EN" != "1" ]; then
|
||||
nvram set ssh_en=1
|
||||
nvram commit
|
||||
fi
|
||||
|
||||
sed -i 's/= "release"/= "XXXXXX"/g' /etc/init.d/dropbear
|
||||
if grep -q '= "release"' /etc/init.d/dropbear ; then
|
||||
sed -i 's/= "release"/= "XXXXXX"/g' /etc/init.d/dropbear
|
||||
fi
|
||||
|
||||
/etc/init.d/dropbear enable
|
||||
/etc/init.d/dropbear restart
|
||||
|
||||
+11
-4
@@ -1,9 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
grep -v "/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
DIR_PATCH=/etc/crontabs/patches
|
||||
|
||||
rm -f /etc/crontabs/patches/ssh_patch.sh
|
||||
if grep -q '/ssh_patch.sh' /etc/crontabs/root ; then
|
||||
# remove older version of patch
|
||||
grep -v "/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
fi
|
||||
uci delete firewall.auto_ssh_patch
|
||||
uci commit firewall
|
||||
|
||||
rm -f $DIR_PATCH/ssh_patch.sh
|
||||
rm -f /tmp/ssh_patch.log
|
||||
|
||||
|
||||
Reference in New Issue
Block a user