This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git
commit bc279b5e514a893ff127391188d14fc73d93f980 Author: exceptionfactory <[email protected]> AuthorDate: Tue Oct 29 15:24:09 2024 -0500 NIFI-13946 Fixed SNMP Integration Test Failures This closes #9469 - Set 0.0.0.0 as listen address for ListenTrapSNMP - Removed SHA and MD5 protocols for SNMP Version 3 Signed-off-by: Joseph Witt <[email protected]> --- .../nifi/snmp/factory/core/SNMPManagerFactory.java | 7 +++++- .../configurations/SNMPV3ConfigurationFactory.java | 2 +- .../nifi/snmp/testagents/TestSNMPV3Agent.java | 28 ++++------------------ 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/factory/core/SNMPManagerFactory.java b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/factory/core/SNMPManagerFactory.java index 84262a3bb4..406cd86813 100644 --- a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/factory/core/SNMPManagerFactory.java +++ b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/factory/core/SNMPManagerFactory.java @@ -23,14 +23,19 @@ import org.snmp4j.smi.UdpAddress; import org.snmp4j.transport.DefaultUdpTransportMapping; import java.io.IOException; +import java.net.InetAddress; public class SNMPManagerFactory { + private static final String ALL_ADDRESSES = "0.0.0.0"; + public Snmp createSnmpManagerInstance(final SNMPConfiguration configuration) { final int port = configuration.getManagerPort(); final Snmp snmpManager; try { - final DefaultUdpTransportMapping transportMapping = new DefaultUdpTransportMapping(new UdpAddress(port)); + final InetAddress listenAddress = InetAddress.getByName(ALL_ADDRESSES); + final UdpAddress udpAddress = new UdpAddress(listenAddress, port); + final DefaultUdpTransportMapping transportMapping = new DefaultUdpTransportMapping(udpAddress); snmpManager = new Snmp(transportMapping); snmpManager.listen(); } catch (IOException e) { diff --git a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/helper/configurations/SNMPV3ConfigurationFactory.java b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/helper/configurations/SNMPV3ConfigurationFactory.java index 8e38df7ec4..dbda33ad98 100644 --- a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/helper/configurations/SNMPV3ConfigurationFactory.java +++ b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/helper/configurations/SNMPV3ConfigurationFactory.java @@ -24,7 +24,7 @@ public class SNMPV3ConfigurationFactory implements SNMPConfigurationFactory { // V3 security (users are set in test agents) public static final String SECURITY_LEVEL = "authPriv"; public static final String SECURITY_NAME = "SHAAES128"; - public static final String AUTH_PROTOCOL = "SHA"; + public static final String AUTH_PROTOCOL = "HMAC384SHA512"; public static final String AUTH_PASSPHRASE = "SHAAES128AuthPassphrase"; public static final String PRIV_PROTOCOL = "AES128"; public static final String PRIV_PASSPHRASE = "SHAAES128PrivPassphrase"; diff --git a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/testagents/TestSNMPV3Agent.java b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/testagents/TestSNMPV3Agent.java index 71ba1091ad..ae704c0195 100644 --- a/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/testagents/TestSNMPV3Agent.java +++ b/nifi-extension-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/testagents/TestSNMPV3Agent.java @@ -21,10 +21,8 @@ import org.snmp4j.agent.mo.snmp.StorageType; import org.snmp4j.agent.mo.snmp.VacmMIB; import org.snmp4j.agent.security.MutableVACM; import org.snmp4j.mp.MPv3; -import org.snmp4j.security.AuthMD5; -import org.snmp4j.security.AuthSHA; +import org.snmp4j.security.AuthHMAC384SHA512; import org.snmp4j.security.PrivAES128; -import org.snmp4j.security.PrivDES; import org.snmp4j.security.SecurityLevel; import org.snmp4j.security.SecurityModel; import org.snmp4j.security.USM; @@ -44,30 +42,12 @@ public class TestSNMPV3Agent extends TestAgent { @Override protected void addUsmUser(final USM usm) { - UsmUser user = new UsmUser(new OctetString("SHA"), - AuthSHA.ID, - new OctetString("SHAAuthPassword"), - null, - null); - usm.addUser(user.getSecurityName(), usm.getLocalEngineID(), user); - user = new UsmUser(new OctetString("SHADES"), - AuthSHA.ID, - new OctetString("SHADESAuthPassword"), - PrivDES.ID, - new OctetString("SHADESPrivPassword")); - usm.addUser(user.getSecurityName(), usm.getLocalEngineID(), user); - user = new UsmUser(new OctetString("MD5DES"), - AuthMD5.ID, - new OctetString("MD5DESAuthPassword"), - PrivDES.ID, - new OctetString("MD5DESPrivPassword")); - usm.addUser(user.getSecurityName(), usm.getLocalEngineID(), user); - user = new UsmUser(new OctetString("SHAAES128"), - AuthSHA.ID, + UsmUser user = new UsmUser(new OctetString("HMAC384SHA512"), + AuthHMAC384SHA512.ID, new OctetString("SHAAES128AuthPassword"), PrivAES128.ID, new OctetString("SHAAES128PrivPassword")); - usm.addUser(user.getSecurityName(), usm.getLocalEngineID(), user); + usm.addUser(user); } @Override
