fix
This commit is contained in:
parent
68a54f7dd6
commit
5d192332b9
@ -103,7 +103,6 @@ actor SDLContextActor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func start() async {
|
public func start() async {
|
||||||
|
|
||||||
self.startMonitor()
|
self.startMonitor()
|
||||||
|
|
||||||
// 启动arp的定时清理任务
|
// 启动arp的定时清理任务
|
||||||
@ -610,12 +609,12 @@ actor SDLContextActor {
|
|||||||
if true || self.checkPolicy(ipPacket: ipPacket, ruleMap: ruleMap) {
|
if true || self.checkPolicy(ipPacket: ipPacket, ruleMap: ruleMap) {
|
||||||
// 用来做debug
|
// 用来做debug
|
||||||
if ipPacket.header.source == 168428037 {
|
if ipPacket.header.source == 168428037 {
|
||||||
SDLLogger.log("[SDLContext] data: \(Array(ipPacket.data)), len: \(ipPacket.data.count)", for: .trace)
|
SDLLogger.log("[SDLContext] hole data: \(Array(ipPacket.data)), len: \(ipPacket.data.count)", for: .trace)
|
||||||
}
|
}
|
||||||
|
|
||||||
let packet = NEPacket(data: ipPacket.data, protocolFamily: 2)
|
let packet = NEPacket(data: ipPacket.data, protocolFamily: 2)
|
||||||
self.provider.packetFlow.writePacketObjects([packet])
|
self.provider.packetFlow.writePacketObjects([packet])
|
||||||
SDLLogger.log("[SDLContext] identity: \(data.identityID), allow, data count: \(ipPacket.data.count)", for: .trace)
|
SDLLogger.log("[SDLContext] hole identity: \(data.identityID), allow, data count: \(ipPacket.data.count)", for: .trace)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SDLLogger.log("[SDLContext] not found identity: \(data.identityID) ruleMap", for: .debug)
|
SDLLogger.log("[SDLContext] not found identity: \(data.identityID) ruleMap", for: .debug)
|
||||||
@ -797,14 +796,14 @@ actor SDLContextActor {
|
|||||||
else {
|
else {
|
||||||
// 通过session发送到对端
|
// 通过session发送到对端
|
||||||
if let session = self.sessionManager.getSession(toAddress: dstMac) {
|
if let session = self.sessionManager.getSession(toAddress: dstMac) {
|
||||||
SDLLogger.log("[SDLContext] send packet by session: \(session)")
|
SDLLogger.log("[SDLContext] step 5 send packet by session: \(session)", for: .trace)
|
||||||
udpHole.send(type: .data, data: data, remoteAddress: session.natAddress)
|
udpHole.send(type: .data, data: data, remoteAddress: session.natAddress)
|
||||||
self.flowTracer.inc(num: data.count, type: .p2p)
|
self.flowTracer.inc(num: data.count, type: .p2p)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// 通过super_node进行转发
|
// 通过super_node进行转发
|
||||||
udpHole.send(type: .data, data: data, remoteAddress: self.config.stunSocketAddress)
|
udpHole.send(type: .data, data: data, remoteAddress: self.config.stunSocketAddress)
|
||||||
SDLLogger.log("[SDLContext] send packet by super: \(self.config.stunSocketAddress)")
|
SDLLogger.log("[SDLContext] step 5 send packet by super: \(self.config.stunSocketAddress)", for: .trace)
|
||||||
// 流量统计
|
// 流量统计
|
||||||
self.flowTracer.inc(num: data.count, type: .forward)
|
self.flowTracer.inc(num: data.count, type: .forward)
|
||||||
|
|
||||||
|
|||||||
@ -85,7 +85,7 @@ final class DNSCloudClient {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
connection.send(content: ipPacketData, completion: .contentProcessed { [weak self] error in
|
connection.send(content: ipPacketData, completion: .contentProcessed { error in
|
||||||
if let error = error {
|
if let error = error {
|
||||||
SDLLogger.log("[DNSClient] Send error: \(error)", for: .debug)
|
SDLLogger.log("[DNSClient] Send error: \(error)", for: .debug)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,3 @@
|
|||||||
//
|
|
||||||
// SDLUDPHoleActor 2.swift
|
|
||||||
// punchnet
|
|
||||||
//
|
|
||||||
// Created by 安礼成 on 2026/1/28.
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// SDLanServer.swift
|
// SDLanServer.swift
|
||||||
// Tun
|
// Tun
|
||||||
|
|||||||
@ -43,7 +43,7 @@ class SessionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if var session = self.sessions[toAddress] {
|
if var session = self.sessions[toAddress] {
|
||||||
if session.lastTimestamp >= timestamp + ttl {
|
if session.lastTimestamp + ttl >= timestamp {
|
||||||
session.updateLastTimestamp(timestamp)
|
session.updateLastTimestamp(timestamp)
|
||||||
self.sessions[toAddress] = session
|
self.sessions[toAddress] = session
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user