mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-12 09:40:46 +08:00
reworked dns to propogate all entries regardless
This commit is contained in:
parent
ca5cedb9ce
commit
d1101ffe3a
1 changed files with 19 additions and 24 deletions
|
|
@ -178,25 +178,15 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return models.PeerUpdate{}, err
|
return models.PeerUpdate{}, err
|
||||||
}
|
}
|
||||||
// begin translating netclient logic
|
|
||||||
/*
|
|
||||||
|
|
||||||
|
|
||||||
Go through netclient code and put below
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
// #1 Set Keepalive values: set_keepalive
|
// #1 Set Keepalive values: set_keepalive
|
||||||
// #2 Set local address: set_local - could be a LOT BETTER and fix some bugs with additional logic
|
// #2 Set local address: set_local - could be a LOT BETTER and fix some bugs with additional logic
|
||||||
// #3 Set allowedips: set_allowedips
|
// #3 Set allowedips: set_allowedips
|
||||||
var dns string
|
|
||||||
for _, peer := range currentPeers {
|
for _, peer := range currentPeers {
|
||||||
if peer.ID == node.ID {
|
if peer.ID == node.ID {
|
||||||
//skip yourself
|
//skip yourself
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
dns = dns + fmt.Sprintf("%s %s.%s\n", peer.Address, peer.Name, peer.Network)
|
|
||||||
pubkey, err := wgtypes.ParseKey(peer.PublicKey)
|
pubkey, err := wgtypes.ParseKey(peer.PublicKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return models.PeerUpdate{}, err
|
return models.PeerUpdate{}, err
|
||||||
|
|
@ -245,23 +235,11 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
|
||||||
log.Println("ERROR RETRIEVING EXTERNAL PEERS", err)
|
log.Println("ERROR RETRIEVING EXTERNAL PEERS", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
peerUpdate.Network = node.Network
|
peerUpdate.Network = node.Network
|
||||||
peerUpdate.Peers = peers
|
peerUpdate.Peers = peers
|
||||||
peerUpdate.ServerAddrs = serverNodeAddresses
|
peerUpdate.ServerAddrs = serverNodeAddresses
|
||||||
/*
|
peerUpdate.DNS = getPeerDNS(node.Network)
|
||||||
|
|
||||||
|
|
||||||
End translation of netclient code
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
if customDNSEntries, err := GetCustomDNS(peerUpdate.Network); err == nil {
|
|
||||||
for _, entry := range customDNSEntries {
|
|
||||||
// TODO - filter entries based on ACLs / given peers vs nodes in network
|
|
||||||
dns = dns + fmt.Sprintf("%s %s.%s\n", entry.Address, entry.Name, entry.Network)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
peerUpdate.DNS = dns
|
|
||||||
return peerUpdate, nil
|
return peerUpdate, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -387,3 +365,20 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
|
||||||
}
|
}
|
||||||
return allowedips
|
return allowedips
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getPeerDNS(network string) string {
|
||||||
|
var dns string
|
||||||
|
if nodes, err := GetNetworkNodes(network); err == nil {
|
||||||
|
for i := range nodes {
|
||||||
|
dns = dns + fmt.Sprintf("%s %s.%s\n", nodes[i].Address, nodes[i].Name, nodes[i].Network)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if customDNSEntries, err := GetCustomDNS(network); err == nil {
|
||||||
|
for _, entry := range customDNSEntries {
|
||||||
|
// TODO - filter entries based on ACLs / given peers vs nodes in network
|
||||||
|
dns = dns + fmt.Sprintf("%s %s.%s\n", entry.Address, entry.Name, entry.Network)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dns
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue