mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 11:43:25 +02:00
IPsec: Add prototype to export Apple Configuration profiles
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
@@ -110,6 +110,7 @@ srv/web/ipfire/html/images/add.gif
|
||||
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
|
||||
|
||||
@@ -828,6 +828,9 @@ WARNING: translation string unused: weekly firewallhits
|
||||
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
|
||||
@@ -852,6 +855,7 @@ WARNING: translation string unused: zoneconf val vlan tag range error
|
||||
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
|
||||
|
||||
@@ -645,6 +645,7 @@ WARNING: untranslated string: downlink = Downlink
|
||||
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
|
||||
@@ -2144,7 +2145,6 @@ WARNING: untranslated string: wlan client wpa mode all = Auto
|
||||
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
|
||||
@@ -2161,8 +2161,6 @@ WARNING: untranslated string: wlanap encryption = Encryption
|
||||
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!
|
||||
|
||||
@@ -773,6 +773,8 @@ WARNING: translation string unused: wildcards
|
||||
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
|
||||
@@ -921,6 +923,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
|
||||
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
|
||||
@@ -1522,7 +1525,6 @@ WARNING: untranslated string: wlan client wpa mode all = Auto
|
||||
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
|
||||
|
||||
@@ -868,6 +868,9 @@ WARNING: translation string unused: weekly firewallhits
|
||||
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
|
||||
@@ -889,6 +892,7 @@ WARNING: translation string unused: zoneconf val stp zone mode error
|
||||
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
|
||||
|
||||
@@ -841,7 +841,10 @@ WARNING: translation string unused: weekly firewallhits
|
||||
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
|
||||
@@ -943,6 +946,7 @@ WARNING: untranslated string: dns use protocol for dns queries = Protocol for DN
|
||||
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
|
||||
|
||||
@@ -835,7 +835,10 @@ WARNING: translation string unused: weekly firewallhits
|
||||
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
|
||||
@@ -946,6 +949,7 @@ WARNING: untranslated string: dnssec aware = DNSSEC Aware
|
||||
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
|
||||
|
||||
@@ -757,6 +757,8 @@ WARNING: translation string unused: wildcards
|
||||
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
|
||||
@@ -936,6 +938,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
|
||||
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
|
||||
@@ -1530,7 +1533,6 @@ WARNING: untranslated string: wlan client wpa mode all = Auto
|
||||
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
|
||||
|
||||
@@ -752,6 +752,8 @@ WARNING: translation string unused: wildcards
|
||||
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
|
||||
@@ -933,6 +935,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
|
||||
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
|
||||
@@ -1525,7 +1528,6 @@ WARNING: untranslated string: wlan client wpa mode all = Auto
|
||||
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
|
||||
|
||||
@@ -871,6 +871,9 @@ WARNING: translation string unused: weekly firewallhits
|
||||
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
|
||||
@@ -922,6 +925,7 @@ WARNING: untranslated string: dns use isp assigned nameservers = Use ISP-assigne
|
||||
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)
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
< 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
|
||||
@@ -218,6 +219,7 @@
|
||||
< dns use isp assigned nameservers
|
||||
< dns use protocol for dns queries
|
||||
< downlink
|
||||
< download apple profile
|
||||
< download dh parameter
|
||||
< download tls-auth key
|
||||
< dpd delay
|
||||
@@ -920,6 +922,7 @@
|
||||
< ansi t1.483
|
||||
< bewan adsl pci st
|
||||
< bewan adsl usb
|
||||
< download apple profile
|
||||
< g.dtm
|
||||
< g.lite
|
||||
< upload fcdsl.o
|
||||
@@ -1042,6 +1045,7 @@
|
||||
< dns tls hostname
|
||||
< dns use isp assigned nameservers
|
||||
< dns use protocol for dns queries
|
||||
< download apple profile
|
||||
< duration
|
||||
< eight hours
|
||||
< email config
|
||||
@@ -1445,6 +1449,7 @@
|
||||
< 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
|
||||
@@ -1965,6 +1970,7 @@
|
||||
< dns use isp assigned nameservers
|
||||
< dns use protocol for dns queries
|
||||
< downlink
|
||||
< download apple profile
|
||||
< download dh parameter
|
||||
< download tls-auth key
|
||||
< dpd delay
|
||||
@@ -2855,6 +2861,7 @@
|
||||
< dns use isp assigned nameservers
|
||||
< dns use protocol for dns queries
|
||||
< downlink
|
||||
< download apple profile
|
||||
< download dh parameter
|
||||
< download tls-auth key
|
||||
< dpd delay
|
||||
@@ -3588,6 +3595,7 @@
|
||||
< dns tls hostname
|
||||
< dns use isp assigned nameservers
|
||||
< dns use protocol for dns queries
|
||||
< download apple profile
|
||||
< duration
|
||||
< email tls explicit
|
||||
< email tls implicit
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
use MIME::Base64;
|
||||
use Net::DNS;
|
||||
use File::Copy;
|
||||
use File::Temp qw/ tempfile tempdir /;
|
||||
@@ -1178,6 +1179,122 @@ END
|
||||
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
|
||||
###
|
||||
@@ -2982,7 +3099,7 @@ END
|
||||
<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
|
||||
;
|
||||
@@ -3083,6 +3200,22 @@ 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'}'>
|
||||
|
||||
BIN
html/html/images/apple.png
Normal file
BIN
html/html/images/apple.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 346 B |
@@ -913,6 +913,7 @@
|
||||
'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',
|
||||
|
||||
Reference in New Issue
Block a user