You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.2 KiB

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