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(); }
/** * Create an error message. * * @param header the response header. * @param rcode the response code. * @param question the question record. * @return the error message. */ 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); } response.addRecord(question, Section.QUESTION); header.setRcode(rcode); return response.toWire(); }
/** * Processes a DNS error condition and creates an appropriate DNS response. * @param request The original DNS request. * @param error The error condition that occured. * @return A response to the DNS request. */ protected Message processError(Message request, DNSError<?> error) { Message errorResponse = null; try { Header respHeader = new Header(request.toWire()); Message response = new Message(); response.setHeader(respHeader); for (int i = 0; i < 4; i++) response.removeAllRecords(i); response.addRecord(request.getQuestion(), Section.QUESTION); response.getHeader().setFlag(Flags.QR); if (request.getHeader().getFlag(Flags.RD)) response.getHeader().setFlag(Flags.RD); respHeader.setRcode(Integer.parseInt(error.getError().toString())); return response; } catch (IOException e) {} return errorResponse; }