#!/bin/bash
# Global configuration file for strongswan integration testing.
#
# Copyright (C) 2004  Eric Marchionni, Patrik Rayo
# Zuercher Hochschule Winterthur
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.

TESTINGDIR=$(dirname `readlink -f ${BASH_SOURCE[0]}`)
if [ -f $TESTINGDIR/testing.conf.local ]
then
	. $TESTINGDIR/testing.conf.local
fi

# Root directory of testing
: ${TESTDIR=/srv/strongswan-testing}

# Kernel configuration
: ${KERNELVERSION=5.13}
: ${KERNEL=linux-$KERNELVERSION}
: ${KERNELTARBALL=$KERNEL.tar.xz}
: ${KERNELCONFIG=$DIR/../config/kernel/config-5.13}
: ${KERNELPATCH=ha-5.10-abicompat.patch.bz2}

# strongSwan version used in tests
: ${SWANVERSION=5.9.3}

# Build directory where the guest kernel and images will be built
: ${BUILDDIR=$TESTDIR/build}

# Logfile
: ${LOGFILE=$BUILDDIR/testing.log}

# Directory used for loop-mounts
: ${LOOPDIR=$BUILDDIR/loop}

# Common image settings
: ${IMGEXT=qcow2}
: ${IMGDIR=$BUILDDIR/images}

# Base image settings
# The base image is a pristine OS installation created using debootstrap.
: ${BASEIMGSIZE=2500}
: ${BASEIMGSUITE=buster}
: ${BASEIMGARCH=amd64}
: ${BASEIMG=$IMGDIR/debian-$BASEIMGSUITE-$BASEIMGARCH.$IMGEXT}
: ${BASEIMGMIRROR=http://http.debian.net/debian}
: ${BASEIMGEXTREPOHOST=download.strongswan.org}
: ${BASEIMGEXTKEY=https://$BASEIMGEXTREPOHOST/testing/repos/strongswan-testing.gpg.key}
: ${BASEIMGEXTREPO=https://$BASEIMGEXTREPOHOST/testing/repos/apt/debian}

# Directory shared between host and guests
: ${SHAREDDIR=$BUILDDIR/shared/$BASEIMGSUITE}

# Root image settings
# The root image is the origin of all guest images. It is a clone of the base
# image and contains additional test-specific software and patches.
: ${ROOTIMG=$IMGDIR/root.$IMGEXT}

# libvirt config
: ${NBDEV=/dev/nbd0}
: ${NBDPARTITION=${NBDEV}p1}
: ${VIRTIMGSTORE=/var/lib/libvirt/images}
: ${KVMUSER=libvirt-qemu}
: ${KVMGROUP=kvm}

# Directory where test results will be stored
: ${TESTRESULTSDIR=$TESTDIR/testresults}

##############################################################
# Enable particular steps in the make-testing script
#
: ${ENABLE_BUILD_BASEIMAGE=yes}
: ${ENABLE_BUILD_ROOTIMAGE=yes}
: ${ENABLE_BUILD_GUESTKERNEL=yes}
: ${ENABLE_BUILD_CERTIFICATES=yes}
: ${ENABLE_BUILD_GUESTIMAGES=yes}

##############################################################
# hostname and corresponding IPv4 and IPv6 addresses
# You may change the IPs but keep them in the same subnet,
# this means retain the netmasks!
# Also don't use IPs ending with 254, they are reserved!
#
: ${HOSTNAMEIPV4="\
alice,10.1.0.10,192.168.0.50 \
venus,10.1.0.20 \
moon,192.168.0.1,10.1.0.1 \
carol,192.168.0.100,10.3.0.1 \
winnetou,192.168.0.150 \
dave,192.168.0.200,10.3.0.2 \
sun,192.168.0.2,10.2.0.1 \
bob,10.2.0.10"}

: ${HOSTNAMEIPV6="\
alice,fec1::10,fec0::5 \
venus,fec1::20 \
moon,fec0::1,fec1::1 \
carol,fec0::10,fec3::1 \
winnetou,fec0::15 \
dave,fec0::20,fec3::2 \
sun,fec0::2,fec2::1 \
bob,fec2::10"}

##############################################################
# VPN gateways / clients
# The hosts stated here will be created. Possible values
# are sun, moon, dave, carol, alice, venus, bob, winnetou.
#
: ${STRONGSWANHOSTS="alice bob carol dave moon sun venus winnetou"}
