Create LDAPDNSResolverCache

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Security
    • Fully Compatible
    • Security 2021-07-26, Security 2021-08-09, Security 2021-08-23
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This class is responsible for mapping DNS names to [IP:Port]. Internally, it caches DNS responses as long as their TTL is valid to avoid unnecessary requests to DNS servers. Initial version only needs to handle resolving DNS_NAME -> single A record or DNS_NAME -> CNAME record -> single A record.

      class LDAPResolvedHost {
      private:
          SockAddr _address;
          std::string _hostName;
          bool _isSSL;
      }
      
      class LDAPDNSResolverCache {
      public:
          // Does a DNS resolution to resole LDAPHost to one or more LDAPResolvedHost
          // Caches DNS responses until TTL. If entry is expired, resends lookup first
          std::vector<LDAPResolvedHost> resolve(const LDAPHost& host)
      };
      

              Assignee:
              [DO NOT USE] Backlog - Security Team
              Reporter:
              Mark Benvenuto
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: