function checkPortOpenAll()

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;
    }