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

View File

@@ -1,10 +1,19 @@
ChangeLog
v3.25.11更新 (2026.5.15)
Feature
1.
Issue
1. 修复编辑组网成员网络资源时某些情况网络不通
1. 修复安卓版本输错token登录崩溃下次重启自动登录仍会崩溃不断循环
1. 修复某些情况导致客户端异常重启
v3.25.8更新 (2026.3.13)
Feature
1. web控制台可以修改公网监听端口
1. 可以修改虚拟网络网段
1. 回滚至go1.20因为需要支持老版本的macos和windows
1. 回滚至go1.20支持老版本的macos和windows
Issue
1. 修复客户端重装后强制v6连接失效bug

View File

@@ -144,7 +144,7 @@ func netInfo() *NetInfo {
}
rsp := NetInfo{}
if err = json.Unmarshal(buf[:n], &rsp); err != nil {
gLog.e("wrong NetInfo:%s", err)
gLog.d("wrong NetInfo:%s", err)
continue
}
return &rsp

View File

@@ -119,6 +119,10 @@ func (c *Config) resetSDWAN() {
func (c *Config) setSDWAN(s SDWANInfo) {
c.sdwanMtx.Lock()
defer c.sdwanMtx.Unlock()
allNew := false
if c.sdwan.GetResourceByNodeName(c.Network.Node) != s.GetResourceByNodeName(c.Network.Node) {
allNew = true
}
// get old-new
c.delNodes = []*SDWANNode{}
for _, oldNode := range c.sdwan.Nodes {
@@ -129,7 +133,7 @@ func (c *Config) setSDWAN(s SDWANInfo) {
break
}
}
if isDeleted {
if isDeleted || allNew {
c.delNodes = append(c.delNodes, oldNode)
}
}
@@ -143,7 +147,7 @@ func (c *Config) setSDWAN(s SDWANInfo) {
break
}
}
if isNew {
if isNew || allNew {
c.addNodes = append(c.addNodes, newNode)
}
}
@@ -151,9 +155,9 @@ func (c *Config) setSDWAN(s SDWANInfo) {
if c.sdwan.TunnelNum < 2 {
c.sdwan.TunnelNum = 2 // DEBUG
}
if c.sdwan.TunnelNum > 3 {
c.sdwan.TunnelNum = 3
}
// if c.sdwan.TunnelNum > 3 {
// c.sdwan.TunnelNum = 3
// }
}
func (c *Config) switchApp(app AppConfig, enabled int) {

View File

@@ -147,12 +147,17 @@ func handlePush(subType uint16, msg []byte) error {
gLog.i("MsgPushUpdate")
err := update(gConf.Network.ServerHost, gConf.Network.ServerPort)
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
case MsgPushRestart:
gLog.i("MsgPushRestart")
os.Exit(0)
if !isAndroid() {
os.Exit(0)
}
return err
case MsgPushReportApps:
err = handleReportApps()

View File

@@ -135,6 +135,14 @@ func GetToken(baseDir string) string {
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() {
os.Exit(0)
}

View File

@@ -153,7 +153,9 @@ func (pn *P2PNetwork) keepAlive() {
}
gLog.e("P2PNetwork keepAlive error, exit worker")
dumpStack()
os.Exit(9)
if !isAndroid() {
os.Exit(9)
}
}
}
}
@@ -811,7 +813,9 @@ func (pn *P2PNetwork) init() error {
head, _ := pn.read("", MsgReport, MsgReportBasicRsp, ClientAPITimeout)
if head == nil {
gLog.e("read MsgReportBasic rsp error again, exit")
os.Exit(9)
if !isAndroid() {
os.Exit(9)
}
}
return
}

View File

@@ -10,7 +10,7 @@ import (
"time"
)
const OpenP2PVersion = "3.25.8"
const OpenP2PVersion = "3.25.11"
const ProductName string = "openp2p"
const LeastSupportVersion = "3.0.0"
const SyncServerTimeVersion = "3.9.0"
@@ -547,6 +547,15 @@ type SDWANInfo struct {
Nodes []*SDWANNode
}
func (s *SDWANInfo) GetResourceByNodeName(nodeName string) string {
for _, node := range s.Nodes {
if node.Name == nodeName {
return node.Resource
}
}
return ""
}
const (
SDWANModeFullmesh = "fullmesh"
SDWANModeCentral = "central"