From a0ad38385f809d189fd3b68af7f1658803c8b465 Mon Sep 17 00:00:00 2001 From: Felix Sidokhine <felix.sidokhine@savoirfairelinux.com> Date: Thu, 18 Jun 2020 02:31:20 +0300 Subject: [PATCH] fixed connectivity and lookups Change-Id: Iaf7150237d8fbafd2afd8ff4b8595f04776df43b --- .../ad/connector/service/UserProfileService.java | 2 -- .../jams/authmodule/UserAuthenticationModule.java | 1 - .../src/main/java/net/jami/datastore/dao/JwtDao.java | 3 --- .../net/jami/jams/nameserver/LocalNameServer.java | 6 ++++-- .../responses/DeviceRegistrationResponse.java | 2 +- .../common/serialization/decoders/CSRDecoder.java | 12 +++++++++++- .../src/main/java/net/jami/jams/server/Server.java | 3 --- .../api/auth/directory/SearchDirectoryServlet.java | 2 -- 8 files changed, 16 insertions(+), 15 deletions(-) diff --git a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java index 101d79a7..7d002e79 100644 --- a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java +++ b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java @@ -39,8 +39,6 @@ import lombok.extern.slf4j.Slf4j; import net.jami.jams.ad.connector.ADConnector; import net.jami.jams.common.objects.user.UserProfile; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/authentication-module/src/main/java/net/jami/jams/authmodule/UserAuthenticationModule.java b/authentication-module/src/main/java/net/jami/jams/authmodule/UserAuthenticationModule.java index 899feccc..07849099 100644 --- a/authentication-module/src/main/java/net/jami/jams/authmodule/UserAuthenticationModule.java +++ b/authentication-module/src/main/java/net/jami/jams/authmodule/UserAuthenticationModule.java @@ -23,7 +23,6 @@ package net.jami.jams.authmodule; import com.nimbusds.jwt.SignedJWT; -import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.jami.datastore.main.DataStore; import net.jami.jams.common.authentication.AuthenticationSource; diff --git a/datastore/src/main/java/net/jami/datastore/dao/JwtDao.java b/datastore/src/main/java/net/jami/datastore/dao/JwtDao.java index 78cd9661..9f40420f 100644 --- a/datastore/src/main/java/net/jami/datastore/dao/JwtDao.java +++ b/datastore/src/main/java/net/jami/datastore/dao/JwtDao.java @@ -7,10 +7,7 @@ import net.jami.jams.common.dao.StatementList; import net.jami.jams.common.dao.connectivity.SQLConnection; import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Types; -import java.util.ArrayList; import java.util.List; @Slf4j diff --git a/jami-nameserver/src/main/java/net/jami/jams/nameserver/LocalNameServer.java b/jami-nameserver/src/main/java/net/jami/jams/nameserver/LocalNameServer.java index c0cce956..f9bae1a0 100644 --- a/jami-nameserver/src/main/java/net/jami/jams/nameserver/LocalNameServer.java +++ b/jami-nameserver/src/main/java/net/jami/jams/nameserver/LocalNameServer.java @@ -40,6 +40,8 @@ import java.util.List; @Slf4j public class LocalNameServer implements NameServer { + private static final String NAME_SERVER_PATH = "/api/nameserver"; + private final DataStore dataStore; private final String nameserverURI; private final AuthenticationModule authenticationModule; @@ -91,7 +93,7 @@ public class LocalNameServer implements NameServer { @Override public String getNameFromAddress(String address) { StatementList statementList = new StatementList(); - StatementElement statementElement = new StatementElement("ethAddress","=",address,""); + StatementElement statementElement = new StatementElement("jamiId","=",address,""); statementList.addStatement(statementElement); List<User> results = dataStore.getUserDao().getObjects(statementList); if(results.size() == 0) return null; @@ -100,6 +102,6 @@ public class LocalNameServer implements NameServer { @Override public String getURI() { - return this.nameserverURI; + return this.nameserverURI + NAME_SERVER_PATH; } } diff --git a/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java b/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java index 44d2d8f7..0e271218 100644 --- a/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java +++ b/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java @@ -41,7 +41,7 @@ public class DeviceRegistrationResponse { public void setCertificateChain(X509Certificate[] certificateChain){ StringBuilder stringBuilder = new StringBuilder(); - for(int i=0;i<certificateChain.length;i++){ + for(int i=certificateChain.length-1;i > 0;i--){ stringBuilder.append(X509Utils.getPEMStringFromCertificate(certificateChain[i])).append("\n"); } //remove the last \n because it's useless. diff --git a/jams-common/src/main/java/net/jami/jams/common/serialization/decoders/CSRDecoder.java b/jams-common/src/main/java/net/jami/jams/common/serialization/decoders/CSRDecoder.java index 59d664a0..dd99f792 100644 --- a/jams-common/src/main/java/net/jami/jams/common/serialization/decoders/CSRDecoder.java +++ b/jams-common/src/main/java/net/jami/jams/common/serialization/decoders/CSRDecoder.java @@ -30,8 +30,18 @@ import java.io.IOException; public class CSRDecoder implements Decoder { + private static final String CSR_HEAD = "-----BEGIN NEW CERTIFICATE REQUEST-----\n"; + private static final String CSR_TAIL = "\n-----END NEW CERTIFICATE REQUEST-----"; + @Override public Object decode(JsonIterator jsonIterator) throws IOException { - return X509Utils.getCSRFromString(jsonIterator.readString()); + //This is legacy code, we need to sanitize the string + String input = jsonIterator.readString(); + input = input.replace(CSR_HEAD,""); + input = input.replace(CSR_TAIL,""); + input = input.replace("\n",""); + input = CSR_HEAD + input + CSR_TAIL; + //Once all legacy clients stop existing, this can safely be removed leaving only the jsonIter.readString() + return X509Utils.getCSRFromString(input); } } diff --git a/jams-server/src/main/java/net/jami/jams/server/Server.java b/jams-server/src/main/java/net/jami/jams/server/Server.java index b4c0ada2..582bb165 100644 --- a/jams-server/src/main/java/net/jami/jams/server/Server.java +++ b/jams-server/src/main/java/net/jami/jams/server/Server.java @@ -26,7 +26,6 @@ import com.jsoniter.JsonIterator; import javassist.ClassPool; import lombok.extern.slf4j.Slf4j; import net.jami.datastore.main.DataStore; -import net.jami.jams.common.annotations.ScopedServletAnnotationScanner; import net.jami.jams.common.authentication.AuthenticationSourceType; import net.jami.jams.common.authentication.local.LocalAuthSettings; import net.jami.jams.common.authmodule.AuthenticationModule; @@ -42,12 +41,10 @@ import net.jami.jams.server.core.TomcatLauncher; import net.jami.jams.server.licensing.LicenseService; import net.jami.jams.server.startup.AuthModuleLoader; import net.jami.jams.server.startup.CryptoEngineLoader; -import net.jami.jams.server.startup.PackageScanner; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; -import java.util.HashSet; import java.util.concurrent.atomic.AtomicBoolean; @Slf4j diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java index 01da9c32..e7a5e858 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java @@ -31,8 +31,6 @@ import jakarta.servlet.http.HttpServletResponse; import net.jami.jams.common.objects.user.UserProfile; import java.io.IOException; -import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -- GitLab