MCPcopy Create free account
hub / github.com/DeNA/PacketProxy / doAXFR

Method doAXFR

src/main/java/core/org/xbill/DNS/jnamed.java:324–362  ·  view source on GitHub ↗
(Name name, Message query, TSIG tsig, TSIGRecord qtsig, Socket s)

Source from the content-addressed store, hash-verified

322}
323
324byte []
325doAXFR(Name name, Message query, TSIG tsig, TSIGRecord qtsig, Socket s) {
326 Zone zone = (Zone) znames.get(name);
327 boolean first = true;
328 if (zone == null)
329 return errorMessage(query, Rcode.REFUSED);
330 Iterator it = zone.AXFR();
331 try {
332 DataOutputStream dataOut;
333 dataOut = new DataOutputStream(s.getOutputStream());
334 int id = query.getHeader().getID();
335 while (it.hasNext()) {
336 RRset rrset = (RRset) it.next();
337 Message response = new Message(id);
338 Header header = response.getHeader();
339 header.setFlag(Flags.QR);
340 header.setFlag(Flags.AA);
341 addRRset(rrset.getName(), response, rrset,
342 Section.ANSWER, FLAG_DNSSECOK);
343 if (tsig != null) {
344 tsig.applyStream(response, qtsig, first);
345 qtsig = response.getTSIG();
346 }
347 first = false;
348 byte [] out = response.toWire();
349 dataOut.writeShort(out.length);
350 dataOut.write(out);
351 }
352 }
353 catch (IOException ex) {
354 System.out.println("AXFR failed");
355 }
356 try {
357 s.close();
358 }
359 catch (IOException ex) {
360 }
361 return null;
362}
363
364/*
365 * Note: a null return value means that the caller doesn't need to do

Callers 1

generateReplyMethod · 0.95

Calls 15

errorMessageMethod · 0.95
AXFRMethod · 0.95
getHeaderMethod · 0.95
setFlagMethod · 0.95
addRRsetMethod · 0.95
getNameMethod · 0.95
getTSIGMethod · 0.95
toWireMethod · 0.95
getIDMethod · 0.80
hasNextMethod · 0.80
nextMethod · 0.80
applyStreamMethod · 0.80

Tested by

no test coverage detected