From 4e364671b8f4aa81212061bd06ceee89aa049858 Mon Sep 17 00:00:00 2001 From: Jani Laakso Date: Fri, 7 Mar 2008 13:29:06 +0000 Subject: [PATCH] Fixed #1474: Security Issue: Variable changes are still handled for disabled and non-existent components svn changeset:4000/svn branch:trunk --- .../gwt/server/CommunicationManager.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java index 9487a4f6b9..5fe7a7cec6 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java @@ -465,7 +465,7 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { } final VariableOwner owner = (VariableOwner) idPaintableMap .get(variable[VAR_PID]); - if (owner != null) { + if (owner != null && owner.isEnabled()) { Map m; if (nextVariable != null && variable[VAR_PID].equals(nextVariable[VAR_PID])) { @@ -497,6 +497,21 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { variable[VAR_VALUE])); } owner.changeVariables(request, m); + } else { + // Ignore variable change + String msg = "Warning: Ignoring variable change for "; + if (owner != null) { + msg += "disabled component " + owner.getClass(); + } else { + msg += "non-existent component, VAR_PID=" + + variable[VAR_PID]; + } + String caption = ((Component) owner).getCaption(); + if (caption != null) { + msg += ", caption=" + caption; + } + System.err.println(msg); + continue; } } } -- 2.39.5