diff --git a/src/main/java/io/kamax/mxisd/backend/firebase/GoogleFirebaseProvider.java b/src/main/java/io/kamax/mxisd/backend/firebase/GoogleFirebaseProvider.java index 17a85c0..4acc953 100644 --- a/src/main/java/io/kamax/mxisd/backend/firebase/GoogleFirebaseProvider.java +++ b/src/main/java/io/kamax/mxisd/backend/firebase/GoogleFirebaseProvider.java @@ -49,7 +49,7 @@ public class GoogleFirebaseProvider extends GoogleFirebaseBackend implements ITh } private String getMxid(UserRecord record) { - return new MatrixID(record.getUid(), domain).getId(); + return MatrixID.asAcceptable(record.getUid(), domain).getId(); } @Override diff --git a/src/main/java/io/kamax/mxisd/backend/memory/MemoryIdentityStore.java b/src/main/java/io/kamax/mxisd/backend/memory/MemoryIdentityStore.java index f4e0203..b78ba04 100644 --- a/src/main/java/io/kamax/mxisd/backend/memory/MemoryIdentityStore.java +++ b/src/main/java/io/kamax/mxisd/backend/memory/MemoryIdentityStore.java @@ -148,7 +148,7 @@ public class MemoryIdentityStore implements AuthenticatorProvider, IDirectoryPro for (MemoryIdentityConfig id : cfg.getIdentities()) { for (MemoryThreePid threepid : id.getThreepids()) { if (req.equals(new ThreePid(threepid.getMedium(), threepid.getAddress()))) { - return Optional.of(new SingleLookupReply(request, new MatrixID(id.getUsername(), mxCfg.getDomain()))); + return Optional.of(new SingleLookupReply(request, MatrixID.asAcceptable(id.getUsername(), mxCfg.getDomain()))); } } } diff --git a/src/main/java/io/kamax/mxisd/backend/rest/RestDirectoryProvider.java b/src/main/java/io/kamax/mxisd/backend/rest/RestDirectoryProvider.java index 525e22b..a5b9f98 100644 --- a/src/main/java/io/kamax/mxisd/backend/rest/RestDirectoryProvider.java +++ b/src/main/java/io/kamax/mxisd/backend/rest/RestDirectoryProvider.java @@ -62,7 +62,7 @@ public class RestDirectoryProvider extends RestProvider implements IDirectoryPro UserDirectorySearchResult response = parser.parse(httpResponse, UserDirectorySearchResult.class); for (UserDirectorySearchResult.Result result : response.getResults()) { - result.setUserId(new MatrixID(result.getUserId(), mxCfg.getDomain()).getId()); + result.setUserId(MatrixID.asAcceptable(result.getUserId(), mxCfg.getDomain()).getId()); } return response; diff --git a/src/main/java/io/kamax/mxisd/backend/rest/RestThreePidProvider.java b/src/main/java/io/kamax/mxisd/backend/rest/RestThreePidProvider.java index fa0757b..b1e3275 100644 --- a/src/main/java/io/kamax/mxisd/backend/rest/RestThreePidProvider.java +++ b/src/main/java/io/kamax/mxisd/backend/rest/RestThreePidProvider.java @@ -60,9 +60,9 @@ public class RestThreePidProvider extends RestProvider implements IThreePidProvi // TODO refactor in lookup manager with above FIXME private _MatrixID getMxId(UserID id) { if (UserIdType.Localpart.is(id.getType())) { - return new MatrixID(id.getValue(), mxCfg.getDomain()); + return MatrixID.asAcceptable(id.getValue(), mxCfg.getDomain()); } else { - return new MatrixID(id.getValue()); + return MatrixID.asAcceptable(id.getValue()); } } diff --git a/src/main/java/io/kamax/mxisd/backend/sql/SqlThreePidProvider.java b/src/main/java/io/kamax/mxisd/backend/sql/SqlThreePidProvider.java index fc91485..2a77cbc 100644 --- a/src/main/java/io/kamax/mxisd/backend/sql/SqlThreePidProvider.java +++ b/src/main/java/io/kamax/mxisd/backend/sql/SqlThreePidProvider.java @@ -85,11 +85,11 @@ public abstract class SqlThreePidProvider implements IThreePidProvider { log.info("Found match: {}", uid); if (StringUtils.equals("uid", cfg.getIdentity().getType())) { log.info("Resolving as localpart"); - return Optional.of(new SingleLookupReply(request, new MatrixID(uid, mxCfg.getDomain()))); + return Optional.of(new SingleLookupReply(request, MatrixID.asAcceptable(uid, mxCfg.getDomain()))); } if (StringUtils.equals("mxid", cfg.getIdentity().getType())) { log.info("Resolving as MXID"); - return Optional.of(new SingleLookupReply(request, new MatrixID(uid))); + return Optional.of(new SingleLookupReply(request, MatrixID.asAcceptable(uid))); } log.info("Identity type is unknown, skipping"); diff --git a/src/main/java/io/kamax/mxisd/backend/sql/generic/GenericSqlDirectoryProvider.java b/src/main/java/io/kamax/mxisd/backend/sql/generic/GenericSqlDirectoryProvider.java index eb24b52..22d6097 100644 --- a/src/main/java/io/kamax/mxisd/backend/sql/generic/GenericSqlDirectoryProvider.java +++ b/src/main/java/io/kamax/mxisd/backend/sql/generic/GenericSqlDirectoryProvider.java @@ -86,7 +86,7 @@ public abstract class GenericSqlDirectoryProvider implements IDirectoryProvider while (rSet.next()) { processRow(rSet).ifPresent(e -> { if (StringUtils.equalsIgnoreCase("localpart", query.getType())) { - e.setUserId(new MatrixID(e.getUserId(), mxCfg.getDomain()).getId()); + e.setUserId(MatrixID.asAcceptable(e.getUserId(), mxCfg.getDomain()).getId()); } result.addResult(e); }); diff --git a/src/main/java/io/kamax/mxisd/controller/identity/v1/InvitationController.java b/src/main/java/io/kamax/mxisd/controller/identity/v1/InvitationController.java index 62e6d66..f364692 100644 --- a/src/main/java/io/kamax/mxisd/controller/identity/v1/InvitationController.java +++ b/src/main/java/io/kamax/mxisd/controller/identity/v1/InvitationController.java @@ -73,7 +73,7 @@ class InvitationController { for (String key : request.getParameterMap().keySet()) { parameters.put(key, request.getParameter(key)); } - IThreePidInvite invite = new ThreePidInvite(new MatrixID(sender), medium, address, roomId, parameters); + IThreePidInvite invite = new ThreePidInvite(MatrixID.asAcceptable(sender), medium, address, roomId, parameters); IThreePidInviteReply reply = mgr.storeInvite(invite); return gson.toJson(new ThreePidInviteReplyIO(reply, keyMgr.getPublicKeyBase64(keyMgr.getCurrentIndex()), srvCfg.getPublicUrl())); diff --git a/src/main/java/io/kamax/mxisd/invitation/InvitationManager.java b/src/main/java/io/kamax/mxisd/invitation/InvitationManager.java index c185452..198d122 100644 --- a/src/main/java/io/kamax/mxisd/invitation/InvitationManager.java +++ b/src/main/java/io/kamax/mxisd/invitation/InvitationManager.java @@ -108,7 +108,7 @@ public class InvitationManager { ioList.forEach(io -> { log.info("Processing invite {}", gson.toJson(io)); ThreePidInvite invite = new ThreePidInvite( - new MatrixID(io.getSender()), + MatrixID.asAcceptable(io.getSender()), io.getMedium(), io.getAddress(), io.getRoomId(), diff --git a/src/main/java/io/kamax/mxisd/lookup/SingleLookupReply.java b/src/main/java/io/kamax/mxisd/lookup/SingleLookupReply.java index ee5c4af..0c13f13 100644 --- a/src/main/java/io/kamax/mxisd/lookup/SingleLookupReply.java +++ b/src/main/java/io/kamax/mxisd/lookup/SingleLookupReply.java @@ -48,7 +48,7 @@ public class SingleLookupReply { try { SingeLookupReplyJson json = gson.fromJson(body, SingeLookupReplyJson.class); - reply.mxid = new MatrixID(json.getMxid()); + reply.mxid = MatrixID.asAcceptable(json.getMxid()); reply.notAfter = Instant.ofEpochMilli(json.getNot_after()); reply.notBefore = Instant.ofEpochMilli(json.getNot_before()); reply.timestamp = Instant.ofEpochMilli(json.getTs()); @@ -64,7 +64,7 @@ public class SingleLookupReply { } public SingleLookupReply(SingleLookupRequest request, String mxid) { - this(request, new MatrixID(mxid)); + this(request, MatrixID.asAcceptable(mxid)); } public SingleLookupReply(SingleLookupRequest request, _MatrixID mxid) { diff --git a/src/main/java/io/kamax/mxisd/session/SessionMananger.java b/src/main/java/io/kamax/mxisd/session/SessionMananger.java index f14735e..487e6b3 100644 --- a/src/main/java/io/kamax/mxisd/session/SessionMananger.java +++ b/src/main/java/io/kamax/mxisd/session/SessionMananger.java @@ -218,7 +218,7 @@ public class SessionMananger { } public void bind(String sid, String secret, String mxidRaw) { - _MatrixID mxid = new MatrixID(mxidRaw); + _MatrixID mxid = MatrixID.asAcceptable(mxidRaw); ThreePidSession session = getSessionIfValidated(sid, secret); if (!session.isRemote()) { diff --git a/src/test/java/io/kamax/mxisd/backend/rest/RestDirectoryProviderTest.java b/src/test/java/io/kamax/mxisd/backend/rest/RestDirectoryProviderTest.java index 00aeab6..f861b99 100644 --- a/src/test/java/io/kamax/mxisd/backend/rest/RestDirectoryProviderTest.java +++ b/src/test/java/io/kamax/mxisd/backend/rest/RestDirectoryProviderTest.java @@ -93,7 +93,7 @@ public class RestDirectoryProviderTest { assertNotNull(entry); assertTrue(StringUtils.equals(byNameAvatar, entry.getAvatarUrl())); assertTrue(StringUtils.equals(byNameDisplay, entry.getDisplayName())); - assertTrue(StringUtils.equals(new MatrixID(byNameId, domain).getId(), entry.getUserId())); + assertTrue(StringUtils.equals(MatrixID.asAcceptable(byNameId, domain).getId(), entry.getUserId())); verify(postRequestedFor(urlMatching(endpoint)) .withHeader("Content-Type", containing("application/json")) @@ -136,7 +136,7 @@ public class RestDirectoryProviderTest { assertNotNull(entry); assertTrue(StringUtils.equals(byThreepidAvatar, entry.getAvatarUrl())); assertTrue(StringUtils.equals(byThreepidDisplay, entry.getDisplayName())); - assertTrue(StringUtils.equals(new MatrixID(byThreepidId, domain).getId(), entry.getUserId())); + assertTrue(StringUtils.equals(MatrixID.asAcceptable(byThreepidId, domain).getId(), entry.getUserId())); verify(postRequestedFor(urlMatching(endpoint)) .withHeader("Content-Type", containing("application/json"))