Gateway Patchpack #1

-[util.inc] is_linklocal($ipaddr) is now fully LL aware for both ipv4 and ipv6;
-[util.inc] Added is_valid_iface_ipaddrv4($ipaddr) and is_valid_iface_ipaddrv6($ipaddr) to check if given $ipaddr can be actually used on interface;
-[filter.inc] filter_generate_user_rule($rule). Add missing gettext;
-[gwlb.inc] Don't create dynamic gateways for ifaces without IP address;
-[gwlb.inc] Don't monitor dynamic gateway with an invalid IP address by default;
To do this, you need to know the netmask somehow (have the caller give the netmask/CIDR as well as IPv4 address). e.g. I have LAN that have subnet like 10.20.16.0/22 - the bottom address is 10.20.16.0, top address is 10.20.19.255. I give out chunks of this with a DHCP pool, and static map things into bits of it so I can easily have rules that let different chunks of the LAN subnet get different access... e.g. 10.20.18.0-255 might be for private phones/tablets... - in this case 10.20.18.0 and 10.20.18.255 are perfectly useable addresses. Or I could set the LAN IP of pfSense to 10.20.16.255 without problem.