db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-866) Derby User Management Enhancements
Date Wed, 15 Feb 2012 17:19:00 GMT

     [ 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

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:
>            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,
> 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, 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


View raw message