do not accept fast token w/o channel binding for channel bound login
This commit is contained in:
parent
822f3f4d22
commit
c44f4b102a
|
@ -65,6 +65,7 @@ import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.crypto.XmppDomainVerifier;
|
import eu.siacs.conversations.crypto.XmppDomainVerifier;
|
||||||
import eu.siacs.conversations.crypto.axolotl.AxolotlService;
|
import eu.siacs.conversations.crypto.axolotl.AxolotlService;
|
||||||
import eu.siacs.conversations.crypto.sasl.ChannelBinding;
|
import eu.siacs.conversations.crypto.sasl.ChannelBinding;
|
||||||
|
import eu.siacs.conversations.crypto.sasl.ChannelBindingMechanism;
|
||||||
import eu.siacs.conversations.crypto.sasl.HashedToken;
|
import eu.siacs.conversations.crypto.sasl.HashedToken;
|
||||||
import eu.siacs.conversations.crypto.sasl.SaslMechanism;
|
import eu.siacs.conversations.crypto.sasl.SaslMechanism;
|
||||||
import eu.siacs.conversations.entities.Account;
|
import eu.siacs.conversations.entities.Account;
|
||||||
|
@ -826,10 +827,15 @@ public class XmppConnection implements Runnable {
|
||||||
tokenMechanism = null;
|
tokenMechanism = null;
|
||||||
}
|
}
|
||||||
if (tokenMechanism != null && !Strings.isNullOrEmpty(token)) {
|
if (tokenMechanism != null && !Strings.isNullOrEmpty(token)) {
|
||||||
|
if (ChannelBinding.priority(tokenMechanism.channelBinding) >= ChannelBindingMechanism.getPriority(currentSaslMechanism)) {
|
||||||
this.account.setFastToken(tokenMechanism, token);
|
this.account.setFastToken(tokenMechanism, token);
|
||||||
Log.d(
|
Log.d(
|
||||||
Config.LOGTAG,
|
Config.LOGTAG,
|
||||||
account.getJid().asBareJid() + ": storing hashed token " + tokenMechanism);
|
account.getJid().asBareJid() + ": storing hashed token " + tokenMechanism);
|
||||||
|
} else {
|
||||||
|
Log.d(Config.LOGTAG,account.getJid().asBareJid()+": not accepting hashed token "+ tokenMechanism.name()+" for log in mechanism "+currentSaslMechanism.getMechanism());
|
||||||
|
this.account.resetFastToken();
|
||||||
|
}
|
||||||
} else if (this.hashTokenRequest != null) {
|
} else if (this.hashTokenRequest != null) {
|
||||||
Log.w(
|
Log.w(
|
||||||
Config.LOGTAG,
|
Config.LOGTAG,
|
||||||
|
|
Loading…
Reference in a new issue