* clients: remove an auto-client if a client with the same IP was added manually
This commit is contained in:
parent
95eeccde8f
commit
fcf37da312
|
@ -206,6 +206,12 @@ func (clients *clientsContainer) Add(c Client) (bool, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ch, ok := clients.ipHost[c.IP]
|
||||||
|
if ok {
|
||||||
|
c.WhoisInfo = ch.WhoisInfo
|
||||||
|
delete(clients.ipHost, c.IP)
|
||||||
|
}
|
||||||
|
|
||||||
clients.list[c.Name] = &c
|
clients.list[c.Name] = &c
|
||||||
if len(c.IP) != 0 {
|
if len(c.IP) != 0 {
|
||||||
clients.ipIndex[c.IP] = &c
|
clients.ipIndex[c.IP] = &c
|
||||||
|
@ -312,6 +318,12 @@ func (clients *clientsContainer) AddHost(ip, host string, source clientSource) (
|
||||||
clients.lock.Lock()
|
clients.lock.Lock()
|
||||||
defer clients.lock.Unlock()
|
defer clients.lock.Unlock()
|
||||||
|
|
||||||
|
// check index
|
||||||
|
_, ok := clients.ipIndex[ip]
|
||||||
|
if ok {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
|
||||||
// check index
|
// check index
|
||||||
c, ok := clients.ipHost[ip]
|
c, ok := clients.ipHost[ip]
|
||||||
if ok && c.Source > source {
|
if ok && c.Source > source {
|
||||||
|
|
Loading…
Reference in New Issue