Index: lams_central/src/java/org/lamsfoundation/lams/security/LDAPAuthenticator.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/security/LDAPAuthenticator.java,v diff -u -r1.12 -r1.13 --- lams_central/src/java/org/lamsfoundation/lams/security/LDAPAuthenticator.java 2 Nov 2007 01:22:46 -0000 1.12 +++ lams_central/src/java/org/lamsfoundation/lams/security/LDAPAuthenticator.java 10 Nov 2008 02:01:24 -0000 1.13 @@ -103,10 +103,6 @@ String securityProtocol = Configuration.get(ConfigurationKeys.LDAP_SECURITY_PROTOCOL); if (StringUtils.equals("ssl", securityProtocol)) { env.setProperty(Context.SECURITY_PROTOCOL, securityProtocol); - // FIXME: synchronization issue: dynamically load certificate into - // system instead of overwritting it. - System.setProperty("javax.net.ssl.trustStore", Configuration.get(ConfigurationKeys.LDAP_TRUSTSTORE_PATH)); - System.setProperty("javax.net.ssl.trustStorePassword", Configuration.get(ConfigurationKeys.LDAP_TRUSTSTORE_PASSWORD)); } boolean isValid = false; Index: lams_common/db/sql/insert_lams_unix_config_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_lams_unix_config_data.sql,v diff -u -r1.29 -r1.30 --- lams_common/db/sql/insert_lams_unix_config_data.sql 18 Sep 2008 01:47:55 -0000 1.29 +++ lams_common/db/sql/insert_lams_unix_config_data.sql 10 Nov 2008 02:01:25 -0000 1.30 @@ -119,10 +119,10 @@ values ('LDAPSecurityProtocol','', 'config.ldap.security.protocol', 'config.header.ldap', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePath','', 'config.ldap.truststore.path', 'config.header.ldap', 'STRING', 0); +values ('TruststorePath','', 'config.ldap.truststore.path', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePassword','', 'config.ldap.truststore.password', 'config.header.ldap', 'STRING', 0); +values ('TruststorePassword','', 'config.ldap.truststore.password', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) values ('LDAPLoginAttr','uid', 'admin.user.login', 'config.header.ldap.attributes', 'STRING', 0); Index: lams_common/db/sql/insert_lams_windows_config_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_lams_windows_config_data.sql,v diff -u -r1.24 -r1.25 --- lams_common/db/sql/insert_lams_windows_config_data.sql 18 Sep 2008 01:47:55 -0000 1.24 +++ lams_common/db/sql/insert_lams_windows_config_data.sql 10 Nov 2008 02:01:25 -0000 1.25 @@ -119,10 +119,10 @@ values ('LDAPSecurityProtocol','', 'config.ldap.security.protocol', 'config.header.ldap', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePath','', 'config.ldap.truststore.path', 'config.header.ldap', 'STRING', 0); +values ('TruststorePath','', 'config.ldap.truststore.path', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePassword','', 'config.ldap.truststore.password', 'config.header.ldap', 'STRING', 0); +values ('TruststorePassword','', 'config.ldap.truststore.password', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) values ('LDAPLoginAttr','uid', 'admin.user.login', 'config.header.ldap.attributes', 'STRING', 0); Index: lams_common/db/sql/insert_rams_unix_config_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/Attic/insert_rams_unix_config_data.sql,v diff -u -r1.17 -r1.18 --- lams_common/db/sql/insert_rams_unix_config_data.sql 12 Aug 2008 05:44:37 -0000 1.17 +++ lams_common/db/sql/insert_rams_unix_config_data.sql 10 Nov 2008 02:01:25 -0000 1.18 @@ -119,10 +119,10 @@ values ('LDAPSecurityProtocol','', 'config.ldap.security.protocol', 'config.header.ldap', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePath','', 'config.ldap.truststore.path', 'config.header.ldap', 'STRING', 0); +values ('TruststorePath','', 'config.ldap.truststore.path', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePassword','', 'config.ldap.truststore.password', 'config.header.ldap', 'STRING', 0); +values ('TruststorePassword','', 'config.ldap.truststore.password', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) values ('LDAPLoginAttr','uid', 'admin.user.login', 'config.header.ldap.attributes', 'STRING', 0); Index: lams_common/db/sql/insert_rams_windows_config_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/Attic/insert_rams_windows_config_data.sql,v diff -u -r1.14 -r1.15 --- lams_common/db/sql/insert_rams_windows_config_data.sql 12 Aug 2008 05:44:37 -0000 1.14 +++ lams_common/db/sql/insert_rams_windows_config_data.sql 10 Nov 2008 02:01:25 -0000 1.15 @@ -119,10 +119,10 @@ values ('LDAPSecurityProtocol','', 'config.ldap.security.protocol', 'config.header.ldap', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePath','', 'config.ldap.truststore.path', 'config.header.ldap', 'STRING', 0); +values ('TruststorePath','', 'config.ldap.truststore.path', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) -values ('LDAPTruststorePassword','', 'config.ldap.truststore.password', 'config.header.ldap', 'STRING', 0); +values ('TruststorePassword','', 'config.ldap.truststore.password', 'config.header.system', 'STRING', 0); insert into lams_configuration (config_key, config_value, description_key, header_name, format, required) values ('LDAPLoginAttr','uid', 'admin.user.login', 'config.header.ldap.attributes', 'STRING', 0); Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0013_updateFrom21.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0013_updateFrom21.sql,v diff -u -r1.10 -r1.11 --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0013_updateFrom21.sql 7 Nov 2008 04:27:18 -0000 1.10 +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0013_updateFrom21.sql 10 Nov 2008 02:01:25 -0000 1.11 @@ -63,8 +63,12 @@ -- LDEV-1581 Add a collumn to the lams_grouping table for learner's choice grouping ALTER TABLE lams_grouping ADD COLUMN equal_number_of_learners_per_group TINYINT DEFAULT 0; +-- LDEV-2006 - make configuration keys truststorePath and truststorePassword system wide +UPDATE lams_configuration SET config_key='TruststorePath' WHERE config_key='LDAPTruststorePath'; +UPDATE lams_configuration SET config_key='TruststorePassword' WHERE config_key='LDAPTruststorePassword'; + -- Update the configuration table to have the current version of LAMS UPDATE lams_configuration SET config_value='2.2' WHERE config_key='Version'; UPDATE lams_configuration SET config_value='2.2.0.200811310000' WHERE config_key='AuthoringClientVersion' OR config_key='MonitorClientVersion' OR config_key='LearnerClientVersion' OR config_key='ServerVersionNumber'; Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java,v diff -u -r1.11 -r1.12 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 14 Dec 2007 04:18:21 -0000 1.11 +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 10 Nov 2008 02:01:25 -0000 1.12 @@ -438,10 +438,6 @@ String securityProtocol = Configuration.get(ConfigurationKeys.LDAP_SECURITY_PROTOCOL); if (StringUtils.equals("ssl", securityProtocol)) { env.setProperty(Context.SECURITY_PROTOCOL, securityProtocol); - // FIXME: synchronization issue: dynamically load certificate into - // system instead of overwritting it. - System.setProperty("javax.net.ssl.trustStore", Configuration.get(ConfigurationKeys.LDAP_TRUSTSTORE_PATH)); - System.setProperty("javax.net.ssl.trustStorePassword", Configuration.get(ConfigurationKeys.LDAP_TRUSTSTORE_PASSWORD)); } // get base DN/s to search on Index: lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java,v diff -u -r1.16 -r1.17 --- lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java 24 Oct 2007 03:53:03 -0000 1.16 +++ lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java 10 Nov 2008 02:01:25 -0000 1.17 @@ -29,6 +29,7 @@ import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.config.ConfigurationItem; import org.lamsfoundation.lams.config.dao.hibernate.ConfigurationDAO; @@ -72,6 +73,14 @@ Iterator it = mapitems.iterator(); while(it.hasNext()) { ConfigurationItem item = (ConfigurationItem) it.next(); + + // init ssl truststore path and password + if (StringUtils.equals(item.getKey(), ConfigurationKeys.TRUSTSTORE_PATH)) { + setSystemProperty(item.getKey(), item.getValue()); + } else if (StringUtils.equals(item.getKey(), ConfigurationKeys.TRUSTSTORE_PASSWORD)) { + setSystemProperty(item.getKey(), item.getValue()); + } + itemsmap.put(item.getKey(), item); } } @@ -141,6 +150,9 @@ } public void persistUpdate() { + // update ssl truststore path and password + setSystemProperty(ConfigurationKeys.TRUSTSTORE_PATH, get(ConfigurationKeys.TRUSTSTORE_PATH)); + setSystemProperty(ConfigurationKeys.TRUSTSTORE_PASSWORD, get(ConfigurationKeys.TRUSTSTORE_PASSWORD)); configurationDAO.insertOrUpdateAll(items.values()); } @@ -150,4 +162,14 @@ + ( items!=null ? items.toString() : "none" ) ; } + // update jvm system property + private void setSystemProperty(String key, String value) { + if (StringUtils.isBlank(key)) { + // use default + System.clearProperty(key); + } else { + System.setProperty(key, value); + } + } + } Index: lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java,v diff -u -r1.35 -r1.36 --- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java 4 Jul 2008 02:05:57 -0000 1.35 +++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java 10 Nov 2008 02:01:25 -0000 1.36 @@ -147,9 +147,9 @@ public static String LDAP_SECURITY_PROTOCOL = "LDAPSecurityProtocol"; - public static String LDAP_TRUSTSTORE_PATH = "LDAPTruststorePath"; + public static String TRUSTSTORE_PATH = "TruststorePath"; - public static String LDAP_TRUSTSTORE_PASSWORD = "LDAPTruststorePassword"; + public static String TRUSTSTORE_PASSWORD = "TruststorePassword"; public static String LDAP_LOGIN_ATTR = "LDAPLoginAttr";