private void parseAdminIPs()

in activeio-core/src/main/java/org/apache/activeio/xnet/hba/ServiceAccessController.java [77:103]


    private void parseAdminIPs(Properties props) throws ServiceException {
        LinkedList ipAddressMasksList = new LinkedList();

        try {
            InetAddress[] localIps = InetAddress.getAllByName("localhost");
            for (int i = 0; i < localIps.length; i++) {
                if (localIps[i] instanceof Inet4Address) {
                    ipAddressMasksList.add(new ExactIPAddressPermission(localIps[i].getAddress()));
                } else {
                    ipAddressMasksList.add(new ExactIPv6AddressPermission(localIps[i].getAddress()));
                }
            }
        } catch (UnknownHostException e) {
            throw new ServiceException("Could not get localhost inet address", e);
        }

        String ipString = props.getProperty("only_from");
        if (ipString != null) {
            StringTokenizer st = new StringTokenizer(ipString, " ");
            while (st.hasMoreTokens()) {
                String mask = st.nextToken();
                ipAddressMasksList.add(IPAddressPermissionFactory.getIPAddressMask(mask));
            }
        }

        allowHosts = (IPAddressPermission[]) ipAddressMasksList.toArray(new IPAddressPermission[ipAddressMasksList.size()]);
    }