[
https://issues.apache.org/jira/browse/DERBY-866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-866:
--------------------------------
Attachment: derby-866-15-ae-dbInJarFileOrOnClasspath.diff
Attaching derby-866-15-ae-dbInJarFileOrOnClasspath.diff. This patch adds tests
for booting databases which are protected by NATIVE/LOCAL authentication and
which are reached via the jar and classpath subprotocols. I will run full
regression tests.
I have successfully run the patched NativeAuthenticationServiceTest on the
following platforms:
1) Java 6 on Mac OSX
2) Java 6 on XP
3) Java 5 on XP
4) OJEC
To test the subprotocols, I built a new jar file (nast1.jar) containing a test
database. The jar file will be checked into the codeline. The patch includes a
script and ant targets for regenerating this jar file. The following command
regenerates nast1.jar:
ant -quiet build-test-jars
I think that we will have to regenerate this jar file when we create the 10.9
release candidate. That is because the jar file I am checking in now was
created with an alpha version of Derby; I think that a production version of
Derby will refuse to boot it.
In testing against databases on the classpath, I tripped across a bug involving
classpath databases and security managers: DERBY-5615. Currently, the classpath
db test is run only when the security manager is disabled. Once DERBY-5615 is
fixed, we should check to see whether we can re-enable the security manager for
the classpath test in this patch. It may be that there are other bugs having to
do with classpath dbs and the security manager.
I also do not run the subprotocol tests on Windows platforms because of another
bug I tripped across, having to do with releasing file handles during engine
shutdown when databases have been booted from the classpath (DERBY-5618). When
that bug is fixed, we can revisit NativeAuthenticationServiceTest.
Touches the following files:
--------------
M
java/engine/org/apache/derby/impl/store/raw/data/BaseDataFileFactory.java
DERBY-5615 tripped an NPE in this class. I put in some defensive logic.
--------------
A
java/testing/org/apache/derbyTesting/functionTests/tests/lang/nast_init.sql
M java/testing/org/apache/derbyTesting/functionTests/tests/lang/build.xml
A java/testing/org/apache/derbyTesting/functionTests/tests/lang/nast1.jar
M build.xml
Script and ant targets for building a database in a jar file.
--------------
A java/testing/org/apache/derbyTesting/junit/ClasspathSetup.java
M java/testing/org/apache/derbyTesting/junit/BaseTestCase.java
M java/testing/org/apache/derbyTesting/junit/TestConfiguration.java
M java/testing/org/apache/derbyTesting/junit/SupportFilesSetup.java
M
java/testing/org/apache/derbyTesting/functionTests/util/derby_tests.policy
Support for booting databases in jar files and on the classpath.
--------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/NativeAuthenticationServiceTest.java
The actual new test cases.
> Derby User Management Enhancements
> ----------------------------------
>
> Key: DERBY-866
> URL: https://issues.apache.org/jira/browse/DERBY-866
> Project: Derby
> Issue Type: Improvement
> Components: Services
> Affects Versions: 10.2.1.6
> Reporter: Francois Orsini
> Assignee: Rick Hillegas
> Attachments: Derby_User_Enhancement.html,
> Derby_User_Enhancement_v1.1.html, DummyAuthenticator.java,
> UserManagement.html, UserManagement.html, UserManagement.html,
> UserManagement.html, UserManagement.html, derby-866-01-aa-sysusers.diff,
> derby-866-01-ab-sysusers.diff, derby-866-02-ag-createDropUser.diff,
> derby-866-03-aa-resetModifyPassword.diff,
> derby-866-03-ab-resetModifyPassword.diff, derby-866-04-aa-fixRolesTest.diff,
> derby-866-05-aa-grantRevoke.diff, derby-866-06-aa-upgradeFrom10.1.diff,
> derby-866-07-aa-removeSQLPassword.diff, derby-866-08-aa-passwordHasher.diff,
> derby-866-08-ab-passwordHasher.diff, derby-866-08-ad-passwordHasher.diff,
> derby-866-09-ad-nativeAuthenticationService.diff,
> derby-866-09-ae-nativeAuthenticationServiceWithTests.diff,
> derby-866-10-ac-propChanging.diff, derby-866-11-aa-upgradeTest.diff,
> derby-866-12-ac-passwordExpiration.diff,
> derby-866-13-ab-systemWideOperationTests.diff,
> derby-866-14-ac-badNativeSpec.diff,
> derby-866-15-ae-dbInJarFileOrOnClasspath.diff, dummyCredentials.properties
>
>
> Proposal to enhance Derby's Built-In DDL User Management. (See proposal spec
> attached to the JIRA).
> Abstract:
> This feature aims at improving the way BUILT-IN users are managed in Derby by
> providing a more intuitive and familiar DDL interface. Currently (in
> 10.1.2.1), Built-In users can be defined at the system and/or database level.
> Users created at the system level can be defined via JVM or/and Derby system
> properties in the derby.properties file. Built-in users created at the
> database level are defined via a call to a Derby system procedure
> (SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY) which sets a database property.
> Defining a user at the system level is very convenient and practical during
> the development phase (EOD) of an application - However, the user's password
> is not encrypted and consequently appears in clear in the derby.properties
> file. Hence, for an application going into production, whether it is embedded
> or not, it is preferable to create users at the database level where the
> password is encrypted.
> There is no real ANSI SQL standard for managing users in SQL but by providing
> a more intuitive and known interface, it will ease Built-In User management
> at the database level as well as Derby's adoption.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira