From 98aff2bc7af51b4c26b4b137f5971e8bdb0917c0 Mon Sep 17 00:00:00 2001
From: Teemu Suo-Anttila " + itemHtml;
+ itemHtml = "
"
+ + itemHtml;
}
String key = opUidl.getStringAttribute("key");
--
cgit v1.2.3
From e680b8f55fadd00fc2a738296d44390eba322e32 Mon Sep 17 00:00:00 2001
From: Juho Nurminen
+ Vaadin 7.1.11 fixes two security issues discovered during internal review. +
+Escaping of OptionGroup item icon URLs
++ The issue affects OptionGroup with item icons. Proper escaping of the + src-attribute on the client side was not ensured when using icons for + OptionGroup items. This could potentially, in certain situations, allow + a malicious user to inject content, such as javascript, in order to + perform a cross-site scripting (XSS) attack. +
+
+ In order for an application to be vulnerable, user provided input must
+ be used to form a URL used to display an icon for an OptionGroup item,
+ when showing that Option Group to other users.
+ The vulnerability has been classified as moderate, due to it's limited
+ application.
+
Escaping of URLs in Util.getAbsoluteUrl()
++ The client side Util.getAbsoluteUrl() did not ensure proper escaping + of the given URL. This could potentially, in certain situations, allow + a malicious user to inject content, such as javascript, in order to + perform a cross-site scripting (XSS) attack. +
+
+ The method is used internally by the framework in such a manner that it
+ is unlikely this attack vector can be utilized in practice. However,
+ third party components, or future use of the method, could make an
+ attack viable.
+ The vulnerability has been classified as moderate, due to it's limited
+ application.
+
This release includes the following closed issues:
-- cgit v1.2.3 From ef208a686c9b32a66d317ceaf571a1b0387625bb Mon Sep 17 00:00:00 2001 From: Leif Åstrandnull
is
* returned.
- *
+ * * Containers should not return Items that are filtered out. * * @param itemId @@ -108,11 +108,11 @@ public interface Container extends Serializable { * Gets the ID's of all visible (after filtering and sorting) Items stored * in the Container. The ID's cannot be modified through the returned * collection. - * + *
* If the container is {@link Ordered}, the collection returned by this * method should follow that order. If the container is {@link Sortable}, * the items should be in the sorted order. - * + *
* Calling this method for large lazy containers can be an expensive * operation and should be avoided when practical. * @@ -145,7 +145,7 @@ public interface Container extends Serializable { /** * Gets the number of visible Items in the Container. - * + *
* Filtering can hide items so that they will not be visible through the * container API. * @@ -155,7 +155,7 @@ public interface Container extends Serializable { /** * Tests if the Container contains the specified Item. - * + *
* Filtering can hide items so that they will not be visible through the * container API, and this method should respect visibility of items (i.e. * only indicate visible items as being in the container) if feasible for @@ -235,7 +235,7 @@ public interface Container extends Serializable { /** * Adds a new Property to all Items in the Container. The Property ID, data * type and default value of the new Property are given as parameters. - * + *
* This functionality is optional. * * @param propertyId @@ -256,7 +256,7 @@ public interface Container extends Serializable { /** * Removes a Property specified by the given Property ID from the Container. * Note that the Property will be removed from all Items in the Container. - * + *
* This functionality is optional. * * @param propertyId @@ -427,10 +427,8 @@ public interface Container extends Serializable { public interface Sortable extends Ordered { /** - * Sort method. - * * Sorts the container items. - * + *
* Sorting a container can irreversibly change the order of its items or
* only change the order temporarily, depending on the container.
*
@@ -486,40 +484,34 @@ public interface Container extends Serializable {
/**
* Get the item id for the item at the position given by
- * index
.
- *
- * Throws: {@link IndexOutOfBoundsException} if
- * index
is outside the range of the container. (i.e.
- * index < 0 || container.size()-1 < index
)
+ * index
.
+ *
*
* @param index
* the index of the requested item id
* @return the item id of the item at the given index
+ * @throws IndexOutOfBoundsException
+ * if index
is outside the range of the
+ * container. (i.e.
+ * index < 0 || container.size()-1 < index
+ * )
*/
public Object getIdByIndex(int index);
/**
* Get numberOfItems
consecutive item ids from the
- * container, starting with the item id at startIndex
.
- *
- *
+ * container, starting with the item id at startIndex
.
+ *
* Implementations should return at most numberOfItems
item
* ids, but can contain less if the container has less items than
* required to fulfill the request. The returned list must hence contain
- * all of the item ids from the range:
- *
+ * all of the item ids from the range:
+ *
* startIndex
to
- * max(startIndex + (numberOfItems-1), container.size()-1)
.
- *
+ * max(startIndex + (numberOfItems-1), container.size()-1)
.
+ *
* For quick migration to new API see:
* {@link ContainerHelpers#getItemIdsUsingGetIdByIndex(int, int, Indexed)}
- * .
- *
- * Throws: {@link IllegalArgumentException} if
- * numberOfItems
is < 0
- * Throws: {@link IndexOutOfBoundsException} if
- * startIndex
is outside the range of the container. (i.e.
- * startIndex < 0 || container.size()-1 < startIndex
)
*
* @param startIndex
* the index for the first item which id to include
@@ -529,6 +521,14 @@ public interface Container extends Serializable {
* @return List containing the requested item ids or empty list if
* numberOfItems
== 0; not null
*
+ * @throws IllegalArgumentException
+ * if numberOfItems
is < 0
+ * @throws IndexOutOfBoundsException
+ * if startIndex
is outside the range of the
+ * container. (i.e.
+ * startIndex < 0 || container.size()-1 < startIndex
+ * )
+ *
* @since 7.0
*/
public List> getItemIds(int startIndex, int numberOfItems);
@@ -723,7 +723,6 @@ public interface Container extends Serializable {
* Note that being a leaf does not imply whether or not an Item is
* allowed to have children.
*
* The API {@link Filterable#addContainerFilter(Filter)} is recommended * instead of this method. A {@link SimpleStringFilter} can be used with * the new API to implement the old string filtering functionality. - * + *
* The filter accepts items for which toString() of the value of the * given property contains or starts with given filterString. Other * items are not visible in the container when filtered. - * + *
* If a container has multiple filters, only items accepted by all * filters are visible. * @@ -836,17 +835,17 @@ public interface Container extends Serializable { /** * Filter interface for container filtering. - * + *
* If a filter does not support in-memory filtering, * {@link #passesFilter(Item)} should throw * {@link UnsupportedOperationException}. - * + *
* Lazy containers must be able to map filters to their internal * representation (e.g. SQL or JPA 2.0 Criteria). - * + *
* An {@link UnsupportedFilterException} can be thrown by the container if a * particular filter is not supported by the container. - * + *
* An {@link Filter} should implement {@link #equals(Object)} and * {@link #hashCode()} correctly to avoid duplicate filter registrations * etc. @@ -930,7 +929,7 @@ public interface Container extends Serializable { public interface Filterable extends Container, Serializable { /** * Adds a filter for the container. - * + *
* If a container has multiple filters, only items accepted by all * filters are visible. * @@ -942,7 +941,7 @@ public interface Container extends Serializable { /** * Removes a filter from the container. - * + *
* This requires that the equals() method considers the filters as * equivalent (same instance or properly implemented equals() method). */ @@ -1023,7 +1022,7 @@ public interface Container extends Serializable { /** * Container Item set change listener interface. - * + *
* An item set change refers to addition, removal or reordering of items in
* the container. A simple property value change is not an item set change.
*/
@@ -1044,7 +1043,7 @@ public interface Container extends Serializable {
* listeners. By implementing this interface a class explicitly announces
* that it will generate a ItemSetChangeEvent
when its contents
* are modified.
- *
+ *
* An item set change refers to addition, removal or reordering of items in
* the container. A simple property value change is not an item set change.
*
@@ -1097,7 +1096,7 @@ public interface Container extends Serializable {
/**
* An Event
object specifying the Container whose Property set
* has changed.
- *
+ *
* A property set change means the addition, removal or other structural
* changes to the properties of a container. Changes concerning the set of
* items in the container and their property values are not property set
@@ -1116,7 +1115,7 @@ public interface Container extends Serializable {
/**
* The listener interface for receiving PropertySetChangeEvent
* objects.
- *
+ *
* A property set change means the addition, removal or other structural * change of the properties (supported property IDs) of a container. Changes * concerning the set of items in the container and their property values -- cgit v1.2.3