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 Fri, 04 Sep 2009 09:05:57 GMT

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

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

I tried with,

(1) Add jsr169.jar in bootclasspath in C:\Documents and Settings\Pragun\My Documents\NetBeansProjects\CdcApplication6\nbproject\project.properties
platform.bootclasspath=C:\\java\\netbeans6.7.1\\mobility8\\Java_ME_platform_SDK_3.0\\runtimes\\cdc-hi\\lib\\ext\\jsr169.jar

(2) Give security permission in C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\security\java.policy
	permission java.lang.RuntimePermission "defineClassInPackage.java.sql";
	permission java.lang.RuntimePermission "accessClassInPackage.java.sql";

(3) # commented package.access and package.definition parameter in C:\java\netbeans6.7.1\mobility8\Java_ME_platform_SDK_3.0\runtimes\cdc-hi\lib\security\java.security
# package.access=sun.
#package.definition=

(4) Pass VM arguments for -Xbootclasspath
-Djava.security.manager -Djava.security.policy=C:\\java\\netbeans6.7.1\\mobility8\\Java_ME_platform_SDK_3.0\\runtimes\\cdc-hi\\lib\\security\\java.policy
-Xbootclasspath/p:C:\\java\\netbeans6.7.1\\mobility8\\Java_ME_platform_SDK_3.0\\runtimes\\cdc-hi\\lib\\ext\\jsr169.jar

but no success

I am not sure but there is no way to tell java.lang.ClassLoader class to skip below checks
in defineClass(...) method
if(name != null && name.startsWith("java."))
    throw new SecurityException("Prohibited package name: " + name.substring(0, name.lastIndexOf('.')));

Because, the article http://java.sun.com/developer/JDCTechTips/2001/tt0130.html says that
"First, the defineClassInPackage permission is not checked by any class loader supplied with
the JDK. Second, as of JDK 1.3, the "java" packages are protected by a line that is hard coded
into the ClassLoader class"

> 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