]> git.mxchange.org Git - simgear.git/blob - 3rdparty/udns/TODO
Initial commit for a DNS service resolver
[simgear.git] / 3rdparty / udns / TODO
1 TODO
2
3 The following is mostly an internal, not user-visible stuff.
4
5 * rearrange an API to make dns_query object owned by application,
6   so that it'll look like this:
7    struct dns_query *q;
8    q = dns_query_alloc(ctx);
9    dns_query_set(q, options, domain_name, flags, ...);
10    dns_query_submit(ctx, q);
11   For more information see NOTES file, section "Planned API changes".
12
13 * allow NULL callbacks?  Or provide separate resolver
14   context list of queries which are done but wich did not
15   have callback, and dns_pick() routine to retrieve results
16   from this query, i.e. allow non-callback usage?  The
17   non-callback usage may be handy sometimes (any *good*
18   example?), but it will be difficult to provide type-safe
19   non-callback interface due to various RR-specific types
20   in use.
21
22 * DNS_OPT_FLAGS should be DNS_OPT_ADDFLAGS and DNS_OPT_SETFLAGS.
23   Currently one can't add a single flag bit but preserve
24   existing bits... at least not without retrieving all current
25   flags before, which isn't that bad anyway.
26
27 * dns_set_opts() may process flags too (such as aaonly etc)
28
29 * a way to disable $NSCACHEIP et al processing?
30   (with now separate dns_init() and dns_reset(), it has finer
31   control, but still no way to init from system files but ignore
32   environment variables and the like)
33
34 * initialize/open the context automatically, and be more
35   liberal about initialization in general?
36
37 * dns_init(ctx, do_open) - make the parameter opposite, aka
38   dns_init(ctx, skip_open) ?
39
40 * allow TCP queue?
41
42 * more accurate error reporting.  Currently, udns always returns TEMPFAIL,
43   but don't specify why it happened (ENOMEM, timeout, etc).
44
45 * check the error value returned by recvfrom() and
46   sendto() and determine which errors to ignore.
47
48 * maybe merge dns_timeouts() and dns_ioevent(), to have
49   only one entry point for everything?  For traditional
50   select-loop-based eventloop it may be easier, but for
51   callback-driven event loops the two should be separate.
52   Provide an option, or a single dns_events() entry point
53   for select-loop approach, or just call dns_ioevent()
54   from within dns_timeouts() (probably after renaming
55   it to be dns_events()) ?
56
57 * implement /etc/hosts lookup too, ala [c-]ares??
58
59 * sortlist support?