summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHandingkang <[email protected]>2023-10-13 15:06:32 +0800
committerHandingkang <[email protected]>2023-10-13 15:06:32 +0800
commit13d850343d93275193f411a08ddc899deb802de0 (patch)
tree6b288a86f7e41375bc1b26869b9d148e533a7336
parent167539a7caf3eada8348007b08db2203a1d6852d (diff)
bug 修复
-rw-r--r--Dockerfile2
-rw-r--r--Ohmyfile2
-rw-r--r--plugin/v64dns/analyze/analyze.go13
-rw-r--r--plugin/v64dns/analyze/pb/requirements.txtbin420 -> 88 bytes
-rw-r--r--plugin/v64dns/setup.go3
-rw-r--r--plugin/v64dns/v64dns.go4
-rw-r--r--plugin/v64dns/v64dns_policy.go6
7 files changed, 15 insertions, 15 deletions
diff --git a/Dockerfile b/Dockerfile
index aa27f89..74cf0bf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -27,7 +27,7 @@ COPY plugin/v64dns/analyze/pb/requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt;\
mkdir config;\
mkdir data;\
- ln -s plugin/v64dns/analyze/data data;
+ ln -s plugin/v64dns/analyze/pb/data data;
# 不要使用ENTRYPOINT,否则CMD会被当作参数执行
CMD /bin/bash -c "source ./start.sh"
diff --git a/Ohmyfile b/Ohmyfile
index 1607061..2384f83 100644
--- a/Ohmyfile
+++ b/Ohmyfile
@@ -12,6 +12,6 @@
ip-embed
chain-mlen 4
# analyze neo4j http://localhost:7447 neo4j hdk19990815
- analyze neo4j neo4j_s://600c8c12.databases.neo4j.io:7687 neo4j 5PvtszWJ7ru4hyBTKO9mGnavOJETTGhJYQIeC5SzmPQ
+ analyze neo4j neo4j+s://600c8c12.databases.neo4j.io:7687 neo4j 5PvtszWJ7ru4hyBTKO9mGnavOJETTGhJYQIeC5SzmPQ
}
} \ No newline at end of file
diff --git a/plugin/v64dns/analyze/analyze.go b/plugin/v64dns/analyze/analyze.go
index f8d8e0f..cdeb8ab 100644
--- a/plugin/v64dns/analyze/analyze.go
+++ b/plugin/v64dns/analyze/analyze.go
@@ -28,8 +28,8 @@ var (
lck sync.Mutex
)
-func NewAnalyzer(gtype, guri, guser, gpass string) error {
- A = Analyzer{
+func NewAnalyzer(gtype, guri, guser, gpass string) (*Analyzer, error) {
+ B := Analyzer{
Graphtype: gtype,
Graphuri: guri,
GraphUser: guser,
@@ -37,13 +37,13 @@ func NewAnalyzer(gtype, guri, guser, gpass string) error {
IsA: true,
grpcClient: nil,
}
- conn, err := A.GetConn("127.0.0.1:56789")
+ conn, err := B.GetConn("127.0.0.1:56789")
if err != nil {
olog.Errorf("GetGrpcClient:%s", err.Error())
panic("error")
}
- A.grpcClient = pb.NewGrpcServiceClient(conn)
- return nil
+ B.grpcClient = pb.NewGrpcServiceClient(conn)
+ return &B, nil
}
func (a Analyzer) GetConn(target string) (*grpc.ClientConn, error) {
@@ -78,7 +78,6 @@ func newGrpcConn(target string) (*grpc.ClientConn, error) {
// 远程调用Python脚本方法
func (a Analyzer) Go2py(i []string) {
-
// 调用服务端函数
r, err := a.grpcClient.AnalyzeService(context.Background(), &pb.DnsChain{
Gtype: a.Graphtype,
@@ -88,10 +87,10 @@ func (a Analyzer) Go2py(i []string) {
Data: i,
})
if err != nil {
+ print(r)
olog.Errorf("调用解析链分析器代码失败: %s", err)
return
}
- print(r)
// 处理不成功则显示警告信息
if r.Res != "success" {
olog.Warning(r.Res)
diff --git a/plugin/v64dns/analyze/pb/requirements.txt b/plugin/v64dns/analyze/pb/requirements.txt
index fa3163f..cc5e89f 100644
--- a/plugin/v64dns/analyze/pb/requirements.txt
+++ b/plugin/v64dns/analyze/pb/requirements.txt
Binary files differ
diff --git a/plugin/v64dns/setup.go b/plugin/v64dns/setup.go
index fd27f91..6857c4f 100644
--- a/plugin/v64dns/setup.go
+++ b/plugin/v64dns/setup.go
@@ -79,10 +79,11 @@ func parseArg(c *caddy.Controller) (*V64dns, error) {
log.Error("analyze参数错误,请检查")
}
//创建Analyzer对象
- err := analyze.NewAnalyzer(args[0], args[1], args[2], args[3])
+ a, err := analyze.NewAnalyzer(args[0], args[1], args[2], args[3])
if err != nil {
return nil, err
}
+ v.a = a
}
}
break
diff --git a/plugin/v64dns/v64dns.go b/plugin/v64dns/v64dns.go
index 3458271..bfd7304 100644
--- a/plugin/v64dns/v64dns.go
+++ b/plugin/v64dns/v64dns.go
@@ -21,8 +21,8 @@ type V64dns struct {
ipv6NS string
V4NSAddr string
V6NSAddr string
- p Policy // 生成响应的策略
- a analyze.Analyzer // 分析器配置
+ p Policy // 生成响应的策略
+ a *analyze.Analyzer // 分析器配置
}
// ServeDNS
diff --git a/plugin/v64dns/v64dns_policy.go b/plugin/v64dns/v64dns_policy.go
index 2aa1871..c6edf02 100644
--- a/plugin/v64dns/v64dns_policy.go
+++ b/plugin/v64dns/v64dns_policy.go
@@ -109,14 +109,14 @@ func (v V64dns) ResponseCNAME(msg *dns.Msg, state request.Request) *dns.Msg {
dSlice := strings.Split(strings.ToLower(qname), ".")
if len(dSlice) > 4 {
// 将最近一次编码拆分开
- cList := strings.Split(dSlice[len(dSlice)-4], "-")
+ cList := strings.Split(dSlice[len(dSlice)-5], "-")
iaddr := ""
// 首部编码如果长度为4则为IPv6地址编码,否则为IPv4的
if len(cList[0]) == 4 {
- iaddr = strings.ReplaceAll(dSlice[len(dSlice)-4], "-", ":")
+ iaddr = strings.ReplaceAll(dSlice[len(dSlice)-5], "-", ":")
msg = v.SetAuthAdd(msg, state, 4)
} else {
- iaddr = strings.ReplaceAll(dSlice[len(dSlice)-4], "-", ".")
+ iaddr = strings.ReplaceAll(dSlice[len(dSlice)-5], "-", ".")
msg = v.SetAuthAdd(msg, state, 6)
}
iaddr = net.ParseIP(iaddr).String()