Java Code Examples for com.google.common.net.InetAddresses

The following are top voted examples for showing how to use com.google.common.net.InetAddresses. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: hadoop-oss   File: NuCypherExtClient.java   Source Code and License 6 votes vote down vote up
/**
 * Return the socket addresses to use with each configured
 * local interface. Local interfaces may be specified by IP
 * address, IP address range using CIDR notation, interface
 * name (e.g. eth0) or sub-interface name (e.g. eth0:0).
 * The socket addresses consist of the IPs for the interfaces
 * and the ephemeral port (port 0). If an IP, IP range, or
 * interface name matches an interface with sub-interfaces
 * only the IP of the interface is used. Sub-interfaces can
 * be used by specifying them explicitly (by IP or name).
 *
 * @return SocketAddresses for the configured local interfaces,
 *    or an empty array if none are configured
 * @throws UnknownHostException if a given interface name is invalid
 */
private static SocketAddress[] getLocalInterfaceAddrs(
    String interfaceNames[]) throws UnknownHostException {
  List<SocketAddress> localAddrs = new ArrayList<>();
  for (String interfaceName : interfaceNames) {
    if (InetAddresses.isInetAddress(interfaceName)) {
      localAddrs.add(new InetSocketAddress(interfaceName, 0));
    } else if (NetUtils.isValidSubnet(interfaceName)) {
      for (InetAddress addr : NetUtils.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(addr, 0));
      }
    } else {
      for (String ip : DNS.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(ip, 0));
      }
    }
  }
  return localAddrs.toArray(new SocketAddress[localAddrs.size()]);
}
 
Example 2
Project: open-rmbt   File: Helperfunctions.java   Source Code and License 6 votes vote down vote up
/**
 * Anonymize an IP address
 * @param inetAddress the IP address to be anonymized
 * @param replaceLastOctetWith the String which shall replace the last octet in IPv4
 * @return
 */
public static String anonymizeIp(final InetAddress inetAddress, String replaceLastOctetWith) {
    try
    {
        final byte[] address = inetAddress.getAddress();
        address[address.length - 1] = 0;
        if (address.length > 4) // ipv6
        {
            for (int i = 6; i < address.length; i++)
                address[i] = 0;
        }

        String result = InetAddresses.toAddrString(InetAddress.getByAddress(address));
        if (address.length == 4)
            result = result.replaceFirst(".0$", replaceLastOctetWith);
        return result;
    }
    catch (final Exception e)
    {
        e.printStackTrace();
        return null;
    }
}
 
Example 3
Project: creacoinj   File: VersionMessage.java   Source Code and License 6 votes vote down vote up
public VersionMessage(NetworkParameters params, int newBestHeight) {
    super(params);
    clientVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.CURRENT);
    localServices = 0;
    time = System.currentTimeMillis() / 1000;
    // Note that the Bitcoin Core doesn't do anything with these, and finding out your own external IP address
    // is kind of tricky anyway, so we just put nonsense here for now.
    InetAddress localhost = InetAddresses.forString("127.0.0.1");
    myAddr = new PeerAddress(params, localhost, params.getPort(), 0, BigInteger.ZERO);
    theirAddr = new PeerAddress(params, localhost, params.getPort(), 0, BigInteger.ZERO);
    subVer = LIBRARY_SUBVER;
    bestHeight = newBestHeight;
    relayTxesBeforeFilter = true;

    length = 85;
    if (protocolVersion > 31402)
        length += 8;
    length += VarInt.sizeOf(subVer.length()) + subVer.length();
}
 
Example 4
Project: Elasticsearch   File: IpFieldMapper.java   Source Code and License 6 votes vote down vote up
public static long ipToLong(String ip) {
    try {
        if (!InetAddresses.isInetAddress(ip)) {
            throw new IllegalArgumentException("failed to parse ip [" + ip + "], not a valid ip address");
        }
        String[] octets = pattern.split(ip);
        if (octets.length != 4) {
            throw new IllegalArgumentException("failed to parse ip [" + ip + "], not a valid ipv4 address (4 dots)");
        }
        return (Long.parseLong(octets[0]) << 24) + (Integer.parseInt(octets[1]) << 16) +
                (Integer.parseInt(octets[2]) << 8) + Integer.parseInt(octets[3]);
    } catch (Exception e) {
        if (e instanceof IllegalArgumentException) {
            throw (IllegalArgumentException) e;
        }
        throw new IllegalArgumentException("failed to parse ip [" + ip + "]", e);
    }
}
 
Example 5
Project: ios-device-control   File: OpenUrlApp.java   Source Code and License 6 votes vote down vote up
@Override
public CheckWifiResult checkWifi(IosDevice device) throws IosDeviceException {
  String output = runAppRobust(device, Duration.ofSeconds(15), "--check_wifi");
  Matcher ipMatcher = CHECK_WIFI_IP_ADDRESS_PATTERN.matcher(output);
  Matcher ssidMatcher = CHECK_WIFI_SSID_PATTERN.matcher(output);

  Optional<WifiConnection> connection;
  if (ipMatcher.find() && ssidMatcher.find()) {
    InetAddress ip = InetAddresses.forString(ipMatcher.group(1));
    String ssid = ssidMatcher.group(1);
    connection = Optional.of(new AutoValue_AppResult_WifiConnection(ip, ssid));
  } else {
    connection = Optional.empty();
  }

  return new CheckWifiResult(output, connection);
}
 
Example 6
Project: url-classifier   File: AuthorityClassifierBuilderTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testOneIpv4() {
  runCommonTestsWith(
      AuthorityClassifiers.builder()
      .host(InetAddresses.forUriString("127.0.0.1"))
      .build(),
      // Localhost does not show here because we do not assume
      // localhost == 127.0.0.1 or resolve hostnames.
      "file://[email protected]/bar"
      );
  runCommonTestsWith(
      AuthorityClassifiers.builder()
      .host((Inet4Address) InetAddresses.forUriString("127.0.0.1"))
      .build(),
      "file://[email protected]/bar"
      );
}
 
Example 7
Project: hadoop   File: DFSClient.java   Source Code and License 6 votes vote down vote up
/**
 * Return the socket addresses to use with each configured
 * local interface. Local interfaces may be specified by IP
 * address, IP address range using CIDR notation, interface
 * name (e.g. eth0) or sub-interface name (e.g. eth0:0).
 * The socket addresses consist of the IPs for the interfaces
 * and the ephemeral port (port 0). If an IP, IP range, or
 * interface name matches an interface with sub-interfaces
 * only the IP of the interface is used. Sub-interfaces can
 * be used by specifying them explicitly (by IP or name).
 * 
 * @return SocketAddresses for the configured local interfaces,
 *    or an empty array if none are configured
 * @throws UnknownHostException if a given interface name is invalid
 */
private static SocketAddress[] getLocalInterfaceAddrs(
    String interfaceNames[]) throws UnknownHostException {
  List<SocketAddress> localAddrs = new ArrayList<SocketAddress>();
  for (String interfaceName : interfaceNames) {
    if (InetAddresses.isInetAddress(interfaceName)) {
      localAddrs.add(new InetSocketAddress(interfaceName, 0));
    } else if (NetUtils.isValidSubnet(interfaceName)) {
      for (InetAddress addr : NetUtils.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(addr, 0));
      }
    } else {
      for (String ip : DNS.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(ip, 0));
      }
    }
  }
  return localAddrs.toArray(new SocketAddress[localAddrs.size()]);
}
 
Example 8
Project: redirector   File: IpAddressValidator.java   Source Code and License 6 votes vote down vote up
/**
 * Validates IP string, both IPV6 and IPV4
 * Also accounts for CIDR notation
 * Examples:
 * fe80::3ab1:dbff:fed1:c62d/64
 * 2001:db8::
 * 192.168.0.1
 * 2001:db8::/116
 * 192.168.0.0/32
 * ::/0
 *
 * @param address
 * @return
 */
public static boolean isValidIpString (String address) {
    int slashIndex = address.lastIndexOf('/');
    String ipAddressPart = address;
    Integer subnetPart;
    if (slashIndex != -1) {
        ipAddressPart = address.substring(0, slashIndex);
        try {
            subnetPart = Integer.parseInt(address.substring(slashIndex + 1, address.length()));
        } catch (NumberFormatException nfe) {
            return false;
        }
        if (subnetPart < 0) {
            return false;
        }
        if (subnetPart > 128) {
            return false;
        }
        if (subnetPart > 32 && ipAddressPart.contains(".")) {
            return false;
        }
    }
    return InetAddresses.isInetAddress(ipAddressPart);
}
 
Example 9
Project: athena   File: Ip6AddressTest.java   Source Code and License 6 votes vote down vote up
/**
 * Tests valueOf() converter for IPv6 InetAddress.
 */
@Test
public void testValueOfInetAddressIPv6() {
    Ip6Address ipAddress;
    InetAddress inetAddress;

    inetAddress =
        InetAddresses.forString("1111:2222:3333:4444:5555:6666:7777:8888");
    ipAddress = Ip6Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(),
               is("1111:2222:3333:4444:5555:6666:7777:8888"));

    inetAddress = InetAddresses.forString("::");
    ipAddress = Ip6Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("::"));

    inetAddress =
        InetAddresses.forString("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");
    ipAddress = Ip6Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(),
               is("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
}
 
Example 10
Project: athena   File: IpAddressTest.java   Source Code and License 6 votes vote down vote up
/**
 * Tests valueOf() converter for IPv4 InetAddress.
 */
@Test
public void testValueOfInetAddressIPv4() {
    IpAddress ipAddress;
    InetAddress inetAddress;

    inetAddress = InetAddresses.forString("1.2.3.4");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("1.2.3.4"));

    inetAddress = InetAddresses.forString("0.0.0.0");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("0.0.0.0"));

    inetAddress = InetAddresses.forString("255.255.255.255");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("255.255.255.255"));
}
 
Example 11
Project: athena   File: IpAddressTest.java   Source Code and License 6 votes vote down vote up
/**
 * Tests valueOf() converter for IPv6 InetAddress.
 */
@Test
public void testValueOfInetAddressIPv6() {
    IpAddress ipAddress;
    InetAddress inetAddress;

    inetAddress =
        InetAddresses.forString("1111:2222:3333:4444:5555:6666:7777:8888");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(),
               is("1111:2222:3333:4444:5555:6666:7777:8888"));

    inetAddress = InetAddresses.forString("::");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("::"));

    inetAddress =
        InetAddresses.forString("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");
    ipAddress = IpAddress.valueOf(inetAddress);
    assertThat(ipAddress.toString(),
               is("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
}
 
Example 12
Project: athena   File: Ip4AddressTest.java   Source Code and License 6 votes vote down vote up
/**
 * Tests valueOf() converter for IPv4 InetAddress.
 */
@Test
public void testValueOfInetAddressIPv4() {
    Ip4Address ipAddress;
    InetAddress inetAddress;

    inetAddress = InetAddresses.forString("1.2.3.4");
    ipAddress = Ip4Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("1.2.3.4"));

    inetAddress = InetAddresses.forString("0.0.0.0");
    ipAddress = Ip4Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("0.0.0.0"));

    inetAddress = InetAddresses.forString("255.255.255.255");
    ipAddress = Ip4Address.valueOf(inetAddress);
    assertThat(ipAddress.toString(), is("255.255.255.255"));
}
 
Example 13
Project: athena   File: FeatureDatabaseMgmtManager.java   Source Code and License 6 votes vote down vote up
public String getValueFromrequestedObject(Object obj) {
    if (obj instanceof BigInteger) {
        return obj.toString();
    } else if (obj instanceof Integer) {
        return obj.toString();
    } else if (obj instanceof Long) {
        return obj.toString();

    } else if (obj instanceof Date) {
        Long tmp = ((Date) obj).getTime();
        return tmp.toString();

    } else if (obj instanceof InetAddress) {
        Integer addr = InetAddresses.coerceToInteger((InetAddress) obj);
        return addr.toString();
    } else {
        log.warn("input value has something problems");
        return null;
    }
}
 
Example 14
Project: okwallet   File: VersionMessage.java   Source Code and License 6 votes vote down vote up
public VersionMessage(NetworkParameters params, int newBestHeight) {
    super(params);
    clientVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.CURRENT);
    localServices = 0;
    time = System.currentTimeMillis() / 1000;
    // Note that the Bitcoin Core doesn't do anything with these, and finding out your own external IP address
    // is kind of tricky anyway, so we just put nonsense here for now.
    InetAddress localhost = InetAddresses.forString("127.0.0.1");
    myAddr = new PeerAddress(params, localhost, params.getPort(), 0, BigInteger.ZERO);
    theirAddr = new PeerAddress(params, localhost, params.getPort(), 0, BigInteger.ZERO);
    subVer = LIBRARY_SUBVER;
    bestHeight = newBestHeight;
    relayTxesBeforeFilter = true;

    length = 85;
    if (protocolVersion > 31402)
        length += 8;
    length += VarInt.sizeOf(subVer.length()) + subVer.length();
}
 
Example 15
Project: nomulus   File: FullFieldsTestEntityHelper.java   Source Code and License 6 votes vote down vote up
public static HostResource makeHostResource(
    String fqhn, @Nullable String ip1, @Nullable String ip2) {
  HostResource.Builder builder = new HostResource.Builder()
      .setRepoId(generateNewContactHostRoid())
      .setFullyQualifiedHostName(Idn.toASCII(fqhn))
      .setCreationTimeForTest(DateTime.parse("2000-10-08T00:45:00Z"))
      .setPersistedCurrentSponsorClientId("TheRegistrar");
  if ((ip1 != null) || (ip2 != null)) {
    ImmutableSet.Builder<InetAddress> ipBuilder = new ImmutableSet.Builder<>();
    if (ip1 != null) {
      ipBuilder.add(InetAddresses.forString(ip1));
    }
    if (ip2 != null) {
      ipBuilder.add(InetAddresses.forString(ip2));
    }
    builder.setInetAddresses(ipBuilder.build());
  }
  return builder.build();
}
 
Example 16
Project: aliyun-oss-hadoop-fs   File: DFSClient.java   Source Code and License 6 votes vote down vote up
/**
 * Return the socket addresses to use with each configured
 * local interface. Local interfaces may be specified by IP
 * address, IP address range using CIDR notation, interface
 * name (e.g. eth0) or sub-interface name (e.g. eth0:0).
 * The socket addresses consist of the IPs for the interfaces
 * and the ephemeral port (port 0). If an IP, IP range, or
 * interface name matches an interface with sub-interfaces
 * only the IP of the interface is used. Sub-interfaces can
 * be used by specifying them explicitly (by IP or name).
 *
 * @return SocketAddresses for the configured local interfaces,
 *    or an empty array if none are configured
 * @throws UnknownHostException if a given interface name is invalid
 */
private static SocketAddress[] getLocalInterfaceAddrs(
    String interfaceNames[]) throws UnknownHostException {
  List<SocketAddress> localAddrs = new ArrayList<>();
  for (String interfaceName : interfaceNames) {
    if (InetAddresses.isInetAddress(interfaceName)) {
      localAddrs.add(new InetSocketAddress(interfaceName, 0));
    } else if (NetUtils.isValidSubnet(interfaceName)) {
      for (InetAddress addr : NetUtils.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(addr, 0));
      }
    } else {
      for (String ip : DNS.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(ip, 0));
      }
    }
  }
  return localAddrs.toArray(new SocketAddress[localAddrs.size()]);
}
 
Example 17
Project: credhub   File: CertificateGenerationParameters.java   Source Code and License 6 votes vote down vote up
private GeneralNames buildAlternativeNames(CertificateGenerationRequestParameters params) {
  String[] alternativeNamesList = params.getAlternativeNames();
  if (alternativeNamesList == null){
    return null;
  }
  GeneralNamesBuilder builder = new GeneralNamesBuilder();

  for (String name :alternativeNamesList) {
    if (InetAddresses.isInetAddress(name)) {
      builder.addName(new GeneralName(GeneralName.iPAddress, name));
    } else  {
      builder.addName(new GeneralName(GeneralName.dNSName, name));
    }
  }
  return builder.build();
}
 
Example 18
Project: PocketServer   File: Packet.java   Source Code and License 6 votes vote down vote up
protected static void writeAddress(ByteBuf buf, InetSocketAddress address) {
    Preconditions.checkArgument(!address.isUnresolved(), "address is not resolved");
    InetAddress addr = address.getAddress();

    if (addr.getClass() == Inet6Address.class) {
        Inet6Address temp = (Inet6Address) addr;
        try {
            addr = InetAddresses.getEmbeddedIPv4ClientAddress(temp);
        } catch (IllegalArgumentException ex) {
            throw new IllegalArgumentException("address type not supported", ex);
        }
    }

    buf.writeByte(0x04);
    for (byte b : addr.getAddress()) {
        buf.writeByte(~b & 0xFF);
    }
    buf.writeShort(address.getPort());
}
 
Example 19
Project: Java-DB-IP   File: JavaMapDbIpRepositoryImpl.java   Source Code and License 6 votes vote down vote up
/**
 * Lookup GeoEntity for an InetAddress
 * @param inetAddress The InetAddress to be resolved.
 * @return A GeoEntity for an InetAddress
 */
@Override
public GeoEntity get(final InetAddress inetAddress) {
	PreConditions.checkNull(inetAddress, "inetAddress must not be null");
	GeoEntity result = null;
	if(inetAddress instanceof Inet4Address){
		final Integer startIpNum = InetAddresses.coerceToInteger(inetAddress);

		return IPV4_REPOSITORY.floorEntry(startIpNum) == null ? null
				: IPV4_REPOSITORY.floorEntry(startIpNum).getValue() ;
	}
	else{
		final BigInteger startIpBigInt = IPUtils.ipv6ToBigInteger(inetAddress);
		return IPV6_REPOSITORY.floorEntry(startIpBigInt) == null ? null
				: IPV6_REPOSITORY.floorEntry(startIpBigInt).getValue();

	}
}
 
Example 20
Project: Java-DB-IP   File: JavaMapDbIpRepositoryImpl.java   Source Code and License 6 votes vote down vote up
/**
 * Save GeoEntity for an InetAddress
 * @param geoAttributes The attributes to be saved . Contains the attributes that will be needed 
 * as key and value to be put inside the TreeMap.
 */
@Override
public void save(final GeoAttributes geoAttributes) {
	PreConditions.checkNull(geoAttributes, "geoAttributes must not be null");
	final InetAddress startInetAddress = geoAttributes.getStartInetAddress();
	final InetAddress endInetAddress = geoAttributes.getEndInetAddress();
	final GeoEntity geoEntity = geoAttributes.getGeoEntity();

	if(startInetAddress instanceof Inet6Address
			&& endInetAddress instanceof Inet6Address)
	{
		final BigInteger startIpBigInt = IPUtils.ipv6ToBigInteger(startInetAddress);
		IPV6_REPOSITORY.put(startIpBigInt,geoEntity);
	}
	else if (startInetAddress instanceof Inet4Address
			&& endInetAddress instanceof Inet4Address)
	{
		final Integer startIpNum = InetAddresses.coerceToInteger(startInetAddress);
		IPV4_REPOSITORY.put(startIpNum,geoEntity);
	}
	else{
		//Well, this case should never happen. Maybe I'll throw in an exception later.
		logger.warn("This shouldn't ever happen");
	}
}
 
Example 21
Project: big-c   File: DFSClient.java   Source Code and License 6 votes vote down vote up
/**
 * Return the socket addresses to use with each configured
 * local interface. Local interfaces may be specified by IP
 * address, IP address range using CIDR notation, interface
 * name (e.g. eth0) or sub-interface name (e.g. eth0:0).
 * The socket addresses consist of the IPs for the interfaces
 * and the ephemeral port (port 0). If an IP, IP range, or
 * interface name matches an interface with sub-interfaces
 * only the IP of the interface is used. Sub-interfaces can
 * be used by specifying them explicitly (by IP or name).
 * 
 * @return SocketAddresses for the configured local interfaces,
 *    or an empty array if none are configured
 * @throws UnknownHostException if a given interface name is invalid
 */
private static SocketAddress[] getLocalInterfaceAddrs(
    String interfaceNames[]) throws UnknownHostException {
  List<SocketAddress> localAddrs = new ArrayList<SocketAddress>();
  for (String interfaceName : interfaceNames) {
    if (InetAddresses.isInetAddress(interfaceName)) {
      localAddrs.add(new InetSocketAddress(interfaceName, 0));
    } else if (NetUtils.isValidSubnet(interfaceName)) {
      for (InetAddress addr : NetUtils.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(addr, 0));
      }
    } else {
      for (String ip : DNS.getIPs(interfaceName, false)) {
        localAddrs.add(new InetSocketAddress(ip, 0));
      }
    }
  }
  return localAddrs.toArray(new SocketAddress[localAddrs.size()]);
}
 
Example 22
Project: graylog-plugin-pipeline-processor   File: IpAddressConversion.java   Source Code and License 6 votes vote down vote up
@Override
public IpAddress evaluate(FunctionArgs args, EvaluationContext context) {
    final String ipString = String.valueOf(ipParam.required(args, context));

    try {
        final InetAddress inetAddress = InetAddresses.forString(ipString);
        return new IpAddress(inetAddress);
    } catch (IllegalArgumentException e) {
        final Optional<String> defaultValue = defaultParam.optional(args, context);
        if (!defaultValue.isPresent()) {
            return new IpAddress(ANYV4);
        }
        try {
            return new IpAddress(InetAddresses.forString(defaultValue.get()));
        } catch (IllegalFormatException e1) {
            log.warn("Parameter `default` for to_ip() is not a valid IP address: {}", defaultValue.get());
            throw e1;
        }
    }
}
 
Example 23
Project: netvirt   File: OpenFlow13Provider.java   Source Code and License 6 votes vote down vote up
public Flow createEgressClassifierTransportEgressRemoteFlow(NodeId nodeId, long nsp, long outport,
                                                            String firstHopIp) {
    MatchBuilder match = OpenFlow13Utils.getNspMatch(nsp);

    Long ipl = InetAddresses.coerceToInteger(InetAddresses.forString(firstHopIp)) & 0xffffffffL;
    List<Action> actionList = new ArrayList<>();
    actionList.add(OpenFlow13Utils.createActionNxLoadTunIpv4Dst(ipl, actionList.size()));
    actionList.add(OpenFlow13Utils.createActionOutPort("output:" + outport, actionList.size()));

    InstructionsBuilder isb = OpenFlow13Utils.wrapActionsIntoApplyActionsInstruction(actionList);
    String flowIdStr = EGRESS_CLASSIFIER_TPORTEGRESS_FLOW_NAME + nodeId.getValue() + "_" + nsp;

    return OpenFlow13Utils.createFlowBuilder(NwConstants.EGRESS_SFC_CLASSIFIER_EGRESS_TABLE,
        EGRESS_CLASSIFIER_EGRESS_REMOTE_PRIORITY, EGRESS_CLASSIFIER_TPORTEGRESS_COOKIE,
        EGRESS_CLASSIFIER_TPORTEGRESS_FLOW_NAME, flowIdStr, match, isb).build();
}
 
Example 24
Project: netvirt   File: Ipv6ServiceUtils.java   Source Code and License 6 votes vote down vote up
public static Ipv6Address getIpv6SolicitedNodeMcastAddress(Ipv6Address ipv6Address) {

        /* According to RFC 4291, a Solicited Node Multicast Address is derived by adding the 24
           lower order bits with the Solicited Node multicast prefix (i.e., FF02::1:FF00:0/104).
           Example: For IPv6Address of FE80::2AA:FF:FE28:9C5A, the corresponding solicited node
           multicast address would be FF02::1:FF28:9C5A
         */

        byte[] octets;
        try {
            octets = InetAddress.getByName(ipv6Address.getValue()).getAddress();
        } catch (UnknownHostException e) {
            LOG.error("getIpv6SolicitedNodeMcastAddress: Failed to serialize ipv6Address ", e);
            return null;
        }

        // Return the address in its fully expanded format.
        Ipv6Address solictedV6Address = new Ipv6Address(InetAddresses.forString("ff02::1:ff"
                 + StringUtils.leftPad(Integer.toHexString(0xFF & octets[13]), 2, "0") + ":"
                 + StringUtils.leftPad(Integer.toHexString(0xFF & octets[14]), 2, "0")
                 + StringUtils.leftPad(Integer.toHexString(0xFF & octets[15]), 2, "0")).getHostAddress());

        return solictedV6Address;
    }
 
Example 25
Project: SilverKing   File: HostGroupTable.java   Source Code and License 6 votes vote down vote up
private static void readLine(String line, HashedSetMap<String, InetAddress> hostGroupMap) {
	if (line != null) {
		line = line.trim();
		if (line.length() > 0) {
			String		ipToken;
			byte[]		ip;
			Set<String>	hostGroups;
			String[]	tokens;
		
			tokens = line.split("\\s+");
			ipToken = tokens[0];
			hostGroups = new HashSet<String>();
			for (int i = 1; i < tokens.length; i++) {
				hostGroups.add(tokens[i]);
			}
			for (String hostGroup : hostGroups) {
				hostGroupMap.addValue(hostGroup, InetAddresses.forString(ipToken));
			}
		}
	}
}
 
Example 26
Project: warp10-platform   File: WorfInteractive.java   Source Code and License 6 votes vote down vote up
private static String readHost(ConsoleReader reader, PrintWriter out, String prompt) {
  try {
    String inputString = readInputString(reader, out, prompt);

    if (InetAddresses.isInetAddress(inputString)) {
      return inputString;
    }
    out.println("Error, " + inputString + " is not a valid inet address");
  } catch (Exception exp) {
    if (WorfCLI.verbose) {
      exp.printStackTrace();
    }
    out.println("Error, unable to read the host. error=" + exp.getMessage());
  }
  return null;
}
 
Example 27
Project: warp10-platform   File: WorfInteractive.java   Source Code and License 6 votes vote down vote up
private static String readInteger(ConsoleReader reader, PrintWriter out, String prompt) {
  try {
    String inputString = readInputString(reader, out, prompt);

    if (NumberUtils.isNumber(inputString)) {
      return inputString;
    }

    if (InetAddresses.isInetAddress(inputString)) {
      return inputString;
    }
    out.println("Error, " + inputString + " is not a number");
  } catch (Exception exp) {
    if (WorfCLI.verbose) {
      exp.printStackTrace();
    }
    out.println("Error, unable to read the host. error=" + exp.getMessage());
  }
  return null;
}
 
Example 28
Project: Dream-Catcher   File: DnsJavaResolver.java   Source Code and License 6 votes vote down vote up
@Override
public Collection<InetAddress> resolveRemapped(String remappedHost) {
    // special case for IP literals: return the InetAddress without doing a dnsjava lookup. dnsjava seems to handle ipv4 literals
    // reasonably well, but does not handle ipv6 literals (with or without [] brackets) correctly.
    // note this does not work properly for ipv6 literals with a scope identifier, which is a known issue for InetAddresses.isInetAddress().
    // (dnsjava also handles the situation incorrectly)
    if (InetAddresses.isInetAddress(remappedHost)) {
        return Collections.singletonList(InetAddresses.forString(remappedHost));
    }

    // retrieve IPv4 addresses, then retrieve IPv6 addresses only if no IPv4 addresses are found. the current implementation always uses the
    // first returned address, so there is no need to look for IPv6 addresses if an IPv4 address is found.
    Collection<InetAddress> ipv4addresses = resolveHostByType(remappedHost, Type.A);

    if (!ipv4addresses.isEmpty()) {
        return ipv4addresses;
    } else {
        return resolveHostByType(remappedHost, Type.AAAA);
    }
}
 
Example 29
Project: haven-platform   File: DockerCluster.java   Source Code and License 6 votes vote down vote up
private void rereadNode(SwarmNode sn) {
    String nodeName = getNodeName(sn);
    String address = getNodeAddress(sn);
    if(StringUtils.isEmpty(address)) {
        log.warn("Node {} does not contain address, it is usual for docker prior to 1.13 version.", nodeName);
        return;
    }
    try {
        if(InetAddresses.forString(sn.getStatus().getAddress()).isLoopbackAddress()) {
            //local node address it a wrong config, or user simply use single-node cluster - we can not detect
            // this, and just report it
            log.warn("Node {} report local address '{}', it may be wrong configuration.", nodeName, address);
        }
    } catch(Exception e) {
        log.warn("Node {} report wrong address '{}', it parsed with error:", nodeName, address, e);
    }
    NodeRegistration nr = updateNodeRegistration(nodeName, address, sn);
    if(!Objects.equals(getName(), nr.getCluster())) {
        log.info("Node {} is from another cluster: '{}', we remove it from our cluster: '{}'.", nodeName, nr.getCluster(), getName());
        leave(nodeName, sn);
    }
}
 
Example 30
Project: nomulus   File: CreateHostCommand.java   Source Code and License 6 votes vote down vote up
@Override
protected void initMutatingEppToolCommand() {
  setSoyTemplate(HostCreateSoyInfo.getInstance(), HostCreateSoyInfo.HOSTCREATE);
  ImmutableList.Builder<String> ipv4Addresses = new ImmutableList.Builder<>();
  ImmutableList.Builder<String> ipv6Addresses = new ImmutableList.Builder<>();
  for (String address : nullToEmpty(addresses)) {
    InetAddress inetAddress = InetAddresses.forString(address);
    if (inetAddress instanceof Inet4Address) {
      ipv4Addresses.add(inetAddress.getHostAddress());
    } else if (inetAddress instanceof Inet6Address) {
      ipv6Addresses.add(inetAddress.getHostAddress());
    } else {
      throw new IllegalArgumentException(
          String.format("IP address in unknown format: %s", address));
    }
  }
  addSoyRecord(
      clientId,
      new SoyMapData(
          "hostname", hostName,
          "ipv4addresses", ipv4Addresses.build(),
          "ipv6addresses", ipv6Addresses.build()));
}
 
Example 31
Project: nomulus   File: NameserverWhoisResponseTest.java   Source Code and License 6 votes vote down vote up
@Before
public void setUp() {
  persistNewRegistrar("example", "Example Registrar, Inc.", Registrar.Type.REAL, 8L);
  createTld("tld");

  hostResource1 = new HostResource.Builder()
      .setFullyQualifiedHostName("ns1.example.tld")
      .setPersistedCurrentSponsorClientId("example")
      .setInetAddresses(ImmutableSet.of(
          InetAddresses.forString("192.0.2.123"),
          InetAddresses.forString("2001:0DB8::1")))
      .setRepoId("1-EXAMPLE")
      .build();

  hostResource2 = new HostResource.Builder()
      .setFullyQualifiedHostName("ns2.example.tld")
      .setPersistedCurrentSponsorClientId("example")
      .setInetAddresses(ImmutableSet.of(
          InetAddresses.forString("192.0.2.123"),
          InetAddresses.forString("2001:0DB8::1")))
      .setRepoId("2-EXAMPLE")
      .build();
}
 
Example 32
Project: nomulus   File: DomainResourceToXjcConverterTest.java   Source Code and License 6 votes vote down vote up
private static HostResource makeHostResource(
    FakeClock clock, String repoId, String fqhn, String ip) {
  clock.advanceOneMilli();
  return persistEppResource(
      new HostResource.Builder()
          .setCreationClientId("LawyerCat")
          .setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
          .setPersistedCurrentSponsorClientId("BusinessCat")
          .setFullyQualifiedHostName(Idn.toASCII(fqhn))
          .setInetAddresses(ImmutableSet.of(InetAddresses.forString(ip)))
          .setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
          .setLastEppUpdateClientId("CeilingCat")
          .setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
          .setRepoId(repoId)
          .setStatusValues(ImmutableSet.of(StatusValue.OK))
          .build());
}
 
Example 33
Project: nomulus   File: HostResourceToXjcConverterTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testConvertExternalHost_ipv6() throws Exception {
  XjcRdeHost bean = HostResourceToXjcConverter.convertExternalHost(
      new HostResource.Builder()
          .setCreationClientId("LawyerCat")
          .setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
          .setPersistedCurrentSponsorClientId("BusinessCat")
          .setFullyQualifiedHostName("ns1.love.lol")
          .setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
          .setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
          .setLastEppUpdateClientId("CeilingCat")
          .setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
          .setRepoId("2-LOL")
          .setStatusValues(ImmutableSet.of(StatusValue.OK))
          .build());
  assertThat(bean.getAddrs()).hasSize(1);
  assertThat(bean.getAddrs().get(0).getIp().value()).isEqualTo("v6");
  assertThat(bean.getAddrs().get(0).getValue()).isEqualTo("cafe::abba");
}
 
Example 34
Project: nomulus   File: HostResourceToXjcConverterTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testHostStatusValueIsInvalid() throws Exception {
  assertThrows(
      IllegalArgumentException.class,
      () ->
          HostResourceToXjcConverter.convertExternalHost(
              new HostResource.Builder()
                  .setCreationClientId("LawyerCat")
                  .setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
                  .setPersistedCurrentSponsorClientId("BusinessCat")
                  .setFullyQualifiedHostName("ns1.love.lol")
                  .setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
                  .setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
                  .setLastEppUpdateClientId("CeilingCat")
                  .setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
                  .setRepoId("2-LOL")
                  .setStatusValues(ImmutableSet.of(StatusValue.SERVER_HOLD)) // <-- OOPS
                  .build()));
}
 
Example 35
Project: nomulus   File: HostResourceToXjcConverterTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testMarshal() throws Exception {
  // Bean! Bean! Bean!
  XjcRdeHostElement bean = HostResourceToXjcConverter.convertExternal(
      new HostResource.Builder()
          .setCreationClientId("LawyerCat")
          .setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
          .setPersistedCurrentSponsorClientId("BusinessCat")
          .setFullyQualifiedHostName("ns1.love.lol")
          .setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
          .setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
          .setLastEppUpdateClientId("CeilingCat")
          .setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
          .setRepoId("2-LOL")
          .setStatusValues(ImmutableSet.of(StatusValue.OK))
          .build());
  marshalStrict(bean, new ByteArrayOutputStream(), UTF_8);
}
 
Example 36
Project: nomulus   File: RdeFixtures.java   Source Code and License 6 votes vote down vote up
static HostResource makeHostResource(FakeClock clock, String fqhn, String ip) {
  clock.advanceOneMilli();
  return persistResourceWithCommitLog(
      new HostResource.Builder()
          .setRepoId(generateNewContactHostRoid())
          .setCreationClientId("LawyerCat")
          .setCreationTimeForTest(clock.nowUtc())
          .setPersistedCurrentSponsorClientId("BusinessCat")
          .setFullyQualifiedHostName(Idn.toASCII(fqhn))
          .setInetAddresses(ImmutableSet.of(InetAddresses.forString(ip)))
          .setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
          .setLastEppUpdateClientId("CeilingCat")
          .setLastEppUpdateTime(clock.nowUtc())
          .setStatusValues(ImmutableSet.of(StatusValue.OK))
          .build());
}
 
Example 37
Project: nomulus   File: XjcToHostResourceConverterTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testConvertHostResource() throws Exception {
  XjcRdeHost xjcHost = loadHostFromRdeXml();
  HostResource host = convertHostInTransaction(xjcHost);
  assertThat(host.getFullyQualifiedHostName()).isEqualTo("ns1.example1.test");
  assertThat(host.getRepoId()).isEqualTo("Hns1_example1_test-TEST");
  // The imported XML also had LINKED status, but that should have been dropped on import.
  assertThat(host.getStatusValues()).containsExactly(StatusValue.OK);
  assertThat(host.getInetAddresses())
      .containsExactly(
          InetAddresses.forString("192.0.2.2"),
          InetAddresses.forString("192.0.2.29"),
          InetAddresses.forString("1080:0:0:0:8:800:200C:417A"));
  assertThat(host.getPersistedCurrentSponsorClientId()).isEqualTo("RegistrarX");
  assertThat(host.getCreationClientId()).isEqualTo("RegistrarX");
  assertThat(host.getCreationTime()).isEqualTo(DateTime.parse("1999-05-08T12:10:00.0Z"));
  assertThat(host.getLastEppUpdateClientId()).isEqualTo("RegistrarX");
  assertThat(host.getLastEppUpdateTime()).isEqualTo(DateTime.parse("2009-10-03T09:34:00.0Z"));
  assertThat(host.getLastTransferTime()).isEqualTo(DateTime.parse("2008-10-03T09:34:00.0Z"));
}
 
Example 38
Project: nomulus   File: HostResourceTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testComputeLastTransferTime_hostCreatedAfterDomainWasTransferred() {
  // Domain was transferred on Day 1.
  // Host was created subordinate to domain on Day 2.
  domain = domain.asBuilder().setLastTransferTime(day1).build();
  host =
      persistResource(
          cloneAndSetAutoTimestamps(
              new HostResource.Builder()
                  .setCreationTime(day2)
                  .setRepoId("DEADBEEF-COM")
                  .setFullyQualifiedHostName("ns1.example.com")
                  .setCreationClientId("a registrar")
                  .setLastEppUpdateTime(clock.nowUtc())
                  .setLastEppUpdateClientId("another registrar")
                  .setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
                  .setStatusValues(ImmutableSet.of(StatusValue.OK))
                  .setSuperordinateDomain(Key.create(domain))
                  .build()));
  assertThat(host.computeLastTransferTime(domain)).isNull();
}
 
Example 39
Project: nomulus   File: HostInfoFlowTest.java   Source Code and License 6 votes vote down vote up
private HostResource persistHostResource() throws Exception {
  return persistResource(
      new HostResource.Builder()
          .setFullyQualifiedHostName(getUniqueIdFromCommand())
          .setRepoId("1FF-FOOBAR")
          .setPersistedCurrentSponsorClientId("my sponsor")
          .setStatusValues(ImmutableSet.of(StatusValue.CLIENT_UPDATE_PROHIBITED))
          .setInetAddresses(
              ImmutableSet.of(
                  InetAddresses.forString("192.0.2.2"),
                  InetAddresses.forString("1080:0:0:0:8:800:200C:417A"),
                  InetAddresses.forString("192.0.2.29")))
          .setPersistedCurrentSponsorClientId("TheRegistrar")
          .setCreationClientId("NewRegistrar")
          .setLastEppUpdateClientId("NewRegistrar")
          .setCreationTimeForTest(DateTime.parse("1999-04-03T22:00:00.0Z"))
          .setLastEppUpdateTime(DateTime.parse("1999-12-03T09:00:00.0Z"))
          .setLastTransferTime(DateTime.parse("2000-04-08T09:00:00.0Z"))
          .build());
}
 
Example 40
Project: nomulus   File: HostUpdateFlowTest.java   Source Code and License 6 votes vote down vote up
@Test
public void testSuccess_authorizedClientReadFromSuperordinate() throws Exception {
  sessionMetadata.setClientId("NewRegistrar");
  createTld("tld");
  DomainResource domain =
      persistResource(
          newDomainResource("example.tld")
              .asBuilder()
              .setPersistedCurrentSponsorClientId("NewRegistrar")
              .build());
  persistResource(
      newHostResource("ns1.example.tld")
          .asBuilder()
          .setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't hurt.
          .setSuperordinateDomain(Key.create(domain))
          .setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
          .build());

  clock.advanceOneMilli();
  runFlowAssertResponse(loadFile("host_update_response.xml"));
}