Add ASN1DN identities support to IPSEC.

This commit is contained in:
Scott Ullrich 2007-06-30 20:57:30 +00:00
parent d584a8978e
commit 66cc67c6ec
3 changed files with 17 additions and 1 deletions

View File

@ -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 .= <<<EOD
remote {$tunnel['remote-gateway']} \{
exchange_mode {$tunnel['p1']['mode']};
my_identifier {$myidentt} "{$myident}";
my_identifier {$myidentifier};
{$certline}
peers_identifier address {$tunnel['remote-gateway']};
initial_contact on;
@ -440,6 +446,9 @@ EOD;
} 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'];
}
if (isset($tunnel['p1']['authentication_method'])) {

View File

@ -152,6 +152,7 @@ $my_identifier_list = array('myaddress' => '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',

View File

@ -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;