This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a change to branch 2.3
in repository https://gitbox.apache.org/repos/asf/freemarker.git.
from 3f0fce6 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
add af26d4c To be on the safe side, stopped using the deprecated static
DefaultObjectWrapper instance in most SimpleSequence-s and SimpleHash-s, as
that doesn't have MemberAccessPolicy specified by the user in the Configuration.
add 7a6e6c5 FREEMARKER-124: Changed DefaultMemberAccessPolicy to block
more methods. Added LegacyDefaultMemberAccessPolicy in case an existing
application has problems with the stricter defaults. This caused some
reworkings in other classes too: - Constructor member selectors (in a whitelist
or blacklist) don't match constructors in subclasses anymore. - Added
BlacklistMemberAccessPolicy (by refactoring WhitelistMemberAccessPolicy to
extend MemberSelectorListMemberAccessPolicy). - I [...]
new 4a817c1 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/freemarker/core/AddConcatExpression.java | 5 +-
.../java/freemarker/core/BuiltInsForNodes.java | 4 +-
.../java/freemarker/core/BuiltInsForSequences.java | 9 +-
.../freemarker/core/BuiltInsForStringsBasic.java | 3 +-
.../freemarker/core/BuiltInsForStringsRegexp.java | 5 +-
src/main/java/freemarker/core/Configurable.java | 5 +
src/main/java/freemarker/core/DynamicKeyName.java | 13 +-
src/main/java/freemarker/core/Environment.java | 9 +-
.../freemarker/core/GetOptionalTemplateMethod.java | 3 +-
src/main/java/freemarker/core/HashLiteral.java | 14 +-
src/main/java/freemarker/core/ListLiteral.java | 11 +-
src/main/java/freemarker/core/Macro.java | 6 +-
src/main/java/freemarker/core/RecurseNode.java | 3 +-
src/main/java/freemarker/core/TemplateElement.java | 3 +-
src/main/java/freemarker/core/VisitNode.java | 3 +-
.../java/freemarker/ext/ant/FreemarkerXmlTask.java | 3 +-
.../java/freemarker/ext/beans/BeansWrapper.java | 4 +-
.../ext/beans/BeansWrapperConfiguration.java | 1 +
.../ext/beans/BlacklistMemberAccessPolicy.java | 50 ++
.../freemarker/ext/beans/ConstructorMatcher.java | 5 +
.../ext/beans/DefaultMemberAccessPolicy.java | 209 +++++---
.../java/freemarker/ext/beans/FieldMatcher.java | 5 +
...y.java => LegacyDefaultMemberAccessPolicy.java} | 52 +-
.../freemarker/ext/beans/MemberAccessPolicy.java | 23 +-
.../java/freemarker/ext/beans/MemberMatcher.java | 14 +-
...a => MemberSelectorListMemberAccessPolicy.java} | 123 +++--
.../java/freemarker/ext/beans/MethodMatcher.java | 5 +
.../ext/beans/WhitelistMemberAccessPolicy.java | 387 +-------------
.../java/freemarker/ext/jdom/NodeListModel.java | 3 +-
.../ext/servlet/AllHttpScopesHashModel.java | 8 +-
.../freemarker/template/DefaultObjectWrapper.java | 9 +-
src/main/java/freemarker/template/SimpleHash.java | 4 +
src/main/java/freemarker/template/SimpleList.java | 2 +-
.../java/freemarker/template/SimpleSequence.java | 14 +-
.../java/freemarker/template/_TemplateAPI.java | 27 +
.../freemarker/template/utility/DOMNodeModel.java | 3 +-
.../template/utility/TemplateModelUtils.java | 5 +-
.../ext/beans/DefaultMemberAccessPolicy-rules | 582 +++++++++++++++++++++
.../freemarker/ext/beans/unsafeMethods.properties | 8 +
src/manual/en_US/book.xml | 37 +-
.../ext/beans/DefaultMemberAccessPolicyTest.java | 143 +++++
...DefaultObjectWrapperMemberAccessPolicyTest.java | 72 +--
.../beans/LegacyDefaultMemberAccessPolicyTest.java | 73 +++
...ava => MemberSelectorListAccessPolicyTest.java} | 114 +++-
.../freemarker/template/ConfigurationTest.java | 38 ++
.../test/templatesuite/models/LegacyList.java | 5 +
.../test/templatesuite/models/MultiModel1.java | 13 +-
.../templatesuite/models/TransformHashWrapper.java | 3 +-
48 files changed, 1479 insertions(+), 661 deletions(-)
create mode 100644
src/main/java/freemarker/ext/beans/BlacklistMemberAccessPolicy.java
copy src/main/java/freemarker/ext/beans/{DefaultMemberAccessPolicy.java =>
LegacyDefaultMemberAccessPolicy.java} (64%)
copy src/main/java/freemarker/ext/beans/{WhitelistMemberAccessPolicy.java =>
MemberSelectorListMemberAccessPolicy.java} (77%)
create mode 100644
src/main/resources/freemarker/ext/beans/DefaultMemberAccessPolicy-rules
create mode 100644
src/test/java/freemarker/ext/beans/DefaultMemberAccessPolicyTest.java
create mode 100644
src/test/java/freemarker/ext/beans/LegacyDefaultMemberAccessPolicyTest.java
rename
src/test/java/freemarker/ext/beans/{WhitelistMemberAccessPolicyTest.java =>
MemberSelectorListAccessPolicyTest.java} (84%)