You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2014/02/19 05:03:26 UTC

[1/2] git commit: [KARAF-2760]monitor etc/user.properties change with felix FileInstaller

Repository: karaf
Updated Branches:
  refs/heads/karaf-2.3.x 7109f573c -> e3c3af996


[KARAF-2760]monitor etc/user.properties change with felix FileInstaller


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/2cf59236
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2cf59236
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2cf59236

Branch: refs/heads/karaf-2.3.x
Commit: 2cf592365f7a6a100107fda7bf40b6e8f15e95d2
Parents: c56e9c5
Author: Freeman Fang <fr...@gmail.com>
Authored: Tue Feb 18 14:03:11 2014 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Tue Feb 18 14:03:11 2014 +0800

----------------------------------------------------------------------
 jaas/modules/pom.xml                            |  5 ++
 .../modules/properties/PropertiesInstaller.java | 54 ++++++++++++++++++++
 .../properties/PropertiesLoginModule.java       | 13 +++--
 3 files changed, 69 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/2cf59236/jaas/modules/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index 1056b07..da38adb 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -53,6 +53,11 @@
         </dependency>
 
         <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.fileinstall</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
             <scope>provided</scope>

http://git-wip-us.apache.org/repos/asf/karaf/blob/2cf59236/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesInstaller.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesInstaller.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesInstaller.java
new file mode 100644
index 0000000..730e97e
--- /dev/null
+++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesInstaller.java
@@ -0,0 +1,54 @@
+package org.apache.karaf.jaas.modules.properties;
+
+import java.io.File;
+
+import org.apache.felix.fileinstall.ArtifactInstaller;
+import org.apache.felix.utils.properties.Properties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class PropertiesInstaller implements ArtifactInstaller {
+    
+    private final Logger LOGGER = LoggerFactory.getLogger(PropertiesInstaller.class);
+    
+    private String usersFileName;
+    
+    private File usersFile;
+    
+        
+    PropertiesLoginModule propertiesLoginModule;
+
+    
+    public PropertiesInstaller(PropertiesLoginModule propertiesLoginModule, String usersFile) {
+        this.propertiesLoginModule = propertiesLoginModule;
+        this.usersFileName = usersFile;
+    }
+
+    public boolean canHandle(File artifact) {
+        if (usersFile == null) {
+            usersFile = new File(usersFileName);
+        }
+        return artifact.getName().endsWith(usersFile.getName());
+    }
+
+    public void install(File artifact) throws Exception {
+        if (usersFile == null) {
+            usersFile = new File(usersFileName);
+        }
+        Properties userProperties = new Properties(usersFile);
+        this.propertiesLoginModule.encryptedPassword(userProperties);
+    }
+
+    public void update(File artifact) throws Exception {
+        if (usersFile == null) {
+            usersFile = new File(usersFileName);
+        }
+        Properties userProperties = new Properties(usersFile);
+        this.propertiesLoginModule.encryptedPassword(userProperties);
+    }
+
+    public void uninstall(File artifact) throws Exception {
+        LOGGER.warn("the users.properties was removed");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/2cf59236/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
index b57a0b9..9ce8940 100644
--- a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
+++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
@@ -44,13 +44,20 @@ public class PropertiesLoginModule extends AbstractKarafLoginModule {
     private static final String USER_FILE = "users";
 
     private String usersFile;
-
+    
+    private PropertiesInstaller propertiesInstaller;
+    
+    
     public void initialize(Subject sub, CallbackHandler handler, Map sharedState, Map options) {
         super.initialize(sub,handler,options);
         usersFile = (String) options.get(USER_FILE);
         if (debug) {
             LOG.debug("Initialized debug=" + debug + " usersFile=" + usersFile);
         }
+        propertiesInstaller = new PropertiesInstaller(this, usersFile);
+        if (this.bundleContext != null) {
+            this.bundleContext.registerService("org.apache.felix.fileinstall.ArtifactInstaller", propertiesInstaller, null);
+        }       
     }
 
     public boolean login() throws LoginException {
@@ -68,7 +75,7 @@ public class PropertiesLoginModule extends AbstractKarafLoginModule {
             throw new LoginException("Unable to load user properties file " + f);
         }
         //encrypt all password if necessary
-        EncryptedPassword(users);
+        encryptedPassword(users);
 
         Callback[] callbacks = new Callback[2];
 
@@ -152,7 +159,7 @@ public class PropertiesLoginModule extends AbstractKarafLoginModule {
         return true;
     }
     
-    private void EncryptedPassword(Properties users) {
+    void encryptedPassword(Properties users) {
         for (Object userName : users.keySet()) {
             String user = (String)userName;
             String userInfos = null;


[2/2] git commit: Merge branch 'karaf-2.3.x' of https://git-wip-us.apache.org/repos/asf/karaf into karaf-2.3.x

Posted by ff...@apache.org.
Merge branch 'karaf-2.3.x' of https://git-wip-us.apache.org/repos/asf/karaf into karaf-2.3.x


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e3c3af99
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e3c3af99
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e3c3af99

Branch: refs/heads/karaf-2.3.x
Commit: e3c3af9964fb8af11d8e454068761a35f755081b
Parents: 2cf5923 7109f57
Author: Freeman Fang <fr...@gmail.com>
Authored: Wed Feb 19 12:00:24 2014 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Wed Feb 19 12:00:24 2014 +0800

----------------------------------------------------------------------
 RELEASE-NOTES                                   | 139 +++++++++++++++++++
 admin/command/pom.xml                           |   2 +-
 admin/core/pom.xml                              |   2 +-
 admin/management/pom.xml                        |   2 +-
 admin/pom.xml                                   |   2 +-
 archetypes/assembly/pom.xml                     |   2 +-
 archetypes/blueprint/pom.xml                    |   2 +-
 archetypes/bundle/pom.xml                       |   2 +-
 archetypes/command/pom.xml                      |   2 +-
 archetypes/feature/pom.xml                      |   2 +-
 archetypes/kar/pom.xml                          |   2 +-
 archetypes/pom.xml                              |   2 +-
 assemblies/apache-karaf/pom.xml                 |   2 +-
 assemblies/features/enterprise/pom.xml          |   2 +-
 .../enterprise/src/main/resources/features.xml  |   6 -
 assemblies/features/pom.xml                     |   2 +-
 assemblies/features/standard/pom.xml            |   2 +-
 .../standard/src/main/resources/features.xml    |  36 ++---
 assemblies/pom.xml                              |   2 +-
 client/pom.xml                                  |   2 +-
 demos/branding/pom.xml                          |   2 +-
 demos/branding/shell/pom.xml                    |   2 +-
 demos/command/pom.xml                           |   2 +-
 demos/deployer/bundle/pom.xml                   |   4 +-
 demos/deployer/feature/pom.xml                  |   6 +-
 demos/deployer/kar/pom.xml                      |   4 +-
 demos/deployer/pom.xml                          |   2 +-
 demos/deployer/wrap/pom.xml                     |   2 +-
 demos/dump/pom.xml                              |   2 +-
 demos/pom.xml                                   |   2 +-
 demos/web/pom.xml                               |   2 +-
 deployer/blueprint/pom.xml                      |   2 +-
 deployer/features/pom.xml                       |   2 +-
 deployer/kar/pom.xml                            |   2 +-
 deployer/pom.xml                                |   2 +-
 deployer/spring/pom.xml                         |   2 +-
 deployer/wrap/pom.xml                           |   2 +-
 diagnostic/command/pom.xml                      |   2 +-
 diagnostic/common/pom.xml                       |   2 +-
 diagnostic/core/pom.xml                         |   2 +-
 diagnostic/management/pom.xml                   |   2 +-
 diagnostic/pom.xml                              |   2 +-
 exception/pom.xml                               |   2 +-
 features/command/pom.xml                        |   2 +-
 features/core/pom.xml                           |   2 +-
 .../features/internal/FeaturesServiceImpl.java  |   2 +-
 features/management/pom.xml                     |   2 +-
 features/obr/pom.xml                            |   2 +-
 features/pom.xml                                |   2 +-
 itests/pom.xml                                  |   2 +-
 .../karaf/itests/EnterpriseFeaturesTest.java    |   6 +-
 jaas/boot/pom.xml                               |   2 +-
 jaas/command/pom.xml                            |   2 +-
 jaas/config/pom.xml                             |   2 +-
 jaas/jasypt/pom.xml                             |   2 +-
 jaas/modules/pom.xml                            |   2 +-
 jaas/pom.xml                                    |   2 +-
 jdbc/command/pom.xml                            |   2 +-
 jdbc/core/pom.xml                               |   2 +-
 jdbc/pom.xml                                    |   2 +-
 jms/command/pom.xml                             |   2 +-
 jms/core/pom.xml                                |   2 +-
 jms/pom.xml                                     |   2 +-
 jndi/command/pom.xml                            |   2 +-
 jndi/core/pom.xml                               |   2 +-
 jndi/pom.xml                                    |   2 +-
 main/pom.xml                                    |   2 +-
 management/mbeans/bundles/pom.xml               |   2 +-
 management/mbeans/config/pom.xml                |   2 +-
 management/mbeans/dev/pom.xml                   |   2 +-
 management/mbeans/log/pom.xml                   |   2 +-
 management/mbeans/obr/pom.xml                   |   2 +-
 management/mbeans/packages/pom.xml              |   2 +-
 management/mbeans/pom.xml                       |   2 +-
 management/mbeans/scr/pom.xml                   |   2 +-
 management/mbeans/services/pom.xml              |   2 +-
 management/mbeans/system/pom.xml                |   2 +-
 management/mbeans/web/pom.xml                   |   2 +-
 management/pom.xml                              |   2 +-
 management/server/pom.xml                       |   2 +-
 manual/pom.xml                                  |   2 +-
 pom.xml                                         |   9 +-
 shell/commands/pom.xml                          |   2 +-
 shell/config/pom.xml                            |   2 +-
 shell/console/pom.xml                           |   2 +-
 shell/dev/pom.xml                               |   2 +-
 shell/log/pom.xml                               |   2 +-
 shell/obr/pom.xml                               |   2 +-
 shell/osgi/pom.xml                              |   2 +-
 shell/packages/pom.xml                          |   2 +-
 shell/pom.xml                                   |   2 +-
 shell/scr/pom.xml                               |   2 +-
 shell/ssh/pom.xml                               |   2 +-
 shell/web/pom.xml                               |   2 +-
 shell/wrapper/pom.xml                           |   2 +-
 tooling/cmdhelp-maven-plugin/pom.xml            |   2 +-
 tooling/exam/container/pom.xml                  |   2 +-
 tooling/exam/options/pom.xml                    |   2 +-
 tooling/exam/pom.xml                            |   2 +-
 tooling/features-maven-plugin/pom.xml           |   2 +-
 tooling/pom.xml                                 |   2 +-
 util/pom.xml                                    |   2 +-
 webconsole/admin/pom.xml                        |   2 +-
 webconsole/branding/pom.xml                     |   2 +-
 webconsole/console/pom.xml                      |   2 +-
 webconsole/features/pom.xml                     |   2 +-
 webconsole/gogo/pom.xml                         |   2 +-
 webconsole/pom.xml                              |   2 +-
 108 files changed, 270 insertions(+), 140 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c3af99/jaas/modules/pom.xml
----------------------------------------------------------------------