org.xbill.DNS.Message.getQuestion()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(13.9k)|赞(0)|评价(0)|浏览(306)

本文整理了Java中org.xbill.DNS.Message.getQuestion()方法的一些代码示例,展示了Message.getQuestion()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getQuestion()方法的具体详情如下:
包路径:org.xbill.DNS.Message
类名称:Message
方法名:getQuestion

Message.getQuestion介绍

暂无

代码示例

代码示例来源:origin: julian-klode/dns66

  1. return;
  2. if (dnsMsg.getQuestion() == null) {
  3. Log.i(TAG, "handleDnsRequest: Discarding DNS packet with no query " + dnsMsg);
  4. return;
  5. String dnsQueryName = dnsMsg.getQuestion().getName().toString(true);
  6. if (!ruleDatabase.isBlocked(dnsQueryName.toLowerCase(Locale.ENGLISH))) {
  7. Log.i(TAG, "handleDnsRequest: DNS Name " + dnsQueryName + " Allowed, sending to " + destAddr);

代码示例来源:origin: OpenNMS/opennms

  1. public byte[] errorMessage(final Message query, final int rcode) {
  2. return buildErrorMessage(query.getHeader(), rcode, query.getQuestion());
  3. }
  4. }

代码示例来源:origin: dnsjava/dnsjava

  1. public byte []
  2. errorMessage(Message query, int rcode) {
  3. return buildErrorMessage(query.getHeader(), rcode,
  4. query.getQuestion());
  5. }

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-registry

  1. /**
  2. * Generate an error message based on inbound query.
  3. *
  4. * @param query the query.
  5. * @param rcode the response code for the specific error.
  6. * @return the error message.
  7. */
  8. public byte[] errorMessage(Message query, int rcode) {
  9. return buildErrorMessage(query.getHeader(), rcode,
  10. query.getQuestion());
  11. }

代码示例来源:origin: org.jboss.resteasy/resteasy-eagledns-fork

  1. private byte[] errorMessage(Message query, int rcode) {
  2. return buildErrorMessage(query.getHeader(), rcode, query.getQuestion());
  3. }

代码示例来源:origin: org.echocat.jomon.net/common

  1. public byte[] errorMessage(Message query, int rcode) {
  2. return buildErrorMessage(query.getHeader(), rcode, query.getQuestion());
  3. }

代码示例来源:origin: dnsjava/dnsjava

  1. /**
  2. * Asynchronously sends a message to a single server, registering a listener
  3. * to receive a callback on success or exception. Multiple asynchronous
  4. * lookups can be performed in parallel. Since the callback may be invoked
  5. * before the function returns, external synchronization is necessary.
  6. * @param query The query to send
  7. * @param listener The object containing the callbacks.
  8. * @return An identifier, which is also a parameter in the callback
  9. */
  10. public Object
  11. sendAsync(final Message query, final ResolverListener listener) {
  12. final Object id;
  13. synchronized (this) {
  14. id = new Integer(uniqueID++);
  15. }
  16. Record question = query.getQuestion();
  17. String qname;
  18. if (question != null)
  19. qname = question.getName().toString();
  20. else
  21. qname = "(none)";
  22. String name = this.getClass() + ": " + qname;
  23. Thread thread = new ResolveThread(this, query, id, listener);
  24. thread.setName(name);
  25. thread.setDaemon(true);
  26. thread.start();
  27. return id;
  28. }

代码示例来源:origin: net.sf.dnsjava-osgi/dnsjava-osgi

  1. /**
  2. * Asynchronously sends a message to a single server, registering a listener
  3. * to receive a callback on success or exception. Multiple asynchronous
  4. * lookups can be performed in parallel. Since the callback may be invoked
  5. * before the function returns, external synchronization is necessary.
  6. * @param query The query to send
  7. * @param listener The object containing the callbacks.
  8. * @return An identifier, which is also a parameter in the callback
  9. */
  10. public Object
  11. sendAsync(final Message query, final ResolverListener listener) {
  12. final Object id;
  13. synchronized (this) {
  14. id = new Integer(uniqueID++);
  15. }
  16. Record question = query.getQuestion();
  17. String qname;
  18. if (question != null)
  19. qname = question.getName().toString();
  20. else
  21. qname = "(none)";
  22. String name = this.getClass() + ": " + qname;
  23. Thread thread = new ResolveThread(this, query, id, listener);
  24. thread.setName(name);
  25. thread.setDaemon(true);
  26. thread.start();
  27. return id;
  28. }

代码示例来源:origin: tiandawu/IotXmpp

  1. /**
  2. * Asynchronously sends a message to a single server, registering a listener
  3. * to receive a callback on success or exception. Multiple asynchronous
  4. * lookups can be performed in parallel. Since the callback may be invoked
  5. * before the function returns, external synchronization is necessary.
  6. * @param query The query to send
  7. * @param listener The object containing the callbacks.
  8. * @return An identifier, which is also a parameter in the callback
  9. */
  10. public Object
  11. sendAsync(final Message query, final ResolverListener listener) {
  12. final Object id;
  13. synchronized (this) {
  14. id = new Integer(uniqueID++);
  15. }
  16. Record question = query.getQuestion();
  17. String qname;
  18. if (question != null)
  19. qname = question.getName().toString();
  20. else
  21. qname = "(none)";
  22. String name = this.getClass() + ": " + qname;
  23. Thread thread = new ResolveThread(this, query, id, listener);
  24. thread.setName(name);
  25. thread.setDaemon(true);
  26. thread.start();
  27. return id;
  28. }

代码示例来源:origin: org.littleshoot/dnsjava

  1. /**
  2. * Asynchronously sends a message to a single server, registering a listener
  3. * to receive a callback on success or exception. Multiple asynchronous
  4. * lookups can be performed in parallel. Since the callback may be invoked
  5. * before the function returns, external synchronization is necessary.
  6. * @param query The query to send
  7. * @param listener The object containing the callbacks.
  8. * @return An identifier, which is also a parameter in the callback
  9. */
  10. public Object
  11. sendAsync(final Message query, final ResolverListener listener) {
  12. final Object id;
  13. synchronized (this) {
  14. id = new Integer(uniqueID++);
  15. }
  16. Record question = query.getQuestion();
  17. String qname;
  18. if (question != null)
  19. qname = question.getName().toString();
  20. else
  21. qname = "(none)";
  22. String name = this.getClass() + ": " + qname;
  23. Thread thread = new ResolveThread(this, query, id, listener);
  24. thread.setName(name);
  25. thread.setDaemon(true);
  26. thread.start();
  27. return id;
  28. }

代码示例来源:origin: org.jboss.resteasy/resteasy-eagledns-fork

  1. Message query = new Message(inDataPacket.getData());
  2. log.debug("UDP query " + EagleDNS.toString(query.getQuestion()) + " from " + inDataPacket.getSocketAddress());

代码示例来源:origin: github/elasticsearch-srv-discovery

  1. @Override
  2. public Message send(Message query) throws IOException {
  3. final String HOSTNAME = "localhost.";
  4. if (query.getQuestion().getName().toString().equals(Constants.TEST_QUERY)) {
  5. Record question = Record.newRecord(query.getQuestion().getName(), Type.SRV, DClass.IN);
  6. Message queryMessage = Message.newQuery(question);
  7. Message result = new Message();
  8. result.setHeader(queryMessage.getHeader());
  9. result.addRecord(question, Section.QUESTION);
  10. result.addRecord(new SRVRecord(query.getQuestion().getName(), DClass.IN, 1, 1, 1, Constants.NODE_0_TRANSPORT_TCP_PORT, Name.fromString(HOSTNAME)), Section.ANSWER);
  11. result.addRecord(new SRVRecord(query.getQuestion().getName(), DClass.IN, 1, 1, 1, Constants.NODE_1_TRANSPORT_TCP_PORT, Name.fromString(HOSTNAME)), Section.ANSWER);
  12. result.addRecord(new SRVRecord(query.getQuestion().getName(), DClass.IN, 1, 1, 1, Constants.NODE_2_TRANSPORT_TCP_PORT, Name.fromString(HOSTNAME)), Section.ANSWER);
  13. result.addRecord(new SRVRecord(query.getQuestion().getName(), DClass.IN, 1, 1, 1, Constants.NODE_3_TRANSPORT_TCP_PORT, Name.fromString(HOSTNAME)), Section.ANSWER);
  14. result.addRecord(new SRVRecord(query.getQuestion().getName(), DClass.IN, 1, 1, 1, Constants.NODE_4_TRANSPORT_TCP_PORT, Name.fromString(HOSTNAME)), Section.ANSWER);
  15. return result;
  16. }
  17. if (query.getQuestion().getName().toString().equals(HOSTNAME)) {
  18. Record question = Record.newRecord(query.getQuestion().getName(), Type.A, DClass.IN);
  19. Message queryMessage = Message.newQuery(question);
  20. Message result = new Message();
  21. result.setHeader(queryMessage.getHeader());
  22. result.addRecord(question, Section.QUESTION);
  23. result.addRecord(new ARecord(query.getQuestion().getName(), DClass.IN, 1, InetAddress.getLoopbackAddress()), Section.ANSWER);
  24. return result;
  25. }
  26. throw new IllegalArgumentException("Unknown test query: " + query.getQuestion().getName().toString());
  27. }
  28. };

代码示例来源:origin: org.littleshoot/dnsjava

  1. private Message
  2. sendAXFR(Message query) throws IOException {
  3. Name qname = query.getQuestion().getName();
  4. ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig);
  5. xfrin.setTimeout((int)(getTimeout() / 1000));
  6. xfrin.setLocalAddress(localAddress);
  7. try {
  8. xfrin.run();
  9. }
  10. catch (ZoneTransferException e) {
  11. throw new WireParseException(e.getMessage());
  12. }
  13. List records = xfrin.getAXFR();
  14. Message response = new Message(query.getHeader().getID());
  15. response.getHeader().setFlag(Flags.AA);
  16. response.getHeader().setFlag(Flags.QR);
  17. response.addRecord(query.getQuestion(), Section.QUESTION);
  18. Iterator it = records.iterator();
  19. while (it.hasNext())
  20. response.addRecord((Record)it.next(), Section.ANSWER);
  21. return response;
  22. }

代码示例来源:origin: dnsjava/dnsjava

  1. private Message
  2. sendAXFR(Message query) throws IOException {
  3. Name qname = query.getQuestion().getName();
  4. ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig);
  5. xfrin.setTimeout((int)(getTimeout() / 1000));
  6. xfrin.setLocalAddress(localAddress);
  7. try {
  8. xfrin.run();
  9. }
  10. catch (ZoneTransferException e) {
  11. throw new WireParseException(e.getMessage());
  12. }
  13. List records = xfrin.getAXFR();
  14. Message response = new Message(query.getHeader().getID());
  15. response.getHeader().setFlag(Flags.AA);
  16. response.getHeader().setFlag(Flags.QR);
  17. response.addRecord(query.getQuestion(), Section.QUESTION);
  18. Iterator it = records.iterator();
  19. while (it.hasNext())
  20. response.addRecord((Record)it.next(), Section.ANSWER);
  21. return response;
  22. }

代码示例来源:origin: net.sf.dnsjava-osgi/dnsjava-osgi

  1. private Message
  2. sendAXFR(Message query) throws IOException {
  3. Name qname = query.getQuestion().getName();
  4. ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig);
  5. xfrin.setTimeout((int)(getTimeout() / 1000));
  6. xfrin.setLocalAddress(localAddress);
  7. try {
  8. xfrin.run();
  9. }
  10. catch (ZoneTransferException e) {
  11. throw new WireParseException(e.getMessage());
  12. }
  13. List records = xfrin.getAXFR();
  14. Message response = new Message(query.getHeader().getID());
  15. response.getHeader().setFlag(Flags.AA);
  16. response.getHeader().setFlag(Flags.QR);
  17. response.addRecord(query.getQuestion(), Section.QUESTION);
  18. Iterator it = records.iterator();
  19. while (it.hasNext())
  20. response.addRecord((Record)it.next(), Section.ANSWER);
  21. return response;
  22. }

代码示例来源:origin: tiandawu/IotXmpp

  1. private Message
  2. sendAXFR(Message query) throws IOException {
  3. Name qname = query.getQuestion().getName();
  4. ZoneTransferIn xfrin = ZoneTransferIn.newAXFR(qname, address, tsig);
  5. xfrin.setTimeout((int)(getTimeout() / 1000));
  6. xfrin.setLocalAddress(localAddress);
  7. try {
  8. xfrin.run();
  9. }
  10. catch (ZoneTransferException e) {
  11. throw new WireParseException(e.getMessage());
  12. }
  13. List records = xfrin.getAXFR();
  14. Message response = new Message(query.getHeader().getID());
  15. response.getHeader().setFlag(Flags.AA);
  16. response.getHeader().setFlag(Flags.QR);
  17. response.addRecord(query.getQuestion(), Section.QUESTION);
  18. Iterator it = records.iterator();
  19. while (it.hasNext())
  20. response.addRecord((Record)it.next(), Section.ANSWER);
  21. return response;
  22. }

代码示例来源:origin: RIPE-NCC/hadoop-pcap

  1. @Override
  2. protected void processPacketPayload(Packet packet, byte[] payload) {
  3. String protocol = (String)packet.get(Packet.PROTOCOL);
  4. if (!PcapReader.PROTOCOL_UDP.equals(protocol) && !PcapReader.PROTOCOL_TCP.equals(protocol))
  5. return;
  6. DnsPacket dnsPacket = (DnsPacket)packet;
  7. if (DNS_PORT == (Integer)packet.get(Packet.SRC_PORT) || DNS_PORT == (Integer)packet.get(Packet.DST_PORT)) {
  8. if (PROTOCOL_TCP.equals(protocol) &&
  9. payload.length > 2) // TODO Support DNS responses with multiple messages (as used for XFRs)
  10. payload = Arrays.copyOfRange(payload, 2, payload.length); // First two bytes denote the size of the DNS message, ignore them
  11. try {
  12. Message msg = new Message(payload);
  13. Header header = msg.getHeader();
  14. dnsPacket.put(DnsPacket.QUERYID, header.getID());
  15. dnsPacket.put(DnsPacket.FLAGS, header.printFlags());
  16. dnsPacket.put(DnsPacket.QR, header.getFlag(Flags.QR));
  17. dnsPacket.put(DnsPacket.OPCODE, Opcode.string(header.getOpcode()));
  18. dnsPacket.put(DnsPacket.RCODE, Rcode.string(header.getRcode()));
  19. dnsPacket.put(DnsPacket.QUESTION, convertRecordToString(msg.getQuestion()));
  20. dnsPacket.put(DnsPacket.QNAME, convertRecordOwnerToString(msg.getQuestion()));
  21. dnsPacket.put(DnsPacket.QTYPE, convertRecordTypeToInt(msg.getQuestion()));
  22. dnsPacket.put(DnsPacket.ANSWER, convertRecordsToStrings(msg.getSectionArray(Section.ANSWER)));
  23. dnsPacket.put(DnsPacket.AUTHORITY, convertRecordsToStrings(msg.getSectionArray(Section.AUTHORITY)));
  24. dnsPacket.put(DnsPacket.ADDITIONAL, convertRecordsToStrings(msg.getSectionArray(Section.ADDITIONAL)));
  25. } catch (Exception e) {
  26. // If we cannot decode a DNS packet we ignore it
  27. }
  28. }
  29. }

代码示例来源:origin: org.nhind/dns

  1. /**
  2. * Processes a DNS error condition and creates an appropriate DNS response.
  3. * @param request The original DNS request.
  4. * @param error The error condition that occured.
  5. * @return A response to the DNS request.
  6. */
  7. protected Message processError(Message request, DNSError<?> error)
  8. {
  9. Message errorResponse = null;
  10. try
  11. {
  12. Header respHeader = new Header(request.toWire());
  13. Message response = new Message();
  14. response.setHeader(respHeader);
  15. for (int i = 0; i < 4; i++)
  16. response.removeAllRecords(i);
  17. response.addRecord(request.getQuestion(), Section.QUESTION);
  18. response.getHeader().setFlag(Flags.QR);
  19. if (request.getHeader().getFlag(Flags.RD))
  20. response.getHeader().setFlag(Flags.RD);
  21. respHeader.setRcode(Integer.parseInt(error.getError().toString()));
  22. return response;
  23. }
  24. catch (IOException e) {}
  25. return errorResponse;
  26. }

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-registry

  1. Record[] assertDNSQueryNotNull(String lookup, int type, int answerCount)
  2. throws IOException {
  3. Name name = Name.fromString(lookup);
  4. Record question = Record.newRecord(name, type, DClass.IN);
  5. Message query = Message.newQuery(question);
  6. OPTRecord optRecord = new OPTRecord(4096, 0, 0, Flags.DO, null);
  7. query.addRecord(optRecord, Section.ADDITIONAL);
  8. byte[] responseBytes = getRegistryDNS().generateReply(query, null);
  9. Message response = new Message(responseBytes);
  10. assertEquals("not successful", Rcode.NOERROR, response.getRcode());
  11. assertNotNull("Null response", response);
  12. assertEquals("Questions do not match", query.getQuestion(),
  13. response.getQuestion());
  14. Record[] recs = response.getSectionArray(Section.ANSWER);
  15. assertEquals(answerCount, recs.length);
  16. assertEquals(recs[0].getType(), type);
  17. return recs;
  18. }

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-registry

  1. Record[] assertDNSQuery(String lookup, int type, int numRecs)
  2. throws IOException {
  3. Name name = Name.fromString(lookup);
  4. Record question = Record.newRecord(name, type, DClass.IN);
  5. Message query = Message.newQuery(question);
  6. OPTRecord optRecord = new OPTRecord(4096, 0, 0, Flags.DO, null);
  7. query.addRecord(optRecord, Section.ADDITIONAL);
  8. byte[] responseBytes = getRegistryDNS().generateReply(query, null);
  9. Message response = new Message(responseBytes);
  10. assertEquals("not successful", Rcode.NOERROR, response.getRcode());
  11. assertNotNull("Null response", response);
  12. assertEquals("Questions do not match", query.getQuestion(),
  13. response.getQuestion());
  14. Record[] recs = response.getSectionArray(Section.ANSWER);
  15. assertEquals("wrong number of answer records",
  16. isSecure() ? numRecs * 2 : numRecs, recs.length);
  17. if (isSecure()) {
  18. boolean signed = false;
  19. for (Record record : recs) {
  20. signed = record.getType() == Type.RRSIG;
  21. if (signed) {
  22. break;
  23. }
  24. }
  25. assertTrue("No signatures found", signed);
  26. }
  27. return recs;
  28. }

相关文章