cfg->setup.interfaces = new_list("%defaultroute");
cfg->setup.charonstart = TRUE;
cfg->setup.plutostart = TRUE;
- cfg->setup.eapdir = IPSEC_EAPDIR;
cfg->conn_default.seen = LEMPTY;
cfg->conn_default.startup = STARTUP_NO;
plog("# natip and sourceip cannot be defined at the same time");
goto err;
}
- conn->tunnel_addr_family = ip_version(value);
- ugh = ttoaddr(value, 0, conn->tunnel_addr_family, &end->srcip);
- if (ugh != NULL)
+ if (streq(value, "%defaultroute"))
{
- plog("# bad addr: %s=%s [%s]", name, value, ugh);
- goto err;
+ if (cfg->defaultroute.defined)
+ {
+ end->srcip = cfg->defaultroute.addr;
+ }
+ else
+ {
+ plog("# default route not known: %s=%s", name, value);
+ goto err;
+ }
+ }
+ else
+ {
+ conn->tunnel_addr_family = ip_version(value);
+ ugh = ttoaddr(value, 0, conn->tunnel_addr_family, &end->srcip);
+ if (ugh != NULL)
+ {
+ plog("# bad addr: %s=%s [%s]", name, value, ugh);
+ goto err;
+ }
}
end->has_natip = TRUE;
conn->policy |= POLICY_TUNNEL;