diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-05-14 18:43:20 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-05-14 18:43:20 +0000 |
commit | f61d78fb42d2662643e7f0dbdcb97adbc2589dbc (patch) | |
tree | 9b915379eafaa12682f45d6cb1f41e94fcb12a36 /iterator/iter_fwd.c | |
parent | 697291b66c481c617cf9875497e2189bc4a4b096 (diff) |
Diffstat (limited to 'iterator/iter_fwd.c')
-rw-r--r-- | iterator/iter_fwd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/iterator/iter_fwd.c b/iterator/iter_fwd.c index 0b3b6525c26b6..b84e5eff60d09 100644 --- a/iterator/iter_fwd.c +++ b/iterator/iter_fwd.c @@ -325,6 +325,20 @@ forwards_apply_cfg(struct iter_forwards* fwd, struct config_file* cfg) } struct delegpt* +forwards_find(struct iter_forwards* fwd, uint8_t* qname, uint16_t qclass) +{ + rbnode_t* res = NULL; + struct iter_forward_zone key; + key.node.key = &key; + key.dclass = qclass; + key.name = qname; + key.namelabs = dname_count_size_labels(qname, &key.namelen); + res = rbtree_search(fwd->tree, &key); + if(res) return ((struct iter_forward_zone*)res)->dp; + return NULL; +} + +struct delegpt* forwards_lookup(struct iter_forwards* fwd, uint8_t* qname, uint16_t qclass) { /* lookup the forward zone in the tree */ |