summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/upgrade_config.inc
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-01-15 14:07:55 -0200
committerRenato Botelho <renato@netgate.com>2016-01-15 14:08:10 -0200
commit65cce9d728449da1c5243629b25ab3307acfff82 (patch)
treed6bac1dc070667c7f14a946563a00c68732787cd /src/etc/inc/upgrade_config.inc
parentc3f962bab940051e9e3d0fd93f981c1ff8fd0cc2 (diff)
downloadpfsense-65cce9d728449da1c5243629b25ab3307acfff82.zip
pfsense-65cce9d728449da1c5243629b25ab3307acfff82.tar.gz
Encode DHCP/DHCPv6 server additional BOOTP text options before save to XML to preserve data. It fixes #5623
Diffstat (limited to 'src/etc/inc/upgrade_config.inc')
-rw-r--r--src/etc/inc/upgrade_config.inc29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/etc/inc/upgrade_config.inc b/src/etc/inc/upgrade_config.inc
index aa3ec70..dedab7c 100644
--- a/src/etc/inc/upgrade_config.inc
+++ b/src/etc/inc/upgrade_config.inc
@@ -4285,4 +4285,33 @@ function upgrade_135_to_136() {
}
}
}
+
+function upgrade_136_to_137() {
+ global $config;
+
+ if (is_array($config['dhcpd'])) {
+ foreach ($config['dhcpd'] as &$dhcpd) {
+ if (!is_array($dhcpd['numberoptions']['item'])) {
+ continue;
+ }
+
+ foreach ($dhcpd['numberoptions']['item'] as &$item) {
+ $item['value'] = base64_encode($item['value']);
+ }
+ }
+ }
+
+ if (is_array($config['dhcpdv6'])) {
+ foreach ($config['dhcpdv6'] as &$dhcpdv6) {
+ if (!is_array($dhcpdv6['numberoptions']['item'])) {
+ continue;
+ }
+
+ foreach ($dhcpdv6['numberoptions']['item'] as &$item) {
+ $item['value'] = base64_encode($item['value']);
+ }
+ }
+ }
+}
+
?>
OpenPOWER on IntegriCloud