aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiclas Eklund <[email protected]>2010-08-19 12:00:00 +0200
committerBjörn Gustavsson <[email protected]>2010-08-23 14:12:39 +0200
commit6c00708e21bccffff84595f714cf9c1003cc8916 (patch)
tree78db52866aff0049548a03a7077c094a71faa135
parentf31b34c4ebf66fb9226047dd1f3cb6fa81a2a6c9 (diff)
downloadotp-6c00708e21bccffff84595f714cf9c1003cc8916.tar.gz
otp-6c00708e21bccffff84595f714cf9c1003cc8916.tar.bz2
otp-6c00708e21bccffff84595f714cf9c1003cc8916.zip
snmp: Patch 1130
OTP-8761 When the function FilterMod:accept_recv/2 returned false the SNMP agent stopped collecting messages from UDP.
-rw-r--r--lib/snmp/doc/src/notes.xml32
-rw-r--r--lib/snmp/src/agent/snmpa_net_if.erl11
-rw-r--r--lib/snmp/src/app/snmp.appup.src24
-rw-r--r--lib/snmp/vsn.mk14
4 files changed, 64 insertions, 17 deletions
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index 3f4954cfbd..d5d6605b64 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -13,12 +13,12 @@
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.
-
+
</legalnotice>
<title>SNMP Release Notes</title>
@@ -33,6 +33,34 @@
</header>
<section>
+ <title>SNMP Development Toolkit 4.17.1</title>
+ <p>Version 4.17.1 supports code replacement in runtime from/to
+ version 4.17, 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
+
+ <section>
+ <title>Improvements and new features</title>
+ <p>-</p>
+ </section>
+
+ <section>
+ <title>Reported Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When the function FilterMod:accept_recv/2
+ returned false the SNMP agent stopped collecting messages from UDP.</p>
+ <p>Own Id: OTP-8761</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <p>-</p>
+ </section>
+ </section> <!-- 4.17.1 -->
+
+
+ <section>
<title>SNMP Development Toolkit 4.17</title>
<p>Version 4.17 supports code replacement in runtime from/to
version 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl
index 3a91cf4033..97a7a63dee 100644
--- a/lib/snmp/src/agent/snmpa_net_if.erl
+++ b/lib/snmp/src/agent/snmpa_net_if.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
+%%
%% Copyright Ericsson AB 2004-2010. 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_net_if).
@@ -478,12 +478,13 @@ update_req_counter_outgoing(#state{limit = Limit, rcnt = RCnt} = S,
S#state{rcnt = NewRCnt}.
-maybe_handle_recv(#state{filter = FilterMod} = S,
+maybe_handle_recv(#state{usock = Sock, filter = FilterMod} = S,
Ip, Port, Packet) ->
case (catch FilterMod:accept_recv(Ip, Port)) of
false ->
%% Drop the received packet
inc(netIfMsgInDrops),
+ active_once(Sock),
S;
_ ->
handle_recv(S, Ip, Port, Packet)
diff --git a/lib/snmp/src/app/snmp.appup.src b/lib/snmp/src/app/snmp.appup.src
index 9ad16ffad2..2bd26e11db 100644
--- a/lib/snmp/src/app/snmp.appup.src
+++ b/lib/snmp/src/app/snmp.appup.src
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
+%%
%% Copyright Ericsson AB 1999-2010. 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%
%%
@@ -22,6 +22,11 @@
%% ----- U p g r a d e -------------------------------------------------------
[
+ {"4.17",
+ [
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []}
+ ]
+ },
{"4.16.2",
[
{load_module, snmp_log, soft_purge, soft_purge, []},
@@ -29,6 +34,7 @@
{load_module, snmpa_mpd, soft_purge, soft_purge, [snmpa_usm]},
{load_module, snmpa_usm, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []}
]
@@ -44,6 +50,7 @@
{load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
{update, snmpa_mib, soft, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, [snmpa_mib]},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge, []}
@@ -61,6 +68,7 @@
{load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
{update, snmpa_mib, soft, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, [snmpa_mib]},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []},
{update, snmpm_net_if, soft, soft_purge, soft_purge, []},
@@ -149,6 +157,11 @@
%% ------D o w n g r a d e ---------------------------------------------------
[
+ {"4.17",
+ [
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []}
+ ]
+ },
{"4.16.2",
[
{load_module, snmp_log, soft_purge, soft_purge, []},
@@ -157,6 +170,7 @@
{load_module, snmpa_mpd, soft_purge, soft_purge, [snmpa_usm]},
{load_module, snmpa_usm, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []}
]
@@ -172,6 +186,7 @@
{load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
{update, snmpa_mib, soft, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, [snmpa_mib]},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge, []}
@@ -189,6 +204,7 @@
{load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
{update, snmpa_mib, soft, soft_purge, soft_purge, []},
{update, snmpa_agent, soft, soft_purge, soft_purge, [snmpa_mib]},
+ {load_module, snmpa_net_if, soft_purge, soft_purge, []},
{load_module, snmpm_mpd, soft_purge, soft_purge, []},
{update, snmpm_net_if, soft, soft_purge, soft_purge, []},
diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk
index 4ca1fb7901..b0deb20a9d 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -1,27 +1,29 @@
#-*-makefile-*- ; force emacs to enter makefile-mode
# %CopyrightBegin%
-#
+#
# Copyright Ericsson AB 1997-2010. 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%
-SNMP_VSN = 4.17
+SNMP_VSN = 4.17.1
PRE_VSN =
APP_VSN = "snmp-$(SNMP_VSN)$(PRE_VSN)"
-TICKETS = OTP-8478
+TICKETS = OTP-8761
+
+TICKETS_4_17 = OTP-8478
TICKETS_4_16_2 = \
OTP-8563 \