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