Skip to content

Commit 5d534e0

Browse files
committed
use service IP manager in main
1 parent 1dbc044 commit 5d534e0

File tree

1 file changed

+11
-18
lines changed

1 file changed

+11
-18
lines changed

src/main.go

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"net/http/httptest"
1212
"os"
1313
"strconv"
14-
"sync"
1514
"time"
1615

1716
firetail "github.com/FireTail-io/firetail-go-lib/middlewares/http"
@@ -54,7 +53,6 @@ func (s *httpRequestAndResponseStreamer) start() {
5453
&bidirectionalStreamFactory{
5554
conns: make(map[string]*bidirectionalStream),
5655
requestAndResponseChannel: s.requestAndResponseChannel,
57-
ipManager: s.ipManager,
5856
},
5957
),
6058
)
@@ -70,20 +68,6 @@ func (s *httpRequestAndResponseStreamer) start() {
7068
if !ok {
7169
continue
7270
}
73-
net, ok := packet.NetworkLayer().(*layers.IPv4)
74-
if !ok {
75-
continue
76-
}
77-
if !(s.ipManager == nil || s.ipManager.isServiceIP(net.DstIP.String())) {
78-
slog.Debug(
79-
"Skipping connection to non-service IP:",
80-
"Src", net.SrcIP.String(),
81-
"Dst", net.DstIP.String(),
82-
"SrcPort", tcp.SrcPort.String(),
83-
"DstPort", tcp.DstPort.String(),
84-
)
85-
continue
86-
}
8771
assembler.AssembleWithTimestamp(packet.NetworkLayer().NetworkFlow(), tcp, packet.Metadata().Timestamp)
8872
case <-ticker:
8973
assembler.FlushOlderThan(time.Now().Add(-2 * time.Minute))
@@ -95,7 +79,6 @@ func (s *httpRequestAndResponseStreamer) start() {
9579
type bidirectionalStreamFactory struct {
9680
conns map[string]*bidirectionalStream
9781
requestAndResponseChannel *chan httpRequestAndResponse
98-
ipManager *serviceIpManager
9982
}
10083

10184
func (f *bidirectionalStreamFactory) New(netFlow, tcpFlow gopacket.Flow) tcpassembly.Stream {
@@ -211,7 +194,7 @@ func main() {
211194
}
212195

213196
var ipManager *serviceIpManager
214-
if disableServiceIpFilter, err := strconv.ParseBool(os.Getenv("DISABLE_SERVICE_IP_FILTERING")); err != nil || !disableServiceIpFilter {
197+
if disableServiceIpFilter, err := strconv.ParseBool(os.Getenv("DISABLE_SERVICE_IP_FILTERING")); !(err == nil && disableServiceIpFilter) {
215198
slog.Info(
216199
"Service IP filter enabled, monitoring service IPs...",
217200
)
@@ -265,6 +248,16 @@ func main() {
265248
for {
266249
select {
267250
case requestAndResponse := <-requestAndResponseChannel:
251+
if !(ipManager == nil || ipManager.isServiceIP(requestAndResponse.dst)) {
252+
slog.Debug(
253+
"Skipping connection to non-service IP:",
254+
"Src", requestAndResponse.src,
255+
"Dst", requestAndResponse.dst,
256+
"SrcPort", requestAndResponse.srcPort,
257+
"DstPort", requestAndResponse.dstPort,
258+
)
259+
continue
260+
}
268261
slog.Debug(
269262
"Captured request and response:",
270263
"Method", requestAndResponse.request.Method,

0 commit comments

Comments
 (0)