in services/ec2/drivers/ec2_sg.class.php [26:65]
function checkPortOpenAll($ruleName, $inProtocol, $inPort){
if($inProtocol == 'both'){
$protocolArr = ['tcp', 'eudp'];
}else if($inProtocol == 'all'){
$protocolArr = [-1];
}else{
$protocolArr = [$inProtocol];
}
$group = $this->sg;
foreach($group['IpPermissions'] as $perm){
foreach($protocolArr as $protocol){
if($perm['IpProtocol'] == $protocol){
if($protocol == -1){
foreach($perm['IpRanges'] as $range){
if($range['CidrIp'] == '0.0.0.0/0'){
$this->results[$ruleName] = [-1, $range['CidrIp']];
return;
}
}
}else{
foreach($inPort as $port){
if($this->hasPort($port, $perm['FromPort'], $perm['ToPort'])){
foreach($perm['IpRanges'] as $range){
if($range['CidrIp'] == '0.0.0.0/0'){
$this->results[$ruleName] = [-1, $range['CidrIp']];
return;
}
}
}
}
}
}
}
}
$this->results[$ruleName] = [1];
return;
}