aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/starter/args.c1
-rw-r--r--src/starter/confread.h1
-rw-r--r--src/starter/invokepluto.c4
-rw-r--r--src/starter/keywords.h1
-rw-r--r--src/starter/keywords.txt1
5 files changed, 8 insertions, 0 deletions
diff --git a/src/starter/args.c b/src/starter/args.c
index 479321ccf..075956df9 100644
--- a/src/starter/args.c
+++ b/src/starter/args.c
@@ -171,6 +171,7 @@ static const token_info_t token_info[] =
{ ARG_ENUM, offsetof(starter_config_t, setup.nocrsend), LST_bool },
{ ARG_ENUM, offsetof(starter_config_t, setup.nat_traversal), LST_bool },
{ ARG_TIME, offsetof(starter_config_t, setup.keep_alive), NULL },
+ { ARG_ENUM, offsetof(starter_config_t, setup.force_keepalive), LST_bool },
{ ARG_STR, offsetof(starter_config_t, setup.virtual_private), NULL },
{ ARG_STR, offsetof(starter_config_t, setup.pkcs11module), NULL },
{ ARG_STR, offsetof(starter_config_t, setup.pkcs11initargs), NULL },
diff --git a/src/starter/confread.h b/src/starter/confread.h
index b866a915b..4ccf6284c 100644
--- a/src/starter/confread.h
+++ b/src/starter/confread.h
@@ -184,6 +184,7 @@ struct starter_config {
bool nocrsend;
bool nat_traversal;
u_int keep_alive;
+ u_int force_keepalive;
char *virtual_private;
char *pkcs11module;
char *pkcs11initargs;
diff --git a/src/starter/invokepluto.c b/src/starter/invokepluto.c
index 7c995f889..b3a8749f4 100644
--- a/src/starter/invokepluto.c
+++ b/src/starter/invokepluto.c
@@ -167,6 +167,10 @@ starter_start_pluto (starter_config_t *cfg, bool debug)
{
arg[argc++] = "--nat_traversal";
}
+ if (cfg->setup.force_keepalive)
+ {
+ arg[argc++] = "--force_keepalive";
+ }
if (cfg->setup.keep_alive)
{
static char buf2[15];
diff --git a/src/starter/keywords.h b/src/starter/keywords.h
index f71b0085f..84c5ab79a 100644
--- a/src/starter/keywords.h
+++ b/src/starter/keywords.h
@@ -39,6 +39,7 @@ typedef enum {
KW_NOCRSEND,
KW_NAT_TRAVERSAL,
KW_KEEP_ALIVE,
+ KW_FORCE_KEEPALIVE,
KW_VIRTUAL_PRIVATE,
KW_PKCS11MODULE,
KW_PKCS11INITARGS,
diff --git a/src/starter/keywords.txt b/src/starter/keywords.txt
index af9eaa0cc..470397a9c 100644
--- a/src/starter/keywords.txt
+++ b/src/starter/keywords.txt
@@ -47,6 +47,7 @@ strictcrlpolicy, KW_STRICTCRLPOLICY
nocrsend, KW_NOCRSEND
nat_traversal, KW_NAT_TRAVERSAL
keep_alive, KW_KEEP_ALIVE
+force_keepalive, KW_FORCE_KEEPALIVE
virtual_private, KW_VIRTUAL_PRIVATE
eap, KW_EAP
mobike, KW_MOBIKE