Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-58449

Create LDAPDNSResolverCache

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 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

      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:
            backlog-server-security [DO NOT USE] Backlog - Security Team
            Reporter:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: