Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-9338

Add asynchronous DNS facilities to libprocess.

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Accepted
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: libprocess
    • Labels:

      Description

      This would enable non-blocking DNS queries. One use case is during TLS peer certificate verification, we need to perform a reverse DNS lookup to get the peer's hostname. This blocks the event loop thread!

      Some options:

      (1) Linux provides getaddrinfo_a, however I don't see an equivalent one for getnameinfo:
      http://man7.org/linux/man-pages/man3/getaddrinfo_a.3.html

      (2) A popular library is c-ares (MIT license):
      https://c-ares.haxx.se/

      (3) ADNS (GPLv3):
      https://www.gnu.org/software/adns/

      (4) c-ares has a list of other libraries:
      https://c-ares.haxx.se/otherlibs.html

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bmahler Benjamin Mahler
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: