Commit 3fd2225f authored by JC Brand's avatar JC Brand

Don't try to restore if rid, jid and sid are passed in.

Fixes an issue whereby those tokens are passed in but not used and instead
converse attempts to restore the session (and then totally ignores the tokens
when it fails).

Makes sense to me that you'd want your passed in tokens to be used always, even
when there are restorable tokens.
parent 57aae4ad
......@@ -1685,7 +1685,9 @@
this.attemptPreboundSession = function (tokens) {
/* Handle session resumption or initialization when prebind is being used.
*/
if (this.keepalive) {
if (this.jid && this.sid && this.rid) {
return this.connection.attach(this.jid, this.sid, this.rid, this.onConnectStatusChanged);
} else if (this.keepalive) {
if (!this.jid) {
throw new Error("initConnection: when using 'keepalive' with 'prebind, you must supply the JID of the current user.");
}
......@@ -1695,13 +1697,9 @@
this.log("Could not restore session for jid: "+this.jid+" Error message: "+e.message);
this.clearSession(); // If there's a roster, we want to clear it (see #555)
}
} else { // Not keepalive
if (this.jid && this.sid && this.rid) {
return this.connection.attach(this.jid, this.sid, this.rid, this.onConnectStatusChanged);
} else {
throw new Error("initConnection: If you use prebind and not keepalive, "+
"then you MUST supply JID, RID and SID values");
}
} else {
throw new Error("initConnection: If you use prebind and not keepalive, "+
"then you MUST supply JID, RID and SID values");
}
// We haven't been able to attach yet. Let's see if there
// is a prebind_url, otherwise there's nothing with which
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment