fix: 验收修正
This commit is contained in:
@@ -463,7 +463,7 @@ func trapShielded(e *Engine, addr *net.UDPAddr, trapOID string, pkt *gosnmp.Snmp
|
||||
if cidr := strings.TrimSpace(s.SourceIPCIDR); cidr != "" && !ipMatchesCIDR(ip, cidr) {
|
||||
continue
|
||||
}
|
||||
if p := strings.TrimSpace(s.OIDPrefix); p != "" && !strings.HasPrefix(normOID(trapOID), normOID(p)) {
|
||||
if len(s.OIDPrefixes) > 0 && !matchesTrapOIDPrefix(trapOID, s.OIDPrefixes) {
|
||||
continue
|
||||
}
|
||||
if h := strings.TrimSpace(s.InterfaceHint); h != "" && !strings.Contains(fp, h) {
|
||||
@@ -477,6 +477,16 @@ func trapShielded(e *Engine, addr *net.UDPAddr, trapOID string, pkt *gosnmp.Snmp
|
||||
return false
|
||||
}
|
||||
|
||||
func matchesTrapOIDPrefix(trapOID string, prefixes []string) bool {
|
||||
normalizedOID := normOID(trapOID)
|
||||
for _, prefix := range prefixes {
|
||||
if normalizedPrefix := normOID(prefix); normalizedPrefix != "" && strings.HasPrefix(normalizedOID, normalizedPrefix) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func lookupTrapDict(e *Engine, trapOID string) *models.TrapDictionaryEntry {
|
||||
t := normOID(trapOID)
|
||||
e.mu.RLock()
|
||||
|
||||
Reference in New Issue
Block a user