Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [stellation-res] Authentication problem

Jonathan Gossage wrote:

There is a problem in
org.eclipse.stellation.remote.engine.Engine.requestResourceAuthentication().
There are circumstances where it is possible that you will never receive a
response from the server. I ran into this because the Id for the Firebird
database I was connecting to contains the full path to the database and I
typed the drive letter in lower case on the client side and upper case on
the server side. Since the server did not find the Id, it silently discarded
the challenge request without responding.

That's actually the correct behaviour: the client is supposed to time out on it's authentication
request, which generates an authentication error.

We've got a deliberately odd communication layer, which leads to some counter-intuitive
behaviours until you get the sense of it.

It's a publish-subscribe system. In pub-sub, you don't know who the intended recipient of a message is. You publish a message onto a communication bus, and anyone who is interested
in that kind of message subscribes to the message type.

So, in Stellation, servers subscribe to the "auth.request" message, to receive authentication requests. But the design is intended to permit a given message bus to include more than one server - so there can be multiple subscribers to authentication requests. The client *can't* know how many subscribers there are - that's a kind of distributed knowledge
that a simple pub-sub doesn't permit.

Therefore, having the server respond to say it can't find the resource accomplishes nothing, because you don't know if the response is coming from the right server. That's why we use timeout. So I guess that the real bug is that the timeout in the auth code
is failing to properly generate an auth failure when it doesn't recieve an
auth.challenge.

   -Mark

--
Mark Craig Chu-Carroll, IBM T.J. Watson Research Center *** The Stellation project: Advanced SCM for Collaboration
***		http://www.eclipse.org/stellation
*** Work: mcc@xxxxxxxxxxxxxx/Home: markcc@xxxxxxxxxxx





Back to the top