优化细节

This commit is contained in:
bjdgyc
2021-12-31 21:37:21 +08:00
parent 85e2ba0b0f
commit 684fea69d0
5 changed files with 56 additions and 31 deletions

View File

@@ -102,7 +102,23 @@ func addInitData() error {
return err
}
return sess.Commit()
err = sess.Commit()
if err != nil {
return err
}
g1 := Group{
Name: "ops",
AllowLan: true,
ClientDns: []ValData{{Val: "114.114.114.114"}},
RouteInclude: []ValData{{Val: All}},
}
err = SetGroup(&g1)
if err != nil {
return err
}
return nil
}
func CheckErrNotFound(err error) bool {

View File

@@ -12,6 +12,7 @@ import (
const (
Allow = "allow"
Deny = "deny"
All = "all"
)
type GroupLinkAcl struct {
@@ -65,25 +66,10 @@ func SetGroup(g *Group) error {
}
// 判断数据
clientDns := []ValData{}
for _, v := range g.ClientDns {
if v.Val != "" {
ip := net.ParseIP(v.Val)
if ip.String() != v.Val {
return errors.New("DNS IP 错误")
}
clientDns = append(clientDns, v)
}
}
if len(clientDns) == 0 {
return errors.New("必须设置一个DNS")
}
g.ClientDns = clientDns
routeInclude := []ValData{}
for _, v := range g.RouteInclude {
if v.Val != "" {
if v.Val == "all" {
if v.Val == All {
routeInclude = append(routeInclude, v)
continue
}
@@ -124,6 +110,24 @@ func SetGroup(g *Group) error {
}
g.LinkAcl = linkAcl
// DNS 判断
clientDns := []ValData{}
for _, v := range g.ClientDns {
if v.Val != "" {
ip := net.ParseIP(v.Val)
if ip.String() != v.Val {
return errors.New("DNS IP 错误")
}
clientDns = append(clientDns, v)
}
}
if len(routeInclude) == 0 || (len(routeInclude) == 1 && routeInclude[0].Val == "all") {
if len(clientDns) == 0 {
return errors.New("默认路由必须设置一个DNS")
}
}
g.ClientDns = clientDns
g.UpdatedAt = time.Now()
if g.Id > 0 {
err = Set(g)