From 26ed34081d91c24a360655656e0d0fa1667b7165 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 23 Dec 2023 15:02:52 +0100 Subject: [PATCH] Vehicles: validate config name (#11210) --- cmd/setup.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmd/setup.go b/cmd/setup.go index 01775efe6..a76112a86 100644 --- a/cmd/setup.go +++ b/cmd/setup.go @@ -7,6 +7,7 @@ import ( "fmt" "net" "net/http" + "regexp" "slices" "strconv" "strings" @@ -68,6 +69,8 @@ var conf = globalConfig{ }, } +var nameRE = regexp.MustCompile(`^[a-zA-Z0-9_.:-]+$`) + type globalConfig struct { Network networkConfig Log string @@ -271,6 +274,10 @@ func configureChargers(static []config.Named, names ...string) error { } func vehicleInstance(cc config.Named) (api.Vehicle, error) { + if !nameRE.MatchString(cc.Name) { + return nil, fmt.Errorf("vehicle name must not contain special characters or spaces: %s", cc.Name) + } + instance, err := vehicle.NewFromConfig(cc.Type, cc.Other) if err != nil { var ce *util.ConfigError