Project

General

Profile

« Previous | Next » 

Revision 7fbe16f7

Added by Jim Pingle almost 10 years ago

Use an alternate method to find VIP targets that should be allowed for Captive Portal. Fixes #4903

View differences:

etc/inc/captiveportal.inc
500 500
		if (!empty($tmpif)) {
501 501
			$cpipm = get_interface_ip($cpifgrp);
502 502
			if (is_ipaddr($cpipm)) {
503
				$carpif = link_ip_to_carp_interface($cpipm);
504
				if (!empty($carpif)) {
505
					$carpsif = explode(" ", $carpif);
506
					foreach ($carpsif as $cpcarp) {
507
						mwexec("/sbin/ipfw zone {$cpzoneid} madd {$cpcarp}", true);
508
						$carpip = find_interface_ip($cpcarp);
509
						if (is_ipaddr($carpip))
510
							$cpips[] = $carpip;
503
				$cpips[] = $cpipm;
504
				if (!is_array($config['virtualip']) || !is_array($config['virtualip']['vip'])) {
505
					continue;
506
				}
507
				foreach ($config['virtualip']['vip'] as $vip) {
508
					if (($vip['interface'] == $cpifgrp) && (($vip['mode'] == "carp") || ($vip['mode'] == "ipalias"))) {
509
						$cpips[] = $vip['subnet'];
511 510
					}
512 511
				}
513
				$cpips[] = $cpipm;
514 512
			}
515 513
			mwexec("/sbin/ipfw zone {$cpzoneid} madd {$tmpif}", true);
516 514
		}
etc/inc/filter.inc
2955 2955
					$cpiflist[] = "{$tmpif}";
2956 2956
					$cpipm = get_interface_ip($cpifgrp);
2957 2957
					if(is_ipaddr($cpipm)) {
2958
						$carpif = link_ip_to_carp_interface($cpipm);
2959
						if (!empty($carpif)) {
2960
							$cpiflist[] = $carpif;
2961
							$carpsif = explode(" ", $carpif);
2962
							foreach ($carpsif as $cpcarp) {
2963
								$carpip = find_interface_ip($cpcarp);
2964
								if (is_ipaddr($carpip))
2965
									$cpiplist[] = $carpip;
2958
						$cpiplist[] = $cpipm;
2959
						if (!is_array($config['virtualip']) || !is_array($config['virtualip']['vip'])) {
2960
							continue;
2961
						}
2962
						foreach ($config['virtualip']['vip'] as $vip) {
2963
							if (($vip['interface'] == $cpifgrp) && (($vip['mode'] == "carp") || ($vip['mode'] == "ipalias"))) {
2964
								$cpiplist[] = $vip['subnet'];
2966 2965
							}
2967 2966
						}
2968
						$cpiplist[] = $cpipm;
2969 2967
					}
2970 2968
				}
2971 2969
			}

Also available in: Unified diff