[ 
https://issues.apache.org/jira/browse/GEODE-9758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17478140#comment-17478140
 ] 

ASF subversion and git services commented on GEODE-9758:
--------------------------------------------------------

Commit 7978abf34707d11da45cff0b7cb7445f18d21438 in geode's branch 
refs/heads/develop from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=7978abf ]

GEODE-9758: Add internal serial filter API (#7217)

GEODE-9758: Add internal serial filter API #7217

Expand ObjectInputStreamFilterWrapper to be an internal API which
supports all of Geode's uses of Java's ObjectInputFilter.

Introduce a new system property, geode.enableGlobalSerialFilter, to
enable a process-wide filter with all serializable Geode classes on the 
classpath and the value of serializable-object-filter accept-listed.

To enable the process-wide filter with GFSH start commands, add:

* --J=-Dgeode.enableGlobalSerialFilter=true

Functional Capabilities

The internal API lives in geode-serialization and works on OpenJDK
based JREs providing a facade for Java's ObjectInputFilter in Java 8
and Java 9 or greater using reflection. The API provides the following 
capabilities:

* creating an ObjectInputFilter
* setting an ObjectInputFilter on an ObjectInputStream
* getting an ObjectInputFilter from a ObjectInputStream
* setting a process-wide ObjectInputFilter
* getting a process-wide ObjectInputFilter

Design Notes

The API defines the following primary interface types:

* factory interfaces for creating instances of types within the API
* filter interfaces to split out single ops from Java's
  ObjectInputFilter
* configuration interfaces for handling system properties, logging,
  and config validation

The concrete classes in the API receive parameters injected via a
constructor for any collaborators that are not specified by the
interfaces. This is intentional even when the instance is only used
once before de-referencing it. All collaborators that are defined in
the interface are passed in as parameters to the implementing 
method; all others are passed in via the constructor and stored as 
fields.

> Configure locator serialization filtering by default on Java 8
> --------------------------------------------------------------
>
>                 Key: GEODE-9758
>                 URL: https://issues.apache.org/jira/browse/GEODE-9758
>             Project: Geode
>          Issue Type: Improvement
>    Affects Versions: 1.12.7
>            Reporter: Jianxia Chen
>            Assignee: Jianxia Chen
>            Priority: Major
>              Labels: pull-request-available
>
> When Geode locator is running on Java 8 JVM, the serialization filter should 
> be configured by default to accept only JDK classes and Geode classes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to