diff --git a/etc/inc/vpn.inc b/etc/inc/vpn.inc index 23e34392de..cbeff52292 100644 --- a/etc/inc/vpn.inc +++ b/etc/inc/vpn.inc @@ -315,6 +315,9 @@ function vpn_ipsec_configure($ipchg = false) { } else if (isset($tunnel['p1']['myident']['ufqdn'])) { $myidentt = "user_fqdn"; $myident = $tunnel['p1']['myident']['ufqdn']; + } else if (isset($tunnel['p1']['myident']['asn1dn'])) { + $myidentt = "asn1dn"; + $myident = $tunnel['p1']['myident']['asn1dn']; } else if (isset($tunnel['p1']['myident']['dyn_dns'])) { $myidentt = "dyn_dns"; $myident = gethostbyname($tunnel['p1']['myident']['dyn_dns']); @@ -376,10 +379,13 @@ function vpn_ipsec_configure($ipchg = false) { EOD; } } + $myidentifier = $myidentt; + if (!empty($myident)) + $myidentifier .= ' "' . $myident . '"'; $racoonconf .= << 'My IP address', 'address' => 'IP address', 'fqdn' => 'Domain name', 'user_fqdn' => 'User FQDN', + 'asn1dn' => 'Distinguished Name', 'dyn_dns' => 'Dynamic DNS'); $p1_ealgos = array('des' => 'DES', '3des' => '3DES', 'blowfish' => 'Blowfish', diff --git a/usr/local/www/vpn_ipsec_edit.php b/usr/local/www/vpn_ipsec_edit.php index 4cba5381b3..9261734cc9 100755 --- a/usr/local/www/vpn_ipsec_edit.php +++ b/usr/local/www/vpn_ipsec_edit.php @@ -74,6 +74,9 @@ if (isset($id) && $a_ipsec[$id]) { } else if (isset($a_ipsec[$id]['p1']['myident']['ufqdn'])) { $pconfig['p1myidentt'] = 'user_fqdn'; $pconfig['p1myident'] = $a_ipsec[$id]['p1']['myident']['ufqdn']; + } else if (isset($a_ipsec[$id]['p1']['myident']['asn1dn'])) { + $pconfig['p1myidentt'] = 'asn1dn'; + $pconfig['p1myident'] = $a_ipsec[$id]['p1']['myident']['asn1dn']; } else if (isset($a_ipsec[$id]['p1']['myident']['dyn_dns'])) { $pconfig['p1myidentt'] = 'dyn_dns'; $pconfig['p1myident'] = $a_ipsec[$id]['p1']['myident']['dyn_dns']; @@ -226,6 +229,9 @@ if ($_POST) { case 'user_fqdn': $ipsecent['p1']['myident']['ufqdn'] = $_POST['p1myident']; break; + case 'asn1dn': + $ipsecent['p1']['myident']['asn1dn'] = $_POST['p1myident']; + break; case 'dyn_dns': $ipsecent['p1']['myident']['dyn_dns'] = $_POST['p1myident']; break;