diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml index 28aa0c02b6..b81c48ceaf 100644 --- a/.github/workflows/prod.yml +++ b/.github/workflows/prod.yml @@ -61,7 +61,7 @@ jobs: IMAGE_TAG: latest IMAGE_TAG1: testruntime IMAGE_TAG2: local - IMAGE_TAG3: 1.42.5_local + IMAGE_TAG3: 1.42.6_local run: | docker buildx create --use # Build a docker container and push it to DockerHub @@ -86,7 +86,7 @@ jobs: IMAGE_TAG: latest IMAGE_TAG1: testruntime IMAGE_TAG2: local - IMAGE_TAG3: 1.42.5_local + IMAGE_TAG3: 1.42.6_local run: | echo $IMAGE_TAG >> $GITHUB_STEP_SUMMARY docker buildx create --use diff --git a/apps/api-analyser/pom.xml b/apps/api-analyser/pom.xml index 26c4ecd590..713ed9f1ed 100644 --- a/apps/api-analyser/pom.xml +++ b/apps/api-analyser/pom.xml @@ -15,6 +15,13 @@ jar + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + com.akto.libs.dao dao @@ -113,4 +120,7 @@ src/test/java + + + diff --git a/apps/api-runtime/pom.xml b/apps/api-runtime/pom.xml index 70a30f57cc..69853718e5 100644 --- a/apps/api-runtime/pom.xml +++ b/apps/api-runtime/pom.xml @@ -15,6 +15,13 @@ jar + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + org.apache.commons commons-lang3 @@ -136,6 +143,8 @@ + + diff --git a/apps/billing/pom.xml b/apps/billing/pom.xml index c367e23636..0aa4affed7 100644 --- a/apps/billing/pom.xml +++ b/apps/billing/pom.xml @@ -31,6 +31,12 @@ struts2-core 2.5.30 + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + com.akto.libs.dao @@ -54,7 +60,11 @@ jetty-servlets 9.4.44.v20210927 - + + org.mortbay.jetty + jetty + 6.1.26 + diff --git a/apps/dashboard/pom.xml b/apps/dashboard/pom.xml index c7966302b5..03bfff51bf 100644 --- a/apps/dashboard/pom.xml +++ b/apps/dashboard/pom.xml @@ -25,6 +25,13 @@ + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + com.amazonaws aws-java-sdk-lambda diff --git a/apps/dashboard/src/main/java/com/akto/action/HarAction.java b/apps/dashboard/src/main/java/com/akto/action/HarAction.java index cf861147b4..ad3e0944f8 100644 --- a/apps/dashboard/src/main/java/com/akto/action/HarAction.java +++ b/apps/dashboard/src/main/java/com/akto/action/HarAction.java @@ -1,45 +1,26 @@ package com.akto.action; -import com.akto.DaoInit; -import com.akto.analyser.ResourceAnalyser; import com.akto.dao.ApiCollectionsDao; import com.akto.dao.BurpPluginInfoDao; -import com.akto.dao.RuntimeFilterDao; import com.akto.dao.context.Context; import com.akto.dao.file.FilesDao; import com.akto.dto.ApiCollection; import com.akto.dto.HttpResponseParams; import com.akto.har.HAR; -import com.akto.listener.InitializerListener; import com.akto.listener.KafkaListener; -import com.akto.parsers.HttpCallParser; -import com.akto.runtime.APICatalogSync; -import com.akto.dto.HttpResponseParams; import com.akto.dto.ApiToken.Utility; -import com.akto.dto.type.SingleTypeInfo; -import com.akto.har.HAR; import com.akto.log.LoggerMaker; import com.akto.usage.UsageMetricCalculator; -import com.akto.dto.ApiToken.Utility; import com.akto.util.DashboardMode; import com.akto.utils.GzipUtils; import com.akto.utils.Utils; import com.mongodb.BasicDBObject; -import com.mongodb.ConnectionString; import com.mongodb.client.model.Filters; import com.opensymphony.xwork2.Action; -import org.apache.commons.io.FileUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.sun.jna.*; - -import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; -import java.util.UUID; public class HarAction extends UserAction { private String harString; @@ -195,58 +176,4 @@ public boolean getSkipKafka() { public void setTcpContent(byte[] tcpContent) { this.tcpContent = tcpContent; } - - Awesome awesome = null; - - public String uploadTcp() { - - File tmpDir = FileUtils.getTempDirectory(); - String filename = UUID.randomUUID().toString() + ".pcap"; - File tcpDump = new File(tmpDir, filename); - try { - FileUtils.writeByteArrayToFile(tcpDump, tcpContent); - Awesome awesome = (Awesome) Native.load("awesome", Awesome.class); - Awesome.GoString.ByValue str = new Awesome.GoString.ByValue(); - str.p = tcpDump.getAbsolutePath(); - str.n = str.p.length(); - - Awesome.GoString.ByValue str2 = new Awesome.GoString.ByValue(); - str2.p = System.getenv("AKTO_KAFKA_BROKER_URL"); - str2.n = str2.p.length(); - - awesome.readTcpDumpFile(str, str2 , apiCollectionId); - - return Action.SUCCESS.toUpperCase(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return Action.ERROR.toUpperCase(); - } - - } - - interface Awesome extends Library { - public static class GoString extends Structure { - /** C type : const char* */ - public String p; - public long n; - public GoString() { - super(); - } - protected List getFieldOrder() { - return Arrays.asList("p", "n"); - } - /** @param p C type : const char* */ - public GoString(String p, long n) { - super(); - this.p = p; - this.n = n; - } - public static class ByReference extends GoString implements Structure.ByReference {} - public static class ByValue extends GoString implements Structure.ByValue {} - } - - public void readTcpDumpFile(GoString.ByValue filepath, GoString.ByValue kafkaURL, long apiCollectionId); - - } } \ No newline at end of file diff --git a/apps/dashboard/src/main/resources/struts.xml b/apps/dashboard/src/main/resources/struts.xml index 7a3e924065..bd1edd8408 100644 --- a/apps/dashboard/src/main/resources/struts.xml +++ b/apps/dashboard/src/main/resources/struts.xml @@ -1042,16 +1042,6 @@ - - - - - - - 401 - - - diff --git a/apps/database-abstractor/pom.xml b/apps/database-abstractor/pom.xml index b825307018..d009928532 100644 --- a/apps/database-abstractor/pom.xml +++ b/apps/database-abstractor/pom.xml @@ -25,7 +25,19 @@ - + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + + + org.mortbay.jetty + jetty + 6.1.26 + + org.apache.struts struts2-core diff --git a/apps/internal/pom.xml b/apps/internal/pom.xml index 695454914a..7be87e35b6 100644 --- a/apps/internal/pom.xml +++ b/apps/internal/pom.xml @@ -42,7 +42,11 @@ utils ${project.version} - + + org.mortbay.jetty + jetty + 6.1.26 + org.apache.struts struts2-json-plugin @@ -54,7 +58,13 @@ jetty-servlets 9.4.44.v20210927 - + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + diff --git a/apps/mini-runtime/pom.xml b/apps/mini-runtime/pom.xml index c2c8cc92f4..5a25062a35 100644 --- a/apps/mini-runtime/pom.xml +++ b/apps/mini-runtime/pom.xml @@ -15,6 +15,13 @@ jar + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + org.apache.commons commons-lang3 @@ -136,6 +143,8 @@ + + diff --git a/apps/mini-testing/pom.xml b/apps/mini-testing/pom.xml index 3a756f2dea..90a787df24 100644 --- a/apps/mini-testing/pom.xml +++ b/apps/mini-testing/pom.xml @@ -16,6 +16,18 @@ + + org.mortbay.jetty + jetty + 6.1.26 + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + com.akto.libs.dao dao @@ -113,6 +125,8 @@ + + diff --git a/apps/testing-cli/pom.xml b/apps/testing-cli/pom.xml index bfdf9eb3a8..345eb4a16d 100644 --- a/apps/testing-cli/pom.xml +++ b/apps/testing-cli/pom.xml @@ -16,6 +16,13 @@ + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + com.akto.libs.dao dao @@ -115,6 +122,8 @@ + + diff --git a/apps/testing/pom.xml b/apps/testing/pom.xml index e0a5e9da7d..58b2d6546b 100644 --- a/apps/testing/pom.xml +++ b/apps/testing/pom.xml @@ -16,6 +16,11 @@ + + org.mortbay.jetty + jetty + 6.1.26 + com.akto.libs.dao dao @@ -45,6 +50,13 @@ snakeyaml 1.33 + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + @@ -113,6 +125,8 @@ + + diff --git a/libs/dao/pom.xml b/libs/dao/pom.xml index 8fe12f0c0b..9f2334f045 100644 --- a/libs/dao/pom.xml +++ b/libs/dao/pom.xml @@ -111,6 +111,7 @@ de.flapdoodle.embed de.flapdoodle.embed.mongo 3.2.6 + test com.squareup.okhttp3 @@ -142,12 +143,12 @@ com.google.protobuf protobuf-java-util - 3.21.5 + 3.25.5 com.nimbusds nimbus-jose-jwt - 9.15.2 + 9.37.2 com.auth0 diff --git a/libs/integrations/pom.xml b/libs/integrations/pom.xml index 8dd89358fa..0fe3613a75 100644 --- a/libs/integrations/pom.xml +++ b/libs/integrations/pom.xml @@ -14,6 +14,13 @@ jar + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + + com.squareup.okhttp3 diff --git a/libs/protobuf/.gitignore b/libs/protobuf/.gitignore new file mode 100644 index 0000000000..7589473dd1 --- /dev/null +++ b/libs/protobuf/.gitignore @@ -0,0 +1 @@ +src/main/java/com/akto/proto/generated diff --git a/libs/utils/pom.xml b/libs/utils/pom.xml index 4cff1d626f..7547b6e0f4 100644 --- a/libs/utils/pom.xml +++ b/libs/utils/pom.xml @@ -42,11 +42,6 @@ google-api-client 1.23.0 - - org.mortbay.jetty - jetty - 6.1.26 - com.google.apis google-api-services-sheets @@ -72,6 +67,12 @@ dao ${project.version} + + javax.servlet + javax.servlet-api + 4.0.1 + provided + org.apache.httpcomponents httpclient @@ -83,6 +84,12 @@ har-reader 2.2.0 + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + 3.2.6 + test + org.junit.jupiter junit-jupiter-api diff --git a/libs/utils/src/main/java/com/akto/graphql/GraphQLUtils.java b/libs/utils/src/main/java/com/akto/graphql/GraphQLUtils.java index e44543334d..1f563bc0c2 100644 --- a/libs/utils/src/main/java/com/akto/graphql/GraphQLUtils.java +++ b/libs/utils/src/main/java/com/akto/graphql/GraphQLUtils.java @@ -10,7 +10,8 @@ import graphql.util.TreeTransformerUtil; import graphql.validation.DocumentVisitor; import graphql.validation.LanguageTraversal; -import org.mortbay.util.ajax.JSON; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import java.util.*; @@ -103,7 +104,8 @@ public List parseGraphqlResponseParam(HttpResponseParams res Map mapOfRequestPayload = null; Object[] listOfRequestPayload = null; try { - Object obj = JSON.parse(requestPayload); + JSONObject jsonObject = JSON.parseObject(requestPayload); + Object obj = (Object)jsonObject; if (obj instanceof Map) { mapOfRequestPayload = (Map) obj; } else if (obj instanceof Object[]) { @@ -304,7 +306,7 @@ private void updateResponseParamList(HttpResponseParams responseParams, List