tailcfg: add Hostinfo.CheckRequestTags helper method
@@ -214,7 +214,7 @@ func (m MachineStatus) String() string {
func isNum(r rune) bool { return r >= '0' && r <= '9' }
func isAlpha(r rune) bool { return (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') }
-// CheckTag valids whether a given string can be used as an ACL tag.
+// CheckTag validates tag for use as an ACL tag.
// For now we allow only ascii alphanumeric tags, and they need to start
// with a letter. No unicode shenanigans allowed, and we reserve punctuation
// marks other than '-' for a possible future URI scheme.
@@ -258,6 +258,20 @@ func CheckTagSuffix(tag string) error {
return nil
}
+// CheckRequestTags checks that all of h.RequestTags are valid.
+func (h *Hostinfo) CheckRequestTags() error {
+ if h == nil {
+ return nil
+ }
+ for _, tag := range h.RequestTags {
+ err := CheckTag(tag)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
type ServiceProto string
const (
