diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/ConnectionGroupDirectory.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/ConnectionGroupDirectory.java index 67d288922..73af05804 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/ConnectionGroupDirectory.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/ConnectionGroupDirectory.java @@ -87,10 +87,10 @@ public class ConnectionGroupDirectory implements Directory directory) throws GuacamoleException { + if(MySQLConstants.CONNECTION_GROUP_ROOT_IDENTIFIER.equals(identifier)) + throw new GuacamoleException("The root connection group cannot be moved."); + if(!(directory instanceof ConnectionGroupDirectory)) throw new GuacamoleException("Directory not from database"); int toConnectionGroupID = ((ConnectionGroupDirectory)directory).parentID; - // Get connection + // Get connection group MySQLConnectionGroup mySQLConnectionGroup = connectionGroupService.retrieveConnectionGroup(identifier, user_id); if(mySQLConnectionGroup == null) - throw new GuacamoleException("Connection not found."); + throw new GuacamoleException("Connection group not found."); // Verify permission to update the connection permissionCheckService.verifyConnectionAccess(this.user_id, @@ -283,6 +286,18 @@ public class ConnectionGroupDirectory implements Directory