mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-18 02:48:40 +00:00
Added new Addresses / AllowedIPs fields to testcontrol when creating tailcfg.Node (#1948)
* Added new Addresses / AllowedIPs fields to testcontrol when creating new &tailcfg.Node Signed-off-by: Simeng He <simeng@tailscale.com> * Added single node test to check Addresses and AllowedIPs Signed-off-by: Simeng He <simeng@tailscale.com> Co-authored-by: Simeng He <simeng@tailscale.com>
This commit is contained in:
parent
85df1b0fa7
commit
dd0b690e7b
@ -196,6 +196,37 @@ func TestTwoNodes(t *testing.T) {
|
|||||||
d2.MustCleanShutdown(t)
|
d2.MustCleanShutdown(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNodeAddressIPFields(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
bins := buildTestBinaries(t)
|
||||||
|
|
||||||
|
env := newTestEnv(t, bins)
|
||||||
|
defer env.Close()
|
||||||
|
|
||||||
|
n1 := newTestNode(t, env)
|
||||||
|
d1 := n1.StartDaemon(t)
|
||||||
|
defer d1.Kill()
|
||||||
|
|
||||||
|
n1.AwaitListening(t)
|
||||||
|
n1.MustUp()
|
||||||
|
n1.AwaitRunning(t)
|
||||||
|
|
||||||
|
testNodes := env.Control.AllNodes()
|
||||||
|
|
||||||
|
if len(testNodes) != 1 {
|
||||||
|
t.Errorf("Expected %d nodes, got %d", 1, len(testNodes))
|
||||||
|
}
|
||||||
|
node := testNodes[0]
|
||||||
|
if len(node.Addresses) == 0 {
|
||||||
|
t.Errorf("Empty Addresses field in node")
|
||||||
|
}
|
||||||
|
if len(node.AllowedIPs) == 0 {
|
||||||
|
t.Errorf("Empty AllowedIPs field in node")
|
||||||
|
}
|
||||||
|
|
||||||
|
d1.MustCleanShutdown(t)
|
||||||
|
}
|
||||||
|
|
||||||
// testBinaries are the paths to a tailscaled and tailscale binary.
|
// testBinaries are the paths to a tailscaled and tailscale binary.
|
||||||
// These can be shared by multiple nodes.
|
// These can be shared by multiple nodes.
|
||||||
type testBinaries struct {
|
type testBinaries struct {
|
||||||
|
@ -307,6 +307,10 @@ func (s *Server) serveRegister(w http.ResponseWriter, r *http.Request, mkey tail
|
|||||||
|
|
||||||
machineAuthorized := true // TODO: add Server.RequireMachineAuth
|
machineAuthorized := true // TODO: add Server.RequireMachineAuth
|
||||||
|
|
||||||
|
allowedIPs := []netaddr.IPPrefix{
|
||||||
|
netaddr.MustParseIPPrefix(fmt.Sprintf("100.64.%d.%d/32", uint8(tailcfg.NodeID(user.ID)>>8), uint8(tailcfg.NodeID(user.ID)))),
|
||||||
|
}
|
||||||
|
|
||||||
s.nodes[req.NodeKey] = &tailcfg.Node{
|
s.nodes[req.NodeKey] = &tailcfg.Node{
|
||||||
ID: tailcfg.NodeID(user.ID),
|
ID: tailcfg.NodeID(user.ID),
|
||||||
StableID: tailcfg.StableNodeID(fmt.Sprintf("TESTCTRL%08x", int(user.ID))),
|
StableID: tailcfg.StableNodeID(fmt.Sprintf("TESTCTRL%08x", int(user.ID))),
|
||||||
@ -314,6 +318,8 @@ func (s *Server) serveRegister(w http.ResponseWriter, r *http.Request, mkey tail
|
|||||||
Machine: mkey,
|
Machine: mkey,
|
||||||
Key: req.NodeKey,
|
Key: req.NodeKey,
|
||||||
MachineAuthorized: machineAuthorized,
|
MachineAuthorized: machineAuthorized,
|
||||||
|
Addresses: allowedIPs,
|
||||||
|
AllowedIPs: allowedIPs,
|
||||||
}
|
}
|
||||||
requireAuth := s.RequireAuth
|
requireAuth := s.RequireAuth
|
||||||
if requireAuth && s.nodeKeyAuthed[req.NodeKey] {
|
if requireAuth && s.nodeKeyAuthed[req.NodeKey] {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user