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

Kathey Marsden commented on DERBY-4008:
---------------------------------------

As discussed in DERBY-728,  this change while necessary to move forward on 
DERBY-728 will cause a regression when a new client tries to connect to an old 
server with a database name that can't be converted.  If connecting with a 
Chinese database name with a new client and an old server, the server console 
will show an exception:
Execution failed because of a Distributed Protocol Error:  DRDA_Proto_SYNTAXRM; 
CODPNT arg  = 2110; Error Code Value = e
. Plaintext connection attempt from an SSL enabled client?


At the client we can save off the conversion exception that prevented us from 
sending the RDBNAM on ACCSEC and do one of two things.  
  1)  Report the SYNTAXRM on the client but chain the conversion exception, so 
it is clear the root cause of the problem.
  2) Gobble up the SYNTAXRM and just throw the conversion exception, so it 
looks like there was no SYNTXRM on the client and the client behavior matches 
the current behavior.

I am a bit wary of throwing away the exception so I am planning to go with 
option 1 which would be less compatible but have a cleaner implementation and 
wouldn't cause the SYNTAXRM to mysteriously disappear between server and 
client.  I will backport DERBY-4004 so that folks using newer 10.3 and 10.4 
servers won't be affected. I'll post a patch soon with my proposal. Please post 
if you have any concerns or other ideas.




> Only send RDBNAM on ACCSEC if EBCDIC conversion is possible
> -----------------------------------------------------------
>
>                 Key: DERBY-4008
>                 URL: https://issues.apache.org/jira/browse/DERBY-4008
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Network Client
>    Affects Versions: 10.5.0.0
>            Reporter: Kathey Marsden
>            Assignee: Kathey Marsden
>            Priority: Minor
>
> As part of the change for DERBY-728 we will implement UNICODEMGR which will 
> require ACCSEC be sent in EBCDIC.  After DERBY-4004 is fixed the client 
> should send the RDBNAM on ACCSEC only if EBCDIC conversion is possible.  This 
> will maintain compatibility with old servers for database names that can be 
> converted but will allow us to defer sending the database name to SECCHK so 
> that we can send the RDBNAM in UTF-8 with new servers when UNICODEMGR is 
> active.

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

Reply via email to