added 'modeconfig=pull|push' and 'left|rightnatip' keywords
This commit is contained in:
@@ -247,6 +247,11 @@ kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token
|
||||
end->has_port_wildcard = has_port_wildcard;
|
||||
break;
|
||||
case KW_SOURCEIP:
|
||||
if (end->has_natip)
|
||||
{
|
||||
plog("# natip and sourceip cannot be defined at the same time");
|
||||
goto err;
|
||||
}
|
||||
if (streq(value, "%modeconfig") || streq(value, "%modecfg"))
|
||||
{
|
||||
end->modecfg = TRUE;
|
||||
@@ -264,6 +269,22 @@ kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token
|
||||
}
|
||||
conn->policy |= POLICY_TUNNEL;
|
||||
break;
|
||||
case KW_NATIP:
|
||||
if (end->has_srcip)
|
||||
{
|
||||
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)
|
||||
{
|
||||
plog("# bad addr: %s=%s [%s]", name, value, ugh);
|
||||
goto err;
|
||||
}
|
||||
end->has_natip = TRUE;
|
||||
conn->policy |= POLICY_TUNNEL;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -422,6 +443,9 @@ load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg)
|
||||
case KW_REKEY:
|
||||
KW_POLICY_FLAG("no", "yes", POLICY_DONT_REKEY)
|
||||
break;
|
||||
case KW_MODECONFIG:
|
||||
KW_POLICY_FLAG("push", "pull", POLICY_MODECFG_PUSH)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user