Message dnsMsg; try { dnsMsg = new Message(dnsRawData); } catch (IOException e) { Log.i(TAG, "handleDnsRequest: Discarding non-DNS or invalid packet", e);
private Message parseMessage(byte [] b) throws WireParseException { try { return new Message(b); } catch (IOException e) { if (e instanceof WireParseException) throw (WireParseException) e; throw new WireParseException("Error parsing message"); } }
private Message parseMessage(byte [] b) throws WireParseException { try { return new Message(b); } catch (IOException e) { if (e instanceof WireParseException) throw (WireParseException) e; throw new WireParseException("Error parsing message"); } }
private Message parseMessage(byte [] b) throws WireParseException { try { return new Message(b); } catch (IOException e) { if (e instanceof WireParseException) throw (WireParseException) e; throw new WireParseException("Error parsing message"); } }
private Message parseMessage(byte [] b) throws WireParseException { try { return new Message(b); } catch (IOException e) { if (e instanceof WireParseException) throw (WireParseException) e; throw new WireParseException("Error parsing message"); } }
@Override public byte[] decode(byte[] buf) { Message m; try { m = new Message(buf); } catch (IOException ex) { throw new RuntimeException("Cannot decode DNS message: "+JOrphanUtils.baToHexString(buf), ex); } return m.toString().getBytes(); } }
@Override public byte[] decode(byte[] buf) { Message m; try { m = new Message(buf); } catch (IOException ex) { throw new RuntimeException("Cannot decode DNS message: " + JOrphanUtils.baToHexString(buf), ex); } return m.toString().getBytes(); } }
private Message parseMessage(byte [] b) throws WireParseException { try { return (new Message(b)); } catch (IOException e) { if (Options.check("verbose")) e.printStackTrace(); if (!(e instanceof WireParseException)) e = new WireParseException("Error parsing message"); throw (WireParseException) e; } }
private Message parseMessage(byte [] b) throws WireParseException { try { return (new Message(b)); } catch (IOException e) { if (Options.check("verbose")) e.printStackTrace(); if (!(e instanceof WireParseException)) e = new WireParseException("Error parsing message"); throw (WireParseException) e; } }
public Message newMessage() { Message msg = new Message(); msg.getHeader().setOpcode(Opcode.UPDATE); return msg; }
/** * Creates a new Message with a random Message ID suitable for sending as a * query. * @param r A record containing the question */ public static Message newQuery(Record r) { Message m = new Message(); m.header.setOpcode(Opcode.QUERY); m.header.setFlag(Flags.RD); m.addRecord(r, Section.QUESTION); return m; }
/** * Creates a new Message with a random Message ID suitable for sending as a * query. * @param r A record containing the question */ public static Message newQuery(Record r) { Message m = new Message(); m.header.setOpcode(Opcode.QUERY); m.header.setFlag(Flags.RD); m.addRecord(r, Section.QUESTION); return m; }
/** * Creates a new Message with a random Message ID suitable for sending as a * query. * @param r A record containing the question */ public static Message newQuery(Record r) { Message m = new Message(); m.header.setOpcode(Opcode.QUERY); m.header.setFlag(Flags.RD); m.addRecord(r, Section.QUESTION); return m; }
@Test public void testNoQueryDnsQuery() throws Exception { Message message = new Message(); UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder() .srcPort(UdpPort.DOMAIN) .dstPort(UdpPort.DOMAIN) .srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(message.toWire()) ); IpPacket ipOutPacket = new IpV4Packet.Builder() .version(IpVersion.IPV4) .tos(IpV4Rfc791Tos.newInstance((byte) 0)) .protocol(IpNumber.UDP) .srcAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(payLoadBuilder) .build(); dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData()); assertNull(mockEventLoop.lastResponse); assertNull(mockEventLoop.lastOutgoing); dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData()); }
byte[] buildErrorMessage(final Header header, final int rcode, final Record question) { final Message response = new Message(); response.setHeader(header); for (int i = 0; i < 4; i++) response.removeAllRecords(i); if (rcode == Rcode.SERVFAIL) response.addRecord(question, Section.QUESTION); header.setRcode(rcode); return response.toWire(); }
byte [] buildErrorMessage(Header header, int rcode, Record question) { Message response = new Message(); response.setHeader(header); for (int i = 0; i < 4; i++) response.removeAllRecords(i); if (rcode == Rcode.SERVFAIL) response.addRecord(question, Section.QUESTION); header.setRcode(rcode); return response.toWire(); }
private byte[] buildErrorMessage(Header header, int rcode, Record question) { Message response = new Message(); response.setHeader(header); for (int i = 0; i < 4; i++) { response.removeAllRecords(i); } if (rcode == Rcode.SERVFAIL) { response.addRecord(question, Section.QUESTION); } header.setRcode(rcode); return response.toWire(); }
byte[] buildErrorMessage(Header header, int rcode, Record question) { final Message response = new Message(); response.setHeader(header); for (int i = 0; i < 4; i++) { response.removeAllRecords(i); } if (rcode == Rcode.SERVFAIL) { response.addRecord(question, Section.QUESTION); } header.setRcode(rcode); return response.toWire(); }
assertTrue(mockEventLoop.lastResponse.getPayload() instanceof UdpPacket); Message responseMsg = new Message(mockEventLoop.lastResponse.getPayload().getPayload().getRawData()); assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER));
assertTrue(mockEventLoop.lastResponse.getPayload() instanceof UdpPacket); Message responseMsg = new Message(mockEventLoop.lastResponse.getPayload().getPayload().getRawData()); assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER));