This was from a sequence of early attempts to work towards a new
application layer. I can give more reasoning behind it, but the bottom
line is that it's currently dead weight.
OK to remove this code again?
martijn@
Index: snmpd.h
===================================================================
RCS file: /cvs/src/usr.sbin/snmpd/snmpd.h,v
retrieving revision 1.102
diff -u -p -r1.102 snmpd.h
--- snmpd.h 19 Jan 2022 10:25:04 -0000 1.102
+++ snmpd.h 20 Jan 2022 13:38:28 -0000
@@ -403,8 +403,6 @@ struct snmp_message {
u_int8_t sm_data[READ_BUF_SIZE];
size_t sm_datalen;
- uint32_t sm_transactionid;
-
u_int sm_version;
/* V1, V2c */
@@ -441,11 +439,7 @@ struct snmp_message {
struct ber_element *sm_varbind;
struct ber_element *sm_varbindresp;
-
- RB_ENTRY(snmp_message) sm_entry;
};
-RB_HEAD(snmp_messages, snmp_message);
-extern struct snmp_messages snmp_messages;
/* Defined in SNMPv2-MIB.txt (RFC 3418) */
struct snmp_stats {
@@ -644,8 +638,6 @@ void snmpe(struct privsep *, struct pr
void snmpe_shutdown(void);
void snmpe_dispatchmsg(struct snmp_message *);
void snmpe_response(struct snmp_message *);
-int snmp_messagecmp(struct snmp_message *, struct snmp_message *);
-RB_PROTOTYPE(snmp_messages, snmp_message, sm_entry, snmp_messagecmp)
/* trap.c */
void trap_init(void);
Index: snmpe.c
===================================================================
RCS file: /cvs/src/usr.sbin/snmpd/snmpe.c,v
retrieving revision 1.82
diff -u -p -r1.82 snmpe.c
--- snmpe.c 19 Jan 2022 11:00:56 -0000 1.82
+++ snmpe.c 20 Jan 2022 13:38:28 -0000
@@ -58,8 +58,6 @@ int snmpe_encode(struct snmp_message *)
struct imsgev *iev_parent;
static const struct timeval snmpe_tcp_timeout = { 10, 0 }; /* 10s */
-struct snmp_messages snmp_messages = RB_INITIALIZER(&snmp_messages);
-
static struct privsep_proc procs[] = {
{ "parent", PROC_PARENT }
};
@@ -246,11 +244,6 @@ snmpe_parse(struct snmp_message *msg)
msg->sm_errstr = "invalid message";
- do {
- msg->sm_transactionid = arc4random();
- } while (msg->sm_transactionid == 0 ||
- RB_INSERT(snmp_messages, &snmp_messages, msg) != NULL);
-
if (ober_scanf_elements(root, "{ie", &ver, &a) != 0)
goto parsefail;
@@ -910,8 +903,6 @@ snmpe_response(struct snmp_message *msg)
void
snmp_msgfree(struct snmp_message *msg)
{
- if (msg->sm_transactionid != 0)
- RB_REMOVE(snmp_messages, &snmp_messages, msg);
event_del(&msg->sm_sockev);
ober_free(&msg->sm_ber);
if (msg->sm_req != NULL)
@@ -974,12 +965,3 @@ snmpe_encode(struct snmp_message *msg)
#endif
return 0;
}
-
-int
-snmp_messagecmp(struct snmp_message *m1, struct snmp_message *m2)
-{
- return (m1->sm_transactionid < m2->sm_transactionid ? -1 :
- m1->sm_transactionid > m2->sm_transactionid);
-}
-
-RB_GENERATE(snmp_messages, snmp_message, sm_entry, snmp_messagecmp)