aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src/agent/snmpa_authentication_service.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/snmp/src/agent/snmpa_authentication_service.erl')
-rw-r--r--lib/snmp/src/agent/snmpa_authentication_service.erl57
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/snmp/src/agent/snmpa_authentication_service.erl b/lib/snmp/src/agent/snmpa_authentication_service.erl
new file mode 100644
index 0000000000..572fab7fbf
--- /dev/null
+++ b/lib/snmp/src/agent/snmpa_authentication_service.erl
@@ -0,0 +1,57 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+-module(snmpa_authentication_service).
+
+-export([behaviour_info/1]).
+
+behaviour_info(callbacks) ->
+ [{init_check_access, 2}];
+behaviour_info(_) ->
+ undefined.
+
+
+%%-----------------------------------------------------------------
+%% init_check_access(Pdu, ACMData)
+%% Pdu = #pdu
+%% ACMData = acm_data() = {community, Community, Address} |
+%% {v3, MsgID, SecModel, SecName, SecLevel,
+%% ContextEngineID, ContextName, SecData}
+%% Community = string()
+%% Address = ip() ++ udp() (list)
+%% MsgID = integer() <not used>
+%% SecModel = ?SEC_* (see snmp_types.hrl)
+%% SecName = string()
+%% SecLevel = ?'SnmpSecurityLevel_*' (see SNMP-FRAMEWORK-MIB.hrl)
+%% ContextEngineID = string() <not used>
+%% ContextName = string()
+%% SecData = <not used>
+%% Variable = snmpInBadCommunityNames |
+%% snmpInBadCommunityUses |
+%% snmpInASNParseErrs
+%% Reason = snmp_message_decoding |
+%% {bad_community_name, Address, Community}} |
+%% {invalid_access, Access, Op}
+%%
+%% Purpose: Called once for each Pdu. Returns a MibView
+%% which is later used for each variable in the pdu.
+%% The authenticationFailure trap is sent (maybe) when the auth.
+%% procedure evaluates to unauthentic,
+%%
+%% NOTE: This function is executed in the Master agents's context
+%%-----------------------------------------------------------------