You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/05/03 23:08:24 UTC

svn commit: r1677484 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption: PublicKeySecurityHandler.java SecurityHandler.java StandardSecurityHandler.java

Author: tilman
Date: Sun May  3 21:08:24 2015
New Revision: 1677484

URL: http://svn.apache.org/r1677484
Log:
PDFBOX-2576: refactored to make field currentAccessPermission private

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java?rev=1677484&r1=1677483&r2=1677484&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java Sun May  3 21:08:24 2015
@@ -207,8 +207,9 @@ public final class PublicKeySecurityHand
             byte[] accessBytes = new byte[4];
             System.arraycopy(envelopedData, 20, accessBytes, 0, 4);
 
-            currentAccessPermission = new AccessPermission(accessBytes);
+            AccessPermission currentAccessPermission = new AccessPermission(accessBytes);
             currentAccessPermission.setReadOnly();
+            setCurrentAccessPermission(currentAccessPermission);
 
             // what we will put in the SHA1 = the seed + each byte contained in the recipients array
             byte[] sha1Input = new byte[recipientFieldsLength + 20];

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java?rev=1677484&r1=1677483&r2=1677484&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java Sun May  3 21:08:24 2015
@@ -89,7 +89,7 @@ public abstract class SecurityHandler
      * The access permission granted to the current user for the document. These
      * permissions are computed during decryption and are in read only mode.
      */
-    protected AccessPermission currentAccessPermission = null;
+    private AccessPermission currentAccessPermission = null;
 
     /**
      * Set wether to decrypt meta data.
@@ -538,6 +538,16 @@ public abstract class SecurityHandler
     }
 
     /**
+     * Sets the access permissions.
+     * 
+     * @param currentAccessPermission The access permissions to be set.
+     */
+    public void setCurrentAccessPermission(AccessPermission currentAccessPermission)
+    {
+        this.currentAccessPermission = currentAccessPermission;
+    }
+
+    /**
      * Returns the access permissions that were computed during document decryption.
      * The returned object is in read only mode.
      *

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java?rev=1677484&r1=1677483&r2=1677484&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java Sun May  3 21:08:24 2015
@@ -193,12 +193,15 @@ public final class StandardSecurityHandl
             ue = encryption.getUserEncryptionKey();
             oe = encryption.getOwnerEncryptionKey();
         }
+        
+        AccessPermission currentAccessPermission;
 
         if( isOwnerPassword(password.getBytes(passwordCharset), userKey, ownerKey,
                                  dicPermissions, documentIDBytes, dicRevision,
                                  dicLength, encryptMetadata) )
         {
             currentAccessPermission = AccessPermission.getOwnerAccessPermission();
+            setCurrentAccessPermission(currentAccessPermission);
             
             byte[] computedPassword;
             if (dicRevision == 6 || dicRevision == 5)
@@ -225,7 +228,9 @@ public final class StandardSecurityHandl
                            dicPermissions, documentIDBytes, dicRevision,
                            dicLength, encryptMetadata) )
         {
-            currentAccessPermission = new AccessPermission( dicPermissions );
+            currentAccessPermission = new AccessPermission(dicPermissions);
+            setCurrentAccessPermission(currentAccessPermission);
+            
             encryptionKey =
                 computeEncryptedKey(
                     password.getBytes(passwordCharset),