Skip to content

Commit

Permalink
Feature: connections add rule payload
Browse files Browse the repository at this point in the history
  • Loading branch information
Dreamacro committed Jun 7, 2020
1 parent fb628e9 commit 48cff50
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions tunnel/tracker.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ type trackerInfo struct {
Start time.Time `json:"start"`
Chain C.Chain `json:"chains"`
Rule string `json:"rule"`
RulePayload string `json:"rulePayload"`
}

type tcpTracker struct {
Expand Down Expand Up @@ -56,10 +57,6 @@ func (tt *tcpTracker) Close() error {

func newTCPTracker(conn C.Conn, manager *Manager, metadata *C.Metadata, rule C.Rule) *tcpTracker {
uuid, _ := uuid.NewV4()
ruleType := ""
if rule != nil {
ruleType = rule.RuleType().String()
}

t := &tcpTracker{
Conn: conn,
Expand All @@ -69,10 +66,15 @@ func newTCPTracker(conn C.Conn, manager *Manager, metadata *C.Metadata, rule C.R
Start: time.Now(),
Metadata: metadata,
Chain: conn.Chains(),
Rule: ruleType,
Rule: "",
},
}

if rule != nil {
t.trackerInfo.Rule = rule.RuleType().String()
t.trackerInfo.RulePayload = rule.Payload()
}

manager.Join(t)
return t
}
Expand Down Expand Up @@ -118,10 +120,6 @@ func (ut *udpTracker) Close() error {

func newUDPTracker(conn C.PacketConn, manager *Manager, metadata *C.Metadata, rule C.Rule) *udpTracker {
uuid, _ := uuid.NewV4()
ruleType := ""
if rule != nil {
ruleType = rule.RuleType().String()
}

ut := &udpTracker{
PacketConn: conn,
Expand All @@ -131,10 +129,15 @@ func newUDPTracker(conn C.PacketConn, manager *Manager, metadata *C.Metadata, ru
Start: time.Now(),
Metadata: metadata,
Chain: conn.Chains(),
Rule: ruleType,
Rule: "",
},
}

if rule != nil {
ut.trackerInfo.Rule = rule.RuleType().String()
ut.trackerInfo.RulePayload = rule.Payload()
}

manager.Join(ut)
return ut
}

0 comments on commit 48cff50

Please sign in to comment.