You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by m96 <m9...@gmx.li> on 2007/05/21 22:35:32 UTC

ERROR 58009: Network protocol exception

hi,

I have written a new authentication Class that implements
UserAuthenticator according to [1] for my derby network server. but
unfortunately i get the following error: 

---
ERROR 58009: Network protocol exception: DSS chained with same id at the
end of same id chain parse. The connection has been terminated.
ERROR 08004: Connection authentication failure occurred. Reason: the
user id is not authorized to access the database.
---

after some try-and-error i found out that this happens when the user
name is an email address (e.g. 'user@host.com') or begins with a number
(e.g. '123456'.) on the other hand user names like 'user' or 'user1'
work fine.

the question that i have is: what is DSS chain and what does error 58809
mean? additionally is there a user name convention - if yes, where is it
documented?

furthermore if i can not user numbers only or special characters like
'@' in user names then is it possible to map user names. e.g. for
authentication i'm using 'user@host.com' and after successful
authentication it's mapped by my authentication class to an other name
'user1' ?


thanks in advance.
cheers...


[1] http://db.apache.org/derby/docs/dev/devguide/rdevexudclass.html



Re: ERROR 58009: Network protocol exception

Posted by Bryan Pendleton <bp...@amberpoint.com>.
> and still what is DSS chain?

It's an internal behavior of the DRDA protocol. You can
find some high-level information here:
http://wiki.apache.org/db-derby/DssProtocolErrors

To really understand it, you'll need to study the DRDA
spec and read the network server and network client code.

thanks,

bryan



Re: ERROR 58009: Network protocol exception

Posted by m96 <m9...@gmx.li>.
ok, found the documentation page where it says that
AuthorizationIdentifier's must comply [2] with SQL92Identifier [3] [4]
syntax.

so i need to reformulate my open question:
is it possible to map user names. e.g. using 'user@host.com' for
authentication which maps to 'user1' for authorization in db after
successful authentication?

and still what is DSS chain?

thanks,
cheers...


[2] http://db.apache.org/derby/docs/dev/ref/rrefrauthid.html
[3] http://db.apache.org/derby/docs/dev/ref/crefsqlj34834.html
[4] http://db.apache.org/derby/docs/dev/ref/crefsqlj1003454.html

On Mon, 2007-05-21 at 22:35 +0200, m96 wrote:
> hi,
> 
> I have written a new authentication Class that implements
> UserAuthenticator according to [1] for my derby network server. but
> unfortunately i get the following error: 
> 
> ---
> ERROR 58009: Network protocol exception: DSS chained with same id at the
> end of same id chain parse. The connection has been terminated.
> ERROR 08004: Connection authentication failure occurred. Reason: the
> user id is not authorized to access the database.
> ---
> 
> after some try-and-error i found out that this happens when the user
> name is an email address (e.g. 'user@host.com') or begins with a number
> (e.g. '123456'.) on the other hand user names like 'user' or 'user1'
> work fine.
> 
> the question that i have is: what is DSS chain and what does error 58809
> mean? additionally is there a user name convention - if yes, where is it
> documented?
> 
> furthermore if i can not user numbers only or special characters like
> '@' in user names then is it possible to map user names. e.g. for
> authentication i'm using 'user@host.com' and after successful
> authentication it's mapped by my authentication class to an other name
> 'user1' ?
> 
> 
> thanks in advance.
> cheers...
> 
> 
> [1] http://db.apache.org/derby/docs/dev/devguide/rdevexudclass.html
> 


Re: ERROR 58009: Network protocol exception

Posted by Kathey Marsden <km...@sbcglobal.net>.
m96 wrote:
> the question that i have is: what is DSS chain and what does error 58809
> mean? additionally is there a user name convention - if yes, where is it
> documented?
>   
User names are SQL92Identifiers and the rules are documented at:
http://db.apache.org/derby/docs/10.2/ref/crefsqlj1003454.html

so the @ is not valid but  you should get something friendlier than a 
DSS error which is a protocol error, which you shouldn't get so I think 
that part of it is a bug.   Just trying to connect with  ij  with client 
I don't see it.
ij> connect 
'jdbc:derby://localhost:1528/wombat;create=true;user=user@host.com';
ERROR XJ041: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ041, SQLERRMC: 
Failed to create database 'wombat', see the next exception for details:: 
SQLLSTATE: 28502The user name 'user@host.com' is not valid.

Putting the user name in double quotes allows me to use @ e.g.
connect 
'jdbc:derby://localhost:1528/wombat;create=true;user="user@host.com"';

Can you post a reproduction for the DSS error or file a bug in Jira.
http://db.apache.org/derby/DerbyBugGuidelines.html

> furthermore if i can not user numbers only or special characters like
> '@' in user names then is it possible to map user names. e.g. for
> authentication i'm using 'user@host.com' and after successful
> authentication it's mapped by my authentication class to an other name
> 'user1' ?
>
>   
I don't think this can be done.  I hope the double quotes work ok for you.



Kathey