public function isValid($value, $context = array()) { if (!isset($context['network'])) { $this->_error(self::NOT_IP_ADDRESS); return false; } $network = $context['network']; $maskPrefix = explode("/", $value); if (count($maskPrefix) == 2) { $value = $maskPrefix[1]; } $network_bytearray = App_Util_Ip::dtr_pton($network); if (is_numeric($value)) { if ($value <= 128 && $value > 0) { if (!filter_var($network, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { $this->_error(self::INCOMPATIBLE_IP); return false; } $mask_bytearray = App_Util_Ip::dtr_pton(App_Util_Ip::long2ipv6($value)); if (($network_bytearray & $mask_bytearray) != $network_bytearray) { $this->_error(self::INCOMPATIBLE_NETWORK); return false; } return true; } else { $this->_error(self::INVALID_IPV6_PREFFIX); return false; } } if (parent::isValid($value)) { if (!filter_var($network, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { $this->_error(self::INCOMPATIBLE_IP); return false; } $mask_bytearray = App_Util_Ip::dtr_pton($value); if (($network_bytearray & $mask_bytearray) != $network_bytearray) { $this->_error(self::INCOMPATIBLE_NETWORK); return false; } return true; } return false; }
public function isValid($value) { $this->_setValue($value); try { if ($this->_version == App_Util_Ip::v4) { $host = ip2long($value); } else { $host = App_Util_Ip::dtr_pton($value); } } catch (Exception $e) { $this->_error(self::INVALID_VALUE); return false; } $check1 = $host & $this->_netmask; $check2 = $this->_subnet & $this->_netmask; if ($check1 == $check2) { return true; } $this->_error(self::NOT_ON_SUBNET); return false; }
/** * Lists all sims matching a criteria */ public function indexAction() { $dumpSim = new SimModel(); $this->_helper->allowed('list', $dumpSim); $filters = $this->_getFilterParams(); if (isset($filters['subscriptionID'])) { $filters['id'] = $filters['subscriptionID']; } $this->_checkFilterParams($filters, SimFilterFields::getWhiteList()); if (isset($filters[SimFilterFields::CURRENT_IP]) && App_Util_Ip::getIpVersion($filters[SimFilterFields::CURRENT_IP]) == App_Util_Ip::v6) { $filters[SimFilterFields::CURRENT_IP] = App_Util_Ip::ipv6Expand($filters[SimFilterFields::CURRENT_IP]); } if (isset($filters[SimFilterFields::STATIC_IP]) && App_Util_Ip::getIpVersion($filters[SimFilterFields::STATIC_IP]) == App_Util_Ip::v6) { $filters[SimFilterFields::STATIC_IP] = App_Util_Ip::ipv6Expand($filters[SimFilterFields::STATIC_IP]); } $filterList = $this->_simSrv->buildFilterList($filters); $filterHelper = $this->_helper->getHelper('filterNotAllowedFilters'); $filterHelper->setThrowExOnNotAllowed(true); $filterHelper->direct('filter_by', $filterList); $params = $this->_getPaginatorParams(); $simList = $this->_simSrv->listAll($filterList, $params, null, \App::getOrgUserLogged()); if ($simList instanceof Application\Model\Stream\StreamResultModel) { $this->view->subscriptionData = array(); $simList->getIterator()->addPlugin(new Stream\Plugin\Sim\Permissions()); foreach ($simList as $value) { $subscriptionData = $value->exportData(); $subscriptionData = $this->_mapToSdp($subscriptionData); // Make the data available on the view $this->view->subscriptionData[] = $subscriptionData; } //$this->view->count = $simList->getCount(); } else { if ($simList instanceof Application\Model\GroupListModel) { $groups = $simList->getGroups(); $this->view->data = $simList; } } }
/** * @expectedException Application\Exceptions\InvalidArgumentException */ public function testCompressV6Fail() { $ip = "ewewwwe"; App_Util_Ip::ipv6Compress($ip); }
/** * Lists all sims matching a criteria */ public function indexAction() { $dumpSim = new SimModel(); $this->_helper->allowed('list', $dumpSim); $filters = $this->_mapToFilter($this->_getFilterParams()); foreach (array(SimFilterFields::PROVISION_DATE, SimFilterFields::ACTIVATION_DATE) as $key) { if (isset($filters[$key])) { $filters[$key] = "!<" . $filters[$key]; } } try { if (isset($filters[SimFilterFields::CURRENT_IP]) && App_Util_Ip::getIpVersion($filters[SimFilterFields::CURRENT_IP]) == App_Util_Ip::v6) { $filters[SimFilterFields::CURRENT_IP] = App_Util_Ip::ipv6Expand($filters[SimFilterFields::CURRENT_IP]); } } catch (InvalidArgumentException $ex) { throw new InvalidArgumentException("Invalid parameter value: ip."); } try { if (isset($filters[SimFilterFields::STATIC_IP]) && App_Util_Ip::getIpVersion($filters[SimFilterFields::STATIC_IP]) == App_Util_Ip::v6) { $filters[SimFilterFields::STATIC_IP] = App_Util_Ip::ipv6Expand($filters[SimFilterFields::STATIC_IP]); } } catch (InvalidArgumentException $ex) { throw new InvalidArgumentException("Invalid parameter value: staticIp."); } $this->_checkFilterParams($filters, SimFilterFields::getWhiteList()); $filterList = $this->_simSrv->buildFilterList($filters); $filterHelper = $this->_helper->getHelper('filterNotAllowedFilters'); $filterHelper->setThrowExOnNotAllowed(true); $filterHelper->direct('filter_by', $filterList); $params = $this->_getPaginatorParams(); $simList = $this->_simSrv->listAll($filterList, $params, null, \App::getOrgUserLogged()); if ($simList instanceof Application\Model\Stream\StreamResultModel) { $this->view->subscriptionData = array(); $simList->getIterator()->addPlugin(new Stream\Plugin\Sim\Permissions()); foreach ($simList as $value) { $subscriptionData = $value->exportData(); $subscriptionData = $this->_mapToSdp($subscriptionData); // Make the data available on the view $this->view->subscriptionData[] = $subscriptionData; } //$this->view->count = $simList->getCount(); if (empty($this->view->subscriptionData)) { $this->getResponse()->setHttpResponseCode(204); $this->_helper->viewRenderer->setNoRender(TRUE); } } }