aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/XmppUri.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2016-12-18 21:38:07 +0100
committerChristian Schneppe <christian@pix-art.de>2016-12-18 21:38:07 +0100
commit09b3ffd482251ce7ef2031f445d81879e22cfa93 (patch)
tree1f096f3d990f0882728911ccbbaac25e160451f0 /src/main/java/de/pixart/messenger/utils/XmppUri.java
parent08534f519d3b3da073ba73432c92e95accaafef9 (diff)
show warning dialog beforing verifying keys via a link
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/XmppUri.java')
-rw-r--r--src/main/java/de/pixart/messenger/utils/XmppUri.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/XmppUri.java b/src/main/java/de/pixart/messenger/utils/XmppUri.java
index 10fa0324b..b8b9233fd 100644
--- a/src/main/java/de/pixart/messenger/utils/XmppUri.java
+++ b/src/main/java/de/pixart/messenger/utils/XmppUri.java
@@ -18,6 +18,7 @@ public class XmppUri {
protected String fingerprint;
protected List<Fingerprint> fingerprints = new ArrayList<>();
private String body;
+ protected boolean safeSource = true;
public static final String OMEMO_URI_PARAM = "omemo-sid-";
public static final String OTR_URI_PARAM = "otr-fingerprint";
@@ -42,6 +43,15 @@ public class XmppUri {
return "xmpp".equalsIgnoreCase(scheme);
}
+ public XmppUri(Uri uri, boolean safeSource) {
+ this.safeSource = safeSource;
+ parse(uri);
+ }
+
+ public boolean isSafeSource() {
+ return safeSource;
+ }
+
protected void parse(Uri uri) {
String scheme = uri.getScheme();
String host = uri.getHost();
@@ -86,8 +96,12 @@ public class XmppUri {
}
protected List<Fingerprint> parseFingerprints(String query) {
+ return parseFingerprints(query, ';');
+ }
+
+ protected List<Fingerprint> parseFingerprints(String query, char seperator) {
List<Fingerprint> fingerprints = new ArrayList<>();
- String[] pairs = query == null ? new String[0] : query.split(";");
+ String[] pairs = query == null ? new String[0] : query.split(String.valueOf(seperator));
for (String pair : pairs) {
String[] parts = pair.split("=", 2);
if (parts.length == 2) {