In dnsjava 3.5.3, sending DDNS update to a server that returns NOTIMP with ZOCOUNT=0 results in NPE at SimpleResolver:406 because response.getQuestion() is null. #277 "fixes" that by considering the case an "invalid message", but that interpretation is not consistent with Section 3.8 of RFC 2136:
A response message is generated by copying the ID and Opcode fields from the request, and either copying the ZOCOUNT, PRCOUNT, UPCOUNT, and ADCOUNT fields and associated sections, or placing zeros (0) in the these "count" fields and not including any part of the original update
|
if (!query.getQuestion().getName().equals(response.getQuestion().getName())) { |
|
if (response.getQuestion() == null) { |
|
f.completeExceptionally( |
|
new WireParseException("invalid message: question section missing")); |
|
return f; |
|
} |
In dnsjava 3.5.3, sending DDNS update to a server that returns NOTIMP with ZOCOUNT=0 results in NPE at SimpleResolver:406 because
response.getQuestion()is null. #277 "fixes" that by considering the case an "invalid message", but that interpretation is not consistent with Section 3.8 of RFC 2136:dnsjava/src/main/java/org/xbill/DNS/SimpleResolver.java
Line 406 in 1f59406
dnsjava/src/main/java/org/xbill/DNS/SimpleResolver.java
Lines 422 to 426 in f6fa697