[libpostgresql-jdbc-java] 13/22: 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

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Mon Jan 9 10:19:03 UTC 2017


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 <barry at xythos.com>
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



More information about the pkg-java-commits mailing list