# Routes

{

my $pushRoutes =  ${'openvpn-bridge'}{PushLocalNetworks} || 'enabled';
my $redirectGW = ${'openvpn-bridge'}{redirectGW} || 'PerClient';

use esmith::NetworksDB;
my $ndb = esmith::NetworksDB->open_ro() ||
    die('Can not open Networks DB');

my @networks = $ndb->networks();

if ($redirectGW eq 'always'){
    $OUT .= "push \"redirect-gateway def1\"\n";
}
elsif ($pushRoutes eq 'enabled'){
    foreach my $network (@networks) {
        my $route = '';
        my $addr = $network->key;
        my $mask = $network->prop('Mask');
        my $gw = $network->prop('Router') || '';
        my $vpn = $network->prop('VPN') || '';
        my $doPush = $network->prop('PushRoute') || 'enabled';
        if ( ($gw ne '' || $vpn ne '')  && $doPush eq 'enabled' ){
            $route .= "push \"route $addr $mask";
            $route .= " $gw" if ($vpn eq '');
            $OUT .= "$route\"\n";
        }
    }
}

}
