diff options
author | Martin Willi <martin@revosec.ch> | 2012-08-27 11:19:46 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-08-30 16:43:42 +0200 |
commit | 96c2b3cf89aa1825d70c51ddb3d800ed4720d6c0 (patch) | |
tree | ecd0ebc021baeefb9ff204c8f199b303f8447540 /src/starter/confread.c | |
parent | 497ce2cf51d3e80302e24e5bdf7df566d80b4828 (diff) | |
download | strongswan-96c2b3cf89aa1825d70c51ddb3d800ed4720d6c0.tar.bz2 strongswan-96c2b3cf89aa1825d70c51ddb3d800ed4720d6c0.tar.xz |
Support multiple addresses/pools in left/rightsourceip
Diffstat (limited to 'src/starter/confread.c')
-rw-r--r-- | src/starter/confread.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/starter/confread.c b/src/starter/confread.c index 9199fce18..f30f2188c 100644 --- a/src/starter/confread.c +++ b/src/starter/confread.c @@ -231,59 +231,6 @@ static void kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token, end->host = strdupnull(value); break; case KW_SOURCEIP: - if (value[0] == '%') - { - if (streq(value, "%modeconfig") || streq(value, "%modecfg") || - streq(value, "%config") || streq(value, "%cfg")) - { - /* request ip via config payload */ - free(end->sourceip); - end->sourceip = NULL; - end->sourceip_mask = 1; - } - else - { /* %poolname, strip %, serve ip requests */ - free(end->sourceip); - end->sourceip = strdupnull(value+1); - end->sourceip_mask = 0; - } - end->modecfg = TRUE; - } - else - { - host_t *host; - char *sep; - - sep = strchr(value, '/'); - if (sep) - { /* CIDR notation, address pool */ - *sep = '\0'; - host = host_create_from_string(value, 0); - if (!host) - { - DBG1(DBG_APP, "# bad subnet: %s=%s", name, value); - goto err; - } - host->destroy(host); - free(end->sourceip); - end->sourceip = strdupnull(value); - end->sourceip_mask = atoi(sep + 1); - /* restore the original text in case also= is used */ - *sep = '/'; - } - else - { /* fixed srcip */ - host = host_create_from_string(value, 0); - if (!host) - { - DBG1(DBG_APP, "# bad addr: %s=%s", name, value); - goto err; - } - end->sourceip_mask = (host->get_family(host) == AF_INET) ? - 32 : 128; - host->destroy(host); - } - } conn->mode = MODE_TUNNEL; conn->proxy_mode = FALSE; break; |