db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "pragun@imcsystemsuk.com (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4366) java.lang.SecurityException: Prohibited package name: java.sql when Derby.jar calls jdbcjsr169.jar
Date Wed, 02 Sep 2009 15:23:32 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12750479#action_12750479
] 

pragun@imcsystemsuk.com commented on DERBY-4366:
------------------------------------------------

I have done it by a very wrong workaround...breaking java security policy.

I found in ClassLoader.defineClass(..) method, there is hard coding as below
if(name != null && name.startsWith("java."))
    throw new SecurityException("Prohibited package name: " + name.substring(0, name.lastIndexOf('.')));

So, I included java.sql.* and javax.sql.* class files package in NetBeans6.7.1 CDC Emulator
runtime environment library itself C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\rt.jar
Thats it !! and all worked. 
But this is absolutely incorrect way.

JavaME - C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\lib doen't comes with jsr169.jar
Derby - C:\java\derby10.5.3.0\lib doen't comes with jsr169.jar
Any Sun provided CDC Emulator also doesn't have jsr169.jar
I am not sure but is this the responsibility of Micro/Mobile/PDA device CVM to provide support
for jsr169.jar ?

If yes, than ok but I think for JavaME3.0<-->Derby application developement purpose,
SUN should provide jsr169.jar support in either way by,
CDC Emulator: by including jsr169.jar classes in the CDC Emulator library
OR
Derby database: only when someone want to use Derby in Micro/Mobile/PDA, make some modification
in Derby build ant task to creates jsr169.jar which is accpted in any CDC emulator environment

One thing is clear that Derby has nothing to do with this issue. So really sorry to raise
this bug. The administrator can close/reject this issue.

But, please correct me if I am wrong and if it sounds reasonable than please tell me where
should I raise an JavaME3.0 improvement issue ?

> java.lang.SecurityException: Prohibited package name: java.sql when Derby.jar calls jdbcjsr169.jar
> --------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4366
>                 URL: https://issues.apache.org/jira/browse/DERBY-4366
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.5.3.0
>         Environment: WindowsXP(SP3), JDK jdk1.6.0_11 and Netbeans6.7.1(with Mobility8),
Derby10.5.3.0
>            Reporter: pragun@imcsystemsuk.com
>         Attachments: CDC_Java_TM__Platform_Micro_Edition_SDK_3.0.xml, JME3-Derby Test.zip
>
>
> (1) I have build JSR169 as per the SUN's instruction http://blogs.sun.com/wittyman/entry/building_jdbc_for_cdc_foundation
> Download JDBC Optional Package for CDC/Foundation Profile from http://java.sun.com/products/jdbc/download.html#cdcfp
> compiled with java version  - jdk1.5.0_20
> cd C:/jdbc_cdc1.0/cdcfoundation/src/share/jdbc/classes/
> mkdir build
> javac -source 1.5 -target 1.5 -bootclasspath C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\btclasses.zip;C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\rt.jar
-d build java/sql/*.java javax/sql/*.java
> cd build
> jar cvf jsr169.jar java/sql/*.class javax/sql/*.class
> (2)
> Derby10.5.3.0 as per the Apache's instruction http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.html?view=co
> compiled with java version  - jdk1.5.0_20
> ant.properties
> --------------
> deprecation=off
> sane=false
> printCompilerProperties=true
> j15lib=C:/java/jdk1.5.0_20/jre/lib;C:/java/jdk1.5.0_20/lib
> java15compile.classpath=C:/java/jdk1.5.0_20/jre/lib/rt.jar;C:/java/jdk1.5.0_20/jre/lib/charsets.jar;C:/java/jdk1.5.0_20/jre/lib/deploy.jar;C:/java/jdk1.5.0_20/jre/lib/javaws.jar;C:/java/jdk1.5.0_20/jre/lib/jce.jar;C:/java/jdk1.5.0_20/jre/lib/jsse.jar;C:/java/jdk1.5.0_20/jre/lib/plugin.jar;C:/java/jdk1.5.0_20/lib/dt.jar;C:/java/jdk1.5.0_20/lib/htmlconverter.jar;C:/java/jdk1.5.0_20/lib/jconsole.jar;C:/java/jdk1.5.0_20/lib/tools.jar
> jsr169compile.classpath=C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/btclasses.zip;C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/rt.jar;C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/jsr169.jar
> cd C:\java\derby10.5.3.0
> ant -quiet clobber
> ant -quiet buildsource
> ant -quiet buildjars
> (3)copied derby.jar,derbytools.jar,jsr169.jar under C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\ext
> (4)VM argument
> -Xbootclasspath/a:C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/jsr169.jar
-cp C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/derby.jar;C:/java/netbeans6.7.1/mobility8/Java_ME_platform_SDK_3.0/runtimes/cdc-hi/lib/ext/derbytools.jar
> (5)C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\security\java.policy
> added below lines to allow java.sql package,
> permission java.lang.RuntimePermission "defineClassInPackage.java.sql";
> permission java.lang.RuntimePermission "accessClassInPackage.java.sql";
> (6)C:\Documents and Settings\Pragun\My Documents\NetBeansProjects\CdcApplication6\nbproject\project.properties
> Compiled this sample application in NetBeans6.7.1 with below compilation options,
> javac.source=1.5 (tried with 1.3 and 1.4 as well)
> javac.target=1.5 (tried with 1.3 and 1.4 as well)
> But still getting error java.lang.SecurityException: Prohibited package name: java.sql

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message