aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java
diff options
context:
space:
mode:
authorSam Whited <sam@samwhited.com>2014-11-15 09:42:40 -0500
committerSam Whited <sam@samwhited.com>2014-11-15 10:01:08 -0500
commit847877f9d2954130a73860118cb7b6fe073aafe8 (patch)
tree4e177dd7cf9d2ec29cbd5a544736c4e4cba0411c /src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java
parent35bf13f5effd802f57b9f3633115fed479e14f1e (diff)
Add auth method pinning
Diffstat (limited to '')
-rw-r--r--src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java b/src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java
index 7dd5e99c..14d8b944 100644
--- a/src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java
+++ b/src/main/java/eu/siacs/conversations/crypto/sasl/SaslMechanism.java
@@ -44,6 +44,15 @@ public abstract class SaslMechanism {
this.rng = rng;
}
+ /**
+ * The priority is used to pin the authentication mechanism. If authentication fails, it MAY be retried with another
+ * mechanism of the same priority, but MUST NOT be tried with a mechanism of lower priority (to prevent downgrade
+ * attacks).
+ * @return An arbitrary int representing the priority
+ */
+ public abstract int getPriority();
+
+ public abstract String getMechanism();
public String getClientFirstMessage() {
return "";
}