This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to tag REL7_3_4
in repository libpostgresql-jdbc-java.

commit 2f78b60067288f4b27c88953be2671e0c8ad8dc4
Author: Barry Lind <[email protected]>
Date:   Mon Mar 24 03:49:49 2003 +0000

    Backport fix for parsing acls (didn't correctly interpret null acl to mean
    table owner has privs)
     Modified Files:
      Tag: REL7_3_STABLE
        jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
---
 org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java 
b/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
index a8f3b50..a80b327 100644
--- a/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
+++ b/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
@@ -2464,7 +2464,7 @@ public abstract class AbstractJdbc1DatabaseMetaData
                        byte column[] = rs.getBytes("attname");
                        String owner = rs.getString("usename");
                        String acl = rs.getString("relacl");
-                       Hashtable permissions = parseACL(acl);
+                       Hashtable permissions = parseACL(acl, owner);
                        String permNames[] = new String[permissions.size()];
                        Enumeration e = permissions.keys();
                        int i=0;
@@ -2566,7 +2566,7 @@ public abstract class AbstractJdbc1DatabaseMetaData
                        byte table[] = rs.getBytes("relname");
                        String owner = rs.getString("usename");
                        String acl = rs.getString("relacl");
-                       Hashtable permissions = parseACL(acl);
+                       Hashtable permissions = parseACL(acl, owner);
                        String permNames[] = new String[permissions.size()];
                        Enumeration e = permissions.keys();
                        int i=0;
@@ -2690,7 +2690,11 @@ public abstract class AbstractJdbc1DatabaseMetaData
         * a Hashtable mapping the SQL permission name to a Vector of
         * usernames who have that permission.
         */
-       protected Hashtable parseACL(String aclArray) {
+       protected Hashtable parseACL(String aclArray, String owner) {
+               if (aclArray == null || aclArray == "") {
+                       //null acl is a shortcut for owner having full privs
+                       aclArray = "{" + owner + "=arwdRxt}";
+               }
                Vector acls = parseACLArray(aclArray);
                Hashtable privileges = new Hashtable();
                for (int i=0; i<acls.size(); i++) {

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git

_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to