public byte [] errorMessage(Message query, int rcode) { return buildErrorMessage(query.getHeader(), rcode, query.getQuestion()); }
public Message newMessage() { Message msg = new Message(); msg.getHeader().setOpcode(Opcode.UPDATE); return msg; }
/** * Generate an error message based on inbound query. * * @param query the query. * @param rcode the response code for the specific error. * @return the error message. */ public byte[] errorMessage(Message query, int rcode) { return buildErrorMessage(query.getHeader(), rcode, query.getQuestion()); }
public byte[] errorMessage(final Message query, final int rcode) { return buildErrorMessage(query.getHeader(), rcode, query.getQuestion()); } }
public byte[] errorMessage(Message query, int rcode) { return buildErrorMessage(query.getHeader(), rcode, query.getQuestion()); }
private byte[] errorMessage(Message query, int rcode) { return buildErrorMessage(query.getHeader(), rcode, query.getQuestion()); }
/** * {@inheritDoc} */ protected void writeResponse(final Message message) throws IOException { if (mdnsVerbose) { logger.logp(Level.INFO, getClass().getName(), "writeResponse", "Writing Response to " + multicastAddress.getHostAddress() + ":" + port); } Header header = message.getHeader(); header.setFlag(Flags.AA); header.setFlag(Flags.QR); header.setRcode(0); writeMessageToWire(message/* , true */); }
protected byte[] getMessageBytes(String data) { Message msg = new Message(); String recs[] = data.split(NL); for (String rec : recs) { if (rec.length() <= 3) { Header head = msg.getHeader(); int val = Integer.parseInt(rec.trim()); if (val < 0) { head.unsetFlag(-val); } else { head.setFlag(val); } msg.setHeader(head); } else { msg.addRecord(getRecord(rec.trim()), Section.QUESTION); } } return msg.toWire(); }
protected byte[] getMessageBytes(String data) { Message msg = new Message(); String recs[] = data.split(NL); for (String rec : recs) { if (rec.length() <= 3) { Header head = msg.getHeader(); int val = Integer.parseInt(rec.trim()); if (val < 0) { head.unsetFlag(-val); } else { head.setFlag(val); } msg.setHeader(head); } else { msg.addRecord(getRecord(rec.trim()), Section.QUESTION); } } return msg.toWire(); }
public static Message newQueryResponse(final Record[] records, final int section) { Message message = new Message(); Header header = message.getHeader(); header.setRcode(Rcode.NOERROR); header.setOpcode(Opcode.QUERY); header.setFlag(Flags.QR); for (int index = 0; index < records.length; index++) { message.addRecord(records[index], section); } return message; }
public void receiveMessage(Object id, Message message) { if (message != null) { Header header = message.getHeader(); if (header.getFlag(Flags.QR) || header.getFlag(Flags.AA)) { if (matchesBrowse(message)) { listenerProcessor.getDispatcher().receiveMessage(id, message); } } } }
private Message makeQuery(DNSRequest request, int id) throws TextParseException { Name name = Name.fromString(request.getHostname(), Name.root); int type; switch (request.getRecordType()) { case DNSRequest.A: type = Type.A; break; case DNSRequest.AAAA: type = Type.AAAA; break; case DNSRequest.MX: type = Type.MX; break; case DNSRequest.PTR: type = Type.PTR; break; case DNSRequest.SPF: type = Type.SPF; break; case DNSRequest.TXT: type = Type.TXT; break; default: throw new UnsupportedOperationException("Unknown query type: "+request.getRecordType()); } Record question = Record.newRecord(name, type, DClass.ANY); Message query = Message.newQuery(question); query.getHeader().setID(id); return query; } }
private Message makeQuery(DNSRequest request, int id) throws TextParseException { Name name = Name.fromString(request.getHostname(), Name.root); int type; switch (request.getRecordType()) { case DNSRequest.A: type = Type.A; break; case DNSRequest.AAAA: type = Type.AAAA; break; case DNSRequest.MX: type = Type.MX; break; case DNSRequest.PTR: type = Type.PTR; break; case DNSRequest.SPF: type = Type.SPF; break; case DNSRequest.TXT: type = Type.TXT; break; default: throw new UnsupportedOperationException("Unknown query type: "+request.getRecordType()); } Record question = Record.newRecord(name, type, DClass.ANY); Message query = Message.newQuery(question); query.getHeader().setID(id); return query; } }
public void receiveMessage(final Object id, final Message m) { Header h = m.getHeader(); if (h.getFlag(Flags.QR) || h.getFlag(Flags.AA) || h.getFlag(Flags.AD)) { if (MulticastDNSUtils.answersAny(query, m)) { listener.receiveMessage(this.id, m); unregisterListener(this); } } else { return; } } }
assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER)); assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);
protected Message convertUpdateToQueryResponse(final Message update) { Message m = new Message(); Header h = m.getHeader(); h.setOpcode(Opcode.QUERY); h.setFlag(Flags.AA); h.setFlag(Flags.QR); Record[] records = update.getSectionArray(Section.UPDATE); for (int index = 0; index < records.length; index++ ) { m.addRecord(records[index], Section.ANSWER); } records = update.getSectionArray(Section.ADDITIONAL); for (int index = 0; index < records.length; index++ ) { m.addRecord(records[index], Section.ADDITIONAL); } return m; }
private void sendQuery() throws IOException { Record question = Record.newRecord(zname, qtype, dclass); Message query = new Message(); query.getHeader().setOpcode(Opcode.QUERY); query.addRecord(question, Section.QUESTION); if (qtype == Type.IXFR) { Record soa = new SOARecord(zname, dclass, 0, Name.root, Name.root, ixfr_serial, 0, 0, 0, 0); query.addRecord(soa, Section.AUTHORITY); } if (tsig != null) { tsig.apply(query, null); verifier = new TSIG.StreamVerifier(tsig, query.getTSIG()); } byte [] out = query.toWire(Message.MAXLENGTH); client.send(out); }
private void sendQuery() throws IOException { Record question = Record.newRecord(zname, qtype, dclass); Message query = new Message(); query.getHeader().setOpcode(Opcode.QUERY); query.addRecord(question, Section.QUESTION); if (qtype == Type.IXFR) { Record soa = new SOARecord(zname, dclass, 0, Name.root, Name.root, ixfr_serial, 0, 0, 0, 0); query.addRecord(soa, Section.AUTHORITY); } if (tsig != null) { tsig.apply(query, null); verifier = new TSIG.StreamVerifier(tsig, query.getTSIG()); } byte [] out = query.toWire(Message.MAXLENGTH); client.send(out); }
assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER)); assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);