Fix regexp
This commit is contained in:
		@@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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},
 | 
			
		||||
 
 | 
			
		||||
@@ -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 ]
 | 
			
		||||
 
 | 
			
		||||
@@ -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"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user