private Resolver createResolver(String dns) { try { return new SimpleResolver(dns); } catch (UnknownHostException ex) { Log.e(TAG, ex.getMessage(), ex); throw new IllegalStateException(ex); } }
private static SimpleResolver getSimpleResolver(Nameserver hostname) throws UnknownHostException { SimpleResolver resolver = resolvers.get(hostname); if(resolver==null) { resolver = new SimpleResolver(hostname.toString()); resolver.setTimeout(DNS_CHECK_TIMEOUT / 1000, DNS_CHECK_TIMEOUT % 1000); SimpleResolver existing = resolvers.putIfAbsent(hostname, resolver); if(existing!=null) resolver = existing; } return resolver; }
Record question = query.getQuestion(); if (question != null && question.getType() == Type.AXFR) return sendAXFR(query); applyEDNS(query); if (tsig != null) tsig.apply(query, null); int udpSize = maxUDPSize(query); boolean tcp = false; long endTime = System.currentTimeMillis() + timeoutValue; Message response = parseMessage(in); verifyTSIG(query, response, in, tsig); if (!tcp && !ignoreTruncation && response.getHeader().getFlag(Flags.TC))
res = new SimpleResolver(server); else res = new SimpleResolver(); res.setPort(port); break; res.setLocalAddress(addr); break; else key = argv[++arg]; res.setTSIGKey(TSIG.fromString(key)); break; res.setTCP(true); break; res.setIgnoreTruncation(true); break; res.setEDNS(edns); break; res.setEDNS(0, 0, ExtendedFlags.DO, null); break; res = new SimpleResolver();
try { final Name name = Name.fromString(lookup, Name.root); final SimpleResolver resolver = new SimpleResolver(); resolver.setAddress(new InetSocketAddress(addr, port)); resolver.setLocalAddress((InetSocketAddress)null); double timeout = timeoutTracker.getSoTimeout() / 1000d; resolver.setTimeout((timeout < 1 ? 1 : (int) timeout)); final Record question = Record.newRecord(name, Type.A, DClass.IN); final Message query = Message.newQuery(question); final Message response = resolver.send(query); double responseTime = timeoutTracker.elapsedTimeInMillis();
public void setTimeout(int secs) { setTimeout(secs, 0); }
private Message sendAXFR(Message query) throws IOException { Name qname = query.getQuestion().getName(); ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig); xfrin.setTimeout((int)(getTimeout() / 1000)); xfrin.setLocalAddress(localAddress); try { xfrin.run(); } catch (ZoneTransferException e) { throw new WireParseException(e.getMessage()); } List records = xfrin.getAXFR(); Message response = new Message(query.getHeader().getID()); response.getHeader().setFlag(Flags.AA); response.getHeader().setFlag(Flags.QR); response.addRecord(query.getQuestion(), Section.QUESTION); Iterator it = records.iterator(); while (it.hasNext()) response.addRecord((Record)it.next(), Section.ANSWER); return response; }
Record question = query.getQuestion(); if (question != null && question.getType() == Type.AXFR) return sendAXFR(query); applyEDNS(query); if (tsig != null) tsig.apply(query, null); int udpSize = maxUDPSize(query); boolean tcp = false; long endTime = System.currentTimeMillis() + timeoutValue; Message response = parseMessage(in); verifyTSIG(query, response, in, tsig); if (!tcp && !ignoreTruncation && response.getHeader().getFlag(Flags.TC))
public void setTimeout(int secs) { setTimeout(secs, 0); }
private Message sendAXFR(Message query) throws IOException { Name qname = query.getQuestion().getName(); ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig); xfrin.setTimeout((int)(getTimeout() / 1000)); xfrin.setLocalAddress(localAddress); try { xfrin.run(); } catch (ZoneTransferException e) { throw new WireParseException(e.getMessage()); } List records = xfrin.getAXFR(); Message response = new Message(query.getHeader().getID()); response.getHeader().setFlag(Flags.AA); response.getHeader().setFlag(Flags.QR); response.addRecord(query.getQuestion(), Section.QUESTION); Iterator it = records.iterator(); while (it.hasNext()) response.addRecord((Record)it.next(), Section.ANSWER); return response; }
public void setResolverByHostName(final String resolverHostName) throws UnknownHostException { _resolver = resolverHostName != null ? new SimpleResolver(resolverHostName) : null; }
Record question = query.getQuestion(); if (question != null && question.getType() == Type.AXFR) return sendAXFR(query); applyEDNS(query); if (tsig != null) tsig.apply(query, null); int udpSize = maxUDPSize(query); boolean tcp = false; long endTime = System.currentTimeMillis() + timeoutValue; Message response = parseMessage(in); verifyTSIG(query, response, in, tsig); if (!tcp && !ignoreTruncation && response.getHeader().getFlag(Flags.TC))
public void setTimeout(int secs) { setTimeout(secs, 0); }
private Message sendAXFR(Message query) throws IOException { Name qname = query.getQuestion().getName(); ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig); xfrin.setTimeout((int)(getTimeout() / 1000)); xfrin.setLocalAddress(localAddress); try { xfrin.run(); } catch (ZoneTransferException e) { throw new WireParseException(e.getMessage()); } List records = xfrin.getAXFR(); Message response = new Message(query.getHeader().getID()); response.getHeader().setFlag(Flags.AA); response.getHeader().setFlag(Flags.QR); response.addRecord(query.getQuestion(), Section.QUESTION); Iterator it = records.iterator(); while (it.hasNext()) response.addRecord((Record)it.next(), Section.ANSWER); return response; }
/** * <p>afterPropertiesSet</p> * * @throws java.lang.Exception if any. */ @Override public void afterPropertiesSet() throws Exception { String dnsServer = System.getProperty("importer.adapter.dns.server"); if (!StringUtils.isBlank(dnsServer)) { LOG.info("DNS property found: {}", dnsServer); if (dnsServer.contains(":")) { final String[] serverAddress = dnsServer.split(":"); m_resolver = new SimpleResolver(serverAddress[0]); m_resolver.setPort(Integer.valueOf(serverAddress[1])); } else { m_resolver = new SimpleResolver(dnsServer); } // Doesn't work for some reason, haven't figured out why yet String key = System.getProperty("importer.adapter.dns.privatekey"); if (key != null && key.length() > 0) { m_signature = key; m_resolver.setTSIGKey(TSIG.fromString(m_signature)); } } else { LOG.warn("no DNS server configured, ReverseDnsProvisioningAdapter will not do anything!"); } }
Record question = query.getQuestion(); if (question != null && question.getType() == Type.AXFR) return sendAXFR(query); applyEDNS(query); if (tsig != null) tsig.apply(query, null); int udpSize = maxUDPSize(query); boolean tcp = false; long endTime = System.currentTimeMillis() + timeoutValue; Message response = parseMessage(in); verifyTSIG(query, response, in, tsig); if (!tcp && !ignoreTruncation && response.getHeader().getFlag(Flags.TC))
public void setTimeout(int secs) { setTimeout(secs, 0); }
private Message sendAXFR(Message query) throws IOException { Name qname = query.getQuestion().getName(); ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig); xfrin.setTimeout((int)(getTimeout() / 1000)); xfrin.setLocalAddress(localAddress); try { xfrin.run(); } catch (ZoneTransferException e) { throw new WireParseException(e.getMessage()); } List records = xfrin.getAXFR(); Message response = new Message(query.getHeader().getID()); response.getHeader().setFlag(Flags.AA); response.getHeader().setFlag(Flags.QR); response.addRecord(query.getQuestion(), Section.QUESTION); Iterator it = records.iterator(); while (it.hasNext()) response.addRecord((Record)it.next(), Section.ANSWER); return response; }
/** * Creates a new Extended Resolver * @param servers An array of server names for which SimpleResolver * contexts should be initialized. * @see SimpleResolver * @exception UnknownHostException Failure occured initializing SimpleResolvers */ public ExtendedResolver(String [] servers) throws UnknownHostException { init(); for (int i = 0; i < servers.length; i++) { Resolver r = new SimpleResolver(servers[i]); r.setTimeout(quantum); resolvers.add(r); } }
/** * Creates a new Extended Resolver * @param servers An array of server names for which SimpleResolver * contexts should be initialized. * @see SimpleResolver * @exception UnknownHostException Failure occured initializing SimpleResolvers */ public ExtendedResolver(String [] servers) throws UnknownHostException { init(); for (int i = 0; i < servers.length; i++) { Resolver r = new SimpleResolver(servers[i]); r.setTimeout(quantum); resolvers.add(r); } }