diff --git a/querylog/qlog_test.go b/querylog/qlog_test.go index c087fa4d..c4f34e75 100644 --- a/querylog/qlog_test.go +++ b/querylog/qlog_test.go @@ -59,7 +59,7 @@ func TestQueryLog(t *testing.T) { params.searchCriteria = append(params.searchCriteria, searchCriteria{ criteriaType: ctDomainOrClient, strict: true, - value: "test.example.org", + value: "TEST.example.org", }) entries, _ = l.search(params) assert.Equal(t, 1, len(entries)) @@ -70,7 +70,7 @@ func TestQueryLog(t *testing.T) { params.searchCriteria = append(params.searchCriteria, searchCriteria{ criteriaType: ctDomainOrClient, strict: false, - value: "example.org", + value: "example.ORG", }) entries, _ = l.search(params) assert.Equal(t, 3, len(entries)) diff --git a/querylog/search_criteria.go b/querylog/search_criteria.go index 3c1ee0de..382cd9bc 100644 --- a/querylog/search_criteria.go +++ b/querylog/search_criteria.go @@ -62,11 +62,13 @@ func (c *searchCriteria) quickMatchJSONValue(line string, propertyName string) b if len(val) == 0 { return false } + val = strings.ToLower(val) + searchVal := strings.ToLower(c.value) - if c.strict && c.value == val { + if c.strict && searchVal == val { return true } - if !c.strict && strings.Contains(val, c.value) { + if !c.strict && strings.Contains(val, searchVal) { return true } @@ -78,10 +80,12 @@ func (c *searchCriteria) quickMatchJSONValue(line string, propertyName string) b func (c *searchCriteria) match(entry *logEntry) bool { switch c.criteriaType { case ctDomainOrClient: - if c.strict && entry.QHost == c.value { + qhost := strings.ToLower(entry.QHost) + searchVal := strings.ToLower(c.value) + if c.strict && qhost == searchVal { return true } - if !c.strict && strings.Contains(entry.QHost, c.value) { + if !c.strict && strings.Contains(qhost, searchVal) { return true }