Rick Hillegas wrote:

When we introduce system-wide and database-specific privileges we will need at least one more knob. This additional knob will control whether these privileges are checked or whether legacy applications continue to behave as they did in 10.2. Let us suppose this is another property. Here are two ways to handle this knob:

3a) It could be boolean, that is, take true/false values just like /derby.database.sqlAuthorization./

3b) Alternatively, it could be an integer, specifying the privilege-checking level of the Derby engine.

Approach (3b) seems more flexible to me. It would allow us to add more system/database privileges in future releases. Let's call this knob /derby.system.privLevel/. It could behave as follows:

derby.system.privLevel unspecified (Default behavior. We don't check for database or system privileges.)
derby.system.privLevel=10.2 (Default behavior above.)
derby.system.privLevel=10.3 (We check for the database and system privileges introduced in 10.3.) derby.system.privLevel=10.4 (We check for the database and system privileges handled by the previous release as well as any new database and system privileges introduced in 10.4.)

Please let me know what you think about this proposal and whether you have other ideas about how to manage the upgrading of legacy applications to 10.3.

I think more mode settings is not a good idea. I would view this as closing security holes that make the existing SQL authorization mode insecure. For all of these we can provide instructions on how to modify 10.2 applications to work in 10.3.

Dan.


Reply via email to