#! /usr/bin/env bash
#
# update <destination host> <zone_id> <destination port> <Bro args>

. `dirname $0`/broctl-config.sh

export PATH=${bindir}:${scriptsdir}:$PATH

use_installed_policies=1
source ${scriptsdir}/set-bro-path

host=$1
shift
zone=$1
shift
port=$1
shift
args=$@

# Creating temporary working directory.
dir=${tmpdir}/update-$1-$$
rm -rf $dir
mkdir $dir
cd $dir

zone_arg=""
if [ "$zone" != "NOZONE" ]; then
    zone_arg="Control::zone_id=$zone"
fi

${bro} $args frameworks/control/controller "Control::host=$host" $zone_arg "Control::host_port=$port" "Control::cmd=configuration_update" >out.log 2>&1
rc=$?

cat out.log | egrep -v "warning: no such host|received termination signal"
rm -rf $dir

exit $rc

