You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Øystein Grøvlen (JIRA)" <ji...@apache.org> on 2007/09/11 11:30:32 UTC

[jira] Commented: (DERBY-3060) Network Server incorrectly assumes that all SQLExceptions with error code 08004 are caused by an authentication failure.

    [ https://issues.apache.org/jira/browse/DERBY-3060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526394 ] 

Øystein Grøvlen commented on DERBY-3060:
----------------------------------------

Jørgen, thank you for the patch.  It looks very good, and is very well commented.  I am running tests, and will commit the patch if nothing new shows up.  While at it, I will take the liberty to fix a mistaken bit-wise or in getRdbAccessErrorCodePoint, and also add some curly braces to make it more readable.  (None of this was introduced by this patch.)

> Network Server incorrectly assumes that all SQLExceptions with error code 08004 are caused by an authentication failure.
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3060
>                 URL: https://issues.apache.org/jira/browse/DERBY-3060
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.3.1.4, 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby-3060-1.diff, derby-3060-1.stat
>
>
> DRDAConnThread#getConnFromDatabaseName incorrectly assumes that all SQLExceptions with error code 08004 thrown when trying to connect to a database are caused by an authentication failure.
> DRDAConnThread lines 1295-1296:
> ------8<------ 
> if (sqlState.regionMatches(0,SQLState.LOGIN_FAILED,0,5)) 
>     return CodePoint.SECCHKCD_USERIDINVALID;
> ------>8------
> I have added an exception to BasicDatabase#setupConnection with error code 08004.C.7. The exception is thrown if the connection is refused because the database has been booted in slave replication mode. This exception is, however, translated into an authentication exception by DRDAConnThread:
> When the NetworkServer has already booted a database 'test' in slave replication mode, I get the following output from ij:
> ij> connect 'jdbc:derby://localhost/test';
> ERROR 08004: Connection authentication failure occurred.  Reason: userid or password invalid.
> If I change the SQL code of the exception to XRE02.C and repeat, I get:
> ij> connect 'jdbc:derby://localhost/test';
> ERROR XRE02: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE02, SQLERRMC: Connect refused to database 'test' because it is in replication slave mode.

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