hc
2024-03-25 edb30157bad0c0001c32b854271ace01d3b9a16a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
From 2a0fe384eec254643ca2176ccfcbbd036a5aad06 Mon Sep 17 00:00:00 2001
From: Luca Ceresoli <luca@lucaceresoli.net>
Date: Tue, 14 Jul 2020 10:30:10 +0200
Subject: [PATCH] Fix build when SNMPv3 is disabled
 
agentpp has ifdefs to disable v3 code when SNMPv3 is disabled. However it
is missing one and it has a few ones in excess. Fix them.
 
Upstream is aware, says "will fix in later version", but thinks to make v3
mandatory. See discussion at
https://forum.snmp.app/t/agent-compile-fails-if-snmp-has-disable-snmpv3/326
 
Upstream status: none, upstream is not welcoming contributions.
 
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
---
 include/agent_pp/notification_log_mib.h    | 4 ++--
 include/agent_pp/notification_originator.h | 2 ++
 include/agent_pp/snmp_community_mib.h      | 4 ++--
 src/notification_originator.cpp            | 2 ++
 4 files changed, 8 insertions(+), 4 deletions(-)
 
diff --git a/include/agent_pp/notification_log_mib.h b/include/agent_pp/notification_log_mib.h
index ddac05e515d9..8fd8cfec32ca 100644
--- a/include/agent_pp/notification_log_mib.h
+++ b/include/agent_pp/notification_log_mib.h
@@ -22,7 +22,7 @@
 
 //--AgentGen BEGIN=_BEGIN
 #include <agent_pp/agent++.h>
-#ifdef _SNMPv3
+// #ifdef _SNMPv3 // This file deos not look SNMPv3-specific
 #include <agent_pp/mib_complex_entry.h>
 //--AgentGen END
 
@@ -688,6 +688,6 @@ protected:
  */
 
 
-#endif
+// #endif // _SNMPv3
 
 
diff --git a/include/agent_pp/notification_originator.h b/include/agent_pp/notification_originator.h
index 95e8b4e1836d..6f50cd52625b 100644
--- a/include/agent_pp/notification_originator.h
+++ b/include/agent_pp/notification_originator.h
@@ -307,7 +307,9 @@ class AGENTPP_DECL NotificationOriginator: public NotificationSender {
          */
         virtual nlmLogEntry* get_nlm_log_entry();
                 
+#ifdef _SNMPv3
         virtual v3MP* get_v3mp();
+#endif
 
  protected:
      
diff --git a/include/agent_pp/snmp_community_mib.h b/include/agent_pp/snmp_community_mib.h
index 7d5c4558f36d..d9eb2b4a87ec 100644
--- a/include/agent_pp/snmp_community_mib.h
+++ b/include/agent_pp/snmp_community_mib.h
@@ -49,7 +49,7 @@ namespace Agentpp {
 #define oidSnmpTrapAddress               "1.3.6.1.6.3.18.1.3.0"
 #define oidSnmpTrapCommunity             "1.3.6.1.6.3.18.1.4.0"
 
-#ifdef _SNMPv3
+// #ifdef _SNMPv3 // This file deos not look SNMPv3-specific
 
 /**
  *  snmpCommunityName
@@ -346,7 +346,7 @@ class AGENTPP_DECL snmp_community_mib: public MibGroup
     static void               add_public();
     static void               add_public(Mib* mib);
 };
-#endif
+// #endif // _SNMPv3
 
 #ifdef AGENTPP_NAMESPACE
 }
diff --git a/src/notification_originator.cpp b/src/notification_originator.cpp
index d7d566869998..39ddbe08cdeb 100644
--- a/src/notification_originator.cpp
+++ b/src/notification_originator.cpp
@@ -237,6 +237,7 @@ nlmLogEntry* NotificationOriginator::get_nlm_log_entry() {
     return nlmLogEntry::instance;
 }
 
+#ifdef _SNMPv3
 v3MP* NotificationOriginator::get_v3mp() {
     if (mib) {
         return mib->get_request_list()->get_v3mp();
@@ -244,6 +245,7 @@ v3MP* NotificationOriginator::get_v3mp() {
         return v3MP::I;
     }
 }
+#endif
 
 
 bool NotificationOriginator::check_access(ListCursor<MibTableRow>& cur,
-- 
2.27.0