diff options
Diffstat (limited to 'src/charon-cmd/cmd')
-rw-r--r-- | src/charon-cmd/cmd/cmd_connection.c | 6 | ||||
-rw-r--r-- | src/charon-cmd/cmd/cmd_creds.c | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c index 5c459f99f..180e8da98 100644 --- a/src/charon-cmd/cmd/cmd_connection.c +++ b/src/charon-cmd/cmd/cmd_connection.c @@ -163,14 +163,14 @@ static peer_cfg_t* create_peer_cfg(private_cmd_connection_t *this) { remote_port = IKEV2_NATT_PORT; } - ike_cfg = ike_cfg_create(version, TRUE, FALSE, "0.0.0.0", FALSE, local_port, - this->host, FALSE, remote_port, FRAGMENTATION_NO, 0); + ike_cfg = ike_cfg_create(version, TRUE, FALSE, "0.0.0.0", local_port, + this->host, remote_port, FRAGMENTATION_NO, 0); ike_cfg->add_proposal(ike_cfg, proposal_create_default(PROTO_IKE)); peer_cfg = peer_cfg_create("cmd", ike_cfg, CERT_SEND_IF_ASKED, UNIQUE_REPLACE, 1, /* keyingtries */ 36000, 0, /* rekey 10h, reauth none */ 600, 600, /* jitter, over 10min */ - TRUE, aggressive, /* mobike, aggressive */ + TRUE, aggressive, TRUE, /* mobike, aggressive, pull */ 30, 0, /* DPD delay, timeout */ FALSE, NULL, NULL); /* mediation */ peer_cfg->add_virtual_ip(peer_cfg, host_create_from_string("0.0.0.0", 0)); diff --git a/src/charon-cmd/cmd/cmd_creds.c b/src/charon-cmd/cmd/cmd_creds.c index 526ff7c9c..7fee85d78 100644 --- a/src/charon-cmd/cmd/cmd_creds.c +++ b/src/charon-cmd/cmd/cmd_creds.c @@ -48,9 +48,9 @@ struct private_cmd_creds_t { callback_cred_t *cb; /** - * Already prompted for password? + * Kind of secret we recently prompted */ - bool prompted; + shared_key_type_t prompted; /** * Path to ssh-agent socket @@ -74,7 +74,7 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this, shared_key_t *shared; char *label, *pwd; - if (this->prompted) + if (type == this->prompted) { return NULL; } @@ -89,6 +89,9 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this, case SHARED_PRIVATE_KEY_PASS: label = "Password: "; break; + case SHARED_PIN: + label = "PIN: "; + break; default: return NULL; } @@ -97,7 +100,7 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this, { return NULL; } - this->prompted = TRUE; + this->prompted = type; if (match_me) { *match_me = ID_MATCH_PERFECT; @@ -281,6 +284,7 @@ cmd_creds_t *cmd_creds_create() .destroy = _destroy, }, .creds = mem_cred_create(), + .prompted = SHARED_ANY, ); this->cb = callback_cred_create_shared((void*)callback_shared, this); |