mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-24 14:05:45 +03:00
f9fe3172c4
Merge in DNS/adguard-home from 4299-querylog-stats-clients to master Squashed commit of the following: commit 33b80b67224f7c1a15bee8e6a23d9d5bab6ac629 Merge: 61964fdd5d5a7295
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Apr 7 12:43:22 2023 +0300 Merge branch 'master' into 4299-querylog-stats-clients commit 61964fdd02221abbddedf2d6d02bb0bce6845362 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Apr 7 12:42:01 2023 +0300 dnsforward: imp code commit 7382168500bab6ca7494d39aabfc2d7bfceb5d24 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Apr 7 11:13:07 2023 +0300 all: imp code, chlog commit c7852902f635af6c296dcb6735f7b0bfb83f4e87 Merge: aa4dc0a5a55cbbe7
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Apr 6 14:34:24 2023 +0300 Merge branch 'master' into 4299-querylog-stats-clients commit aa4dc0a54e95bc5b24718ec158340b631a822801 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Apr 6 12:54:02 2023 +0300 all: imp code commit dd541f0cd7ecbf0afcf10ccbd130fd1d1fa4c1c4 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Mar 31 13:01:53 2023 +0300 querylog: fix typo commit d2c8fdb35b04d27c8957fa027882fde704cc07be Merge: 83d0baa12eb3bf6e
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Mar 31 12:36:49 2023 +0300 Merge branch 'master' into 4299-querylog-stats-clients commit 83d0baa1f1202f9c62d4be2041d7aed12ee9ab2c Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Mar 31 12:35:15 2023 +0300 all: add tests commit a459f19f25cf9646d145813fe7834b2d9979c516 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Wed Mar 29 16:51:53 2023 +0300 all: add clients querylog stats ignore
33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
package querylog
|
|
|
|
// Client is the information required by the query log to match against clients
|
|
// during searches.
|
|
type Client struct {
|
|
WHOIS *ClientWHOIS `json:"whois,omitempty"`
|
|
Name string `json:"name"`
|
|
DisallowedRule string `json:"disallowed_rule"`
|
|
Disallowed bool `json:"disallowed"`
|
|
IgnoreQueryLog bool `json:"-"`
|
|
}
|
|
|
|
// ClientWHOIS is the filtered WHOIS data for the client.
|
|
//
|
|
// TODO(a.garipov): Merge with home.RuntimeClientWHOISInfo after the
|
|
// refactoring is done.
|
|
type ClientWHOIS struct {
|
|
City string `json:"city,omitempty"`
|
|
Country string `json:"country,omitempty"`
|
|
Orgname string `json:"orgname,omitempty"`
|
|
}
|
|
|
|
// clientCacheKey is the key by which a cached client information is found.
|
|
type clientCacheKey struct {
|
|
clientID string
|
|
ip string
|
|
}
|
|
|
|
// clientCache is the cache of client information found throughout a request to
|
|
// the query log API. It is used both to speed up the lookup, as well as to
|
|
// make sure that changes in client data between two lookups don't create
|
|
// discrepancies in our response.
|
|
type clientCache map[clientCacheKey]*Client
|