John Blum created GEODE-7157:
--------------------------------

             Summary: SSLConnectionFactory and SSLConfig are NOT Thread-safe
                 Key: GEODE-7157
                 URL: https://issues.apache.org/jira/browse/GEODE-7157
             Project: Geode
          Issue Type: Bug
          Components: configuration, core, security
            Reporter: John Blum


{{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!!!





--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to