| 1234567891011121314151617181920212223242526272829303132 | 
							- package sniff_test
 
- import (
 
- 	"context"
 
- 	"encoding/hex"
 
- 	"testing"
 
- 	"github.com/sagernet/sing-box/adapter"
 
- 	"github.com/sagernet/sing-box/common/sniff"
 
- 	C "github.com/sagernet/sing-box/constant"
 
- 	"github.com/stretchr/testify/require"
 
- )
 
- func TestSniffSTUN(t *testing.T) {
 
- 	t.Parallel()
 
- 	packet, err := hex.DecodeString("000100002112a44224b1a025d0c180c484341306")
 
- 	require.NoError(t, err)
 
- 	var metadata adapter.InboundContext
 
- 	err = sniff.STUNMessage(context.Background(), &metadata, packet)
 
- 	require.NoError(t, err)
 
- 	require.Equal(t, metadata.Protocol, C.ProtocolSTUN)
 
- }
 
- func FuzzSniffSTUN(f *testing.F) {
 
- 	f.Fuzz(func(t *testing.T, data []byte) {
 
- 		var metadata adapter.InboundContext
 
- 		if err := sniff.STUNMessage(context.Background(), &metadata, data); err == nil {
 
- 			t.Fail()
 
- 		}
 
- 	})
 
- }
 
 
  |