[
https://issues.apache.org/jira/browse/DERBY-4799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909153#action_12909153
]
Knut Anders Hatlen commented on DERBY-4799:
-------------------------------------------
I think we've been sending the contents of the DRDA commands as UTF-8 all the
time, and only the command headers as EBCDIC. Not sure exactly where the line
was drawn between EBCDIC and UTF-8. I was also a bit surprised that we didn't
use EBCDIC here.
I checked the latest patch on DERBY-4757 and didn't see that it touched this
method. Is this something you've planned to add in the next revision of the
patch? If it already uses UTF-8, I suppose it shouldn't be changed by
DERBY-4757 to use EBCDIC against older clients.
> IllegalArgumentException when generating error message on server
> ----------------------------------------------------------------
>
> Key: DERBY-4799
> URL: https://issues.apache.org/jira/browse/DERBY-4799
> Project: Derby
> Issue Type: Bug
> Components: Network Server
> Affects Versions: 10.6.1.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Attachments: fix.diff
>
>
> If you for example try to connect to a non-existing database using the client
> driver, and the name of the database has 18 characters or more, and at least
> one of the characters in the database name is a non-ascii character, the
> server will throw an IllegalArgumentException when trying to send the
> "database not found" message back to the client.
> Example:
> ij> connect 'jdbc:derby://localhost/abcdefghijklmnopqå';
> ERROR 08006: A network protocol error was encountered and the connection has
> been terminated: A PROTOCOL Data Stream Syntax Error was detected. Reason:
> 0x12. Plaintext connection attempt to an SSL enabled server?
> Printed to the console by the server:
> Tue Sep 14 09:12:05 CEST 2010 : fromIndex(60) > toIndex(59)
> java.lang.IllegalArgumentException: fromIndex(60) > toIndex(59)
> at java.util.Arrays.rangeCheck(Arrays.java:1306)
> at java.util.Arrays.fill(Arrays.java:2567)
> at org.apache.derby.impl.drda.DDMWriter.padBytes(DDMWriter.java:1254)
> at
> org.apache.derby.impl.drda.DDMWriter.writeScalarPaddedBytes(DDMWriter.java:992)
> at
> org.apache.derby.impl.drda.DRDAConnThread.writeRDBNAM(DRDAConnThread.java:583)
> at
> org.apache.derby.impl.drda.DRDAConnThread.writeRDBfailure(DRDAConnThread.java:1248)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1194)
> at
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:968)
> at
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:294)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.