blob: 8f5e423317904762ec48260f265c627a6b4c9033 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
/* ISC license. */
#include <stdint.h>
#include <s6-dns/s6dns-engine.h>
#include "shibari-cache-internal.h"
static uint16_t query_delete (query *q)
{
uint16_t newi = q->prev ;
QUERY(newi)->next = q->next ;
QUERY(q->next)->prev = q->prev ;
q->xindex = UINT16_MAX ;
return newi ;
}
uint16_t query_abort (uint16_t id)
{
query *q = QUERY(id) ;
s6dns_engine_recycle(&q->dt) ;
return query_delete(q) ;
}
uint16_t query_fail (uint16_t id)
{
query *q = QUERY(id) ;
if (q->source == 2) tcpconnection_removequery(TCPCONNECTION(q->i), id) ;
return query_delete(q) ;
}
uint16_t query_succeed (uint16_t id)
{
query *q = QUERY(id) ;
if (q->source == 2) tcpconnection_removequery(TCPCONNECTION(q->i), id) ;
return query_delete(q) ;
}
int query_new (uint8_t source, uint16_t i, char const *ip, uint16_t port, char const *buf, uint16_t len)
{
return 1 ;
}
|