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

Add asynchronous DNS facilities to libprocess.

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • None
    • None
    • libprocess

    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            bmahler Benjamin Mahler

            Dates

              Created:
              Updated:

              Slack

                Issue deployment