From ea5f06334cdbb9c555f18d8a4c49c0f00ffbc470 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Sat, 17 Aug 2019 15:30:42 +0000 Subject: [PATCH] Fix regexp --- config/config.go | 10 +++++----- config/config_test.go | 4 ++-- examples/kernel-exploit/.out-of-tree.toml | 10 +++++----- examples/kernel-module/.out-of-tree.toml | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/config/config.go b/config/config.go index 2f2bb68..c20f7e5 100644 --- a/config/config.go +++ b/config/config.go @@ -267,13 +267,13 @@ func genReleaseMask(km kernel) (mask string, err error) { if err != nil { return } - mask += s + "." + mask += s + "[.]" s, err = versionRegexp(km.Major) if err != nil { return } - mask += s + "." + mask += s + "[.]" s, err = versionRegexp(km.Minor) if err != nil { @@ -285,15 +285,15 @@ func genReleaseMask(km kernel) (mask string, err error) { case 0: // ok case 1: - mask += "-" + strconv.Itoa(km.Patch[0]) + mask += "-" + strconv.Itoa(km.Patch[0]) + "-" case 2: - mask += "-" + rangeRegexp(km.Patch[0], km.Patch[1]) + mask += "-" + rangeRegexp(km.Patch[0], km.Patch[1]) + "-" default: err = errors.New("version must contain one value or range") return } - mask += "-.*" + mask += ".*" return } diff --git a/config/config_test.go b/config/config_test.go index dcf899b..c8cff5f 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -30,7 +30,7 @@ func TestMarshalUnmarshal(t *testing.T) { } func TestKernelRegex(t *testing.T) { - mask := "4.4.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116)-.*" + mask := "4[.]4[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116)-.*" k := kernel{ Version: []int{4}, Major: []int{4}, @@ -47,7 +47,7 @@ func TestKernelRegex(t *testing.T) { t.Fatal("Got", gmask, "instead of", mask) } - mask = "4.4.0-.*" + mask = "4[.]4[.]0.*" k = kernel{ Version: []int{4}, Major: []int{4}, diff --git a/examples/kernel-exploit/.out-of-tree.toml b/examples/kernel-exploit/.out-of-tree.toml index 4f41592..0c98108 100644 --- a/examples/kernel-exploit/.out-of-tree.toml +++ b/examples/kernel-exploit/.out-of-tree.toml @@ -6,12 +6,12 @@ type = "exploit" [[supported_kernels]] distro_type = "Ubuntu" distro_release = "16.04" -release_mask = "4.4.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116)-.*" +release_mask = "4[.]4[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116)-.*" [[supported_kernels]] distro_type = "Ubuntu" distro_release = "16.04" -release_mask = "4.8.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58)-.*" +release_mask = "4[.]8[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58)-.*" [[supported_kernels]] # Can be Ubuntu/CentOS/Debian/etc. @@ -20,17 +20,17 @@ distro_release = "16.04" # regex for `uname -r` # See also: regex-golang.appspot.com # stupid way to generate: $ echo '4.4.0-('$(seq 44 | xargs echo | sed 's/ /|/g')')-.*' -release_mask = "4.10.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42)-.*" +release_mask = "4[.]10[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42)-.*" [[supported_kernels]] distro_type = "Ubuntu" distro_release = "16.04" -release_mask = "4.11.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14)-.*" +release_mask = "4[.]11[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14)-.*" [[supported_kernels]] distro_type = "Ubuntu" distro_release = "16.04" -# equivalent for "4.13.0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21)-.*" +# equivalent for "4[.]13[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21)-.*" [supported_kernels.kernel] version = [ 4 ] major = [ 13 ] diff --git a/examples/kernel-module/.out-of-tree.toml b/examples/kernel-module/.out-of-tree.toml index 67dc75d..34bc3ec 100644 --- a/examples/kernel-module/.out-of-tree.toml +++ b/examples/kernel-module/.out-of-tree.toml @@ -9,17 +9,17 @@ distro_type = "Ubuntu" distro_release = "16.04" # regex for `uname -r` # See also: regex-golang.appspot.com -release_mask = "4.4.0-70-.*" +release_mask = "4[.]4[.]0-70-.*" # [[supported_kernels]] may be defined unlimited number of times [[supported_kernels]] distro_type = "Ubuntu" distro_release = "18.04" # Also you can use only one kernel -release_mask = "4.15.0-(24|29)-generic" +release_mask = "4[.]15[.]0-(24|29)-generic" [[supported_kernels]] distro_type = "Ubuntu" distro_release = "18.04" # Also you can use only one kernel -release_mask = "4.15.0-23-generic" +release_mask = "4[.]15[.]0-23-generic"