diff options
author | Renato Botelho <garga@FreeBSD.org> | 2013-02-13 11:06:22 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2013-02-13 11:06:22 -0200 |
commit | cb2b59b89b4d7fb6449c0f45d142302dd2029373 (patch) | |
tree | 42d510039538199b718b0f4cd01e2c8291010931 /usr/local/www/guiconfig.inc | |
parent | 96ccd0095e6b7258abf6fa39b262321b65508f48 (diff) | |
download | pfsense-cb2b59b89b4d7fb6449c0f45d142302dd2029373.zip pfsense-cb2b59b89b4d7fb6449c0f45d142302dd2029373.tar.gz |
Deal correct with /32 subnet mask for ipv6 addresses. If fixes #2451
Diffstat (limited to 'usr/local/www/guiconfig.inc')
-rwxr-xr-x | usr/local/www/guiconfig.inc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/usr/local/www/guiconfig.inc b/usr/local/www/guiconfig.inc index e2829d0..cb16f96 100755 --- a/usr/local/www/guiconfig.inc +++ b/usr/local/www/guiconfig.inc @@ -658,8 +658,12 @@ function address_to_pconfig($adr, &$padr, &$pmask, &$pnot, &$pbeginport, &$pendp $padr = $adr['network']; else if ($adr['address']) { list($padr, $pmask) = explode("/", $adr['address']); - if (!$pmask) - $pmask = 32; + if (!$pmask) { + if (is_ipaddrv6($padr)) + $pmask = 128; + else + $pmask = 32; + } } if (isset($adr['not'])) @@ -686,8 +690,13 @@ function pconfig_to_address(&$adr, $padr, $pmask, $pnot=false, $pbeginport=0, $p $adr['network'] = $padr; else { $adr['address'] = $padr; - if ($pmask != 32) - $adr['address'] .= "/" . $pmask; + if (is_ipaddrv6($padr)) { + if ($pmask != 128) + $adr['address'] .= "/" . $pmask; + } else { + if ($pmask != 32) + $adr['address'] .= "/" . $pmask; + } } if ($pnot) |