/** * Should only be called from a CentralStore or give unpredictable results * @param string $objectName * @param ReferenceableObject $ref * @param bool $nested * @param string $type * @return Address|AddressGroup|null */ public function find($objectName, $ref = null, $nested = true, $type = '') { $f = null; if (isset($this->all[$objectName])) { $this->all[$objectName]->addReference($ref); if ($type == 'tmp') { if ($this->all[$objectName]->isTmpAddr()) { return $this->all[$objectName]; } return null; } return $this->all[$objectName]; } if ($nested && isset($this->panoramaShared)) { $f = $this->panoramaShared->find($objectName, $ref, false, $type); if (!is_null($f)) { return $f; } } else { if ($nested && isset($this->panoramaDG)) { $f = $this->panoramaDG->find($objectName, $ref, false, $type); if (!is_null($f)) { return $f; } } } if ($nested && $this->parentCentralStore) { $f = $this->parentCentralStore->find($objectName, $ref, $nested, $type); } return $f; }
public function removeReference($object) { $this->super_removeReference($object); // adding extra cleaning if ($this->isTmpAddr() && $this->countReferences() == 0 && $this->owner !== null) { $this->owner->remove($this); } }
public function display_statistics() { print "Statistics for DG '" . PH::boldText($this->name) . "'\n"; print "- {$this->securityRules->countPreRules()} / {$this->securityRules->countPostRules()} pre/post SecRules\n"; print "- {$this->natRules->countPreRules()} / {$this->natRules->countPostRules()} pre/post NatRules\n"; print "- {$this->addressStore->countAddresses()} / {$this->addressStore->countAddressGroups()} / {$this->addressStore->countTmpAddresses()} address/group/tmp/total objects\n"; print "- {$this->serviceStore->countServices()} / {$this->serviceStore->countServiceGroups()} / {$this->serviceStore->countTmpServices()} service/group/tmp/total objects\n"; print "- {$this->tagStore->count()} tags. {$this->tagStore->countUnused()} unused\n"; }
public function display_statistics() { $gpreSecRules = $this->securityRules->countPreRules(); $gpreNatRules = $this->natRules->countPreRules(); $gpreDecryptRules = $this->decryptionRules->countPreRules(); $gpostSecRules = $this->securityRules->countPostRules(); $gpostNatRules = $this->natRules->countPostRules(); $gpostDecryptRules = $this->decryptionRules->countPostRules(); $gnservices = $this->serviceStore->countServices(); $gnservicesUnused = $this->serviceStore->countUnusedServices(); $gnserviceGs = $this->serviceStore->countServiceGroups(); $gnserviceGsUnused = $this->serviceStore->countUnusedServiceGroups(); $gnTmpServices = $this->serviceStore->countTmpServices(); $gnaddresss = $this->addressStore->countAddresses(); $gnaddresssUnused = $this->addressStore->countUnusedAddresses(); $gnaddressGs = $this->addressStore->countAddressGroups(); $gnaddressGsUnused = $this->addressStore->countUnusedAddressGroups(); $gnTmpAddresses = $this->addressStore->countTmpAddresses(); foreach ($this->deviceGroups as $cur) { $gpreSecRules += $cur->securityRules->countPreRules(); $gpreNatRules += $cur->natRules->countPreRules(); $gpreDecryptRules += $cur->decryptionRules->countPreRules(); $gpostSecRules += $cur->securityRules->countPostRules(); $gpostNatRules += $cur->natRules->countPostRules(); $gpostDecryptRules += $cur->decryptionRules->countPostRules(); $gnservices += $cur->serviceStore->countServices(); $gnservicesUnused += $cur->serviceStore->countUnusedServices(); $gnserviceGs += $cur->serviceStore->countServiceGroups(); $gnserviceGsUnused += $cur->serviceStore->countUnusedServiceGroups(); $gnTmpServices += $cur->serviceStore->countTmpServices(); $gnaddresss += $cur->addressStore->countAddresses(); $gnaddresssUnused += $cur->addressStore->countUnusedAddresses(); $gnaddressGs += $cur->addressStore->countAddressGroups(); $gnaddressGsUnused += $cur->addressStore->countUnusedAddressGroups(); $gnTmpAddresses += $cur->addressStore->countTmpAddresses(); } print "Statistics for PanoramaConf '" . $this->name . "'\n"; print "- " . $this->securityRules->countPreRules() . " (" . $gpreSecRules . ") pre-SecRules\n"; print "- " . $this->securityRules->countPostRules() . " (" . $gpostSecRules . ") post-SecRules\n"; print "- " . $this->natRules->countPreRules() . " (" . $gpreNatRules . ") pre-NatRules\n"; print "- " . $this->natRules->countPostRules() . " (" . $gpostNatRules . ") post-NatRules\n"; print "- " . $this->decryptionRules->countPreRules() . " (" . $gpreDecryptRules . ") pre-NatRules\n"; print "- " . $this->decryptionRules->countPostRules() . " (" . $gpostDecryptRules . ") post-NatRules\n"; print "- " . $this->addressStore->countAddresses() . " (" . $gnaddresss . ") address objects. {$gnaddresssUnused} unused\n"; print "- " . $this->addressStore->countAddressGroups() . " (" . $gnaddressGs . ") address groups. {$gnaddressGsUnused} unused\n"; print "- " . $this->serviceStore->countServices() . " (" . $gnservices . ") service objects. {$gnservicesUnused} unused\n"; print "- " . $this->serviceStore->countServiceGroups() . " (" . $gnserviceGs . ") service groups. {$gnserviceGsUnused} unused\n"; print "- " . $this->addressStore->countTmpAddresses() . " (" . $gnTmpAddresses . ") temporary address objects\n"; print "- " . $this->serviceStore->countTmpServices() . " (" . $gnTmpServices . ") temporary service objects\n"; print "- " . $this->zoneStore->count() . " zones\n"; print "- " . $this->tagStore->count() . " tags\n"; }
public function display_statistics() { print "Statistics for VSYS '" . $this->name . "'\n"; print "- " . $this->securityRules->count() . " security rules\n"; print "- " . $this->natRules->count() . " nat rules\n"; print "- " . $this->decryptionRules->count() . " decryption rules\n"; print "- " . $this->addressStore->countAddresses() . " address objects\n"; print "- " . $this->addressStore->countAddressGroups() . " address groups\n"; print "- " . $this->serviceStore->countServices() . " service objects\n"; print "- " . $this->serviceStore->countServiceGroups() . " service groups\n"; print "- " . $this->addressStore->countTmpAddresses() . " temporary address objects\n"; print "- " . $this->serviceStore->countTmpServices() . " temporary service objects\n"; print "- " . $this->tagStore->count() . " tags. " . $this->tagStore->countUnused() . " unused\n"; print "- " . $this->zoneStore->count() . " zones.\n"; print "- " . $this->appStore->count() . " apps.\n"; }
public function display_statistics() { $numSecRules = 0; $numNatRules = 0; $numDecryptRules = 0; $gnservices = $this->serviceStore->countServices(); $gnservicesUnused = $this->serviceStore->countUnusedServices(); $gnserviceGs = $this->serviceStore->countServiceGroups(); $gnserviceGsUnused = $this->serviceStore->countUnusedServiceGroups(); $gnTmpServices = $this->serviceStore->countTmpServices(); $gnaddresss = $this->addressStore->countAddresses(); $gnaddresssUnused = $this->addressStore->countUnusedAddresses(); $gnaddressGs = $this->addressStore->countAddressGroups(); $gnaddressGsUnused = $this->addressStore->countUnusedAddressGroups(); $gnTmpAddresses = $this->addressStore->countTmpAddresses(); $numInterfaces = $this->network->ipsecTunnelStore->count() + $this->network->ethernetIfStore->count(); $numSubInterfaces = $this->network->ethernetIfStore->countSubInterfaces(); foreach ($this->virtualSystems as $vsys) { $numSecRules += $vsys->securityRules->count(); $numNatRules += $vsys->natRules->count(); $numDecryptRules += $vsys->decryptionRules->count(); $gnservices += $vsys->serviceStore->countServices(); $gnservicesUnused += $vsys->serviceStore->countUnusedServices(); $gnserviceGs += $vsys->serviceStore->countServiceGroups(); $gnserviceGsUnused += $vsys->serviceStore->countUnusedServiceGroups(); $gnTmpServices += $vsys->serviceStore->countTmpServices(); $gnaddresss += $vsys->addressStore->countAddresses(); $gnaddresssUnused += $vsys->addressStore->countUnusedAddresses(); $gnaddressGs += $vsys->addressStore->countAddressGroups(); $gnaddressGsUnused += $vsys->addressStore->countUnusedAddressGroups(); $gnTmpAddresses += $vsys->addressStore->countTmpAddresses(); } print "Statistics for PANConf '" . $this->name . "'\n"; print "- " . $numSecRules . " Security Rules\n"; print "- " . $numNatRules . " Nat Rules\n"; print "- " . $numDecryptRules . " Deryption Rules\n"; print "- " . $this->addressStore->countAddresses() . " (" . $gnaddresss . ") address objects. {$gnaddresssUnused} unused\n"; print "- " . $this->addressStore->countAddressGroups() . " (" . $gnaddressGs . ") address groups. {$gnaddressGsUnused} unused\n"; print "- " . $this->serviceStore->countServices() . " (" . $gnservices . ") service objects. {$gnservicesUnused} unused\n"; print "- " . $this->serviceStore->countServiceGroups() . " (" . $gnserviceGs . ") service groups. {$gnserviceGsUnused} unused\n"; print "- " . $this->addressStore->countTmpAddresses() . " (" . $gnTmpAddresses . ") temporary address objects\n"; print "- " . $this->serviceStore->countTmpServices() . " (" . $gnTmpServices . ") temporary service objects\n"; //print "- ".$this->zoneStore->count()." zones\n"; print "- " . $this->tagStore->count() . " tags\n"; print "- {$numInterfaces} interfaces (Ethernet:{$this->network->ethernetIfStore->count()})\n"; print "- {$numSubInterfaces} sub-interfaces (Ethernet:{$this->network->ethernetIfStore->countSubInterfaces()})\n"; }
/** * should only be called from a Rule constructor * @ignore */ public function load_from_domxml($xml) { //print "started to extract '".$this->toString()."' from xml\n"; $this->xmlroot = $xml; $i = 0; foreach ($xml->childNodes as $node) { if ($node->nodeType != 1) { continue; } if ($i == 0 && strtolower($node->textContent) == 'any') { return; } if (strlen($node->textContent) < 1) { derr('this container has members with empty name!', $node); } $f = $this->parentCentralStore->findOrCreate($node->textContent, $this); $this->o[] = $f; $i++; } }
public function API_delete() { return $this->owner->API_remove($this); }