Skip to content

Commit a708e55

Browse files
Merge pull request #27 from jwillikers/feature/authentication-enhancements-doc
Add additional SHA authentication algorithms
2 parents c97385c + 2b5351d commit a708e55

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ make install
5959
-s|--speed override speed detection with this value (bits per sec)
6060
-x|--trim cut this number of characters from the start of interface descriptions
6161
Useful for nortel switches
62-
-j|--auth-proto SNMPv3 Auth Protocol (SHA|MD5)
62+
-j|--auth-proto SNMPv3 Auth Protocol (SHA|SHA-224|SHA-256|SHA-384|SHA-512|MD5)
6363
-J|--auth-phrase SNMPv3 Auth Phrase
6464
-k|--priv-proto SNMPv3 Privacy Protocol (AES|DES) (optional)
6565
-K|--priv-phrase SNMPv3 Privacy Phrase

check_interfaces.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1477,7 +1477,7 @@ int usage(char *progname) {
14771477
printf("%s%s", i ? "," : "", modes[i]);
14781478
}
14791479
printf(")\n");
1480-
printf(" -j|--auth-proto\tSNMPv3 Auth Protocol (SHA|MD5)\n");
1480+
printf(" -j|--auth-proto\tSNMPv3 Auth Protocol (SHA|SHA-224|SHA-256|SHA-384|SHA-512|MD5)\n");
14811481
printf(" -J|--auth-phrase\tSNMPv3 Auth Phrase\n");
14821482
#ifdef usmDESPrivProtocol
14831483
printf(

snmp_bulkget.c

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,16 @@
4848
*
4949
*/
5050

51+
#include <net-snmp/net-snmp-config.h>
52+
5153
/* asprintf and getopt_long */
5254
#ifndef _GNU_SOURCE
5355
#define _GNU_SOURCE
56+
#include <net-snmp/library/transform_oids.h>
5457
#endif
5558
#include <stdio.h>
5659

5760
#include <limits.h>
58-
#include <net-snmp/net-snmp-config.h>
5961
#include <stdarg.h>
6062
#include <string.h>
6163
#include <unistd.h>
@@ -227,6 +229,22 @@ netsnmp_session *start_session_v3(netsnmp_session *session, char *user,
227229
session->securityAuthProto = snmp_duplicate_objid(
228230
usmHMACSHA1AuthProtocol, USM_AUTH_PROTO_SHA_LEN);
229231
session->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN;
232+
} else if (!strcmp(auth_proto, "SHA-224")) {
233+
session->securityAuthProto = snmp_duplicate_objid(
234+
usmHMAC128SHA224AuthProtocol, USM_AUTH_PROTO_SHA_LEN);
235+
session->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN;
236+
} else if (!strcmp(auth_proto, "SHA-256")) {
237+
session->securityAuthProto = snmp_duplicate_objid(
238+
usmHMAC192SHA256AuthProtocol, USM_AUTH_PROTO_SHA_LEN);
239+
session->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN;
240+
} else if (!strcmp(auth_proto, "SHA-384")) {
241+
session->securityAuthProto = snmp_duplicate_objid(
242+
usmHMAC256SHA384AuthProtocol, USM_AUTH_PROTO_SHA_LEN);
243+
session->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN;
244+
} else if (!strcmp(auth_proto, "SHA-512")) {
245+
session->securityAuthProto = snmp_duplicate_objid(
246+
usmHMAC384SHA512AuthProtocol, USM_AUTH_PROTO_SHA_LEN);
247+
session->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN;
230248
} else if (!strcmp(auth_proto, "MD5")) {
231249
session->securityAuthProto = snmp_duplicate_objid(
232250
usmHMACMD5AuthProtocol, USM_AUTH_PROTO_MD5_LEN);

0 commit comments

Comments
 (0)