diff options
author | Eike Stepper | 2013-09-18 12:37:43 +0000 |
---|---|---|
committer | Eike Stepper | 2013-09-18 12:37:43 +0000 |
commit | 0a166de53ef098b48cf3a173de3342acfd8112ce (patch) | |
tree | f8e2872e3a8fc949236c5f52818156349c7d478f /plugins/org.eclipse.emf.cdo.ui | |
parent | 81c63c354ef149525a864c386c6da3ae7d8ee5b0 (diff) | |
download | cdo-0a166de53ef098b48cf3a173de3342acfd8112ce.tar.gz cdo-0a166de53ef098b48cf3a173de3342acfd8112ce.tar.xz cdo-0a166de53ef098b48cf3a173de3342acfd8112ce.zip |
[417507] [Security] Bypass READ permission checks for the
CDOResourceNode.name attribute
https://bugs.eclipse.org/bugs/show_bug.cgi?id=417507
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java | 4 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java | 14 |
2 files changed, 12 insertions, 6 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java index a487670ea2..8b5d50d155 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java @@ -58,6 +58,7 @@ import org.eclipse.net4j.util.event.IListener; import org.eclipse.net4j.util.ui.views.ContainerItemProvider; import org.eclipse.net4j.util.ui.views.IElementFilter; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EPackage; import org.eclipse.jface.action.IMenuManager; @@ -176,7 +177,8 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> if (element instanceof CDOResourceFolder) { - return ((CDOResourceFolder)element).getNodes().toArray(); + EList<CDOResourceNode> result = CDOUtil.filterReadables(((CDOResourceFolder)element).getNodes()); + return result.toArray(); } return super.getChildren(element); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java index 9ffdcd061d..839c608ba7 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java @@ -176,16 +176,20 @@ public class SessionComposite extends Composite { StringBuilder builder = new StringBuilder(); builder.append(connectorDescription); - builder.append("?repositoryName="); //$NON-NLS-1$ - builder.append(repositoryName); - if (automaticRegistry) + if (connectorDescription.contains("?")) //$NON-NLS-1$ { - builder.append("&automaticPackageRegistry=true"); //$NON-NLS-1$ + builder.append("&"); //$NON-NLS-1$ + } + else + { + builder.append("?"); //$NON-NLS-1$ } + builder.append("repositoryName="); //$NON-NLS-1$ + builder.append(repositoryName); if (automaticRegistry) { - builder.append("&legacyModeDefault=true"); //$NON-NLS-1$ + builder.append("&automaticPackageRegistry=true"); //$NON-NLS-1$ } return builder.toString(); |