#include "msg.h"
#include "hash.h"
-#define DNS_IDTABLE_SIZE 0x2000
-#define DNS_STATTABLE_SIZE 0x10
-
#define DNS_HOST_IPV4 ((char)'4')
#define DNS_HOST_IPV6 ((char)'6')
#define DNS_REVERSE_IPV4 ((char)'R')
};
/* These serve as a form of sparse array */
-static struct Dictionary *query_dict;
-static struct Dictionary *stat_dict;
+static rb_dictionary *query_dict;
+static rb_dictionary *stat_dict;
rb_dlink_list nameservers;
static uint32_t query_id = 0;
static uint32_t stat_id = 0;
-#define ASSIGN_ID(id) (id++)
+static inline uint32_t
+assign_id(uint32_t *id)
+{
+ if(++(*id) == 0)
+ *id = 1;
+
+ return *id;
+}
static void
handle_dns_failure(uint32_t xid)
{
struct dnsreq *req = rb_malloc(sizeof(struct dnsreq));
int aft;
- uint32_t rid = ASSIGN_ID(query_id);
+ uint32_t rid = assign_id(&query_id);
check_authd();
{
struct dnsreq *req = rb_malloc(sizeof(struct dnsreq));
int aft;
- uint32_t rid = ASSIGN_ID(query_id);
+ uint32_t rid = assign_id(&query_id);
check_authd();
return (rid);
}
-uint32_t
+static uint32_t
get_nameservers(DNSLISTCB callback, void *data)
{
struct dnsstatreq *req = rb_malloc(sizeof(struct dnsstatreq));
- uint32_t qid = ASSIGN_ID(stat_id);
+ uint32_t qid = assign_id(&stat_id);
check_authd();
{
struct dnsstatreq *req;
uint32_t qid;
- int st, i;
+ int st;
long lqid = strtol(callid, NULL, 16);
if(lqid > UINT32_MAX)
reload_nameservers(void)
{
check_authd();
- rb_helper_write(authd_helper, "H D");
+ rb_helper_write(authd_helper, "R D");
(void)get_nameservers(stats_results_callback, NULL);
}