You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "John Blum (Jira)" <ji...@apache.org> on 2019/09/04 00:02:49 UTC
[jira] [Updated] (GEODE-7157) SSLConfigurationFactory and SSLConfig
are NOT Thread-safe!
[ https://issues.apache.org/jira/browse/GEODE-7157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Blum updated GEODE-7157:
-----------------------------
Priority: Critical (was: Major)
> SSLConfigurationFactory 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
> Priority: Critical
>
> {{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)