mirror of
https://github.com/netbirdio/netbird.git
synced 2025-06-21 10:18:50 +02:00
- Remove heartbeat logs
- Fix relay client tests - Fix auth ID unmarshalling - Add magic header check
This commit is contained in:
parent
931f165c9a
commit
a9e6742d9a
@ -308,7 +308,6 @@ func (c *Client) readLoop(relayConn net.Conn) {
|
|||||||
|
|
||||||
switch msgType {
|
switch msgType {
|
||||||
case messages.MsgTypeHealthCheck:
|
case messages.MsgTypeHealthCheck:
|
||||||
log.Debugf("on new heartbeat")
|
|
||||||
msg := messages.MarshalHealthcheck()
|
msg := messages.MarshalHealthcheck()
|
||||||
_, wErr := c.relayConn.Write(msg)
|
_, wErr := c.relayConn.Write(msg)
|
||||||
if wErr != nil {
|
if wErr != nil {
|
||||||
|
@ -32,10 +32,10 @@ func TestMain(m *testing.M) {
|
|||||||
func TestClient(t *testing.T) {
|
func TestClient(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
srvCfg := server.ListenerConfig{Address: serverListenAddr}
|
|
||||||
srv := server.NewServer(serverURL, false, av)
|
srv := server.NewServer(serverURL, false, av)
|
||||||
go func() {
|
go func() {
|
||||||
err := srv.Listen(srvCfg)
|
listenCfg := server.ListenerConfig{Address: serverListenAddr}
|
||||||
|
err := srv.Listen(listenCfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to bind server: %s", err)
|
t.Fatalf("failed to bind server: %s", err)
|
||||||
}
|
}
|
||||||
@ -48,6 +48,7 @@ func TestClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
t.Log("alice connecting to server")
|
||||||
clientAlice := NewClient(ctx, serverURL, hmacTokenStore, "alice")
|
clientAlice := NewClient(ctx, serverURL, hmacTokenStore, "alice")
|
||||||
err := clientAlice.Connect()
|
err := clientAlice.Connect()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -55,6 +56,7 @@ func TestClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer clientAlice.Close()
|
defer clientAlice.Close()
|
||||||
|
|
||||||
|
t.Log("placeholder connecting to server")
|
||||||
clientPlaceHolder := NewClient(ctx, serverURL, hmacTokenStore, "clientPlaceHolder")
|
clientPlaceHolder := NewClient(ctx, serverURL, hmacTokenStore, "clientPlaceHolder")
|
||||||
err = clientPlaceHolder.Connect()
|
err = clientPlaceHolder.Connect()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -62,6 +64,7 @@ func TestClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer clientPlaceHolder.Close()
|
defer clientPlaceHolder.Close()
|
||||||
|
|
||||||
|
t.Log("Bob connecting to server")
|
||||||
clientBob := NewClient(ctx, serverURL, hmacTokenStore, "bob")
|
clientBob := NewClient(ctx, serverURL, hmacTokenStore, "bob")
|
||||||
err = clientBob.Connect()
|
err = clientBob.Connect()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -69,11 +72,13 @@ func TestClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer clientBob.Close()
|
defer clientBob.Close()
|
||||||
|
|
||||||
|
t.Log("Alice open connection to Bob")
|
||||||
connAliceToBob, err := clientAlice.OpenConn("bob")
|
connAliceToBob, err := clientAlice.OpenConn("bob")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to bind channel: %s", err)
|
t.Fatalf("failed to bind channel: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
t.Log("Bob open connection to Alice")
|
||||||
connBobToAlice, err := clientBob.OpenConn("alice")
|
connBobToAlice, err := clientBob.OpenConn("alice")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to bind channel: %s", err)
|
t.Fatalf("failed to bind channel: %s", err)
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
prefixLength = 4
|
prefixLength = 4
|
||||||
IDSize = sha256.Size + 4 // 4 is equal with len(prefix)
|
IDSize = prefixLength + sha256.Size
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestHashID(t *testing.T) {
|
func TestHashID(t *testing.T) {
|
||||||
hashedID, hashedStringId := HashID("abc")
|
hashedID, hashedStringId := HashID("alice")
|
||||||
enc := HashIDToString(hashedID)
|
enc := HashIDToString(hashedID)
|
||||||
if enc != hashedStringId {
|
if enc != hashedStringId {
|
||||||
t.Errorf("expected %s, got %s", hashedStringId, enc)
|
t.Errorf("expected %s, got %s", hashedStringId, enc)
|
||||||
|
@ -89,6 +89,8 @@ func MarshalHelloMsg(peerID []byte, additions []byte) ([]byte, error) {
|
|||||||
if len(peerID) != IDSize {
|
if len(peerID) != IDSize {
|
||||||
return nil, fmt.Errorf("invalid peerID length: %d", len(peerID))
|
return nil, fmt.Errorf("invalid peerID length: %d", len(peerID))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 5 = 1 byte for msg type, 4 byte for magic header
|
||||||
msg := make([]byte, 5, headerSizeHello+len(additions))
|
msg := make([]byte, 5, headerSizeHello+len(additions))
|
||||||
msg[0] = byte(MsgTypeHello)
|
msg[0] = byte(MsgTypeHello)
|
||||||
copy(msg[1:5], magicHeader)
|
copy(msg[1:5], magicHeader)
|
||||||
@ -101,8 +103,10 @@ func UnmarshalHelloMsg(msg []byte) ([]byte, []byte, error) {
|
|||||||
if len(msg) < headerSizeHello {
|
if len(msg) < headerSizeHello {
|
||||||
return nil, nil, fmt.Errorf("invalid 'hello' messge")
|
return nil, nil, fmt.Errorf("invalid 'hello' messge")
|
||||||
}
|
}
|
||||||
bytes.Equal(msg[1:5], magicHeader)
|
if !bytes.Equal(msg[1:5], magicHeader) {
|
||||||
return msg[5:], msg[headerSizeHello:], nil
|
return nil, nil, fmt.Errorf("invalid magic header")
|
||||||
|
}
|
||||||
|
return msg[5 : 5+IDSize], msg[headerSizeHello:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func MarshalHelloResponse(DomainAddress string) ([]byte, error) {
|
func MarshalHelloResponse(DomainAddress string) ([]byte, error) {
|
||||||
|
@ -147,7 +147,6 @@ func (p *Peer) healthcheck(ctx context.Context, hc *healthcheck.Sender) {
|
|||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-hc.HealthCheck:
|
case <-hc.HealthCheck:
|
||||||
p.log.Debugf("sending healthcheck message")
|
|
||||||
_, err := p.Write(messages.MarshalHealthcheck())
|
_, err := p.Write(messages.MarshalHealthcheck())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
p.log.Errorf("failed to send healthcheck message: %s", err)
|
p.log.Errorf("failed to send healthcheck message: %s", err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user