diff options
author | Renato Botelho <garga@FreeBSD.org> | 2014-06-24 12:00:19 -0300 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2014-06-24 12:00:19 -0300 |
commit | c15b5ed8d8830aa4a59343a8a7df311572b06911 (patch) | |
tree | f11fa1aa4b4e93958ad61977c67577cb6546a993 | |
parent | 6c87714dc7cd310592dc0134894813b6af6a1b7d (diff) | |
download | pfsense-c15b5ed8d8830aa4a59343a8a7df311572b06911.zip pfsense-c15b5ed8d8830aa4a59343a8a7df311572b06911.tar.gz |
Fix dscp values and provide a config upgrade to fix values stored in config.xml. This is a proper fix for #3688
-rw-r--r-- | etc/inc/filter.inc | 2 | ||||
-rw-r--r-- | etc/inc/globals.inc | 2 | ||||
-rw-r--r-- | etc/inc/upgrade_config.inc | 17 | ||||
-rw-r--r-- | usr/local/www/guiconfig.inc | 6 |
4 files changed, 22 insertions, 5 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index dda8765..3619bda 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -2399,7 +2399,7 @@ function filter_generate_user_rule($rule) { case 'cs5': $aline['dscp'] = " dscp 40 "; break; case 'cs6': $aline['dscp'] = " dscp 48 "; break; case 'cs7': $aline['dscp'] = " dscp 56 "; break; - default: $aline['dscp'] = " dscp " . preg_replace('/\s.*$/', '', $rule['dscp']) . " "; break; + default: $aline['dscp'] = " dscp " . $rule['dscp'] . " "; break; } } if (!empty($rule['vlanprio']) && ($rule['vlanprio'] != "none")) diff --git a/etc/inc/globals.inc b/etc/inc/globals.inc index e34a681..3bddba8 100644 --- a/etc/inc/globals.inc +++ b/etc/inc/globals.inc @@ -73,7 +73,7 @@ $g = array( "disablecrashreporter" => false, "crashreporterurl" => "https://crashreporter.pfsense.org/crash_reporter.php", "debug" => false, - "latest_config" => "10.8", + "latest_config" => "10.9", "nopkg_platforms" => array("cdrom"), "minimum_ram_warning" => "101", "minimum_ram_warning_text" => "128 MB", diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc index 7bf5505..103573a 100644 --- a/etc/inc/upgrade_config.inc +++ b/etc/inc/upgrade_config.inc @@ -3342,4 +3342,21 @@ function upgrade_107_to_108() { $config['system']['webgui']['loginautocomplete'] = true; } +function upgrade_108_to_109() { + global $config; + + if (!isset($config['filter']['rule']) || !is_array($config['filter']['rule'])) + return; + + foreach ($config['filter']['rule'] as &$rule) { + if (!isset($rule['dscp']) || empty($rule['dscp'])) + continue; + + $pos = strpos($rule['dscp'], ' '); + if ($pos !== false) + $rule['dscp'] = substr($rule['dscp'], 0, $pos); + unset($pos); + } +} + ?> diff --git a/usr/local/www/guiconfig.inc b/usr/local/www/guiconfig.inc index 975daf0..bbef947 100644 --- a/usr/local/www/guiconfig.inc +++ b/usr/local/www/guiconfig.inc @@ -129,9 +129,9 @@ $firewall_rules_dscp_types = array("af11", "cs5", "cs6", "cs7", - "0x01 (reliability, ToS 0x04)", - "0x02 (throughput, ToS 0x08)", - "0x04 (lowdelay, ToS 0x10)"); + "0x01", + "0x02", + "0x04"); $auth_server_types = array( 'ldap' => "LDAP", |