Revision 853030ac
Added by Jean Cyr about 12 years ago
etc/inc/shaper.inc | ||
---|---|---|
2782 | 2782 |
var $mask; |
2783 | 2783 |
var $noerror; |
2784 | 2784 |
|
2785 |
var $ipv6allow; |
|
2786 |
|
|
2787 |
/* constructor */ |
|
2788 |
|
|
2789 |
function __construct() { |
|
2790 |
global $config; |
|
2791 |
if (isset($config['system']['ipv6allow'])) |
|
2792 |
$this->ipv6allow = True; |
|
2793 |
else |
|
2794 |
$this->ipv6allow = False; |
|
2795 |
|
|
2796 |
} |
|
2797 |
|
|
2798 | 2785 |
/* Accessor functions */ |
2799 |
function IPV6Enabled() { |
|
2800 |
return $this->ipv6allow; |
|
2801 |
} |
|
2802 |
|
|
2803 | 2786 |
function SetLink($link) { |
2804 | 2787 |
$this->link = $link; |
2805 | 2788 |
} |
... | ... | |
2883 | 2866 |
$javascript .= "if ((e.options[e.selectedIndex].text == \"none\") || enable_over) {\n"; |
2884 | 2867 |
$javascript .= "document.iform.maskbits.disabled = 1;\n"; |
2885 | 2868 |
$javascript .= "document.iform.maskbits.value = \"\";\n"; |
2886 |
if ($this->IPV6Enabled()) { |
|
2887 |
$javascript .= "document.iform.maskbitsv6.disabled = 1;\n"; |
|
2888 |
$javascript .= "document.iform.maskbitsv6.value = \"\";\n"; |
|
2889 |
} |
|
2869 |
$javascript .= "document.iform.maskbitsv6.disabled = 1;\n"; |
|
2870 |
$javascript .= "document.iform.maskbitsv6.value = \"\";\n"; |
|
2890 | 2871 |
$javascript .= "} else {\n"; |
2891 | 2872 |
$javascript .= "document.iform.maskbits.disabled = 0;\n"; |
2892 |
if ($this->IPV6Enabled()) |
|
2893 |
$javascript .= "document.iform.maskbitsv6.disabled = 0;\n"; |
|
2873 |
$javascript .= "document.iform.maskbitsv6.disabled = 0;\n"; |
|
2894 | 2874 |
$javascript .= "}}\n"; |
2895 | 2875 |
$javascript .= "//]]>\n"; |
2896 | 2876 |
$javascript .= "</script>\n"; |
... | ... | |
2922 | 2902 |
if (isset($data['maskbits']) && ($data['maskbits'] <> "")) |
2923 | 2903 |
if ((!is_numeric($data['maskbits'])) || ($data['maskbits'] <= 0) || ($data['maskbits'] > 32)) |
2924 | 2904 |
$input_errors[] = gettext("IPV4 bit mask must be blank or numeric value between 1 and 32."); |
2925 |
if ($this->IPV6Enabled()) |
|
2926 |
if (isset($data['maskbitsv6']) && ($data['maskbitsv6'] <> "")) { |
|
2927 |
if ((!is_numeric($data['maskbitsv6'])) || ($data['maskbitsv6'] <= 0) || ($data['maskbitsv6'] > 128)) |
|
2928 |
$input_errors[] = gettext("IPV6 bit mask must be blank or numeric value between 1 and 128."); |
|
2929 |
} |
|
2905 |
if (isset($data['maskbitsv6']) && ($data['maskbitsv6'] <> "")) |
|
2906 |
if ((!is_numeric($data['maskbitsv6'])) || ($data['maskbitsv6'] <= 0) || ($data['maskbitsv6'] > 128)) |
|
2907 |
$input_errors[] = gettext("IPV6 bit mask must be blank or numeric value between 1 and 128."); |
|
2930 | 2908 |
} |
2931 | 2909 |
|
2932 | 2910 |
function build_mask_rules(&$pfq_rule) { |
... | ... | |
2936 | 2914 |
$pfq_rule .= " mask"; |
2937 | 2915 |
switch ($mask['type']) { |
2938 | 2916 |
case 'srcaddress': |
2939 |
if ($this->IPV6Enabled()) { |
|
2940 |
if (!empty($mask['bitsv6']) && ($mask['bitsv6'] <> "")) |
|
2941 |
$pfq_rule .= " src-ip6 /" . $mask['bitsv6']; |
|
2942 |
else |
|
2943 |
$pfq_rule .= " src-ip6 /128"; |
|
2944 |
} |
|
2917 |
if (!empty($mask['bitsv6']) && ($mask['bitsv6'] <> "")) |
|
2918 |
$pfq_rule .= " src-ip6 /" . $mask['bitsv6']; |
|
2919 |
else |
|
2920 |
$pfq_rule .= " src-ip6 /128"; |
|
2945 | 2921 |
if (!empty($mask['bits']) && ($mask['bits'] <> "")) |
2946 | 2922 |
$pfq_rule .= sprintf(" src-ip 0x%x", gen_subnet_mask_long($mask['bits'])); |
2947 | 2923 |
else |
2948 | 2924 |
$pfq_rule .= " src-ip 0xffffffff"; |
2949 | 2925 |
break; |
2950 | 2926 |
case 'dstaddress': |
2951 |
if ($this->IPV6Enabled()) { |
|
2952 |
if (!empty($mask['bitsv6']) && ($mask['bitsv6'] <> "")) |
|
2953 |
$pfq_rule .= " dst-ip6 /" . $mask['bitsv6']; |
|
2954 |
else |
|
2955 |
$pfq_rule .= " dst-ip6 /128"; |
|
2956 |
} |
|
2927 |
if (!empty($mask['bitsv6']) && ($mask['bitsv6'] <> "")) |
|
2928 |
$pfq_rule .= " dst-ip6 /" . $mask['bitsv6']; |
|
2929 |
else |
|
2930 |
$pfq_rule .= " dst-ip6 /128"; |
|
2957 | 2931 |
if (!empty($mask['bits']) && ($mask['bits'] <> "")) |
2958 | 2932 |
$pfq_rule .= sprintf(" dst-ip 0x%x", gen_subnet_mask_long($mask['bits'])); |
2959 | 2933 |
else |
... | ... | |
3388 | 3362 |
$form .= " disabled"; |
3389 | 3363 |
$form .= " />"; |
3390 | 3364 |
$form .= " IPV4 mask bits (1-32)<br/>"; |
3391 |
if ($this->IPV6Enabled()) { |
|
3392 |
$form .= "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/ <input type=\"text\" class=\"formfld unknown\" size=\"2\" id=\"maskbitsv6\" name=\"maskbitsv6\" value=\""; |
|
3393 |
if ($mask['type'] <> "none") |
|
3394 |
$form .= $mask['bitsv6']; |
|
3395 |
$form .= "\""; |
|
3396 |
if ($mask['type'] == "none") |
|
3397 |
$form .= " disabled"; |
|
3398 |
$form .= " />"; |
|
3399 |
$form .= " IPV6 mask bits (1-128)<br/>"; |
|
3400 |
} |
|
3365 |
$form .= "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/ <input type=\"text\" class=\"formfld unknown\" size=\"2\" id=\"maskbitsv6\" name=\"maskbitsv6\" value=\""; |
|
3366 |
if ($mask['type'] <> "none") |
|
3367 |
$form .= $mask['bitsv6']; |
|
3368 |
$form .= "\""; |
|
3369 |
if ($mask['type'] == "none") |
|
3370 |
$form .= " disabled"; |
|
3371 |
$form .= " />"; |
|
3372 |
$form .= " IPV6 mask bits (1-128)<br/>"; |
|
3401 | 3373 |
$form .= "<span class=\"vexpl\">" . gettext("If 'source' or 'destination' slots is chosen, \n" |
3402 | 3374 |
. "leaving the mask bits blank will create one pipe per host. Otherwise specify \n" |
3403 | 3375 |
. "the number of 'one' bits in the subnet mask used to group multiple hosts \n" |
... | ... | |
3483 | 3455 |
$mask = $this->GetMask(); |
3484 | 3456 |
$cflink['mask'] = $mask['type']; |
3485 | 3457 |
$cflink['maskbits'] = $mask['bits']; |
3486 |
if ($this->IPV6Enabled()) |
|
3487 |
$cflink['maskbitsv6'] = $mask['bitsv6']; |
|
3488 |
else |
|
3489 |
$cflink['maskbitsv6'] = ""; |
|
3458 |
$cflink['maskbitsv6'] = $mask['bitsv6']; |
|
3490 | 3459 |
$cflink['delay'] = $this->GetDelay(); |
3491 | 3460 |
} |
3492 | 3461 |
|
... | ... | |
3666 | 3635 |
$form .= " disabled"; |
3667 | 3636 |
$form .= " />"; |
3668 | 3637 |
$form .= " IPV4 mask bits (1-32)<br/>"; |
3669 |
if ($this->IPV6Enabled()) { |
|
3670 |
$form .= "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/ <input type=\"text\" class=\"formfld unknown\" size=\"2\" id=\"maskbitsv6\" name=\"maskbitsv6\" value=\""; |
|
3671 |
if ($mask['type'] <> "none") |
|
3672 |
$form .= $mask['bitsv6']; |
|
3673 |
$form .= "\""; |
|
3674 |
if ($mask['type'] == "none") |
|
3675 |
$form .= " disabled"; |
|
3676 |
$form .= " />"; |
|
3677 |
$form .= " IPV6 mask bits (1-128)<br/>"; |
|
3678 |
} |
|
3638 |
$form .= "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/ <input type=\"text\" class=\"formfld unknown\" size=\"2\" id=\"maskbitsv6\" name=\"maskbitsv6\" value=\""; |
|
3639 |
if ($mask['type'] <> "none") |
|
3640 |
$form .= $mask['bitsv6']; |
|
3641 |
$form .= "\""; |
|
3642 |
if ($mask['type'] == "none") |
|
3643 |
$form .= " disabled"; |
|
3644 |
$form .= " />"; |
|
3645 |
$form .= " IPV6 mask bits (1-128)<br/>"; |
|
3679 | 3646 |
$form .= "<span class=\"vexpl\">" . gettext("If 'source' or 'destination' slots is chosen, \n" |
3680 | 3647 |
. "leaving the mask bits blank will create one pipe per host. Otherwise specify \n" |
3681 | 3648 |
. "the number of 'one' bits in the subnet mask used to group multiple hosts \n" |
... | ... | |
3758 | 3725 |
$mask = $this->GetMask(); |
3759 | 3726 |
$cflink['mask'] = $mask['type']; |
3760 | 3727 |
$cflink['maskbits'] = $mask['bits']; |
3761 |
if ($this->IPV6Enabled()) |
|
3762 |
$cflink['maskbitsv6'] = $mask['bitsv6']; |
|
3763 |
else |
|
3764 |
$cflink['maskbitsv6'] = ""; |
|
3728 |
$cflink['maskbitsv6'] = $mask['bitsv6']; |
|
3765 | 3729 |
} |
3766 | 3730 |
} |
3767 | 3731 |
|
Also available in: Unified diff
Do not hide IPV6 setting when system->advanced->network->allowipv6 is false