mirror of
https://github.com/openp2p-cn/openp2p.git
synced 2026-06-10 14:16:11 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07836fc162 |
11
Changelog.md
11
Changelog.md
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user