Compare commits

...
1 Commits
Author SHA1 Message Date
TenderIronh 07836fc162 3.25.11 2026-05-15 17:53:49 +08:00
7 changed files with 51 additions and 12 deletions
+10 -1
View File
@@ -1,10 +1,19 @@
ChangeLog ChangeLog
v3.25.11更新 (2026.5.15)
Feature
1.
Issue
1. 修复编辑组网成员网络资源时某些情况网络不通
1. 修复安卓版本输错token登录崩溃,下次重启自动登录仍会崩溃,不断循环
1. 修复某些情况导致客户端异常重启
v3.25.8更新 (2026.3.13) v3.25.8更新 (2026.3.13)
Feature Feature
1. web控制台可以修改公网监听端口 1. web控制台可以修改公网监听端口
1. 可以修改虚拟网络网段 1. 可以修改虚拟网络网段
1. 回滚至go1.20因为需要支持老版本的macos和windows 1. 回滚至go1.20支持老版本的macos和windows
Issue Issue
1. 修复客户端重装后强制v6连接失效bug 1. 修复客户端重装后强制v6连接失效bug
+1 -1
View File
@@ -144,7 +144,7 @@ func netInfo() *NetInfo {
} }
rsp := NetInfo{} rsp := NetInfo{}
if err = json.Unmarshal(buf[:n], &rsp); err != nil { if err = json.Unmarshal(buf[:n], &rsp); err != nil {
gLog.e("wrong NetInfo:%s", err) gLog.d("wrong NetInfo:%s", err)
continue continue
} }
return &rsp return &rsp
+9 -5
View File
@@ -119,6 +119,10 @@ func (c *Config) resetSDWAN() {
func (c *Config) setSDWAN(s SDWANInfo) { func (c *Config) setSDWAN(s SDWANInfo) {
c.sdwanMtx.Lock() c.sdwanMtx.Lock()
defer c.sdwanMtx.Unlock() defer c.sdwanMtx.Unlock()
allNew := false
if c.sdwan.GetResourceByNodeName(c.Network.Node) != s.GetResourceByNodeName(c.Network.Node) {
allNew = true
}
// get old-new // get old-new
c.delNodes = []*SDWANNode{} c.delNodes = []*SDWANNode{}
for _, oldNode := range c.sdwan.Nodes { for _, oldNode := range c.sdwan.Nodes {
@@ -129,7 +133,7 @@ func (c *Config) setSDWAN(s SDWANInfo) {
break break
} }
} }
if isDeleted { if isDeleted || allNew {
c.delNodes = append(c.delNodes, oldNode) c.delNodes = append(c.delNodes, oldNode)
} }
} }
@@ -143,7 +147,7 @@ func (c *Config) setSDWAN(s SDWANInfo) {
break break
} }
} }
if isNew { if isNew || allNew {
c.addNodes = append(c.addNodes, newNode) c.addNodes = append(c.addNodes, newNode)
} }
} }
@@ -151,9 +155,9 @@ func (c *Config) setSDWAN(s SDWANInfo) {
if c.sdwan.TunnelNum < 2 { if c.sdwan.TunnelNum < 2 {
c.sdwan.TunnelNum = 2 // DEBUG c.sdwan.TunnelNum = 2 // DEBUG
} }
if c.sdwan.TunnelNum > 3 { // if c.sdwan.TunnelNum > 3 {
c.sdwan.TunnelNum = 3 // c.sdwan.TunnelNum = 3
} // }
} }
func (c *Config) switchApp(app AppConfig, enabled int) { func (c *Config) switchApp(app AppConfig, enabled int) {
+7 -2
View File
@@ -147,12 +147,17 @@ func handlePush(subType uint16, msg []byte) error {
gLog.i("MsgPushUpdate") gLog.i("MsgPushUpdate")
err := update(gConf.Network.ServerHost, gConf.Network.ServerPort) err := update(gConf.Network.ServerHost, gConf.Network.ServerPort)
if err == nil { if err == nil {
os.Exit(9) // 9 tell daemon this exit because of update if !isAndroid() {
os.Exit(9) // 9 tell daemon this exit because of update
}
} }
return err return err
case MsgPushRestart: case MsgPushRestart:
gLog.i("MsgPushRestart") gLog.i("MsgPushRestart")
os.Exit(0) if !isAndroid() {
os.Exit(0)
}
return err return err
case MsgPushReportApps: case MsgPushReportApps:
err = handleReportApps() err = handleReportApps()
+8
View File
@@ -135,6 +135,14 @@ func GetToken(baseDir string) string {
return fmt.Sprintf("%d", gConf.Network.Token) return fmt.Sprintf("%d", gConf.Network.Token)
} }
func SetToken(token string) {
n, err := strconv.ParseUint(token, 10, 64)
if err == nil && n > 0 {
gConf.setToken(n)
gConf.save()
}
}
func Stop() { func Stop() {
os.Exit(0) os.Exit(0)
} }
+6 -2
View File
@@ -153,7 +153,9 @@ func (pn *P2PNetwork) keepAlive() {
} }
gLog.e("P2PNetwork keepAlive error, exit worker") gLog.e("P2PNetwork keepAlive error, exit worker")
dumpStack() dumpStack()
os.Exit(9) if !isAndroid() {
os.Exit(9)
}
} }
} }
} }
@@ -811,7 +813,9 @@ func (pn *P2PNetwork) init() error {
head, _ := pn.read("", MsgReport, MsgReportBasicRsp, ClientAPITimeout) head, _ := pn.read("", MsgReport, MsgReportBasicRsp, ClientAPITimeout)
if head == nil { if head == nil {
gLog.e("read MsgReportBasic rsp error again, exit") gLog.e("read MsgReportBasic rsp error again, exit")
os.Exit(9) if !isAndroid() {
os.Exit(9)
}
} }
return return
} }
+10 -1
View File
@@ -10,7 +10,7 @@ import (
"time" "time"
) )
const OpenP2PVersion = "3.25.8" const OpenP2PVersion = "3.25.11"
const ProductName string = "openp2p" const ProductName string = "openp2p"
const LeastSupportVersion = "3.0.0" const LeastSupportVersion = "3.0.0"
const SyncServerTimeVersion = "3.9.0" const SyncServerTimeVersion = "3.9.0"
@@ -547,6 +547,15 @@ type SDWANInfo struct {
Nodes []*SDWANNode Nodes []*SDWANNode
} }
func (s *SDWANInfo) GetResourceByNodeName(nodeName string) string {
for _, node := range s.Nodes {
if node.Name == nodeName {
return node.Resource
}
}
return ""
}
const ( const (
SDWANModeFullmesh = "fullmesh" SDWANModeFullmesh = "fullmesh"
SDWANModeCentral = "central" SDWANModeCentral = "central"