(_ http.ResponseWriter, req *tailcfg.MapRequest)
| 619 | } |
| 620 | |
| 621 | func (ns *noiseServer) handleEndpointUpdate(_ http.ResponseWriter, req *tailcfg.MapRequest) { |
| 622 | node := ns.getSelfNode() |
| 623 | |
| 624 | change := peerChange(req, node) |
| 625 | change.Online = ptr.To(true) |
| 626 | applyPeerChange(node, change) |
| 627 | |
| 628 | _ = ns.storeNode(node) |
| 629 | |
| 630 | sendUpdate, routesChanged := hostInfoChanged(node.Hostinfo.AsStruct(), req.Hostinfo) |
| 631 | node.Hostinfo = req.Hostinfo.View() |
| 632 | _ = routesChanged |
| 633 | |
| 634 | if peerChangeEmpty(change) && !sendUpdate { |
| 635 | return |
| 636 | } |
| 637 | |
| 638 | ns.notifyUpdate() |
| 639 | } |
| 640 | |
| 641 | func applyPeerChange(node *tailcfg.Node, change tailcfg.PeerChange) { |
| 642 | if change.Key != nil { |
no test coverage detected