root/src/udns/TODO

Revision 5a9b91bc0a14543e0995eba973fbeacc05aaee8b, 2.5 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 6 years ago)

svn merge -r 327:330 https://labs.omniti.com/reconnoiter/branches/dev/udns .

closes #38

  • Property mode set to 100644
Line 
1 $Id: TODO,v 1.13 2007/01/15 21:19:08 mjt Exp $
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 = udns_query_alloc(ctx);
9    udns_query_set(q, options, domain_name, flags, ...);
10    udns_query_submit(ctx, q);
11  or
12    udns_query_resolve(ctx, q);
13
14 * allow NULL callbacks?  Or provide separate resolver
15   context list of queries which are done but wich did not
16   have callback, and dns_pick() routine to retrieve results
17   from this query, i.e. allow non-callback usage?  The
18   non-callback usage may be handy sometimes (any *good*
19   example?), but it will be difficult to provide type-safe
20   non-callback interface due to various RR-specific types
21   in use.
22
23 * DNS_OPT_FLAGS should be DNS_OPT_ADDFLAGS and DNS_OPT_SETFLAGS.
24   Currently one can't add a single flag bit but preserve
25   existing bits... at least not without retrieving all current
26   flags before, which isn't that bad anyway.
27
28 * dns_set_opts() may process flags too (such as aaonly etc)
29
30 * a way to disable $NSCACHEIP et al processing?
31   (with now separate dns_init() and dns_reset(), it has finer
32   control, but still no way to init from system files but ignore
33   environment variables and the like)
34
35 * initialize/open the context automatically, and be more
36   liberal about initialization in general?
37
38 * dns_init(ctx, do_open) - make the parameter opposite, aka
39   dns_init(ctx, skip_open) ?
40
41 * allow TCP queue?
42
43 * And oh, qID should really be random.  Or... not.
44   See notes in udns_resolver.c, dns_newid().
45
46 * more accurate error reporting.  Currently, udns always returns TEMPFAIL,
47   but don't specify why it happened (ENOMEM, timeout, etc).
48
49 * check the error value returned by recvfrom() and
50   sendto() and determine which errors to ignore.
51
52 * maybe merge dns_timeouts() and dns_ioevent(), to have
53   only one entry point for everything?  For traditional
54   select-loop-based eventloop it may be easier, but for
55   callback-driven event loops the two should be separate.
56   Provide an option, or a single dns_events() entry point
57   for select-loop approach, or just call dns_ioevent()
58   from within dns_timeouts() (probably after renaming
59   it to be dns_events()) ?
60
61 * implement /etc/hosts lookup too, ala [c-]ares??
62
63 * sortlist support?
64
65 * windows port?  Oh no please!..  At least, I can't do it myself
66   because of the lack of platform.
67   Ok ok, the Windows port is in progress.  Christian Prahauser
68   from cosy.sbg.ac.at is helping with that.
69   Other folks done some more work in this area.
Note: See TracBrowser for help on using the browser.