[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-04-07 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 01a101c3e479a50b9cca26b8c836e7ba10d1a60c in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=01a101c3e4 ]

[1.13] GEODE-9980: Revert serialization filter changes from 1.13 (#7562)

* Revert "GEODE-9980: Improve error handling of serial filters (#7299)"
This reverts commit 240feb88cdfbc2db44bec28ff23b079dc07b0c41.

* Revert "GEODE-9758: Add internal serial filter API (#7217)"
This reverts commit 220ea534973edbb2643df6476e349d783b04b21e.

* Revert "GEODE-9879: Extract SystemProperty to geode-common (#7177)"
This reverts commit 06bb3a66125e0c9f8c5dbe7ee579e44d462d802d.

* Revert "GEODE-9758: Move ClassUtils to geode-common (#7166)"
This reverts commit 31810b5bd6fdd09b60890b427af60a9542bac954.

* Revert "GEODE-9758: Move SanctionedSerializables to filter package (#7165)"
This reverts commit 1c21af7561fc52ee771203c33d321124adbc4b25.

* Revert "GEODE-9817: Enable customized source set paths for ClassAnalysisRule 
(#7121)"
This reverts commit 68e7d6e577ffc6c2b98d6611d05c6a6e98bd3358.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
> Fix For: 1.12.10, 1.13.9, 1.14.5, 1.15.0
>
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-04-07 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit dc042f5f62453eea5e80e9407bee04bf861d568b in geode's branch 
refs/heads/support/1.12 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=dc042f5f62 ]

[1.12] GEODE-9980: Revert serialization filter changes from 1.12 (#7563)

* Revert "GEODE-9980: Improve error handling of serial filters (#7299)"
This reverts commit 75fa13675c320a465245a78f7a841d0016860fc9.

* Revert "GEODE-9758: Add internal serial filter API (#7217)"
This reverts commit 03fe0cb9734046a1c018501306c694e642f8ccdd.

* Revert "GEODE-9879: Extract SystemProperty to geode-common (#7177)"
This reverts commit b69ee52ee3e80b6a7d5ee8e22012c531eef65534.

* Revert "GEODE-9758: Move ClassUtils to geode-common (#7166)"
This reverts commit a9d5f0cf49d3986e5c27bdd9460b939305499e0c.

* Revert "GEODE-9758: Move SanctionedSerializables to filter package (#7165)"
This reverts commit 40037b4de64333452547cb203b0b6793c59d3f8f.

* Revert "GEODE-9817: Enable customized source set paths for ClassAnalysisRule 
(#7121)"
This reverts commit e55fedbc478759052e13b6e3b837e1667b39d00f.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
> Fix For: 1.12.10, 1.13.9, 1.14.5, 1.15.0
>
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit f284c109d8f808ad4033a8f405af104683b9b0de in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=f284c10 ]

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and
filtering. The API throws a runtime exception wrapping any thrown
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

(cherry picked from commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9)


> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 5169450f94241019bcc16362985097970a7e6251 in geode's branch 
refs/heads/support/1.12 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=5169450 ]

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and
filtering. The API throws a runtime exception wrapping any thrown
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

(cherry picked from commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9)


> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-29 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 9fc67eda1e6b64ab30548e97648efbb8440ab883 in geode's branch 
refs/heads/support/1.14 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9fc67ed ]

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and
filtering. The API throws a runtime exception wrapping any thrown
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

(cherry picked from commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9)


> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-25 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit e6a1a403bfa20d054c1a8b4242ed2c632de0198f in geode's branch 
refs/heads/support/1.14 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e6a1a40 ]

Revert "GEODE-9980: Improve error handling of serial filters (#7355)" (#7489)

This reverts commit 5d9e4b5b54b84c2de28b670fe6feb0b0c3f7.

Revert "GEODE-9758: Add internal serial filter API (#7217)"
This reverts commit f0809e411d561226f736adca9d40cbbe27033e53.

Revert "GEODE-9879: Extract SystemProperty to geode-common (#7177)"
This reverts commit 2652bd65cd4192068de6c601f7ba92d120816593.

Revert "GEODE-9758: Move ClassUtils to geode-common (#7166)"
This reverts commit e821d6eff4541ae478a0eb67217bcb456abae97a.

Revert "GEODE-9758: Move SanctionedSerializables to filter package (#7165)"
This reverts commit 3f66ab05e5683edb4bcb43e52304d8e5f58ac707.

Revert "GEODE-9817: Enable customized source set paths for ClassAnalysisRule 
(#7367)"
This reverts commit 8f3186cb74ccd2eb1ec8ba648c7a11b08d575962.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-22 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 5d9e4b5b54b84c2de28b670fe6feb0b0c3f7 in geode's branch 
refs/heads/support/1.14 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=5d9e4b5 ]

GEODE-9980: Improve error handling of serial filters (#7355)

Improves the error handling of serial filter configuration and
filtering. The API throws a runtime exception wrapping any thrown
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

(cherry picked from commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9)
(cherry picked from commit 6ecdce0d9ef9040f3bbb90c8ea4ff5eb99d712fc)


> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-03-18 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 8f3186cb74ccd2eb1ec8ba648c7a11b08d575962 in geode's branch 
refs/heads/master from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=8f3186c ]

GEODE-9817: Enable customized source set paths for ClassAnalysisRule (#7367)

Adds support for customizing source set paths of ClassAnalysisRule.

PROBLEM

Modules external to Geode must be structured the same as Geode
source code in order to use ClassAnalysisRule and the
Analyze*Serializables tests. This is necessary to better facilitate
pluggability of modules that need to provide sanctioned serializable
lists.

SOLUTION

Add source set path customization to ClassAnalysisRule, introduce
a new layer of Analyze*Serializables test base classes that can be
directly extended in order to customize source set paths in
ClassAnalysisRule. Also includes improvements to some iterating
of classes during analysis.

[prereq for backport of GEODE-9980 and GEODE-9758]

(cherry picked from commit 5d1e91932dff296632916a6ceccfb36039357acd)

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-16 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 8f3186cb74ccd2eb1ec8ba648c7a11b08d575962 in geode's branch 
refs/heads/support/1.14 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=8f3186c ]

GEODE-9817: Enable customized source set paths for ClassAnalysisRule (#7367)

Adds support for customizing source set paths of ClassAnalysisRule.

PROBLEM

Modules external to Geode must be structured the same as Geode
source code in order to use ClassAnalysisRule and the
Analyze*Serializables tests. This is necessary to better facilitate
pluggability of modules that need to provide sanctioned serializable
lists.

SOLUTION

Add source set path customization to ClassAnalysisRule, introduce
a new layer of Analyze*Serializables test base classes that can be
directly extended in order to customize source set paths in
ClassAnalysisRule. Also includes improvements to some iterating
of classes during analysis.

[prereq for backport of GEODE-9980 and GEODE-9758]

(cherry picked from commit 5d1e91932dff296632916a6ceccfb36039357acd)

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-15 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9 in geode's branch 
refs/heads/WIP-GEODE-9892 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ce57e9f ]

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and 
filtering. The API throws a runtime exception wrapping any thrown 
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9 in geode's branch 
refs/heads/GEODE-9892-Create-Infrastructure-for-Redis-Lists from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ce57e9f ]

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and 
filtering. The API throws a runtime exception wrapping any thrown 
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-10 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


Commit 6ecdce0d9ef9040f3bbb90c8ea4ff5eb99d712fc in geode's branch 
refs/heads/support/1.15 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=6ecdce0 ]

GEODE-9980: Improve error handling of serial filters (#7355)

Improves the error handling of serial filter configuration and
filtering. The API throws a runtime exception wrapping any thrown
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

(cherry picked from commit ce57e9fd2b8b644cadc469209e12e4fbd281e0d9)

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-08 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-9980:


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

GEODE-9980: Improve error handling of serial filters (#7299)

Improves the error handling of serial filter configuration and 
filtering. The API throws a runtime exception wrapping any thrown 
exceptions.

When geode.enableGlobalSerialFilter is FALSE:
* Startup succeeds without throwing any exceptions even if an older
  version of Java throws "java.lang.ClassNotFoundException
  sun.misc.ObjectInputFilter".

When geode.enableGlobalSerialFilter is TRUE:
* Startup fails by throwing an exception when configuration of serial
  filter fails for any reason.

Renames ObjectInputFilter to avoid confusion with the Java interface of
the same name.

Fixes a bug found in ReflectiveFacadeGlobalSerialFilterTest which
resulted in configuring a non-mocked process-wide serial filter that
polluted the JVM for all later tests.

Fixes other minor details in LocatorLauncher, InternalDataSerializer
and various related tests.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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


[jira] [Commented] (GEODE-9980) Startup of Locator or Server should fail fast if geode.enableGlobalSerialFilter is enabled but fails configuration

2022-02-07 Thread Kirk Lund (Jira)


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

Kirk Lund commented on GEODE-9980:
--

All changes are currently complete but I'm blocked from merging to develop 
because one of two unit tests is unexpectedly setting a real process-wide 
serial filter in the JVM which causes cascading failures. Both tests are 
supposed to be using a mock api for setting a the serial filter so that nothing 
real is configured.

> Startup of Locator or Server should fail fast if 
> geode.enableGlobalSerialFilter is enabled but fails configuration
> --
>
> Key: GEODE-9980
> URL: https://issues.apache.org/jira/browse/GEODE-9980
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.15.0
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.15.0​, pull-request-available
>
> The following error conditions need better handling which includes handling 
> of all errors consistently and cause the startup of a Locator or Server to 
> fail if it's unable to honor the setting of 
> {{-Dgeode.enableGlobalSerialFilter=true}} for any reason. Currently, if 
> {{-Dgeode.enableGlobalSerialFilter=true}} is specified but Geode is unable to 
> create a global serial filter, then it will will log a warning and continue 
> running. A user may easily miss that log statement and believe that the JVM 
> is running with a properly configured serialization filter.
> 1) The user is trying to secure the JVM very thoroughly and accidentally 
> specifies both {{-Djdk.serialFilter}} and 
> {{-Dgeode.enableGlobalSerialFilter}}. 
> 2) The user runs some non-Geode code in the same JVM that invokes 
> {{ObjectInputFilter.Config.setFilter(...)}} directly.
> 3) The user is using a version of Java 8 prior to 8u121 (the release that 
> first added {{sun.misc.ObjectInputFilter}}) and specifies 
> {{-Dgeode.enableGlobalSerialFilter=true}}. Also, the same behavior occurs if 
> they do NOT specify enabling that property.
> 4) {{LocatorLauncher}} or {{ServerLauncher}} is started in a JVM that has 
> already created at least one {{ObjectInputStream}} which will cause 
> {{ObjectInputFilter.Config.setFilter(...)}} to fail.
> 5) {{LocatorLauncher}} or {{ServerLauncher}} is started in a Java 8 JVM that 
> is not based on OpenJDK (ie {{sun.misc.ObjectInputFilter}} does not exist).
> 6) {{LocatorLauncher}} or {{ServerLauncher}} is started in an unforeseen 
> environment that causes invocation of 
> {{ObjectInputFilter.Config.setFilter(...)}} via Java Reflection to throw 
> {{IllegalAccessException}}.



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