Merge pull request #120678 from rothgar/system-log-query

Fix systemd unit string matches
This commit is contained in:
Kubernetes Prow Robot 2023-10-26 20:56:28 +02:00 committed by GitHub
commit 801d460296
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -53,7 +53,7 @@ var (
// The set of known safe characters to pass to journalctl / GetWinEvent flags - only add to this list if the
// character cannot be used to create invalid sequences. This is intended as a broad defense against malformed
// input that could cause an escape.
reServiceNameUnsafeCharacters = regexp.MustCompile(`[^a-zA-Z\-_0-9@]+`)
reServiceNameUnsafeCharacters = regexp.MustCompile(`[^a-zA-Z\-_.:0-9@]+`)
)
// journalServer returns text output from the OS specific service logger to view

View File

@ -130,6 +130,10 @@ func Test_validateServices(t *testing.T) {
var (
service1 = "svc1"
service2 = "svc2"
service3 = "svc.foo"
service4 = "svc_foo"
service5 = "svc@foo"
service6 = "svc:foo"
invalid1 = "svc\n"
invalid2 = "svc.foo\n"
)
@ -140,10 +144,14 @@ func Test_validateServices(t *testing.T) {
}{
{name: "one service", services: []string{service1}},
{name: "two services", services: []string{service1, service2}},
{name: "dot service", services: []string{service3}},
{name: "underscore service", services: []string{service4}},
{name: "at service", services: []string{service5}},
{name: "colon service", services: []string{service6}},
{name: "invalid service new line", services: []string{invalid1}, wantErr: true},
{name: "invalid service with dot", services: []string{invalid2}, wantErr: true},
{name: "long service", services: []string{strings.Repeat(service1, 100)}, wantErr: true},
{name: "max number of services", services: []string{service1, service2, service1, service2, service1}, wantErr: true},
{name: "max number of services", services: []string{service1, service2, service3, service4, service5}, wantErr: true},
}
for _, tt := range tests {
errs := validateServices(tt.services)