srv/web/ipfire/html/images/addblue.gif
srv/web/ipfire/html/images/addgreen.gif
srv/web/ipfire/html/images/address-book-new.png
+srv/web/ipfire/html/images/apple.png
srv/web/ipfire/html/images/application-certificate.png
srv/web/ipfire/html/images/application-x-executable.png
srv/web/ipfire/html/images/applications-accessories.png
WARNING: translation string unused: wildcards
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
+WARNING: translation string unused: wlan clients
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: translation string unused: zoneconf val zoneslave amount error
WARNING: untranslated string: desired = Desired
WARNING: untranslated string: disable = Disable
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: enable = Enable
WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
WARNING: untranslated string: fwhost cust locationgrp = unknown string
WARNING: untranslated string: downlink speed = Downlink speed (kbit/sec)
WARNING: untranslated string: downlink std class = downlink standard class
WARNING: untranslated string: download = download
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: download ca certificate = Download CA certificate
WARNING: untranslated string: download certificate = Download file
WARNING: untranslated string: download host certificate = Download host certificate
WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP
WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP
WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP
-WARNING: untranslated string: wlan clients = Wireless clients
WARNING: untranslated string: wlanap = Access Point
WARNING: untranslated string: wlanap 802.11w disabled = Disabled
WARNING: untranslated string: wlanap 802.11w enforced = Enforced
WARNING: untranslated string: wlanap informations = Informations
WARNING: untranslated string: wlanap interface = Select interface
WARNING: untranslated string: wlanap invalid wpa = Invalid length in WPA Passphrase. Must be between 8 and 63 characters.
-WARNING: untranslated string: wlanap link dhcp = Wireless lan DHCP configuration
-WARNING: untranslated string: wlanap link wireless = Activate wireless lan clients
WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w)
WARNING: untranslated string: wlanap neighbor scan = Neighborhood scan
WARNING: untranslated string: wlanap neighbor scan warning = Warning! Disabling may violate regulatory rules!
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
WARNING: translation string unused: wlanap access point
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: download tls-auth key = Download tls-auth key
WARNING: untranslated string: dpd delay = Delay
WARNING: untranslated string: dpd timeout = Timeout
WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP
WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP
WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP
-WARNING: untranslated string: wlan clients = Wireless clients
WARNING: untranslated string: wlanap = Access Point
WARNING: untranslated string: wlanap 802.11w disabled = Disabled
WARNING: untranslated string: wlanap 802.11w enforced = Enforced
WARNING: translation string unused: wildcards
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
+WARNING: translation string unused: wlan clients
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: translation string unused: zoneconf val vlan amount assignment error
WARNING: translation string unused: zoneconf val vlan tag assignment error
WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: fwhost cust locationgrp = unknown string
WARNING: untranslated string: fwhost err hostip = unknown string
WARNING: untranslated string: guardian block a host = unknown string
WARNING: translation string unused: wildcards
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
+WARNING: translation string unused: wlan clients
WARNING: translation string unused: wlanap access point
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: duration = Duration
WARNING: untranslated string: eight hours = 8 Hours
WARNING: untranslated string: email config = Configuration
WARNING: translation string unused: wildcards
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
+WARNING: translation string unused: wlan clients
WARNING: translation string unused: wlanap access point
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: download tls-auth key = Download tls-auth key
WARNING: untranslated string: drop outgoing = Log dropped outgoing packets
WARNING: untranslated string: duration = Duration
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
WARNING: translation string unused: wlanap access point
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: download tls-auth key = Download tls-auth key
WARNING: untranslated string: dpd delay = Delay
WARNING: untranslated string: dpd timeout = Timeout
WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP
WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP
WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP
-WARNING: untranslated string: wlan clients = Wireless clients
WARNING: untranslated string: wlanap = Access Point
WARNING: untranslated string: wlanap 802.11w disabled = Disabled
WARNING: untranslated string: wlanap 802.11w enforced = Enforced
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
WARNING: translation string unused: wlanap access point
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: download tls-auth key = Download tls-auth key
WARNING: untranslated string: dpd delay = Delay
WARNING: untranslated string: dpd timeout = Timeout
WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP
WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP
WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP
-WARNING: untranslated string: wlan clients = Wireless clients
WARNING: untranslated string: wlanap = Access Point
WARNING: untranslated string: wlanap 802.11w disabled = Disabled
WARNING: untranslated string: wlanap 802.11w enforced = Enforced
WARNING: translation string unused: wildcards
WARNING: translation string unused: wins server
WARNING: translation string unused: wins support
+WARNING: translation string unused: wlan clients
+WARNING: translation string unused: wlanap link dhcp
+WARNING: translation string unused: wlanap link wireless
WARNING: translation string unused: wlanap wlan services
WARNING: translation string unused: xtaccess all error
WARNING: translation string unused: xtaccess bad transfert
WARNING: untranslated string: dns use protocol for dns queries = Protocol for DNS queries
WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
WARNING: untranslated string: dnsforward forward_servers = Nameservers
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: duration = Duration
WARNING: untranslated string: email tls explicit = explicit (STARTTLS)
WARNING: untranslated string: email tls implicit = implicit (TLS)
< disable
< dns could not add server
< done
+< download apple profile
< enable
< error the to date has to be later than the from date
< g.dtm
< dns use isp assigned nameservers
< dns use protocol for dns queries
< downlink
+< download apple profile
< download dh parameter
< download tls-auth key
< dpd delay
< ansi t1.483
< bewan adsl pci st
< bewan adsl usb
+< download apple profile
< g.dtm
< g.lite
< upload fcdsl.o
< dns tls hostname
< dns use isp assigned nameservers
< dns use protocol for dns queries
+< download apple profile
< duration
< eight hours
< email config
< dns tls hostname
< dns use isp assigned nameservers
< dns use protocol for dns queries
+< download apple profile
< download dh parameter
< download tls-auth key
< drop outgoing
< dns use isp assigned nameservers
< dns use protocol for dns queries
< downlink
+< download apple profile
< download dh parameter
< download tls-auth key
< dpd delay
< dns use isp assigned nameservers
< dns use protocol for dns queries
< downlink
+< download apple profile
< download dh parameter
< download tls-auth key
< dpd delay
< dns tls hostname
< dns use isp assigned nameservers
< dns use protocol for dns queries
+< download apple profile
< duration
< email tls explicit
< email tls implicit
# #
###############################################################################
+use MIME::Base64;
use Net::DNS;
use File::Copy;
use File::Temp qw/ tempfile tempdir /;
print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12`;
exit (0);
+# Export Apple profile to browser
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download apple profile'}) {
+ &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+ my $key = $cgiparams{'KEY'};
+
+ my $uuid1 = "AAAABBBB";
+ my $uuid2 = "CCCCDDDD";
+
+ my $cert = "";
+ my $cert_uuid = "123456789";
+
+ # Read and encode certificate
+ if ($confighash{$key}[4] eq "cert") {
+ my $cert_path = "${General::swroot}/certs/$confighash{$key}[1].p12";
+
+ # Read certificate and encode it into Base64
+ open(CERT, "<${cert_path}");
+ local($/) = undef; # slurp
+ $cert = MIME::Base64::encode_base64(<CERT>);
+ close(CERT);
+ }
+
+ print "Content-Type: application/octet-stream\n";
+ print "Content-Disposition: attachment; filename=" . $confighash{$key}[1] . ".mobileconfig\n";
+ print "\n"; # end headers
+
+ print "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
+ print "<plist version=\"1.0\">\n";
+ print " <dict>\n";
+ print " <key>PayloadDisplayName</key>\n";
+ print " <string>$confighash{$key}[1]</string>\n";
+ print " <key>PayloadIdentifier</key>\n";
+ print " <string>$confighash{$key}[1]</string>\n";
+ print " <key>PayloadUUID</key>\n";
+ print " <string>${uuid1}</string>\n";
+ print " <key>PayloadType</key>\n";
+ print " <string>Configuration</string>\n";
+ print " <key>PayloadVersion</key>\n";
+ print " <integer>1</integer>\n";
+ print " <key>PayloadContent</key>\n";
+ print " <array>\n";
+ print " <dict>\n";
+ print " <key>PayloadIdentifier</key>\n";
+ print " <string>org.example.vpn1.conf1</string>\n";
+ print " <key>PayloadUUID</key>\n";
+ print " <string>${uuid2}</string>\n";
+ print " <key>PayloadType</key>\n";
+ print " <string>com.apple.vpn.managed</string>\n";
+ print " <key>PayloadVersion</key>\n";
+ print " <integer>1</integer>\n";
+ print " <key>UserDefinedName</key>\n";
+ print " <string>$confighash{$key}[1]</string>\n";
+ print " <key>VPNType</key>\n";
+ print " <string>IKEv2</string>\n";
+ print " <key>IKEv2</key>\n";
+ print " <dict>\n";
+ print " <key>RemoteAddress</key>\n";
+ print " <string>18.206.152.26</string>\n";
+
+ # Left ID
+ if ($confighash{$key}[9]) {
+ print " <key>LocalIdentifier</key>\n";
+ print " <string>$confighash{$key}[9]</string>\n";
+ }
+
+ # Right ID
+ if ($confighash{$key}[7]) {
+ print " <key>RemoteIdentifier</key>\n";
+ print " <string>$confighash{$key}[7]</string>\n";
+ }
+
+ if ($confighash{$key}[4] eq "cert") {
+ print " <key>AuthenticationMethod</key>\n";
+ print " <string>Certificate</string>\n";
+
+ print " <key>PayloadCertificateUUID</key>\n";
+ print " <string>${cert_uuid}</string>\n";
+ } else {
+ print " <key>AuthenticationMethod</key>\n";
+ print " <string>SharedSecret</string>\n";
+ print " <key>SharedSecret</key>\n";
+ print " <string>$confighash{$key}[5]</string>\n";
+ }
+
+ print " <key>ExtendedAuthEnabled</key>\n";
+ print " <integer>0</integer>\n";
+ print " </dict>\n";
+ print " </dict>\n";
+
+ if ($confighash{$key}[4] eq "cert") {
+ print " <dict>\n";
+ print " <key>PayloadIdentifier</key>\n";
+ print " <string>org.example.vpn1.client</string>\n";
+ print " <key>PayloadUUID</key>\n";
+ print " <string>${cert_uuid}</string>\n";
+ print " <key>PayloadType</key>\n";
+ print " <string>com.apple.security.pkcs12</string>\n";
+ print " <key>PayloadVersion</key>\n";
+ print " <integer>1</integer>\n";
+ print " <key>PayloadContent</key>\n";
+ print " <data>\n";
+
+ foreach (split /\n/,${cert}) {
+ print " $_\n";
+ }
+
+ print " </data>\n";
+ print " </dict>\n";
+ }
+
+ print " </array>\n";
+ print " </dict>\n";
+ print "</plist>\n";
+
+ # Done
+ exit(0);
###
### Display certificate
###
<th width='23%' class='boldbase' align='center'><b>$Lang::tr{'common name'}</b></th>
<th width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></th>
<th width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></th>
- <th class='boldbase' align='center' colspan='6'><b>$Lang::tr{'action'}</b></th>
+ <th class='boldbase' align='center' colspan='7'><b>$Lang::tr{'action'}</b></th>
</tr>
END
;
} else {
print "<td width='2%' $col> </td>";
}
+
+ # Apple Profile
+ if ($confighash{$key}[3] eq 'host') {
+ print <<END;
+ <td align='center' $col>
+ <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+ <input type='image' name='$Lang::tr{'download apple profile'}' src='/images/apple.png' alt='$Lang::tr{'download apple profile'}' title='$Lang::tr{'download apple profile'}' />
+ <input type='hidden' name='ACTION' value='$Lang::tr{'download apple profile'}' />
+ <input type='hidden' name='KEY' value='$key' />
+ </form>
+ </td>
+END
+ } else {
+ print "<td width='2%' $col> </td>";
+ }
+
print <<END
<td align='center' $col>
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
'downlink speed' => 'Downlink speed (kbit/sec)',
'downlink std class' => 'downlink standard class',
'download' => 'download',
+'download apple profile' => 'Download Apple Configuration Profile',
'download ca certificate' => 'Download CA certificate',
'download certificate' => 'Download file',
'download dh parameter' => 'Download Diffie-Hellman parameters',