diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-06-27 08:11:08 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-06-27 08:11:08 +0000 |
commit | a80521d13ee39e3cb312d429e73fcfeafbfadc4e (patch) | |
tree | 8a2bdb6d108f8c4c9e825165425a23a89074cee8 | |
parent | cae8f3e9b658b4f11b04bcd26d807fc453a866a1 (diff) | |
download | strongswan-a80521d13ee39e3cb312d429e73fcfeafbfadc4e.tar.bz2 strongswan-a80521d13ee39e3cb312d429e73fcfeafbfadc4e.tar.xz |
recognize wildcards right=%group and keyingtries=%forever
-rw-r--r-- | src/starter/confread.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/starter/confread.c b/src/starter/confread.c index da25f60b9..fd29e8e85 100644 --- a/src/starter/confread.c +++ b/src/starter/confread.c @@ -181,6 +181,16 @@ kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token conn->addr_family = AF_INET6; anyaddr(conn->addr_family, &end->addr); } + else if (streq(value, "%group")) + { + ip_address any; + + conn->policy |= POLICY_GROUP | POLICY_TUNNEL; + anyaddr(conn->addr_family, &end->addr); + anyaddr(conn->tunnel_addr_family, &any); + initsubnet(&any, 0, '0', &end->subnet); + end->has_client = TRUE; + } else { bool fallback_to_any = FALSE; @@ -499,6 +509,23 @@ load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg) } } break; + case KW_KEYINGTRIES: + if (streq(kw->value, "%forever")) + { + conn->sa_keying_tries = 0; + } + else + { + char *endptr; + + conn->sa_keying_tries = strtoul(kw->value, &endptr, 10); + if (*endptr != '\0') + { + plog("# bad integer value: %s=%s", kw->entry->name, kw->value); + cfg->err++; + } + } + break; case KW_REKEY: KW_POLICY_FLAG("no", "yes", POLICY_DONT_REKEY) break; |