#!/bin/bash
if [ "$1" == 'debug'  ]; then set -x;	shift; fi
if [ "$1" == 'debug2' ]; then set -xvT;	shift; fi
# - LoadLG -
# Bump up firewall with registered bandits ...
#
#------------------------
REALPATH=`realpath $0`
WHERE=`dirname $REALPATH`
ME=`basename $REALPATH`
cd $WHERE
. ../../system.conf
. ../../common.conf
. ../../common.bashlib
#------------------------
. WatchLG.conf

LOADER=LG
LOADFILE=$POOL/ipset.Loadfile-$LOADER

log "$MODULE started loading from $DB ..."

$SQL "delete from $TABLE where IP='' or IP='unknown';"

>$LOADFILE
RANGE=`$SQL "select IP,class from $TABLE where state='DROP' order by IP"`

echo "$RANGE" |\
awk -v loadfile=$LOADFILE  -v setname=$MYSET -v settype="$SETTYP" -v setopts="$SETOPTS" '
BEGIN	{} 
	{
		split ($0,parts,"|")
		bandits[parts[1]]=parts[2]
	}
END	{
	printf "-exist create %s %s %s\n",setname,settype,setopts > loadfile

	for (bandit in bandits) {
		CLASS=bandits[bandit]
		COMMENT="DB,Login,"CLASS
		if ( bandit != "") 
			printf "add %s %s comment \"%s\"\n", setname,bandit,COMMENT >> loadfile
	}
}
'

have_it=`ipset -n list | grep $MYSET`

if [ -z "$have_it" ]
then mk-ipset $MYSET "$SETTYP" "$SETOPTS"
fi

$IPSET flush $MYSET
$IPSET -file $LOADFILE restore

log "$MODULE finished loading $LOADER"
