* clients: remove WHOIS info for manually-added clients
This commit is contained in:
parent
688a5d84c8
commit
87bcb67f8f
|
@ -32,7 +32,6 @@ type Client struct {
|
||||||
SafeSearchEnabled bool
|
SafeSearchEnabled bool
|
||||||
SafeBrowsingEnabled bool
|
SafeBrowsingEnabled bool
|
||||||
ParentalEnabled bool
|
ParentalEnabled bool
|
||||||
WhoisInfo [][]string // [[key,value], ...]
|
|
||||||
|
|
||||||
UseOwnBlockedServices bool // false: use global settings
|
UseOwnBlockedServices bool // false: use global settings
|
||||||
BlockedServices []string
|
BlockedServices []string
|
||||||
|
@ -366,17 +365,6 @@ func (clients *clientsContainer) Add(c Client) (bool, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove auto-clients with the same IP address, keeping WHOIS info if possible
|
|
||||||
for _, id := range c.IDs {
|
|
||||||
ch, ok := clients.ipHost[id]
|
|
||||||
if ok {
|
|
||||||
if len(c.WhoisInfo) == 0 {
|
|
||||||
c.WhoisInfo = ch.WhoisInfo
|
|
||||||
}
|
|
||||||
delete(clients.ipHost, id)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// update Name index
|
// update Name index
|
||||||
clients.list[c.Name] = &c
|
clients.list[c.Name] = &c
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,6 @@ type clientJSON struct {
|
||||||
SafeSearchEnabled bool `json:"safesearch_enabled"`
|
SafeSearchEnabled bool `json:"safesearch_enabled"`
|
||||||
SafeBrowsingEnabled bool `json:"safebrowsing_enabled"`
|
SafeBrowsingEnabled bool `json:"safebrowsing_enabled"`
|
||||||
|
|
||||||
WhoisInfo map[string]interface{} `json:"whois_info"`
|
|
||||||
|
|
||||||
UseGlobalBlockedServices bool `json:"use_global_blocked_services"`
|
UseGlobalBlockedServices bool `json:"use_global_blocked_services"`
|
||||||
BlockedServices []string `json:"blocked_services"`
|
BlockedServices []string `json:"blocked_services"`
|
||||||
|
|
||||||
|
@ -116,11 +114,6 @@ func clientToJSON(c *Client) clientJSON {
|
||||||
|
|
||||||
Upstreams: c.Upstreams,
|
Upstreams: c.Upstreams,
|
||||||
}
|
}
|
||||||
|
|
||||||
cj.WhoisInfo = make(map[string]interface{})
|
|
||||||
for _, wi := range c.WhoisInfo {
|
|
||||||
cj.WhoisInfo[wi[0]] = wi[1]
|
|
||||||
}
|
|
||||||
return cj
|
return cj
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,14 +168,14 @@ func TestClientsWhois(t *testing.T) {
|
||||||
clients.SetWhoisInfo("1.1.1.1", whois)
|
clients.SetWhoisInfo("1.1.1.1", whois)
|
||||||
assert.True(t, clients.ipHost["1.1.1.1"].WhoisInfo[0][1] == "orgname-val")
|
assert.True(t, clients.ipHost["1.1.1.1"].WhoisInfo[0][1] == "orgname-val")
|
||||||
|
|
||||||
// Check that we cannot set whois info on existing client
|
// Check that we cannot set whois info on a manually-added client
|
||||||
c = Client{
|
c = Client{
|
||||||
IDs: []string{"1.1.1.2"},
|
IDs: []string{"1.1.1.2"},
|
||||||
Name: "client1",
|
Name: "client1",
|
||||||
}
|
}
|
||||||
_, _ = clients.Add(c)
|
_, _ = clients.Add(c)
|
||||||
clients.SetWhoisInfo("1.1.1.2", whois)
|
clients.SetWhoisInfo("1.1.1.2", whois)
|
||||||
assert.Nil(t, clients.idIndex["1.1.1.2"].WhoisInfo)
|
assert.True(t, clients.ipHost["1.1.1.2"] == nil)
|
||||||
_ = clients.Del("client1")
|
_ = clients.Del("client1")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue