[Pidgin] #2095: XMPP disconnect causes inability to reconnect
Pidgin
trac at pidgin.im
Wed Sep 5 09:39:50 EDT 2007
#2095: XMPP disconnect causes inability to reconnect
---------------------------+------------------------------------------------
Reporter: akrherz | Owner: deryni
Type: defect | Status: closed
Priority: minor | Milestone:
Component: pidgin (gtk) | Version: 2.0.2
Resolution: invalid | Keywords:
Pending: 0 |
---------------------------+------------------------------------------------
Comment (by deryni):
For the record (because someone in the Ignite Realtime forums commented on
this) the 'Using Digest Authentication as a SASL Mechanism' RFC (2831)
specifies what the server should do if it doesn't support subsequent
authentication, what it should do if the client gets the subsequent auth
wrong, and even what to do if it just decides it doesn't like the
subsequent auth that happened. None of those methods are what the Java
SASL library is doing.
From the RFC:
2.2.2 Step Two
The server receives the "digest-response". If the server does not
support subsequent authentication, then it sends a
"digest-challenge", and authentication proceeds as in initial
authentication. If the server has no saved nonce and nonce-count from
a previous authentication, then it sends a "digest-challenge", and
authentication proceeds as in initial authentication. Otherwise, the
server validates the "digest-response", checks that the nonce-count
is one greater than that used in the previous authentication using
that nonce, and saves the new value of nonce-count.
If the response is invalid, then the server sends a
"digest-challenge", and authentication proceeds as in initial
authentication (and should be configurable to log an authentication
failure in some sort of security audit log, since the failure may be
a symptom of an attack). The nonce-count MUST NOT be incremented in
this case: to do so would allow a denial of service attack by sending
an out-of-order nonce-count.
If the response is valid, the server MAY choose to deem that
authentication has succeeded. However, if it has been too long since
the previous authentication, or for any other reason, the server MAY
send a new "digest-challenge" with a new value for nonce. The
challenge MAY contain a "stale" directive with value "true", which
says that the client may respond to the challenge using the password
it used in the previous response; otherwise, the client must solicit
the password anew from the user. This permits the server to make sure
that the user has presented their password recently. (The directive
name refers to the previous nonce being stale, not to the last use of
the password.) Except for the handling of "stale", after sending the
"digest-challenge" authentication proceeds as in the case of initial
authentication.
--
Ticket URL: <http://developer.pidgin.im/ticket/2095#comment:11>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list