[ 
http://issues.apache.org/jira/browse/DERBY-1373?page=comments#action_12417195 ] 

Sunitha Kambhampati commented on DERBY-1373:
--------------------------------------------

Thanks Mathias for finding this issue and posting a patch. It would be nice if 
you could add some tests so we dont regress this issue in the future.  Also I 
was wondering, if you considered Suresh's comment  on an alternate way of how 
this could be fixed. 

Suresh's comment is in the mail with subject 'Problem using encrypted databases 
with jar subprotocol'
"I think the verifyKey file can be read by wrapping the file InputStream with a 
DataInputStream instead of reading it as RandomAccessFile in the 
JCECipherFactory itself. If that works then there is no need to add  
InputStreamRandomAccessFile.java class. " 

The copyright notice is missing from the InputStreamRandomAccessFile.  Can you 
please svn add this file and generate a new patch.  We have a useful checklist 
on the wiki.http://wiki.apache.org/db-derby/DerbyContributorChecklist

Thanks.

> Encrypted databases cannot be booted using the jar subprotocol (and possibly 
> also using http/https/classpath)
> -------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1373
>          URL: http://issues.apache.org/jira/browse/DERBY-1373
>      Project: Derby
>         Type: Bug

>   Components: Store
>     Versions: 10.1.2.4
>  Environment: Environment does not matter.
>     Reporter: Mathias Herberts
>     Assignee: Mathias Herberts
>      Fix For: 10.2.0.0
>  Attachments: InputStreamFile.java-patch, InputStreamRandomAccessFile.java
>
> An encrypted database cannot be booted when using the jar subprotocol.
> The problem lies in the method run from JCECipherFactory. The call to 
> getRandomAccessFile returns null when the verifyKeyFile is an instance of 
> InputStreamFile and the key verification therefore fails.
> The implementation of getRandomAccessFile for InputStreamFile states that its 
> code cannot be reached which is untrue.
> The provided patch does two things, it provides a new class 
> InputStreamRandomAccessFile in package org.apache.derby.impl.io. This class 
> provides simple implementations of readInt and readFully so the key 
> verification process succeeds. A quick scan of the derby source tree showed 
> no problem or possible impact of this simple implementation.
> The second thing the patch does is to modify 
> org/apache/derby/impl/io/InputStreamFile.java so the getRandomAccessFile 
> creates an instance of InputStreamRandomAccessFile instead of returning null.
> This patch has been tested against trunk 410361. It solves the problem at 
> least under the jar subprotocol.
> The patch has not been tested against http/https/classpath.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to