db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-3060) Network Server incorrectly assumes that all SQLExceptions with error code 08004 are caused by an authentication failure.
Date Tue, 11 Sep 2007 09:30:32 GMT

    [ 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.


Mime
View raw message