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

