Package org.xbill.DNS
Class ExtendedErrorCodeOption
java.lang.Object
org.xbill.DNS.EDNSOption
org.xbill.DNS.ExtendedErrorCodeOption
EDNS option to provide additional information about the cause of DNS errors (RFC 8914).
- Since:
- 3.4
-
Nested Class Summary
Nested classes/interfaces inherited from class org.xbill.DNS.EDNSOption
EDNSOption.Code -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe server is unable to respond to the request because the domain is on a blocklist due to an internal security policy imposed by the operator of the server resolving or forwarding the query.static final intThe resolver is returning theRcode.SERVFAILfrom its cache.static final intThe server is unable to respond to the request because the domain is on a blocklist due to an external requirement imposed by an entity other than the operator of the server resolving or forwarding the query.static final intADSRecordexisted at a parent, but no supported matchingDNSKEYRecordcould be found for the child.static final intThe resolver attempted to perform DNSSEC validation, but validation ended in the Bogus state.static final intThe resolver attempted to perform DNSSEC validation, but validation ended in the Indeterminate state.static final intThe server is unable to respond to the request because the domain is on a blocklist as requested by the client.static final intFor policy reasons (legal obligation or malware filtering, for instance), an answer was forged.static final intThe authoritative server cannot answer with data for a zone it is otherwise configured to support.static final intAn unrecoverable error occurred while communicating with another server.static final intThe resolver could not reach any of the authoritative name servers (or they potentially refused to reply).static final intThe resolver attempted to perform DNSSEC validation, but no Zone Key Bit was set in a DNSKEY.static final intResponse to a query with the Recursion Desired (RD) bit clear, or when the server is not configured for recursion (and the query is for a domain for which it is not authoritative).static final intThe server is unable to answer the query, as it was not fully functional when the query was received.static final intThe requested operation or query is not supported.static final intThe resolver attempted to perform DNSSEC validation, but the requested data was missing and a coveringNSECRecordorNSEC3Recordwas not providedstatic final intThe error in question falls into a category that does not match known extended error codes.static final intAn authoritative server or recursive resolver that receives a query from an "unauthorized" client can annotate itsRcode.REFUSEDmessage with this code.static final intThe resolver attempted to perform DNSSEC validation, but noRRSIGRecords could be found for at least oneRRsetwhereRRSIGRecords were expected.static final intThe resolver attempted to perform DNSSEC validation, but no signatures are presently valid and some (often all) are expired.static final intThe signature expired before it started to become valid.static final intThe resolver attempted to perform DNSSEC validation, but no signatures are presently valid and at least some are not yet valid.static final intThe resolver was unable to resolve the answer within its time limits and decided to answer with previously cached data instead of answering with an error.static final intThe resolver was unable to resolve an answer within its configured time limits and decided to answer with a previously cachedRcode.NXDOMAINanswer instead of answering with an error.static final intResult synthesized from aggressive NSEC cache.static final intDNS over QUIC session resumption error.static final intUnable to conform to policy.static final intThe resolver attempted to perform DNSSEC validation, but aDNSKEYRecordRRsetcontained only unsupported DNSSEC algorithms.static final intstatic final intThe NSEC3 iterations value is not supported. -
Constructor Summary
ConstructorsConstructorDescriptionExtendedErrorCodeOption(int errorCode) Creates an extended error code EDNS option.ExtendedErrorCodeOption(int errorCode, String text) Creates an extended error code EDNS option. -
Method Summary
-
Field Details
-
OTHER
public static final int OTHERThe error in question falls into a category that does not match known extended error codes.- See Also:
-
UNSUPPORTED_DNSKEY_ALGORITHM
public static final int UNSUPPORTED_DNSKEY_ALGORITHMThe resolver attempted to perform DNSSEC validation, but aDNSKEYRecordRRsetcontained only unsupported DNSSEC algorithms.- See Also:
-
UNSUPPORTED_DS_DIGEST_TYPE
public static final int UNSUPPORTED_DS_DIGEST_TYPEThe resolver attempted to perform DNSSEC validation, but aDSRecordRRsetcontained only unsupported Digest Types.- See Also:
-
STALE_ANSWER
public static final int STALE_ANSWERThe resolver was unable to resolve the answer within its time limits and decided to answer with previously cached data instead of answering with an error.- See Also:
-
FORGED_ANSWER
public static final int FORGED_ANSWERFor policy reasons (legal obligation or malware filtering, for instance), an answer was forged.- See Also:
-
DNSSEC_INDETERMINATE
public static final int DNSSEC_INDETERMINATEThe resolver attempted to perform DNSSEC validation, but validation ended in the Indeterminate state.- See Also:
-
DNSSEC_BOGUS
public static final int DNSSEC_BOGUSThe resolver attempted to perform DNSSEC validation, but validation ended in the Bogus state.- See Also:
-
SIGNATURE_EXPIRED
public static final int SIGNATURE_EXPIREDThe resolver attempted to perform DNSSEC validation, but no signatures are presently valid and some (often all) are expired.- See Also:
-
SIGNATURE_NOT_YET_VALID
public static final int SIGNATURE_NOT_YET_VALIDThe resolver attempted to perform DNSSEC validation, but no signatures are presently valid and at least some are not yet valid.- See Also:
-
DNSKEY_MISSING
public static final int DNSKEY_MISSINGADSRecordexisted at a parent, but no supported matchingDNSKEYRecordcould be found for the child.- See Also:
-
RRSIGS_MISSING
public static final int RRSIGS_MISSINGThe resolver attempted to perform DNSSEC validation, but noRRSIGRecords could be found for at least oneRRsetwhereRRSIGRecords were expected.- See Also:
-
NO_ZONE_KEY_BIT_SET
public static final int NO_ZONE_KEY_BIT_SETThe resolver attempted to perform DNSSEC validation, but no Zone Key Bit was set in a DNSKEY.- See Also:
-
NSEC_MISSING
public static final int NSEC_MISSINGThe resolver attempted to perform DNSSEC validation, but the requested data was missing and a coveringNSECRecordorNSEC3Recordwas not provided- See Also:
-
CACHED_ERROR
public static final int CACHED_ERRORThe resolver is returning theRcode.SERVFAILfrom its cache.- See Also:
-
NOT_READY
public static final int NOT_READYThe server is unable to answer the query, as it was not fully functional when the query was received.- See Also:
-
BLOCKED
public static final int BLOCKEDThe server is unable to respond to the request because the domain is on a blocklist due to an internal security policy imposed by the operator of the server resolving or forwarding the query.- See Also:
-
CENSORED
public static final int CENSOREDThe server is unable to respond to the request because the domain is on a blocklist due to an external requirement imposed by an entity other than the operator of the server resolving or forwarding the query.- See Also:
-
FILTERED
public static final int FILTEREDThe server is unable to respond to the request because the domain is on a blocklist as requested by the client.- See Also:
-
PROHIBITED
public static final int PROHIBITEDAn authoritative server or recursive resolver that receives a query from an "unauthorized" client can annotate itsRcode.REFUSEDmessage with this code.- See Also:
-
STALE_NXDOMAIN_ANSWER
public static final int STALE_NXDOMAIN_ANSWERThe resolver was unable to resolve an answer within its configured time limits and decided to answer with a previously cachedRcode.NXDOMAINanswer instead of answering with an error.- See Also:
-
NOT_AUTHORITATIVE
public static final int NOT_AUTHORITATIVEResponse to a query with the Recursion Desired (RD) bit clear, or when the server is not configured for recursion (and the query is for a domain for which it is not authoritative).- See Also:
-
NOT_SUPPORTED
public static final int NOT_SUPPORTEDThe requested operation or query is not supported.- See Also:
-
NO_REACHABLE_AUTHORITY
public static final int NO_REACHABLE_AUTHORITYThe resolver could not reach any of the authoritative name servers (or they potentially refused to reply).- See Also:
-
NETWORK_ERROR
public static final int NETWORK_ERRORAn unrecoverable error occurred while communicating with another server.- See Also:
-
INVALID_DATA
public static final int INVALID_DATAThe authoritative server cannot answer with data for a zone it is otherwise configured to support.- See Also:
-
SIGNATURE_EXPIRED_BEFORE_VALID
public static final int SIGNATURE_EXPIRED_BEFORE_VALIDThe signature expired before it started to become valid.- Since:
- 3.6
- See Also:
-
TOO_EARLY
public static final int TOO_EARLYDNS over QUIC session resumption error.- Since:
- 3.6
- See Also:
-
UNSUPPORTED_NSEC3_ITERATIONS_VALUE
public static final int UNSUPPORTED_NSEC3_ITERATIONS_VALUEThe NSEC3 iterations value is not supported.- Since:
- 3.6
- See Also:
-
UNABLE_TO_CONFORM_TO_POLICY
public static final int UNABLE_TO_CONFORM_TO_POLICYUnable to conform to policy.- Since:
- 3.6
- See Also:
-
SYNTHESIZED
public static final int SYNTHESIZEDResult synthesized from aggressive NSEC cache.- Since:
- 3.6
- See Also:
-
-
Constructor Details
-
ExtendedErrorCodeOption
Creates an extended error code EDNS option.- Parameters:
errorCode- the extended error.text- optional error message intended for human readers.
-
ExtendedErrorCodeOption
public ExtendedErrorCodeOption(int errorCode) Creates an extended error code EDNS option.- Parameters:
errorCode- the extended error.
-
-
Method Details
-
text
Gets the text mnemonic corresponding to an EDE value.- Since:
- 3.5
-
code
Gets the numeric value corresponding to an EDE text mnemonic.- Since:
- 3.5
-
getErrorCode
public int getErrorCode() -
getText
-