Skip to content

Commit 07024f9

Browse files
authored
🐛 use RawIP inside sdk lr generator (#5306)
We switched the new `ip` type from a `string` to `llx.RawIP`, this change only modifies two things: * The providers SDK generator to use the new `RawIP` * The `IPData` accessor to return `NilData` when there is no valid ip Signed-off-by: Salim Afiune Maya <afiune@mondoo.com>
1 parent cce293b commit 07024f9

File tree

5 files changed

+18
-11
lines changed

5 files changed

+18
-11
lines changed

llx/builtin_ip_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,6 @@ func TestCreateMask(t *testing.T) {
4444
func TestIntIP(t *testing.T) {
4545
assert.Equal(t, net.ParseIP("172.0.0.1"), int2ip(2885681153))
4646
assert.Equal(t, net.ParseIP("0.0.0.0"), int2ip(0))
47+
assert.Equal(t, net.ParseIP(""), net.IP(nil))
4748
assert.Equal(t, net.ParseIP("255.255.255.255"), int2ip(1<<33-1))
4849
}

llx/rawdata.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,9 @@ func VersionData(version string) *RawData {
631631

632632
// IPData creates a rawdata struct from a raw ip address
633633
func IPData(ip RawIP) *RawData {
634+
if ip.IP == nil {
635+
return NilData
636+
}
634637
return &RawData{
635638
Type: types.IP,
636639
Value: ip,

llx/rawdata_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ func TestRawData_String(t *testing.T) {
4949
{ArrayData([]interface{}{"a", "b"}, types.String), "[\"a\",\"b\"]"},
5050
{MapData(map[string]interface{}{"a": "b"}, types.String), "{\"a\":\"b\"}"},
5151
{IPData(ParseIP("1.2.3.4")), "1.2.3.4/8"},
52+
{IPData(ParseIP("")), "<null>"},
5253
// implicit nil:
5354
{&RawData{types.String, nil, nil}, "<null>"},
5455
}
@@ -126,6 +127,7 @@ func TestSuccess(t *testing.T) {
126127
{TimeData(testTime), false, false},
127128
{VersionData("1.2.3"), false, false},
128129
{IPData(ParseIP("192.168.0.1")), false, false},
130+
{IPData(ParseIP("")), false, false},
129131
{ArrayData([]interface{}{}, types.Any), false, false},
130132
{ArrayData([]interface{}{true, false, true}, types.Bool), false, true},
131133
{ArrayData([]interface{}{true, true}, types.Bool), true, true},
@@ -202,6 +204,7 @@ func TestRawData_JSON(t *testing.T) {
202204
// TimeData(now),
203205
VersionData("1.2.3"),
204206
IPData(ParseIP("192.168.0.1/13")),
207+
IPData(ParseIP("")),
205208
IPData(ParseIntIP(0)),
206209
IPData(ParseIntIP(1<<33 - 1)),
207210
IPData(ParseIP("2001:db8:3c4d:15::1a2f:1a2b/64")),

providers-sdk/v1/lr/go.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ var primitiveTypes = map[string]string{
773773
"regex": "string",
774774
"dict": "interface{}",
775775
"version": "string",
776-
"ip": "string",
776+
"ip": "llx.RawIP",
777777
"any": "interface{}",
778778
}
779779

@@ -807,7 +807,7 @@ var primitiveZeros = map[string]string{
807807
"regex": "\"\"",
808808
"dict": "nil",
809809
"version": "\"\"",
810-
"ip": "\"\"",
810+
"ip": "nil",
811811
"any": "nil",
812812
}
813813

providers/os/resources/os.lr.go

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)