I was trying to build net-snmp 5.6.1 from source using our build-system for embedded BSPs called PTXdist. After selecting the options, configure is run with these options (notably no OPENSSL and no MD5):
pkg_deprecated_autoconf="--prefix=/usr --sysconfdir=/etc --host=arm-v5te-linux-gnueabi --build=x86_64-host-linux-gnu --with-defaults --disable-manuals --with-mib-modules="" --with-mibs="" --with-logfile=/var/log/snmpd.log --with-persistent-directory=/var/net-snmp --with-default-snmp-version=3 --enable-shared --disable-embedded-perl --without-perl-modules --disable-static --with-endianness=little --enable-mini-agent --enable-agent --enable-applications --enable-scripts --enable-mibs --enable-mib-loading --disable-snmpv1 --enable-snmpv2c --disable-des --disable-md5 --disable-snmptrapd-subagent --disable-ipv6 --disable-local-smux --disable-debugging --disable-developer --disable-privacy --disable-internal-md5 --disable-agentx-dom-sock-only --disable-mib-config-checking --disable-mfd-rewrites --disable-testing-code --disable-reentrant --disable-embedded-perl --disable-ucd-snmp-compatibility"
That generates the following build-error:
keytools.c: In function 'generate_Ku':
keytools.c:156: error: 'usmHMACMD5AuthProtocol' undeclared (first use in this function)
Glimpsing at the code, I see a DISABLE_MD5-case for the USE_OPENSSL-path, so I'd guess something similar is just missing for the INTERNAL_CRYPTO-path? The build works fine if I enable MD5.
Thanks for the bug report!
We've fixed the problem in the 5.6.x code branch
and the main development tree, so it should be
fixed in future releases of the Net-SNMP package.
SVN revision 20437
Note that a similar tweak is also needed in snmplib/scapi.c