diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/starter/confread.c | 4 | ||||
-rw-r--r-- | src/starter/interfaces.c | 5 | ||||
-rw-r--r-- | src/starter/interfaces.h | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/starter/confread.c b/src/starter/confread.c index ef27ce893..c4b8916ae 100644 --- a/src/starter/confread.c +++ b/src/starter/confread.c @@ -245,6 +245,10 @@ kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token end->addr = cfg->defaultroute.addr; end->nexthop = cfg->defaultroute.nexthop; } + else if (!cfg->defaultroute.supported) + { + plog("%%defaultroute not supported, fallback to %%any"); + } else { plog("# default route not known: %s=%s", name, value); diff --git a/src/starter/interfaces.c b/src/starter/interfaces.c index 08bd97af2..ba16a39f8 100644 --- a/src/starter/interfaces.c +++ b/src/starter/interfaces.c @@ -173,6 +173,7 @@ get_defaultroute(defaultroute_t *defaultroute) defaultroute->defined = TRUE; } } + defaultroute->supported = TRUE; if (!defaultroute->defined) plog("no default route - cannot cope with %%defaultroute!!!"); @@ -186,9 +187,7 @@ get_defaultroute(defaultroute_t *defaultroute) void get_defaultroute(defaultroute_t *defaultroute) { - memset(defaultroute, 0, sizeof(defaultroute_t)); - defaultroute->defined = TRUE; - plog("%%defaultroute not supported, fallback to %%any"); + defaultroute->supported = FALSE; } #endif /* START_PLUTO */ diff --git a/src/starter/interfaces.h b/src/starter/interfaces.h index abe4c8f9c..ff8535f0e 100644 --- a/src/starter/interfaces.h +++ b/src/starter/interfaces.h @@ -23,6 +23,7 @@ typedef struct { bool defined; + bool supported; char iface[IFNAMSIZ]; ip_address addr; ip_address nexthop; |