feat: mml补充UDM特殊命令处理

This commit is contained in:
TsMask
2025-04-10 21:15:58 +08:00
parent 704ca75059
commit 8910008e92
3 changed files with 29 additions and 13 deletions

View File

@@ -101,7 +101,7 @@ func PostMML2ToNF(w http.ResponseWriter, r *http.Request) {
buf := make([]byte, BUFFER_SIZE)
var n int
var mmlResult []string
hostMML := fmt.Sprintf("%s:%d", telnetHost.Addr, telnetHost.Port)
hostMML := net.JoinHostPort(telnetHost.Addr, fmt.Sprintf("%d", telnetHost.Port))
conn, err := net.Dial("tcp", hostMML)
if err != nil {
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
@@ -345,7 +345,7 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
// log.Debug(string(buf[0:n]))
for _, mml := range mmlRequest.MML {
hostMML := fmt.Sprintf("%s:%d", telnetHost.Addr, telnetHost.Port)
hostMML := net.JoinHostPort(telnetHost.Addr, fmt.Sprintf("%d", telnetHost.Port))
conn, err := net.Dial("tcp", hostMML)
if err != nil {
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
@@ -410,7 +410,7 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
// mmlResult = append(mmlResult, "COMMAND OK\n")
}
case "ims":
hostMML := fmt.Sprintf("%s:%d", telnetHost.Addr, telnetHost.Port)
hostMML := net.JoinHostPort(telnetHost.Addr, fmt.Sprintf("%d", telnetHost.Port))
conn, err := net.Dial("tcp", hostMML)
if err != nil {
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
@@ -529,7 +529,7 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
mmlResult = append(mmlResult, result)
}
default:
hostMML := fmt.Sprintf("%s:%d", telnetHost.Addr, telnetHost.Port)
hostMML := net.JoinHostPort(telnetHost.Addr, fmt.Sprintf("%d", telnetHost.Port))
conn, err := net.Dial("tcp", hostMML)
if err != nil {
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
@@ -616,6 +616,16 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
result := re1.ReplaceAllString(string(buf[0:n-len(neType)-2]), "")
result = re2.ReplaceAllString(result, "")
mmlResult = append(mmlResult, result)
// UDM 特殊命令处理
if neType == "UDM" && mml == "dec key" {
output, err := neService.NewNeInfo.NeRunSSHCmd(neInfo.NeType, neInfo.NeId, "cat /usr/local/etc/udm/ueKeyProfile.tmp")
if err != nil {
mmlResult = append(mmlResult, err.Error())
} else {
mmlResult = append(mmlResult, output)
}
}
}
}