[ https://issues.apache.org/jira/browse/DERBY-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523961#comment-17523961 ]
Richard N. Hillegas commented on DERBY-7138: -------------------------------------------- Attaching derby-7138-09-aa-removeMostProductPrivilegeFiles.diff. This patch removes privilege blocks from the product code except for the following classes (to be addressed in a later patch): {noformat} trunk/java/org.apache.derby.server/org/apache/derby/impl/drda/NetworkServerControlImpl.java trunk/java/org.apache.derby.server/org/apache/derby/impl/drda/ClientThread.java trunk/java/org.apache.derby.engine/org/apache/derby/impl/sql/compile/OptimizerTracer.java {noformat} With this patch, tests pass cleanly both with the classpath and with the modulepath. Touches the following files: {noformat} M java/org.apache.derby.client/org/apache/derby/client/BasicClientDataSource.java M java/org.apache.derby.client/org/apache/derby/client/am/ClientConnection.java M java/org.apache.derby.client/org/apache/derby/client/am/Configuration.java M java/org.apache.derby.client/org/apache/derby/client/net/NetAgent.java M java/org.apache.derby.client/org/apache/derby/client/net/OpenSocketAction.java M java/org.apache.derby.commons/org/apache/derby/shared/common/error/ExceptionUtil.java M java/org.apache.derby.commons/org/apache/derby/shared/common/i18n/MessageService.java M java/org.apache.derby.commons/org/apache/derby/shared/common/info/JVMInfo.java M java/org.apache.derby.commons/org/apache/derby/shared/common/info/ProductVersionHolder.java M java/org.apache.derby.commons/org/apache/derby/shared/common/reference/ModuleUtil.java M java/org.apache.derby.commons/org/apache/derby/shared/common/sanity/AssertFailure.java M java/org.apache.derby.engine/org/apache/derby/catalog/Java5SystemProcedures.java M java/org.apache.derby.engine/org/apache/derby/catalog/SystemProcedures.java M java/org.apache.derby.engine/org/apache/derby/diag/DiagUtil.java M java/org.apache.derby.engine/org/apache/derby/diag/ErrorLogReader.java M java/org.apache.derby.engine/org/apache/derby/diag/ErrorMessages.java M java/org.apache.derby.engine/org/apache/derby/diag/StatementCache.java M java/org.apache.derby.engine/org/apache/derby/diag/StatementDuration.java M java/org.apache.derby.engine/org/apache/derby/iapi/jdbc/AutoloadedDriver.java M java/org.apache.derby.engine/org/apache/derby/iapi/jdbc/DRDAServerStarter.java M java/org.apache.derby.engine/org/apache/derby/iapi/jdbc/InternalDriver.java M java/org.apache.derby.engine/org/apache/derby/iapi/jdbc/JDBCBoot.java M java/org.apache.derby.engine/org/apache/derby/iapi/security/SecurityUtil.java M java/org.apache.derby.engine/org/apache/derby/iapi/services/cache/ClassSize.java M java/org.apache.derby.engine/org/apache/derby/iapi/services/context/ContextService.java M java/org.apache.derby.engine/org/apache/derby/iapi/services/context/SystemContext.java M java/org.apache.derby.engine/org/apache/derby/iapi/services/io/FormatIdInputStream.java M java/org.apache.derby.engine/org/apache/derby/iapi/services/property/PropertyUtil.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/conn/ConnectionUtil.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/dictionary/DataDescriptorGenerator.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/dictionary/IndexRowGenerator.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/dictionary/SPSDescriptor.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/dictionary/TableDescriptor.java M java/org.apache.derby.engine/org/apache/derby/iapi/sql/dictionary/TriggerDescriptor.java M java/org.apache.derby.engine/org/apache/derby/iapi/store/access/DiskHashtable.java M java/org.apache.derby.engine/org/apache/derby/iapi/types/ClobStreamHeaderGenerator.java M java/org.apache.derby.engine/org/apache/derby/iapi/types/DataValueFactoryImpl.java M java/org.apache.derby.engine/org/apache/derby/iapi/types/NumberDataType.java M java/org.apache.derby.engine/org/apache/derby/iapi/types/SqlXmlUtil.java M java/org.apache.derby.engine/org/apache/derby/iapi/util/InterruptStatus.java M java/org.apache.derby.engine/org/apache/derby/impl/db/BasicDatabase.java M java/org.apache.derby.engine/org/apache/derby/impl/db/DatabaseContextImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/db/SlaveDatabase.java M java/org.apache.derby.engine/org/apache/derby/impl/io/CPFile.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/ConnectionChild.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedConnection.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedConnectionContext.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedDatabaseMetaData.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedPooledConnection.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedResultSet.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedSavepoint.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/EmbedXAResource.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/LOBStreamControl.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/ResourceAdapterImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/XATransactionState.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/authentication/AuthenticationServiceBase.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/authentication/LDAPAuthenticationSchemeImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/jdbc/authentication/NativeAuthenticationServiceImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/load/Export.java M java/org.apache.derby.engine/org/apache/derby/impl/load/ExportWriteData.java M java/org.apache.derby.engine/org/apache/derby/impl/load/ImportLobFile.java M java/org.apache.derby.engine/org/apache/derby/impl/load/ImportReadData.java M java/org.apache.derby.engine/org/apache/derby/impl/services/bytecode/BCClass.java M java/org.apache.derby.engine/org/apache/derby/impl/services/bytecode/BCJava.java M java/org.apache.derby.engine/org/apache/derby/impl/services/bytecode/GClass.java M java/org.apache.derby.engine/org/apache/derby/impl/services/bytecode/d_BCValidate.java M java/org.apache.derby.engine/org/apache/derby/impl/services/cache/ConcurrentCache.java M java/org.apache.derby.engine/org/apache/derby/impl/services/cache/ConcurrentCacheMBeanImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/services/daemon/BasicDaemon.java M java/org.apache.derby.engine/org/apache/derby/impl/services/daemon/IndexStatisticsDaemonImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/services/daemon/SingleThreadDaemonFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/services/jce/JCECipherFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/services/jmx/JMXManagementService.java M java/org.apache.derby.engine/org/apache/derby/impl/services/locks/Deadlock.java M java/org.apache.derby.engine/org/apache/derby/impl/services/monitor/BaseMonitor.java M java/org.apache.derby.engine/org/apache/derby/impl/services/monitor/FileMonitor.java M java/org.apache.derby.engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java M java/org.apache.derby.engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java M java/org.apache.derby.engine/org/apache/derby/impl/services/reflect/JarLoader.java M java/org.apache.derby.engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java M java/org.apache.derby.engine/org/apache/derby/impl/services/reflect/UpdateLoader.java M java/org.apache.derby.engine/org/apache/derby/impl/services/stream/RollingFileStream.java M java/org.apache.derby.engine/org/apache/derby/impl/services/stream/SingleStream.java M java/org.apache.derby.engine/org/apache/derby/impl/services/timer/SingletonTimerFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/services/uuid/BasicUUIDFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/GenericLanguageFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/GenericPreparedStatement.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/GenericStorablePreparedStatement.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/LanguageDbPropertySetter.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/catalog/DD_Version.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/catalog/SequenceUpdater.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/compile/ConstraintDefinitionNode.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/compile/QueryTreeNode.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/BaseActivation.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/BasicNoPutResultSetImpl.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/GenericConstantActionFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/GenericExecutionFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/JarUtil.java M java/org.apache.derby.engine/org/apache/derby/impl/sql/execute/rts/RealBasicNoPutResultSetStatistics.java M java/org.apache.derby.engine/org/apache/derby/impl/store/access/PropertyConglomerate.java M java/org.apache.derby.engine/org/apache/derby/impl/store/access/RAMAccessManager.java M java/org.apache.derby.engine/org/apache/derby/impl/store/access/btree/index/B2IFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/store/access/heap/HeapConglomerateFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/store/access/sort/ExternalSortFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/RawStore.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/BaseDataFileFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/D_DiagnosticUtil.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/EncryptOrDecryptData.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/FileContainer.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/RAFContainer.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/RFResource.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/data/StreamFileContainer.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/log/LogToFile.java M java/org.apache.derby.engine/org/apache/derby/impl/store/raw/xact/XactFactory.java M java/org.apache.derby.engine/org/apache/derby/impl/store/replication/net/ReplicationMessageReceive.java M java/org.apache.derby.engine/org/apache/derby/impl/store/replication/net/ReplicationMessageTransmit.java M java/org.apache.derby.engine/org/apache/derby/mbeans/Management.java M java/org.apache.derby.engine/org/apache/derby/mbeans/Version.java M java/org.apache.derby.engine/org/apache/derby/security/DatabasePermission.java M java/org.apache.derby.engine/org/apache/derby/vti/XmlVTI.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/api/SimpleJsonUtils.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/dump/DataFileVTI.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/lucene/DerbyIndexInput.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/lucene/DerbyLuceneDir.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/lucene/LuceneListIndexesVTI.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/lucene/LuceneQueryVTI.java M java/org.apache.derby.optionaltools/org/apache/derby/optional/lucene/LuceneSupport.java M java/org.apache.derby.server/org/apache/derby/drda/NetServlet.java M java/org.apache.derby.server/org/apache/derby/drda/NetworkServerControl.java M java/org.apache.derby.server/org/apache/derby/impl/drda/DRDAConnThread.java M java/org.apache.derby.server/org/apache/derby/impl/drda/DssTrace.java M java/org.apache.derby.server/org/apache/derby/impl/drda/NetworkServerMBeanImpl.java M java/org.apache.derby.tools/org/apache/derby/iapi/tools/i18n/LocalizedResource.java M java/org.apache.derby.tools/org/apache/derby/impl/tools/ij/ConnectionEnv.java M java/org.apache.derby.tools/org/apache/derby/impl/tools/ij/Main.java M java/org.apache.derby.tools/org/apache/derby/impl/tools/ij/util.java M java/org.apache.derby.tools/org/apache/derby/impl/tools/sysinfo/Main.java M java/org.apache.derby.tools/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java M java/org.apache.derby.tools/org/apache/derby/tools/JDBCDisplayUtil.java M java/org.apache.derby.tools/org/apache/derby/tools/PlanExporter.java M java/storeless/org/apache/derby/impl/storeless/StorelessDatabase.java M java/stubs/felix/org/osgi/framework/AdminPermission.java M java/stubs/felix/org/osgi/framework/FrameworkUtil.java {noformat} > Remove references to the Java Security Manager > ---------------------------------------------- > > Key: DERBY-7138 > URL: https://issues.apache.org/jira/browse/DERBY-7138 > Project: Derby > Issue Type: Task > Components: Build tools, Documentation > Affects Versions: 10.16.0.0 > Reporter: Richard N. Hillegas > Assignee: Richard N. Hillegas > Priority: Major > Attachments: DerbyServerTest.java, Z.java, > derby-7138-01-aa-removeSecurityManagerFromOldHarnessTests.diff, > derby-7138-02-ab-moveMethodsToTestConfiguration.diff, > derby-7138-03-aa-removePermissionsTests.diff, > derby-7138-04-ab-hostChangeInNetworkServerControlApiTest.diff, > derby-7138-05-aa-removeSecurityManager.diff, > derby-7138-06-aa-removeSecurityManagerSetup.diff, > derby-7138-07-aa-removePrivilegeBlocksFromTests.diff, > derby-7138-08-aa-removePolicyFiles.diff, > derby-7138-09-aa-removeMostProductPrivilegeFiles.diff > > > The Open JDK team has deprecated the Java Security Manager and indicated that > it will be removed in a future release of Java. See > https://openjdk.java.net/jeps/411. In an email thread titled "protecting > security-sensitive operations on multi-tenant servers" on the > security-...@openjdk.java.net mailing list, Alan Bateman indicated that > developers should containerize their applications instead. > This issue tracks work needed to remove Derby's references to the Java > Security Manager. > At a minimum, the following work needs to be done: > o The tests should be adjusted so that they don't install a SecurityManager. > o References to the SecurityManager should be removed from product code. > o We should remove the SecurityManager section of the Derby Security Guide. > In its place, we should recommend that developers containerize their Derby > applications. -- This message was sent by Atlassian Jira (v8.20.1#820001)