Project

General

Profile

« Previous | Next » 

Revision abcdca83

Added by Ermal LUÇI about 14 years ago

Fixes #1386. Correct unlooping nested port aliases.

View differences:

etc/inc/filter.inc
532 532
	/* Setup pf groups */
533 533
	if(isset($config['aliases']['alias'])) {
534 534
		foreach ($config['aliases']['alias'] as $aliased) {
535
			$extraalias = "";
535
			$extralias = "";
536 536
			/* 
537 537
			 * XXX: i am not sure what this does so i am commenting it out for now, because as it is
538 538
			 * its quite dangerous!
......
542 542
			$aliasnesting = array();
543 543
			$aliasaddrnesting = array();
544 544
			$addrlist = filter_generate_nested_alias($aliased['name'], $aliased['address'], $aliasnesting, $aliasaddrnesting);
545
			if($aliased['type'] == "host" || $aliased['type'] == "network" || $aliased['type'] == "url") {
545
			switch ($aliased['type']) {
546
			case "host":
547
			case "network":
548
			case "url":
546 549
				$tableaddrs = "{$addrlist}{$extralias}";
547 550
				if(empty($tableaddrs))
548 551
					$aliases .= "table <{$aliased['name']}> persist\n";
......
550 553
					$aliases .= "table <{$aliased['name']}> { {$addrlist}{$extralias} } \n";
551 554

  
552 555
				$aliases .= "{$aliased['name']} = \"<{$aliased['name']}>\"\n";
553
			} else if($aliased['type'] == "openvpn") {
556
				break;
557
			case "openvpn":
554 558
				$openvpncfg = array();
555 559
				if($config['openvpn']['user']) {
556 560
					/* XXX: Check if we have a correct ip? */
......
570 574
				}
571 575
				$aliases .= "table <{$aliased['name']}> { {$newaddress}{$extralias} } \n";
572 576
				$aliases .= "{$aliased['name']} = \"<{$aliased['name']}>\"\n";
573
			} elseif($aliased['type'] == "urltable") {
577
				break;
578
			case "urltable":
574 579
				$urlfn = alias_expand_urltable($aliased['name']);
575 580
				if ($urlfn) {
576 581
					$aliases .= "table <{$aliased['name']}> persist file \"{$urlfn}\"\n";
577 582
					$aliases .= "{$aliased['name']} = \"<{$aliased['name']}>\"\n";
578 583
				}
579
			} else 
584
				break;
585
			case "port":
586
				$aliases .= "{$aliased['name']} = \"{ {$addrlist} }\"\n";
587
				break;
588
			default:
580 589
				$aliases .= "{$aliased['name']} = \"{ {$aliased['address']}{$extralias} }\"\n";
590
				break;
591
			}
581 592
		}
582 593
	}
583 594
	$result = "{$alias} \n";

Also available in: Unified diff