Show signatures into admin lookup queries
This commit is contained in:
@@ -57,11 +57,16 @@ public class LookupCommandProcessor implements CommandProcessor {
|
||||
|
||||
SingleLookupReply lookup = r.get();
|
||||
StrBuilder b = new StrBuilder();
|
||||
b.append("Result for 3PID lookup on ").append(medium).append(" ").appendln(address).appendNewLine();
|
||||
b.append("Result for 3PID lookup of ").append(medium).append(" ").appendln(address).appendNewLine();
|
||||
b.append("Matrix ID: ").appendln(lookup.getMxid().getId());
|
||||
b.appendln("Validity:")
|
||||
.append("\tNot Before: ").appendln(lookup.getNotBefore())
|
||||
.append("\tNot After: ").appendln(lookup.getNotAfter());
|
||||
.append(" Not Before: ").appendln(lookup.getNotBefore())
|
||||
.append(" Not After: ").appendln(lookup.getNotAfter());
|
||||
b.appendln("Signatures:");
|
||||
lookup.getSignatures().forEach((host, signs) -> {
|
||||
b.append(" ").append(host).appendln(":");
|
||||
signs.forEach((key, sign) -> b.append(" ").append(key).append(" -> ").appendln("OK"));
|
||||
});
|
||||
|
||||
room.sendNotice(b.toString());
|
||||
}
|
||||
|
@@ -22,6 +22,9 @@ package io.kamax.mxisd.http.io.identity;
|
||||
|
||||
import io.kamax.mxisd.lookup.SingleLookupReply;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class SingeLookupReplyJson {
|
||||
|
||||
private String address;
|
||||
@@ -30,6 +33,7 @@ public class SingeLookupReplyJson {
|
||||
private long not_after;
|
||||
private long not_before;
|
||||
private long ts;
|
||||
private Map<String, Map<String, String>> signatures = new HashMap<>();
|
||||
|
||||
public SingeLookupReplyJson(SingleLookupReply reply) {
|
||||
this.address = reply.getRequest().getThreePid();
|
||||
@@ -64,4 +68,8 @@ public class SingeLookupReplyJson {
|
||||
return ts;
|
||||
}
|
||||
|
||||
public Map<String, Map<String, String>> getSignatures() {
|
||||
return signatures;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -27,6 +27,8 @@ import io.kamax.matrix._MatrixID;
|
||||
import io.kamax.mxisd.http.io.identity.SingeLookupReplyJson;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class SingleLookupReply {
|
||||
|
||||
@@ -39,6 +41,7 @@ public class SingleLookupReply {
|
||||
private Instant notBefore;
|
||||
private Instant notAfter;
|
||||
private Instant timestamp;
|
||||
private Map<String, Map<String, String>> signatures = new HashMap<>();
|
||||
|
||||
public static SingleLookupReply fromRecursive(SingleLookupRequest request, String body) {
|
||||
SingleLookupReply reply = new SingleLookupReply();
|
||||
@@ -52,6 +55,7 @@ public class SingleLookupReply {
|
||||
reply.notAfter = Instant.ofEpochMilli(json.getNot_after());
|
||||
reply.notBefore = Instant.ofEpochMilli(json.getNot_before());
|
||||
reply.timestamp = Instant.ofEpochMilli(json.getTs());
|
||||
reply.signatures = new HashMap<>(json.getSignatures());
|
||||
} catch (JsonSyntaxException e) {
|
||||
// stub - we only want to try, nothing more
|
||||
}
|
||||
@@ -107,4 +111,12 @@ public class SingleLookupReply {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
public Map<String, Map<String, String>> getSignatures() {
|
||||
return signatures;
|
||||
}
|
||||
|
||||
public Map<String, String> getSignature(String host) {
|
||||
return signatures.computeIfAbsent(host, k -> new HashMap<>());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user