Package org.xbill.DNS

Examples of org.xbill.DNS.Message


                    dclass = DClass.IN;
                }

                Name name = Name.fromString(exchange.getIn().getHeader(DnsConstants.DNS_NAME, String.class), Name.root);
                Record rec = Record.newRecord(name, type, dclass);
                Message query = Message.newQuery(rec);
                Message response = resolver.send(query);
                exchange.getIn().setBody(response);
            }
        };
    }
View Full Code Here


                    dclass = DClass.IN;
                }

                Name name = Name.fromString(exchange.getIn().getHeader(DnsConstants.DNS_NAME, String.class), Name.root);
                Record rec = Record.newRecord(name, type, dclass);
                Message query = Message.newQuery(rec);
                Message response = resolver.send(query);
                exchange.getIn().setBody(response);
            }
        };
    }
View Full Code Here

      resolver.setTimeout(timeoutInSeconds);
      resolver.setTCP(true);

      Name name = ReverseMap.fromAddress(hostIp);
      Record record = Record.newRecord(name, Type.PTR, DClass.IN);
      Message response = resolver.send(newQuery(record));

      Record[] answers = response.getSectionArray(Section.ANSWER);
      if (answers.length == 0) {
        return fallback(hostIp);

      } else {
        String reverseAddress = answers[0].rdataToString();
View Full Code Here

            } catch (FileNotFoundException ex) {
                throw new RuntimeException(ex);
            }
        }

        Message msg = new Message();
        String recs[] = data.split(NL);
        for (String rec : recs) {
            msg.addRecord(getRecord(rec), Section.QUESTION);
        }

        try {
            final byte[] ba1 = msg.toWire();
            os.write(Integer.toString(ba1.length * 2).getBytes("cp866"));
            os.write('\n');
            os.write(JOrphanUtils.baToHexBytes(ba1));
            os.write('\n');
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }

        return ByteBuffer.wrap(msg.toWire());
    }
View Full Code Here

  public ReverseDNSQueryResult doReverseDNSQuery(InetAddress address,
      boolean useTCP, int timeoutValue) {

    // Ask dnsjava for the inetaddress. Should be in its cache.
    Message response = null;
    Exception resolverException = null;

    // check cache first ...
    ReverseDNSQueryResult result = new ReverseDNSQueryResult(address);

    if (true) {

      try {

        // allocate a simple resolver object ...
        SimpleResolver resolver = new SimpleResolver(_dnsServerAddress);

        // use tcp if requested ...
        if (useTCP)
          resolver.setTCP(true);

        // set the timeout ...
        resolver.setTimeout(timeoutValue);

        // create appropriate data structures ...

        Name name = ReverseMap.fromAddress(address);
        Record rec = Record.newRecord(name, Type.PTR, DClass.IN);
        Message query = Message.newQuery(rec);

        // send it off ...
        try {
          response = resolver.send(query);
        } catch (Exception e) {
View Full Code Here

    boolean resultViaCache = false;

    do {

      // Ask dnsjava for the inetaddress. Should be in its cache.
      Message response = null;
      InetAddress address = null;
      String cname = null;
      long expireTime = -1;
      Exception resolverException = null;

      _queryCount++;

      try {
        // LOG.info("Checking Cache for Host:" + hostName);
        if (!noCache)
          result = checkCache(client, hostName);

        if (result != null) {
          // increment stats ...
          _cacheHits++;
          resultViaCache = true;
        }
      } catch (UnknownHostException e) {
        if (_logger != null)
          _logger.logDNSException(hostName, StringUtils.stringifyException(e));
      }

      // if not found in cache ... then do full lookup ...
      if (result == null) {

        _cacheMisses++;

        try {

          SimpleResolver resolver = new SimpleResolver(_dnsServerAddress);
          // allocate a simple resolver object ...
          //NIODNSSimpleResolverImpl resolver = new NIODNSSimpleResolverImpl(this, _dnsServerAddress);

          // use tcp if requested ...
          if (useTCP)
            resolver.setTCP(true);

          // set the timeout ...
          resolver.setTimeout(timeoutValue);

          // create appropriate data structures ...
          Name name = Name.fromString(hostName, Name.root);
          Record rec = Record.newRecord(name, Type.A, DClass.IN);
          Message query = Message.newQuery(rec);

          // send it off ...
          try {
            response = resolver.send(query);
          } catch (IOException e) {
View Full Code Here

        this.sender = sender;
    }

    @Override
    public void interpret() throws IOException {
        this.message = new Message(this.packet.getData());
        this.remote = (InetSocketAddress) this.packet.getSocketAddress();
    }
View Full Code Here

        if(record.getType() != this.query.getMessage().getQuestion().getType()) {
            this.fail("Question/Answer mismatch");
            return;
        }

        Message message = new Message();
        message.getHeader().setFlag(Flags.QR);
        message.getHeader().setFlag(Flags.AA);
        message.addRecord(record, Section.ANSWER);
        String logmsg = cached ? "Cached answer" : "Backend answer";
        logger.info("{} [query={}, record={}]", logmsg, this.query, record);
        this.processMessage(message);
    }
View Full Code Here

        logger.info("{} [query={}, record={}]", logmsg, this.query, record);
        this.processMessage(message);
    }

    public void unknown() {
        Message message = new Message();
        message.getHeader().setFlag(Flags.QR);
        message.getHeader().setRcode(Rcode.NXDOMAIN);
        logger.info("Unknown domain [query={}]", this.query);
        this.processMessage(message);
    }
View Full Code Here

        logger.info("Unknown domain [query={}]", this.query);
        this.processMessage(message);
    }

    public void fail(String cause, Throwable... exceptions) {
        Message message = new Message();
        message.getHeader().setFlag(Flags.QR);
        message.getHeader().setRcode(Rcode.SERVFAIL);
        if(exceptions.length == 0) {
            logger.warn("{} [query={}]", cause, this.query);
        } else {
            logger.warn("{} [query={}]", cause, this.query, exceptions[0]);
        }
View Full Code Here

TOP

Related Classes of org.xbill.DNS.Message

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.