/** * Resolves IP address from a hostname. */ public static String resolveIpAddress(String hostname) { try { InetAddress netAddress; if (hostname == null || hostname.equalsIgnoreCase(LOCAL_HOST)) { netAddress = InetAddress.getLocalHost(); } else { netAddress = Inet4Address.getByName(hostname); } return netAddress.getHostAddress(); } catch (UnknownHostException ignore) { return null; } }
/** * Resolves IP address from a hostname. */ public static String resolveIpAddress(final String hostname) { try { InetAddress netAddress; if (hostname == null || hostname.equalsIgnoreCase(LOCAL_HOST)) { netAddress = InetAddress.getLocalHost(); } else { netAddress = Inet4Address.getByName(hostname); } return netAddress.getHostAddress(); } catch (UnknownHostException ignore) { return null; } }
public InetAddress toInetAddress() { try { String host = address.replaceAll( "\\/.*$", "" ); return Inet4Address.getByName( host ); } catch (UnknownHostException e) { throw new IllegalStateException( e ); } }
protected boolean doesSupportZoneDNS() { try { return Arrays.equals(Inet4Address.getByName("testzone1.localhost").getAddress(), new byte[] { 127, 0, 0, 1 }) && Arrays.equals(Inet4Address.getByName("testzone2.localhost").getAddress(), new byte[] { 127, 0, 0, 1 }) && Arrays.equals(Inet4Address.getByName("testzone3.localhost").getAddress(), new byte[] { 127, 0, 0, 1 }); } catch (UnknownHostException e) { return false; } }
public static boolean doesSupportZoneDNS() { try { return Arrays.equals(Inet4Address.getByName("testzone1.localhost").getAddress(), new byte[]{127, 0, 0, 1}) && Arrays.equals(Inet4Address.getByName("testzone2.localhost").getAddress(), new byte[]{127, 0, 0, 1}) && Arrays.equals(Inet4Address.getByName("testzone3.localhost").getAddress(), new byte[]{127, 0, 0, 1}) && Arrays.equals(Inet4Address.getByName("testzone4.localhost").getAddress(), new byte[]{127, 0, 0, 1}) && Arrays.equals(Inet4Address.getByName("testzonedoesnotexist.localhost").getAddress(), new byte[]{127, 0, 0, 1}) && Arrays.equals(Inet4Address.getByName("testzoneinactive.localhost").getAddress(), new byte[]{127, 0, 0, 1}); } catch (UnknownHostException e) { return false; } }
public static boolean doesSupportZoneDNS() { try { return Arrays.equals(Inet4Address.getByName("oidcloginit.localhost").getAddress(), new byte[]{127, 0, 0, 1}); } catch (UnknownHostException e) { return false; } }
AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptionsWithOverrides); server.resumeAccepts(); channels.add(server); AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptionsWithOverrides); server.resumeAccepts(); channels.add(server); if (listener.useProxyProtocol) { ChannelListener<AcceptingChannel<StreamConnection>> acceptListener = ChannelListeners.openListenerAdapter(new ProxyProtocolOpenListener(openListener, xnioSsl, buffers, socketOptionsWithOverrides)); sslServer = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), (ChannelListener) acceptListener, socketOptionsWithOverrides); } else { ChannelListener<AcceptingChannel<StreamConnection>> acceptListener = ChannelListeners.openListenerAdapter(openListener); sslServer = xnioSsl.createSslConnectionServer(worker, new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), (ChannelListener) acceptListener, socketOptionsWithOverrides);
/** * Try a given port on the localhost and check whether it is free * * @param port port to check * @return true if the port is still free */ @SuppressWarnings({"PMD.SystemPrintln"}) public static boolean trySocket(int port) throws IOException { InetAddress address = Inet4Address.getByName("localhost"); ServerSocket s = null; try { s = new ServerSocket(); s.bind(new InetSocketAddress(address,port)); return true; } catch (IOException exp) { System.err.println("Port " + port + " already in use, trying next ..."); // exp.printStackTrace(); // next try .... } finally { if (s != null) { s.close(); } } return false; }
public void mapInternal(String project, ObjectNode data, InetAddress sourceAddress) { Object ip = data.get("_ip"); if (ip == null) { return; } if ((ip instanceof String)) { try { // it may be slow because java performs reverse hostname lookup. sourceAddress = Inet4Address.getByName((String) ip); } catch (UnknownHostException e) { return; } } GenericRecord record = new MapProxyGenericRecord(data); setGeoFields(record, sourceAddress); }
@Test // Everything works fine, everyone gets through. public void testNewDNSServer() throws Exception { String format = "192.168.0.%d"; byte[] ipv6Template = new byte[]{32, 1, 13, (byte) (184 & 0xFF), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; InetAddress i6addr = Inet6Address.getByName("::1"); InetAddress i4addr = Inet4Address.getByName("127.0.0.1"); thread.newDNSServer(builder, format, ipv6Template, i4addr); assertTrue(thread.upstreamDnsServers.contains(i4addr)); assertTrue(serversAdded.contains(InetAddress.getByName("192.168.0.2"))); thread.newDNSServer(builder, format, ipv6Template, i6addr); assertTrue(thread.upstreamDnsServers.contains(i6addr)); assertEquals(3, ipv6Template[ipv6Template.length - 1]); assertTrue(serversAdded.contains(InetAddress.getByAddress(ipv6Template))); }
@Test // IPv6 is disabled: We only get IPv4 servers through public void testNewDNSServer_ipv6disabled() throws Exception { byte[] ipv6Template = new byte[]{32, 1, 13, (byte) (184 & 0xFF), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; InetAddress i6addr = Inet6Address.getByName("::1"); thread.newDNSServer(builder, "192.168.0.%d", null, i6addr); assertTrue(serversAdded.isEmpty()); assertTrue(thread.upstreamDnsServers.isEmpty()); InetAddress i4addr = Inet4Address.getByName("127.0.0.1"); thread.newDNSServer(builder, "192.168.0.%d", null, i4addr); assertTrue(serversAdded.contains(InetAddress.getByName("192.168.0.2"))); assertTrue(thread.upstreamDnsServers.contains(i4addr)); }
@Test // IPv4 is disabled: We only get IPv6 servers through public void testNewDNSServer_ipv4disabled() throws Exception { String format = "192.168.0.%d"; byte[] ipv6Template = new byte[]{32, 1, 13, (byte) (184 & 0xFF), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; InetAddress i6addr = Inet6Address.getByName("::1"); InetAddress i4addr = Inet4Address.getByName("127.0.0.1"); thread.newDNSServer(builder, null, ipv6Template, i4addr); assertTrue(thread.upstreamDnsServers.isEmpty()); assertTrue(serversAdded.isEmpty()); thread.newDNSServer(builder, format, ipv6Template, i6addr); assertTrue(thread.upstreamDnsServers.contains(i6addr)); assertEquals(2, ipv6Template[ipv6Template.length - 1]); assertTrue(serversAdded.contains(InetAddress.getByAddress(ipv6Template))); }
public void mapInternal(ObjectNode data, InetAddress sourceAddress) { Object ip = data.get("_ip"); if (ip == null) { return; } if ((ip instanceof String)) { try { // it may be slow because java performs reverse hostname lookup. sourceAddress = Inet4Address.getByName((String) ip); } catch (UnknownHostException e) { return; } } if (sourceAddress == null) { return; } GenericRecord record = new MapProxyGenericRecord(data); if (connectionTypeLookup != null) { setConnectionType(sourceAddress, record); } if (ispLookup != null) { setIsp(sourceAddress, record); } if (cityLookup != null) { setGeoFields(sourceAddress, record); } }
@Override public List<Cookie> map(Event event, RequestParams extraProperties, InetAddress sourceAddress, HttpHeaders responseHeaders) { Object ip = event.properties().get("_ip"); InetAddress addr; if ((ip instanceof String)) { try { // it may be slow because java performs reverse hostname lookup. addr = Inet4Address.getByName((String) ip); } catch (UnknownHostException e) { return null; } } else if (Boolean.TRUE == ip) { addr = sourceAddress; } else { if (lookup != null) { // Cloudflare country code header (Only works when the request passed through CF servers) String countryCode = extraProperties.headers().get("HTTP_CF_IPCOUNTRY"); if (countryCode != null) { put(event.properties(),"_country_code", countryCode); } } return null; } setGeoFields(event.properties(), addr); return null; }
@SuppressWarnings("unchecked") @Test public void testMulticastReceiver() throws Exception { QueueChannel channel = new QueueChannel(2); MulticastReceivingChannelAdapter adapter = new MulticastReceivingChannelAdapter(this.multicastRule.getGroup(), 0); adapter.setOutputChannel(channel); String nic = this.multicastRule.getNic(); adapter.setLocalAddress(nic); adapter.start(); SocketTestUtils.waitListening(adapter); int port = adapter.getPort(); Message<byte[]> message = MessageBuilder.withPayload("ABCD".getBytes()).build(); DatagramPacketMessageMapper mapper = new DatagramPacketMessageMapper(); DatagramPacket packet = mapper.fromMessage(message); packet.setSocketAddress(new InetSocketAddress(this.multicastRule.getGroup(), port)); DatagramSocket datagramSocket = new DatagramSocket(0, Inet4Address.getByName(nic)); datagramSocket.send(packet); datagramSocket.close(); Message<byte[]> receivedMessage = (Message<byte[]>) channel.receive(10000); assertNotNull(receivedMessage); assertEquals(new String(message.getPayload()), new String(receivedMessage.getPayload())); adapter.stop(); }
protected Object toObjectImpl(String text) { try { return Inet4Address.getByName(text); } catch (UnknownHostException e) { throw new PropertyEditorException(e); } } }
public boolean resolve(IpPacket parsedPacket, DnsMessage dnsMsg) { String dnsQueryName = dnsMsg.getQuestion().name.toString(); try { String response = RuleResolver.resolve(dnsQueryName, dnsMsg.getQuestion().type); if (response != null && dnsMsg.getQuestion().type == Record.TYPE.A) { Logger.info("Provider: Resolved " + dnsQueryName + " Local resolver response: " + response); DnsMessage.Builder builder = dnsMsg.asBuilder() .setQrFlag(true) .addAnswer(new Record<>(dnsQueryName, Record.TYPE.A, 1, 64, new A(Inet4Address.getByName(response).getAddress()))); handleDnsResponse(parsedPacket, builder.build().toArray()); return true; } else if (response != null && dnsMsg.getQuestion().type == Record.TYPE.AAAA) { Logger.info("Provider: Resolved " + dnsQueryName + " Local resolver response: " + response); DnsMessage.Builder builder = dnsMsg.asBuilder() .setQrFlag(true) .addAnswer(new Record<>(dnsQueryName, Record.TYPE.AAAA, 1, 64, new AAAA(Inet6Address.getByName(response).getAddress()))); handleDnsResponse(parsedPacket, builder.build().toArray()); return true; } } catch (Exception e) { Logger.logException(e); } return false; }
@Test public void testObtainDesiredMachineThrowsIfInUse() throws Exception { provisioner.addMachine(new SshMachineLocation( MutableMap.of("address", Inet4Address.getByName("192.168.144.201")))); SshMachineLocation obtained = provisioner.obtain(); try { SshMachineLocation obtained2 = provisioner.obtain(MutableMap.of("desiredMachine", obtained)); fail("obtained2="+obtained2); } catch (IllegalStateException e) { if (!e.toString().contains("machine in use")) throw e; } }
@Test public void testReadTimeout() throws IOException, StripeException { // Create a local server that does nothing to trigger a read timeout try (final ServerSocket serverSocket = new ServerSocket(0, 1, Inet4Address.getByName("localhost"))) { Stripe.overrideApiBase(String.format("http://localhost:%d", serverSocket.getLocalPort())); thrown.expect(ApiConnectionException.class); thrown.expectMessage("Read timed out"); final RequestOptions options = RequestOptions.builder().setReadTimeout(1).build(); Balance.retrieve(options); } } }