- all known old patches in the past integrated as the "reverse"s
Autodetect calling of "/root/status/message/hint" vs. "/root/status/result/hint"
- "/root/status/result/hint" present at least on kolar_ihc (194.213.51.34)
Log of all patching is diplayed before the final "success" message
[cs_CZ] enbrace je jiz nyni odolny vuci vicenasobne aplikaci
- vsechny zname starsi patche byly integrovany jako "reverze"
Autodetekce volani "/root/status/message/hint" vs. "/root/status/result/hint"
- "/root/status/result/hint" pouzit alespon na kolar_ihc (194.213.51.34)
Log vsech patchovani je zobrazen pred koncovou "success" zpravou
# $Id$
#
# cd;echo 'default login anonymous password short@' >~/.netrc;echo -e 'bi\nhash\npass\ncd pub/priv/short/enbrace\nget enbrace.bash\nquit'|ftp vellum.cz;/usr/local/bin/bash enbrace.bash
# $Id$
#
# cd;echo 'default login anonymous password short@' >~/.netrc;echo -e 'bi\nhash\npass\ncd pub/priv/short/enbrace\nget enbrace.bash\nquit'|ftp vellum.cz;/usr/local/bin/bash enbrace.bash
-#
-# Patch multi-application liable files:
-# [cs_CZ] Soubory citlive na vicenasobnou aplikaci patche:
-# /etc/rc.local
-# /root/.login
-# /etc/inetd.conf
-# /etc/crontab
+function dopatch
+{
+ cat >/root/enbrace/dopatch.diff
+ (
+ echo "### $*";shift
+ if [ -d "$1" ];then
+ cd "$1";shift
+ fi
+ rev="$1"
+ [ "$rev" = rev ] && shift
+ forw="$1"
+ [ "$forw" = forw ] && shift
+ set +e
+ [ "$forw" != forw ] && while patch -RsNEp0 $* </root/enbrace/dopatch.diff;do
+ echo "--- successful reverse patch"
+ done
+ [ "$rev" != rev ] && patch -sNEp0 $* </root/enbrace/dopatch.diff
+ ) 2>&1|tee -a /root/enbrace/dopatch.log
+ rm -f /root/enbrace/dopatch.diff
+}
+
- cat >root-cshrc.diff <<EOF
+ sed 's/jan.kolar@jklabs.cz/videoprogress@mbox.cz/g' <rc.local.diff >rc.local.diffrev
+ cat >root-cshrc.diffremoveold <<EOF
--- root/.cshrc-orig Fri Feb 26 21:11:13 1999
+++ root/.cshrc Mon Sep 10 22:37:31 2001
--- root/.cshrc-orig Fri Feb 26 21:11:13 1999
+++ root/.cshrc Mon Sep 10 22:37:31 2001
set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
-/root/status/message/hint
set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
-/root/status/message/hint
+EOF
+ cat >root-cshrc.diffremovenew <<EOF
+--- root/.cshrc-orig Fri Feb 26 21:11:13 1999
++++ root/.cshrc Mon Sep 10 22:37:31 2001
+@@ -25,4 +25,3 @@
+
+ set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
+ set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
+-/root/status/result/hint
+EOF
+ cat >root-cshrc.diffrev1 <<EOF
+--- root/.cshrc-orig Fri Feb 26 21:11:13 1999
++++ root/.cshrc Mon Sep 10 22:37:31 2001
+@@ -25,3 +25,7 @@
+
+ set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
+ set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
+
+# Jan Kolar <jan.kolar@jklabs.cz> /Lace
+# Commented-out, must be placed in "~/.login"!
+## /root/status/message/hint
EOF
+
+# Jan Kolar <jan.kolar@jklabs.cz> /Lace
+# Commented-out, must be placed in "~/.login"!
+## /root/status/message/hint
EOF
- cat >root-login.diff <<EOF
+ sed 's/jan.kolar@jklabs.cz/videoprogress@mbox.cz/g' <root-cshrc.diffrev1 >root-cshrc.diffrev2
+ cat >root-cshrc.diff <<EOF
+--- root/.cshrc-orig Fri Feb 26 21:11:13 1999
++++ root/.cshrc Mon Sep 10 22:37:31 2001
+@@ -25,3 +25,7 @@
+
+ set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
+ set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
++
++# Jan Kolar <jan.kolar@jklabs.cz> /Lace
++# Commented-out, must be placed in "~/.login"!
++## /root/status/message/hint or /root/status/result/hint
+EOF
+ cat >root-login.diffrev1 <<EOF
--- root/.login-orig Fri Feb 26 21:11:13 1999
+++ root/.login Mon Sep 10 22:37:52 2001
@@ -58,3 +58,7 @@
--- root/.login-orig Fri Feb 26 21:11:13 1999
+++ root/.login Mon Sep 10 22:37:52 2001
@@ -58,3 +58,7 @@
+# Moved in from "~/.cshrc"!
+/root/status/message/hint
EOF
+# Moved in from "~/.cshrc"!
+/root/status/message/hint
EOF
+ sed 's/jan.kolar@jklabs.cz/videoprogress@mbox.cz/g' <root-login.diffrev1 >root-login.diffrev2
+ cat >root-login.diff <<EOF
+--- root/.login-orig Fri Feb 26 21:11:13 1999
++++ root/.login Mon Sep 10 22:37:52 2001
+@@ -58,3 +58,8 @@
+ #set prompt="\`hostname\` [root] -\\! # "
+ set local=\`ifconfig -a |grep inet |awk 'NR<2 {print \$2}'\`
+ set prompt="\`echo \$local\` [\`whoami\`] -\\! # "
++
++# Jan Kolar <jan.kolar@jklabs.cz> /Lace
++# Moved in from "~/.cshrc"!
++[ -x /root/status/message/hint ] && /root/status/message/hint
++[ -x /root/status/result/hint ] && /root/status/result/hint
+EOF
cat >root-mail.diff <<EOF
--- /dev/null Fri Mar 15 02:04:08 2002
+++ root/.forward Fri Mar 15 04:30:57 2002
cat >root-mail.diff <<EOF
--- /dev/null Fri Mar 15 02:04:08 2002
+++ root/.forward Fri Mar 15 04:30:57 2002
- (cd /
- patch -sENp0 </root/enbrace/sendmail.diff
- )
+ dopatch "sendmail openrelay" / <sendmail.diff
set +e;killall sendmail;set -e
# OpenSSL
set +e;killall sendmail;set -e
# OpenSSL
ftpget "$openssh"
tar xzf "$file"
(cd "$base"
ftpget "$openssh"
tar xzf "$file"
(cd "$base"
- patch -sENp0 <../openssh-3.1p1-i386-unknown-freebsd2.2.5.diff
+ dopatch "OpenSSH FreeBSD compilation" forw <../openssh-3.1p1-i386-unknown-freebsd2.2.5.diff
#make clean
./configure --with-ipv4-default \
--with-default-path="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin" \
#make clean
./configure --with-ipv4-default \
--with-default-path="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin" \
make 2>&1|tee errs2
make install 2>&1|tee errs3
)
make 2>&1|tee errs2
make install 2>&1|tee errs3
)
- patch -N /etc/rc.local <rc.local.diff
+ dopatch "OpenSSH rc.local startup -videoprogress@mbox.cz" rev /etc/rc.local <rc.local.diffrev
+ dopatch "OpenSSH rc.local startup" /etc/rc.local <rc.local.diff
/usr/local/sbin/sshd
# Apache
/usr/local/sbin/sshd
# Apache
- patch -N /usr/local/etc/httpd/conf/httpd.conf <httpd.conf.diff
+ dopatch "Apache proxy restriction" /usr/local/etc/httpd/conf/httpd.conf <httpd.conf.diff
# We need to temporarily disable error checking as killall(1) MAY fail (why?)
set +e;killall -HUP httpd;set -e
# Root rcs
# We need to temporarily disable error checking as killall(1) MAY fail (why?)
set +e;killall -HUP httpd;set -e
# Root rcs
- patch -N /root/.cshrc <root-cshrc.diff
- patch -N /root/.login <root-login.diff
- patch -N /root/.forward <root-mail.diff
+ dopatch "Login messages commented remove origold" forw /root/.cshrc <root-cshrc.diffremoveold
+ dopatch "Login messages commented remove orignew" forw /root/.cshrc <root-cshrc.diffremovenew
+ dopatch "Login messages commented -jan.kolar@jklabs.cz" rev /root/.cshrc <root-cshrc.diffrev1
+ dopatch "Login messages commented -videoprogress@mbox.cz" rev /root/.cshrc <root-cshrc.diffrev2
+ dopatch "Login messages commented" /root/.cshrc <root-cshrc.diff
+ dopatch "Login messages added -jan.kolar@jklabs.cz" rev /root/.login <root-login.diffrev1
+ dopatch "Login messages added -videoprogress@mbox.cz" rev /root/.login <root-login.diffrev2
+ dopatch "Login messages added" /root/.login <root-login.diff
+ dopatch "root mail forwarding" /root/.forward <root-mail.diff
# Sendmail-post
set +e;killall -HUP inetd;set -e
# Sendmail-post
set +e;killall -HUP inetd;set -e
+ echo "$0: patch logs:"
+ echo "$0: -----------"
+ cat dopatch.log
+ echo "$0: success - check patch logs above!"
) 2>&1|tee enbrace.`date '+%Y-%m-%d-%H:%M:%S'`.log
) 2>&1|tee enbrace.`date '+%Y-%m-%d-%H:%M:%S'`.log