From 2ee554694ba68d51659880395fcb7fa1ff4f1d8d Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Fri, 1 Mar 2013 11:41:39 -0800 Subject: [PATCH] Ticket #269: Connection permission check should actually check connections. Add generatedKey elements to generatorConfig.xml such that IDs are queried back after insert of users and connections. --- .../sourceforge/guacamole/net/auth/mysql/UserDirectory.java | 4 ++-- .../net/auth/mysql/service/PermissionCheckService.java | 6 +++--- .../src/main/resources/generatorConfig.xml | 4 ++++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java index b22124f0d..e04905177 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java @@ -405,12 +405,12 @@ public class UserDirectory implements Directory administerableConnectionIDs = - permissionCheckService.retrieveUserIDs(this.user_id, + permissionCheckService.retrieveConnectionIDs(this.user_id, MySQLConstants.CONNECTION_ADMINISTER); // Get set of names corresponding to administerable connections Map administerableConnections = - userService.translateUsernames(administerableConnectionIDs); + connectionService.translateNames(administerableConnectionIDs); // Insert all given permissions for (ConnectionPermission permission : permissions) { diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/PermissionCheckService.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/PermissionCheckService.java index c159e1599..a2dcd3731 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/PermissionCheckService.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/PermissionCheckService.java @@ -290,7 +290,7 @@ public class PermissionCheckService { // Construct permission from data UserPermission permission = new UserPermission( UserPermission.Type.valueOf(userPermission.getPermission()), - affectedUsers.get(userPermission.getUser_id()) + affectedUsers.get(userPermission.getAffected_user_id()) ); // Add to set @@ -327,7 +327,7 @@ public class PermissionCheckService { connectionIDs.add(connectionPermission.getConnection_id()); // Get corresponding names - Map affectedUsers = + Map affectedConnections = connectionService.retrieveNames(connectionIDs); // Add connection permissions @@ -336,7 +336,7 @@ public class PermissionCheckService { // Construct permission from data ConnectionPermission permission = new ConnectionPermission( ConnectionPermission.Type.valueOf(connectionPermission.getPermission()), - affectedUsers.get(connectionPermission.getUser_id()) + affectedConnections.get(connectionPermission.getConnection_id()) ); // Add to set diff --git a/extensions/guacamole-auth-mysql/src/main/resources/generatorConfig.xml b/extensions/guacamole-auth-mysql/src/main/resources/generatorConfig.xml index fed85030c..c15ad15ce 100644 --- a/extensions/guacamole-auth-mysql/src/main/resources/generatorConfig.xml +++ b/extensions/guacamole-auth-mysql/src/main/resources/generatorConfig.xml @@ -32,6 +32,8 @@ domainObjectName="Connection" > + +