From a1aeedaa8dfef9428495f0fef04ccf69299b254f Mon Sep 17 00:00:00 2001 From: msanlli Date: Mon, 3 Mar 2025 19:59:15 +0100 Subject: [PATCH 1/5] revert device selector --- backend/cmd/main.go | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 03644e5ca..0ee7b3368 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -131,7 +131,7 @@ func main() { dev = devs[*networkDevice] } else { - dev, err = selectDev(adj.Info.Addresses, config) + dev, err = selectDev() if err != nil { trace.Fatal().Err(err).Msg("Error selecting device") } @@ -356,40 +356,26 @@ func createPid(path string) { } } -func selectDev(adjAddr map[string]string, conf Config) (pcap.Interface, error) { +func selectDev() (pcap.Interface, error) { devs, err := pcap.FindAllDevs() if err != nil { return pcap.Interface{}, err } - if conf.Network.Manual { - cyan := color.New(color.FgCyan) + cyan := color.New(color.FgCyan) - cyan.Print("select a device: ") - fmt.Printf("(0-%d)\n", len(devs)-1) - for i, dev := range devs { - displayDev(i, dev) - } - - dev, err := acceptInput(len(devs)) - if err != nil { - return pcap.Interface{}, err - } - - return devs[dev], nil - } else { - for _, dev := range devs { - for _, addr := range dev.Addresses { - if addr.IP.String() == adjAddr["backend"] { - println(dev.Name) - return dev, nil - } - } - } + cyan.Print("select a device: ") + fmt.Printf("(0-%d)\n", len(devs)-1) + for i, dev := range devs { + displayDev(i, dev) + } - log.Fatal("backend address not found in any device") - return pcap.Interface{}, nil + dev, err := acceptInput(len(devs)) + if err != nil { + return pcap.Interface{}, err } + + return devs[dev], nil } func displayDev(i int, dev pcap.Interface) { From fd8cdfb194b35beda519aba4463496dbd3a95446 Mon Sep 17 00:00:00 2001 From: msanlli Date: Mon, 3 Mar 2025 20:25:40 +0100 Subject: [PATCH 2/5] Revert "revert device selector" This reverts commit a1aeedaa8dfef9428495f0fef04ccf69299b254f. --- backend/cmd/main.go | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 0ee7b3368..03644e5ca 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -131,7 +131,7 @@ func main() { dev = devs[*networkDevice] } else { - dev, err = selectDev() + dev, err = selectDev(adj.Info.Addresses, config) if err != nil { trace.Fatal().Err(err).Msg("Error selecting device") } @@ -356,26 +356,40 @@ func createPid(path string) { } } -func selectDev() (pcap.Interface, error) { +func selectDev(adjAddr map[string]string, conf Config) (pcap.Interface, error) { devs, err := pcap.FindAllDevs() if err != nil { return pcap.Interface{}, err } - cyan := color.New(color.FgCyan) + if conf.Network.Manual { + cyan := color.New(color.FgCyan) - cyan.Print("select a device: ") - fmt.Printf("(0-%d)\n", len(devs)-1) - for i, dev := range devs { - displayDev(i, dev) - } + cyan.Print("select a device: ") + fmt.Printf("(0-%d)\n", len(devs)-1) + for i, dev := range devs { + displayDev(i, dev) + } - dev, err := acceptInput(len(devs)) - if err != nil { - return pcap.Interface{}, err - } + dev, err := acceptInput(len(devs)) + if err != nil { + return pcap.Interface{}, err + } - return devs[dev], nil + return devs[dev], nil + } else { + for _, dev := range devs { + for _, addr := range dev.Addresses { + if addr.IP.String() == adjAddr["backend"] { + println(dev.Name) + return dev, nil + } + } + } + + log.Fatal("backend address not found in any device") + return pcap.Interface{}, nil + } } func displayDev(i int, dev pcap.Interface) { From d96e755034d6aea0608c337b7fd9bda4c7241571 Mon Sep 17 00:00:00 2001 From: msanlli Date: Mon, 3 Mar 2025 20:30:25 +0100 Subject: [PATCH 3/5] use fw selected udp port --- backend/cmd/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 03644e5ca..0ce89833b 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -583,8 +583,8 @@ func getIPIPfilter() string { return "ip[9] == 4" } -func getUDPFilter(addrs []net.IP, backendAddr net.IP, _ uint16) string { - udpPort := "udp" // TODO use proper ports for the filter +func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string { + udpPort := fmt.Sprint(port) // TODO use proper ports for the filter srcUdpAddrs := common.Map(addrs, func(addr net.IP) string { return fmt.Sprintf("(src host %s)", addr) }) From 12ba4486d76e48a481a432582173ad742e0fc116 Mon Sep 17 00:00:00 2001 From: msanlli Date: Mon, 3 Mar 2025 20:55:54 +0100 Subject: [PATCH 4/5] fix filter port --- backend/cmd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 0ce89833b..24d0669b5 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -584,7 +584,7 @@ func getIPIPfilter() string { } func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string { - udpPort := fmt.Sprint(port) // TODO use proper ports for the filter + udpPort := fmt.Sprintf("udp port %d", port) // TODO use proper ports for the filter srcUdpAddrs := common.Map(addrs, func(addr net.IP) string { return fmt.Sprintf("(src host %s)", addr) }) From 353057509c46b8546bd340762da6eab45b3cf951 Mon Sep 17 00:00:00 2001 From: msanlli Date: Tue, 4 Mar 2025 00:07:44 +0100 Subject: [PATCH 5/5] estoy cansado jefe --- backend/cmd/main.go | 1 - backend/internal/adj/adj.go | 10 +++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 24d0669b5..d5e4785fa 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -381,7 +381,6 @@ func selectDev(adjAddr map[string]string, conf Config) (pcap.Interface, error) { for _, dev := range devs { for _, addr := range dev.Addresses { if addr.IP.String() == adjAddr["backend"] { - println(dev.Name) return dev, nil } } diff --git a/backend/internal/adj/adj.go b/backend/internal/adj/adj.go index 7708aaa35..ddc627926 100644 --- a/backend/internal/adj/adj.go +++ b/backend/internal/adj/adj.go @@ -36,21 +36,17 @@ func NewADJ(AdjBranch string) (ADJ, error) { } } - type BoardList struct { - Boards map[string]string `json:"boards"` - } - - var boardsList BoardList + var boardsList map[string]string if err := json.Unmarshal(boardsRaw, &boardsList); err != nil { return ADJ{}, err } - boards, err := getBoards(boardsList.Boards) + boards, err := getBoards(boardsList) if err != nil { return ADJ{}, err } - info.BoardIds, err = getBoardIds(boardsList.Boards) + info.BoardIds, err = getBoardIds(boardsList) if err != nil { return ADJ{}, err }