#!/bin/bash -x
#kaneda@bohater.net

KERNEL_VERSION="2.4.32"
IPTABLES_VERSION="1.3.4"
PATCHOMATIC_DATE="20051117"

#
export TERM=linux

#Przechodzimy do katalogu /usr/src/
cd /usr/src/

#Sprawdzamy czy istnieje katalog/plik linux.
if [ -e linux ] ; then
  echo "Error: istnieje katalog/plik: linux"
  exit
fi

if [ ! -f linux-$KERNEL_VERSION.tar.bz2 ] ; then
  wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-$KERNEL_VERSION.tar.bz2
fi

if [ ! -f iptables-$IPTABLES_VERSION.tar.bz2 ] ; then
  wget http://netfilter.org/projects/iptables/files/iptables-$IPTABLES_VERSION.tar.bz2
fi

if [ ! -f patch-o-matic-ng-$PATCHOMATIC_DATE.tar.bz2  ] ; then
  wget ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-$PATCHOMATIC_DATE.tar.bz2
fi

if [ ! -f linux-2.4.28-imq2.diff ] ; then
  wget http://www.linuximq.net/patchs/linux-2.4.28-imq2.diff
fi

if [ ! -f iptables-1.3.0-imq1.diff ] ; then
  wget http://www.linuximq.net/patchs/iptables-1.3.0-imq1.diff
fi

if [ ! -f imq-nat.diff  ] ; then
  wget http://www.linuximq.net/patchs/imq-nat.diff
fi

echo "Unpacking kernel..."
cd /usr/src
tar xjf linux-$KERNEL_VERSION.tar.bz2
ln -s linux-$KERNEL_VERSION linux
cd /usr/src/linux

echo "Patching IMQ..."
cp ../linux-2.4.28-imq2.diff .
patch -p1 < linux-2.4.28-imq2.diff

echo "Kernel $KERNEL_VERSION rozpakowany. IMQ patched. Press Enter..."
read a

echo "Unpacking iptables + POM Patching..."
cd /usr/src
rm -rf iptables-$IPTABLES_VERSION
tar xjf iptables-$IPTABLES_VERSION.tar.bz2
ln -s iptables-$IPTABLES_VERSION iptables
tar xjf patch-o-matic-ng-$PATCHOMATIC_DATE.tar.bz2
cd /usr/src/patch-o-matic-ng-$PATCHOMATIC_DATE
IPTABLES_DIR=/usr/src/iptables KERNEL_DIR=/usr/src/linux ./runme --batch patchlets --exclude=osf

#./runme --batch patchlets/ --exclude=patchlets/osf
#./runme \
#string CONNMARK CLASSIFY TTL connlimit iprange mport \
#connrate cuseeme-nat eggdrop-conntrack h323-conntrack-nat \
#mms_conntrack-nat pptp-conntrack-nat proc-net-conntrack-permissions \
#quake3-conntrack-nat rtsp-conntrack sctp-conntrack-nat talk-conntrack-nat \
#time IPV4OPTSSTRIP nth quota random dstlimit raw IPMARK ROUTE ipp2p
#connbytes - wypadlo bo konflikt z CONNMARK

echo "Iptables $IPTABLES_VERSION + POM $PATCHOMATIC_DATE ok... Press Enter... "
read b

echo "Iptables IMQ Patching + Compiling..."

cd /usr/src/iptables
cp ../iptables-1.3.0-imq1.diff .
patch -p1 <iptables-1.3.0-imq1.diff
chmod +x extensions/.IMQ-test*
make
make install

echo "Iptables skompilowane ... Press Enter..."
read c

cd /usr/src/linux/drivers/net
cp ../../../imq-nat.diff .
patch <imq-nat.diff

echo "IMQ-nat patch ... Enter..."
read d

echo "Teraz kernela skonfiguruj i skompiluj..."

