clean up query correctly if already answered by serve-stale

when a serve-stale answer has been sent, the client continues waiting
for a proper answer. if a final completion event for the client does
arrive, it can just be cleaned up without sending a response, similar
to a canceled fetch.
This commit is contained in:
Evan Hunt
2021-05-27 10:35:48 -07:00
parent 453e905d7e
commit 8bd8e995f1
2 changed files with 54 additions and 29 deletions
+20 -19
View File
@@ -100,25 +100,26 @@ struct ns_query {
bool root_key_sentinel_not_ta;
};
#define NS_QUERYATTR_RECURSIONOK 0x00001
#define NS_QUERYATTR_CACHEOK 0x00002
#define NS_QUERYATTR_PARTIALANSWER 0x00004
#define NS_QUERYATTR_NAMEBUFUSED 0x00008
#define NS_QUERYATTR_RECURSING 0x00010
#define NS_QUERYATTR_QUERYOKVALID 0x00040
#define NS_QUERYATTR_QUERYOK 0x00080
#define NS_QUERYATTR_WANTRECURSION 0x00100
#define NS_QUERYATTR_SECURE 0x00200
#define NS_QUERYATTR_NOAUTHORITY 0x00400
#define NS_QUERYATTR_NOADDITIONAL 0x00800
#define NS_QUERYATTR_CACHEACLOKVALID 0x01000
#define NS_QUERYATTR_CACHEACLOK 0x02000
#define NS_QUERYATTR_DNS64 0x04000
#define NS_QUERYATTR_DNS64EXCLUDE 0x08000
#define NS_QUERYATTR_RRL_CHECKED 0x10000
#define NS_QUERYATTR_REDIRECT 0x20000
#define NS_QUERYATTR_ANSWERED 0x40000
#define NS_QUERYATTR_STALEOK 0x80000
#define NS_QUERYATTR_RECURSIONOK 0x000001
#define NS_QUERYATTR_CACHEOK 0x000002
#define NS_QUERYATTR_PARTIALANSWER 0x000004
#define NS_QUERYATTR_NAMEBUFUSED 0x000008
#define NS_QUERYATTR_RECURSING 0x000010
#define NS_QUERYATTR_QUERYOKVALID 0x000040
#define NS_QUERYATTR_QUERYOK 0x000080
#define NS_QUERYATTR_WANTRECURSION 0x000100
#define NS_QUERYATTR_SECURE 0x000200
#define NS_QUERYATTR_NOAUTHORITY 0x000400
#define NS_QUERYATTR_NOADDITIONAL 0x000800
#define NS_QUERYATTR_CACHEACLOKVALID 0x001000
#define NS_QUERYATTR_CACHEACLOK 0x002000
#define NS_QUERYATTR_DNS64 0x004000
#define NS_QUERYATTR_DNS64EXCLUDE 0x008000
#define NS_QUERYATTR_RRL_CHECKED 0x010000
#define NS_QUERYATTR_REDIRECT 0x020000
#define NS_QUERYATTR_ANSWERED 0x040000
#define NS_QUERYATTR_STALEOK 0x080000
#define NS_QUERYATTR_STALEPENDING 0x100000
typedef struct query_ctx query_ctx_t;