diff --git a/lang/core/net/macfmt_func.go b/lang/core/net/macfmt_func.go index 46b93b26..0796e267 100644 --- a/lang/core/net/macfmt_func.go +++ b/lang/core/net/macfmt_func.go @@ -81,13 +81,13 @@ func MacFmt(ctx context.Context, input []types.Value) (types.Value, error) { if len(mac) != len("00:00:00:00:00:00") { return nil, fmt.Errorf("invalid MAC address length: %s", mac) } - _, err := net.ParseMAC(mac) + hw, err := net.ParseMAC(mac) if err != nil { return nil, err } return &types.StrValue{ - V: strings.Replace(mac, "-", ":", -1), + V: hw.String(), // makes it lowercase and everything }, nil } @@ -100,12 +100,12 @@ func OldMacFmt(ctx context.Context, input []types.Value) (types.Value, error) { if len(mac) != len("00:00:00:00:00:00") { return nil, fmt.Errorf("invalid MAC address length: %s", mac) } - _, err := net.ParseMAC(mac) + hw, err := net.ParseMAC(mac) if err != nil { return nil, err } return &types.StrValue{ - V: strings.Replace(mac, ":", "-", -1), + V: strings.Replace(hw.String(), ":", "-", -1), }, nil } diff --git a/lang/core/net/macfmt_func_test.go b/lang/core/net/macfmt_func_test.go index ed20c5ca..c2a8eb07 100644 --- a/lang/core/net/macfmt_func_test.go +++ b/lang/core/net/macfmt_func_test.go @@ -43,8 +43,8 @@ func TestMacFmt(t *testing.T) { out string wantErr bool }{ - {"Valid mac with hyphens", "01-23-45-67-89-AB", "01:23:45:67:89:AB", false}, - {"Valid mac with colons", "01:23:45:67:89:AB", "01:23:45:67:89:AB", false}, + {"Valid mac with hyphens", "01-23-45-67-89-AB", "01:23:45:67:89:ab", false}, + {"Valid mac with colons", "01:23:45:67:89:AB", "01:23:45:67:89:ab", false}, {"Incorrect mac length with colons", "01:23:45:67:89:AB:01:23:45:67:89:AB", "01:23:45:67:89:AB:01:23:45:67:89:AB", true}, {"Invalid mac", "", "", true}, } @@ -73,8 +73,9 @@ func TestOldMacFmt(t *testing.T) { out string wantErr bool }{ - {"Valid mac with hyphens", "01:23:45:67:89:AB", "01-23-45-67-89-AB", false}, - {"Valid mac with colons", "01-23-45-67-89-AB", "01-23-45-67-89-AB", false}, + {"Valid mac with hyphens", "01:23:45:67:89:AB", "01-23-45-67-89-ab", false}, + {"Valid lowercase mac with hyphens", "01:23:45:67:89:ab", "01-23-45-67-89-ab", false}, + {"Valid mac with colons", "01-23-45-67-89-AB", "01-23-45-67-89-ab", false}, {"Incorrect mac length with hyphens", "01-23-45-67-89-AB-01-23-45-67-89-AB", "01-23-45-67-89-AB-01-23-45-67-89-AB", true}, {"Invalid mac", "", "", true}, }