Include all interface IPs and VIPs in cpip table. #13391
The cpzoneid_<zone>_cpips tables only include the IP and VIPS of the final interface searched, causing captive portal zone associated with multiple interfaces to work improperly.
The revision prior to this erroneously reassigned $cpiplist at each iteration over the interface list rather than appending it. It also had no sanitizing to keep out additional whitespace. This commit rectifies the situation by building $cpiplist as an array, iterating each interface and merging the space separated list of IP and VIP addresses for that interface which is filtered for empty string values. This array is then rejoined into a space separated list for output into the table definition.
Include all interface IPs and VIPs in cpip table. #13391
The cpzoneid_<zone>_cpips tables only include the IP and VIPS of the final
interface searched, causing captive portal zone associated with multiple
interfaces to work improperly.
The revision prior to this erroneously reassigned $cpiplist at each iteration
over the interface list rather than appending it. It also had no sanitizing to
keep out additional whitespace. This commit rectifies the situation by building
$cpiplist as an array, iterating each interface and merging the space separated
list of IP and VIP addresses for that interface which is filtered for empty
string values. This array is then rejoined into a space separated list for
output into the table definition.