Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-7157

SSLConfigurationFactory and SSLConfig are NOT Thread-safe!

    XMLWordPrintableJSON

Details

    Description

      SSLConfig is a "shared" object (if you carefully analyze the SSLConfigurationFactory class) and needs to be Thread-safe!!

      SSLConfigurationFactory does NOT properly guard all access points to the (once again) "shared" registeredSSLConfig Map instance. Furthermore, this class also uses an non-Thread-safe Map implementation for registeredSSLConfig, i.e. HashMap, to "cache" SSLConfig objects, which is "safe" iff "all" access to this "shared" registeredSSLConfig Map instance is "synchronized", which it isn't (!!) ... e.g. SSLConfigurationFactory.close(), which subsequently calls clearSSLConfigForAllComponents(), which "clears" the registeredSSLConfig Map. Because it is not properly protected, it is possible to see stale state, especially between tests!!!

      Attachments

        Activity

          People

            echobravo Ernest Burghardt
            jblum John Blum
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h 10m
                4h 10m