| Index: ipsec_manager.cc
|
| diff --git a/ipsec_manager.cc b/ipsec_manager.cc
|
| index eb57044e68ac0348591a049aeba6e6ae6896504e..287d62b3a5f67edccc105b1f694a2b08080eaff8 100644
|
| --- a/ipsec_manager.cc
|
| +++ b/ipsec_manager.cc
|
| @@ -22,11 +22,16 @@
|
| #include "gflags/gflags.h"
|
|
|
| #pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
| +// Windows RRAS requires modp1024 dh-group. Strongswan's
|
| +// default is modp1536 which it does not support.
|
| +DEFINE_string(ike, "3des-sha1-modp1024", "ike proposals");
|
| DEFINE_int32(ipsec_timeout, 10, "timeout for ipsec to be established");
|
| DEFINE_string(leftprotoport, "17/1701", "client protocol/port");
|
| +DEFINE_bool(nat_traversal, true, "Enable NAT-T nat traversal");
|
| DEFINE_bool(pfs, false, "pfs");
|
| DEFINE_bool(rekey, false, "rekey");
|
| DEFINE_string(rightprotoport, "17/1701", "server protocol/port");
|
| +DEFINE_string(type, "transport", "IPsec type (transport or tunnel)");
|
| #pragma GCC diagnostic error "-Wstrict-aliasing"
|
|
|
| const char kIpsecConnectionName[] = "ipsec_managed";
|
| @@ -260,7 +265,9 @@ std::string IpsecManager::FormatStarterConfigFile() {
|
| } else {
|
| AppendBoolSetting(&config, "plutostart", false);
|
| }
|
| + AppendBoolSetting(&config, "nat_traversal", FLAGS_nat_traversal);
|
| config.append("conn managed\n");
|
| + AppendStringSetting(&config, "ike", FLAGS_ike);
|
| AppendStringSetting(&config, "keyexchange",
|
| ike_version_ == 1 ? "ikev1" : "ikev2");
|
| if (!psk_file_.empty()) AppendStringSetting(&config, "authby", "psk");
|
| @@ -271,6 +278,7 @@ std::string IpsecManager::FormatStarterConfigFile() {
|
| AppendStringSetting(&config, "leftupdown", IPSEC_UPDOWN);
|
| AppendStringSetting(&config, "right", remote_address_);
|
| AppendStringSetting(&config, "rightprotoport", FLAGS_rightprotoport);
|
| + AppendStringSetting(&config, "type", FLAGS_type);
|
| AppendStringSetting(&config, "auto", "start");
|
| return config;
|
| }
|
|
|