diff --git a/README.md b/README.md index 1d1d3335..9e2c77ff 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,7 @@ Refer to the documentation site to learn more about the commands. - JavaScript - TypeScript - Python +- PHP (Requires PHP >= 7.0. Supports PHP 5.2 to 8.3) ## Troubleshooing diff --git a/build.sbt b/build.sbt index e5a0ff3f..2c119890 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,6 @@ name := "chen" ThisBuild / organization := "io.appthreat" -ThisBuild / version := "1.1.3" +ThisBuild / version := "1.1.4" ThisBuild / scalaVersion := "3.3.1" val cpgVersion = "1.4.22" diff --git a/codemeta.json b/codemeta.json index 163d6aa1..6d3689bc 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,7 +7,7 @@ "downloadUrl": "https://github.com/AppThreat/chen", "issueTracker": "https://github.com/AppThreat/chen/issues", "name": "chen", - "version": "1.1.3", + "version": "1.1.4", "description": "Code Hierarchy Exploration Net (chen) is an advanced exploration toolkit for your application source code and its dependency hierarchy.", "applicationCategory": "code-analysis", "keywords": [ diff --git a/meta.yaml b/meta.yaml index ce07f004..ab1bd894 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.3" %} +{% set version = "1.1.4" %} package: name: chen diff --git a/platform/frontends/php2atom/src/main/scala/io/appthreat/php2atom/parser/PhpParser.scala b/platform/frontends/php2atom/src/main/scala/io/appthreat/php2atom/parser/PhpParser.scala index f9aab573..ecdcdca0 100644 --- a/platform/frontends/php2atom/src/main/scala/io/appthreat/php2atom/parser/PhpParser.scala +++ b/platform/frontends/php2atom/src/main/scala/io/appthreat/php2atom/parser/PhpParser.scala @@ -14,7 +14,7 @@ class PhpParser private (phpParserPath: String, phpIniPath: String): private val logger = LoggerFactory.getLogger(this.getClass) private def phpParseCommand(filename: String): String = - val phpParserCommands = "--with-recovery --resolve-names -c --json-dump" + val phpParserCommands = "--with-recovery --resolve-names -P --json-dump" phpParserPath match case "phpastgen" => s"$phpParserPath $phpParserCommands $filename" diff --git a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/callgraph/DynamicCallLinker.scala b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/callgraph/DynamicCallLinker.scala index 9fb39ffe..a4be9677 100644 --- a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/callgraph/DynamicCallLinker.scala +++ b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/callgraph/DynamicCallLinker.scala @@ -147,7 +147,7 @@ class DynamicCallLinker(cpg: Cpg) extends CpgPass(cpg): .fullNameExact(allSuperClasses(typeDeclFullName).toIndexedSeq*) .astChildren .isMethod - .name(call.name) + .nameExact(call.name) .and(_.signatureExact(signature)) .fullName .l diff --git a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/ChennaiTagsPass.scala b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/ChennaiTagsPass.scala index 0c3c9b55..5e6dbe05 100644 --- a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/ChennaiTagsPass.scala +++ b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/ChennaiTagsPass.scala @@ -45,7 +45,8 @@ class ChennaiTagsPass(atom: Cpg) extends CpgPass(atom): ".*def\\s(get|post|put)\\(.*" ) private val PHP_ROUTES_METHODS_REGEXES = Array( - ".*(router|routes)->(add|before|mount|get|post|put|delete|head|option).*" + ".*(router|routes|r|app|map)->(addRoute|add|before|mount|get|post|put|delete|head|option).*", + ".*(Router)::(scope|connect|get|post|put|delete|head|option).*" ) private val HTTP_METHODS_REGEX = ".*(request|session)\\.(args|get|post|put|form).*" diff --git a/pyproject.toml b/pyproject.toml index d81d11da..e6f13aa8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "appthreat-chen" -version = "1.1.3" +version = "1.1.4" description = "Code Hierarchy Exploration Net (chen)" authors = ["Team AppThreat "] license = "Apache-2.0"