added XAUTH support
This commit is contained in:
@@ -197,6 +197,7 @@ static const token_info_t token_info[] =
|
|||||||
{ ARG_TIME, offsetof(starter_conn_t, dpd_timeout), NULL },
|
{ ARG_TIME, offsetof(starter_conn_t, dpd_timeout), NULL },
|
||||||
{ ARG_ENUM, offsetof(starter_conn_t, dpd_action), LST_dpd_action },
|
{ ARG_ENUM, offsetof(starter_conn_t, dpd_action), LST_dpd_action },
|
||||||
{ ARG_MISC, 0, NULL /* KW_MODECONFIG */ },
|
{ ARG_MISC, 0, NULL /* KW_MODECONFIG */ },
|
||||||
|
{ ARG_MISC, 0, NULL /* KW_XAUTH */ },
|
||||||
|
|
||||||
/* ca section keywords */
|
/* ca section keywords */
|
||||||
{ ARG_STR, offsetof(starter_ca_t, name), NULL },
|
{ ARG_STR, offsetof(starter_ca_t, name), NULL },
|
||||||
|
|||||||
@@ -410,7 +410,7 @@ load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg)
|
|||||||
KW_POLICY_FLAG("ah", "esp", POLICY_AUTHENTICATE)
|
KW_POLICY_FLAG("ah", "esp", POLICY_AUTHENTICATE)
|
||||||
break;
|
break;
|
||||||
case KW_AUTHBY:
|
case KW_AUTHBY:
|
||||||
conn->policy &= ~(POLICY_RSASIG | POLICY_PSK | POLICY_ENCRYPT);
|
conn->policy &= ~(POLICY_ID_AUTH_MASK | POLICY_ENCRYPT);
|
||||||
|
|
||||||
if (strcmp(kw->value, "never") != 0)
|
if (strcmp(kw->value, "never") != 0)
|
||||||
{
|
{
|
||||||
@@ -425,8 +425,12 @@ load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg)
|
|||||||
{
|
{
|
||||||
if (streq(value, "rsasig"))
|
if (streq(value, "rsasig"))
|
||||||
conn->policy |= POLICY_RSASIG | POLICY_ENCRYPT;
|
conn->policy |= POLICY_RSASIG | POLICY_ENCRYPT;
|
||||||
else if (streq(value, "secret"))
|
else if (streq(value, "secret") || streq(value, "psk"))
|
||||||
conn->policy |= POLICY_PSK | POLICY_ENCRYPT;
|
conn->policy |= POLICY_PSK | POLICY_ENCRYPT;
|
||||||
|
else if (streq(value, "xauthrsasig"))
|
||||||
|
conn->policy |= POLICY_XAUTH_RSASIG | POLICY_ENCRYPT;
|
||||||
|
else if (streq(value, "xauthpsk"))
|
||||||
|
conn->policy |= POLICY_XAUTH_PSK | POLICY_ENCRYPT;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
plog("# bad policy value: %s=%s", kw->entry->name, kw->value);
|
plog("# bad policy value: %s=%s", kw->entry->name, kw->value);
|
||||||
@@ -446,6 +450,9 @@ load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg)
|
|||||||
case KW_MODECONFIG:
|
case KW_MODECONFIG:
|
||||||
KW_POLICY_FLAG("push", "pull", POLICY_MODECFG_PUSH)
|
KW_POLICY_FLAG("push", "pull", POLICY_MODECFG_PUSH)
|
||||||
break;
|
break;
|
||||||
|
case KW_XAUTH:
|
||||||
|
KW_POLICY_FLAG("server", "client", POLICY_XAUTH_SERVER)
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,9 +80,10 @@ typedef enum {
|
|||||||
KW_DPDTIMEOUT,
|
KW_DPDTIMEOUT,
|
||||||
KW_DPDACTION,
|
KW_DPDACTION,
|
||||||
KW_MODECONFIG,
|
KW_MODECONFIG,
|
||||||
|
KW_XAUTH,
|
||||||
|
|
||||||
#define KW_CONN_FIRST KW_CONN_SETUP
|
#define KW_CONN_FIRST KW_CONN_SETUP
|
||||||
#define KW_CONN_LAST KW_MODECONFIG
|
#define KW_CONN_LAST KW_XAUTH
|
||||||
|
|
||||||
/* ca section keywords */
|
/* ca section keywords */
|
||||||
KW_CA_NAME,
|
KW_CA_NAME,
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ dpddelay, KW_DPDDELAY
|
|||||||
dpdtimeout, KW_DPDTIMEOUT
|
dpdtimeout, KW_DPDTIMEOUT
|
||||||
dpdaction, KW_DPDACTION
|
dpdaction, KW_DPDACTION
|
||||||
modeconfig, KW_MODECONFIG
|
modeconfig, KW_MODECONFIG
|
||||||
|
xauth, KW_XAUTH
|
||||||
cacert, KW_CACERT
|
cacert, KW_CACERT
|
||||||
ldaphost, KW_LDAPHOST
|
ldaphost, KW_LDAPHOST
|
||||||
ldapbase, KW_LDAPBASE
|
ldapbase, KW_LDAPBASE
|
||||||
|
|||||||
Reference in New Issue
Block a user