Skip to content

Commit 91ed682

Browse files
committed
ipn/mh: rmv incorrect cond
1 parent a9d328e commit 91ed682

1 file changed

Lines changed: 26 additions & 27 deletions

File tree

intra/ipn/multihost/multihost.go

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ type MH struct {
6464
// New returns a new multihost with the given id.
6565
func New(id string) *MH {
6666
return &MH{
67-
o: id,
68-
names: make([]string, 0),
69-
addrs: make([]netip.AddrPort, 0),
70-
mtime: time.Now(),
67+
o: id,
68+
names: make([]string, 0),
69+
addrs: make([]netip.AddrPort, 0),
70+
preresolved: make([]netip.AddrPort, 0),
71+
mtime: time.Now(),
7172
}
7273
}
7374

@@ -254,28 +255,26 @@ func (h *MH) add(domainsOrIps []string, op MHAddOp) int {
254255
h.Lock()
255256
defer h.Unlock()
256257

257-
if len(addrs) > 0 {
258-
if op == Reset {
259-
if len(names) > 0 {
260-
h.names = names
261-
h.addrs = addrs
262-
}
263-
if len(pre) > 0 {
264-
h.preresolved = pre
265-
}
266-
} else if op == Append {
267-
if len(names) > 0 {
268-
h.names = append(h.names, names...)
269-
h.addrs = append(h.addrs, addrs...)
270-
}
271-
if len(pre) > 0 {
272-
h.preresolved = append(h.preresolved, pre...)
273-
}
274-
} else {
275-
log.E("multihost: %s add: %v => %v [+ %v]; unknown op %d", id, names, addrs, pre, op)
276-
return 0
258+
if op == Reset { // reset whatever is non-empty
259+
if len(names) > 0 {
260+
h.names = names
261+
}
262+
if len(addrs) > 0 {
263+
h.addrs = addrs
277264
}
265+
if len(pre) > 0 {
266+
h.preresolved = pre
267+
}
268+
} else if op == Append {
269+
h.names = append(h.names, names...)
270+
h.addrs = append(h.addrs, addrs...)
271+
h.preresolved = append(h.preresolved, pre...)
272+
273+
} else {
274+
log.E("multihost: %s add: %v => %v [+ %v]; unknown op %d", id, names, addrs, pre, op)
275+
return 0
278276
}
277+
279278
h.mtime = time.Now()
280279
// remove dups from h.addrs and h.names
281280
h.uniqAddrsLocked()
@@ -301,9 +300,9 @@ func resolv(id string, domainsOrIps []string) (names []string, pre []netip.AddrP
301300
names = append(names, ep) // add hostname regardless of resolution success
302301
log.D("multihost: %s resolving: %q", id, ep)
303302
if resolvedips, err := dialers.Resolve(dip); err == nil && len(resolvedips) > 0 {
304-
eps := addrport(port, resolvedips...)
305-
addrs = append(addrs, eps...)
306-
log.V("multihost: %s resolved: %q => %s", id, dip, eps)
303+
reps := addrport(port, resolvedips...)
304+
addrs = append(addrs, reps...)
305+
log.V("multihost: %s resolved: %q => %s", id, dip, reps)
307306
} else {
308307
// err may be nil even on zero answers
309308
err = core.OneErr(err, errNoIps)

0 commit comments

Comments
 (0)