/* * DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/netwerk/dns/nsITRRSkipReason.idl */ #ifndef __gen_nsITRRSkipReason_h__ #define __gen_nsITRRSkipReason_h__ #include "nsISupports.h" /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif /* starting interface: nsITRRSkipReason */ #define NS_ITRRSKIPREASON_IID_STR "e61b5d39-f6d6-4ed3-aead-1213b24c6f27" #define NS_ITRRSKIPREASON_IID \ {0xe61b5d39, 0xf6d6, 0x4ed3, \ { 0xae, 0xad, 0x12, 0x13, 0xb2, 0x4c, 0x6f, 0x27 }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsITRRSkipReason) nsITRRSkipReason : public nsISupports { public: NS_INLINE_DECL_STATIC_IID(NS_ITRRSKIPREASON_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = nsITRRSkipReason; enum MOZ_BINDING(binding_to, idl, class, XPIDL_nsITRRSkipReason_value) value : uint32_t { TRR_UNSET MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_UNSET) = 0, TRR_OK MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_OK) = 1, TRR_NO_GSERVICE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NO_GSERVICE) = 2, TRR_PARENTAL_CONTROL MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_PARENTAL_CONTROL) = 3, TRR_OFF_EXPLICIT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_OFF_EXPLICIT) = 4, TRR_REQ_MODE_DISABLED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_REQ_MODE_DISABLED) = 5, TRR_MODE_NOT_ENABLED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_MODE_NOT_ENABLED) = 6, TRR_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_FAILED) = 7, TRR_MODE_UNHANDLED_DEFAULT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_MODE_UNHANDLED_DEFAULT) = 8, TRR_MODE_UNHANDLED_DISABLED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_MODE_UNHANDLED_DISABLED) = 9, TRR_DISABLED_FLAG MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_DISABLED_FLAG) = 10, TRR_TIMEOUT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_TIMEOUT) = 11, TRR_CHANNEL_DNS_FAIL MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_CHANNEL_DNS_FAIL) = 12, TRR_BROWSER_IS_OFFLINE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_BROWSER_IS_OFFLINE) = 13, TRR_NOT_CONFIRMED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NOT_CONFIRMED) = 14, TRR_DID_NOT_MAKE_QUERY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_DID_NOT_MAKE_QUERY) = 15, TRR_UNKNOWN_CHANNEL_FAILURE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_UNKNOWN_CHANNEL_FAILURE) = 16, TRR_HOST_BLOCKED_TEMPORARY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HOST_BLOCKED_TEMPORARY) = 17, TRR_SEND_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_SEND_FAILED) = 18, TRR_NET_RESET MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NET_RESET) = 19, TRR_NET_TIMEOUT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NET_TIMEOUT) = 20, TRR_NET_REFUSED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NET_REFUSED) = 21, TRR_NET_INTERRUPT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NET_INTERRUPT) = 22, TRR_NET_INADEQ_SEQURITY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NET_INADEQ_SEQURITY) = 23, TRR_NO_ANSWERS MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NO_ANSWERS) = 24, TRR_DECODE_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_DECODE_FAILED) = 25, TRR_EXCLUDED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_EXCLUDED) = 26, TRR_SERVER_RESPONSE_ERR MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_SERVER_RESPONSE_ERR) = 27, TRR_RCODE_FAIL MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_RCODE_FAIL) = 28, TRR_NO_CONNECTIVITY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NO_CONNECTIVITY) = 29, TRR_NXDOMAIN MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_NXDOMAIN) = 30, TRR_REQ_CANCELLED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_REQ_CANCELLED) = 31, ODOH_KEY_NOT_USABLE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_ODOH_KEY_NOT_USABLE) = 32, ODOH_UPDATE_KEY_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_ODOH_UPDATE_KEY_FAILED) = 33, ODOH_KEY_NOT_AVAILABLE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_ODOH_KEY_NOT_AVAILABLE) = 34, ODOH_ENCRYPTION_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_ODOH_ENCRYPTION_FAILED) = 35, ODOH_DECRYPTION_FAILED MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_ODOH_DECRYPTION_FAILED) = 36, TRR_HEURISTIC_TRIPPED_GOOGLE_SAFESEARCH MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_GOOGLE_SAFESEARCH) = 37, TRR_HEURISTIC_TRIPPED_YOUTUBE_SAFESEARCH MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_YOUTUBE_SAFESEARCH) = 38, TRR_HEURISTIC_TRIPPED_ZSCALER_CANARY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_ZSCALER_CANARY) = 39, TRR_HEURISTIC_TRIPPED_CANARY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_CANARY) = 40, TRR_HEURISTIC_TRIPPED_MODIFIED_ROOTS MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_MODIFIED_ROOTS) = 41, TRR_HEURISTIC_TRIPPED_PARENTAL_CONTROLS MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_PARENTAL_CONTROLS) = 42, TRR_HEURISTIC_TRIPPED_THIRD_PARTY_ROOTS MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_THIRD_PARTY_ROOTS) = 43, TRR_HEURISTIC_TRIPPED_ENTERPRISE_POLICY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_ENTERPRISE_POLICY) = 44, TRR_HEURISTIC_TRIPPED_VPN MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_VPN) = 45, TRR_HEURISTIC_TRIPPED_PROXY MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_PROXY) = 46, TRR_HEURISTIC_TRIPPED_NRPT MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_NRPT) = 47, TRR_BAD_URL MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_BAD_URL) = 48, TRR_SYSTEM_SLEEP_MODE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_SYSTEM_SLEEP_MODE) = 49, TRR_HEURISTIC_TRIPPED_PRIVATE_DNS MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_TRR_HEURISTIC_TRIPPED_PRIVATE_DNS) = 50, eLAST_VALUE MOZ_BINDING(binding_to, idl, const, XPIDL_nsITRRSkipReason_value_eLAST_VALUE) = 50, }; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSITRRSKIPREASON \ /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSITRRSKIPREASON \ /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSITRRSKIPREASON(_to) \ /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSITRRSKIPREASON(_to) \ // %{C++:71-140 namespace mozilla { namespace net { using TRRSkippedReason = nsITRRSkipReason::value; inline bool IsRelevantTRRSkipReason(TRRSkippedReason aReason) { // - TRR_REQ_MODE_DISABLED - these requests are intentionally skipping TRR. // These include DNS queries used to bootstrap the TRR connection, // captive portal checks, connectivity checks, etc. // Since we don't want to use TRR for these connections, we don't need // to include them with other relevant skip reasons. // - TRR_DISABLED_FLAG - This reason is used when retrying failed connections, // sync DNS resolves on the main thread, or requests coming from // webextensions that choose to skip TRR // - TRR_EXCLUDED - This reason is used when a certain domain is excluded // from TRR because it is explicitly set by the user, or because it // is part of the user's DNS suffix list, indicating a host that is likely // to be on the local network. if (aReason == TRRSkippedReason::TRR_REQ_MODE_DISABLED || aReason == TRRSkippedReason::TRR_DISABLED_FLAG || aReason == TRRSkippedReason::TRR_EXCLUDED) { return false; } return true; } inline bool IsBlockedTRRRequest(TRRSkippedReason aReason) { // See TRR::MaybeBlockRequest. These are the reasons that could block sending // TRR requests. return (aReason == TRRSkippedReason::TRR_EXCLUDED || aReason == TRRSkippedReason::TRR_MODE_NOT_ENABLED || aReason == TRRSkippedReason::TRR_HOST_BLOCKED_TEMPORARY); } inline bool IsNonRecoverableTRRSkipReason(TRRSkippedReason aReason) { // These are non-recoverable reasons and we'll fallback to native without // retrying. return (aReason == TRRSkippedReason::TRR_NXDOMAIN || aReason == TRRSkippedReason::TRR_NO_ANSWERS || aReason == TRRSkippedReason::TRR_DISABLED_FLAG || aReason == TRRSkippedReason::TRR_RCODE_FAIL); } inline bool IsFailedConfirmationOrNoConnectivity(TRRSkippedReason aReason) { // TRR is in non-confirmed state now, so we don't try to use TRR at all. return (aReason == TRRSkippedReason::TRR_NOT_CONFIRMED || aReason == TRRSkippedReason::TRR_NO_CONNECTIVITY); } inline bool IsConnectionFailedTRRSkipReason(TRRSkippedReason aReason) { // These indicate a problem reaching or talking to the DoH server rather than // an authoritative DNS answer, so the lookup should be allowed to fall back // to the native resolver. return (aReason == TRRSkippedReason::TRR_FAILED || aReason == TRRSkippedReason::TRR_TIMEOUT || aReason == TRRSkippedReason::TRR_CHANNEL_DNS_FAIL || aReason == TRRSkippedReason::TRR_UNKNOWN_CHANNEL_FAILURE || aReason == TRRSkippedReason::TRR_SEND_FAILED || aReason == TRRSkippedReason::TRR_NET_RESET || aReason == TRRSkippedReason::TRR_NET_TIMEOUT || aReason == TRRSkippedReason::TRR_NET_REFUSED || aReason == TRRSkippedReason::TRR_NET_INTERRUPT || aReason == TRRSkippedReason::TRR_NET_INADEQ_SEQURITY || aReason == TRRSkippedReason::TRR_SERVER_RESPONSE_ERR); } extern nsresult GetTRRSkipReasonName(TRRSkippedReason aReason, nsACString& aName); } // net } // mozilla // %} #endif /* __gen_nsITRRSkipReason_h__ */