[jboss-cvs] Picketbox SVN: r505 - trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 29 04:16:34 EST 2014


Author: pskopek at redhat.com
Date: 2014-01-29 04:16:33 -0500 (Wed, 29 Jan 2014)
New Revision: 505

Modified:
   trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/PicketBoxSecurityVault.java
   trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/SecurityVaultData.java
Log:
[SECURITY-788] PicketBoxSecurityVault is not writing data to store after removing from map in memory

Modified: trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/PicketBoxSecurityVault.java
===================================================================
--- trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/PicketBoxSecurityVault.java	2014-01-24 20:26:36 UTC (rev 504)
+++ trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/PicketBoxSecurityVault.java	2014-01-29 09:16:33 UTC (rev 505)
@@ -311,13 +311,24 @@
    public boolean remove(String vaultBlock, String attributeName, byte[] sharedKey)
 		   throws SecurityVaultException 
    {
-	   try {
-		   vaultContent.deleteVaultData(alias, vaultBlock, attributeName);
-	   }
+      if(StringUtil.isNullOrEmpty(vaultBlock))
+         throw PicketBoxMessages.MESSAGES.invalidNullArgument("vaultBlock");
+      if(StringUtil.isNullOrEmpty(attributeName))
+         throw PicketBoxMessages.MESSAGES.invalidNullArgument("attributeName");
+      
+      try {
+         if (vaultContent.deleteVaultData(alias, vaultBlock, attributeName)) {
+            writeVaultData();
+            return true;
+         }
+         return false;
+      }
+      catch (IOException e) { 
+         throw new SecurityVaultException(PicketBoxMessages.MESSAGES.unableToWriteVaultDataFileMessage(VAULT_CONTENT_FILE), e);
+      }
 	   catch(Exception e) {
-		   return false;
+		   throw new SecurityVaultException(e);
 	   }
-	   return true;
 	}
 
    private char[] loadKeystorePassword(String passwordDef, String salt, int iterationCount) throws Exception

Modified: trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/SecurityVaultData.java
===================================================================
--- trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/SecurityVaultData.java	2014-01-24 20:26:36 UTC (rev 504)
+++ trunk/security-jboss-sx/jbosssx/src/main/java/org/picketbox/plugins/vault/SecurityVaultData.java	2014-01-29 09:16:33 UTC (rev 505)
@@ -120,13 +120,17 @@
     }
     
     /**
-     * 
+     * Removes data stored in vault storage.
      * @param keyAlias
      * @param vaultBlock
      * @param attributeName
+     * @return true when vault data has been removed successfully, otherwise false
      */
-    void deleteVaultData(String keyAlias, String vaultBlock, String attributeName) {
-       vaultData.remove(dataKey(keyAlias, vaultBlock, attributeName));
+    boolean deleteVaultData(String keyAlias, String vaultBlock, String attributeName) {
+       if (vaultData.remove(dataKey(keyAlias, vaultBlock, attributeName)) == null) {
+          return false;
+       }
+       return true;
     }
 
     /**



More information about the jboss-cvs-commits mailing list