查看源代码 SNMP 发行说明

SNMP 5.18

改进和新功能

  • Erlang/OTP 类型规范已更新,以消除重叠的域。

    内部 ID: OTP-19310 辅助 ID: GH-8810, GH-8821, PR-8986

SNMP 5.17

已修复的错误和故障

  • 现在可以为 erl, erlc, dialyzer 以及 Erlang/OTP 中包含的所有其他程序提供手册页。

    内部 ID: OTP-19201 辅助 ID: PR-8740

改进和新功能

  • 文档中的图表已得到改进。

    内部 ID: OTP-19130 辅助 ID: PR-7226

SNMP 5.16

改进和新功能

SNMP 5.15

改进和新功能

  • 使 snmp 在 Windows 上使用套接字后端处理 gen_udp(完成)。

    内部 ID: OTP-18598 辅助 ID: OTP-18029

SNMP 5.14

改进和新功能

  • 已修复实现,以便在适当的地方使用 proc_lib:init_fail/2,3,而不是 proc_lib:init_ack/1,2

    *潜在的不兼容性 *

    内部 ID: OTP-18490 辅助 ID: OTP-18471, GH-6339, PR-6843

SNMP 5.13.5

改进和新功能

  • 尝试在代理初始化失败期间最小化错误报告的数量。

    内部 ID: OTP-18422 辅助 ID: ERIERL-873

SNMP 5.13.4

改进和新功能

  • 将 size/1 替换为 tuple_size/1 或 byte_size/1

    size/1 BIF 未被 JIT 优化,其使用可能会导致 Dialyzer 的类型更差。

    当知道正在测试的值必须是元组时,应始终首选 tuple_size/1

    当知道正在测试的值必须是二进制文件时,应首选 byte_size/1。 但是,byte_size/1 也接受位字符串(将大小向上舍入为字节的整数倍),因此必须确保在调用 byte_size/ 之前调用 is_binary/1,以确保拒绝位字符串。 请注意,编译器会删除对 is_binary/1 的冗余调用,因此,如果不确定之前的代码是否已确保参数是二进制文件,则在调用 byte_size/1 之前添加 is_binary/1 测试并无害。

    内部 ID: OTP-18432 辅助 ID: GH-6672,PR-6793,PR-6784,PR-6787,PR-6785,PR-6682,PR-6800,PR-6797,PR-6798,PR-6799,PR-6796,PR-6813,PR-6671,PR-6673,PR-6684,PR-6694,GH-6677,PR-6696,PR-6670,PR-6674

SNMP 5.13.3

已修复的错误和故障

  • 当 vacm 表未正确初始化时,单线程代理崩溃。

    内部 ID: OTP-18379 辅助 ID: ERIERL-904

SNMP 5.13.2

已修复的错误和故障

  • 在终止(默认)net-if 进程时,显式关闭套接字。

    内部 ID: OTP-18352 辅助 ID: ERIERL-881

SNMP 5.13.1.1

已修复的错误和故障

  • 当 vacm 表未正确初始化时,单线程代理崩溃。

    内部 ID: OTP-18379 辅助 ID: ERIERL-904

SNMP 5.13.1

已修复的错误和故障

  • 改进了 get-bulk 响应最大大小的计算。现在可以配置“空 pdu 大小”,有关更多信息,请参见附录 c。

    内部 ID: OTP-17115 辅助 ID: ERIERL-456

  • 修复了各种示例 Dialyzer 问题

    内部 ID: OTP-18180 辅助 ID: ERIERL-837

SNMP 5.13

改进和新功能

  • configure 脚本的输入已调整为 autoconf 2.71。

    内部 ID: OTP-17414 辅助 ID: PR-4967

  • 删除了计划在 OTP-25 中删除的已弃用函数。还删除了出于向后兼容性原因而保留的“死”代码。

    内部 ID: OTP-17612

SNMP 5.12.0.3

改进和新功能

  • 尝试在代理初始化失败期间最小化错误报告的数量。

    内部 ID: OTP-18422 辅助 ID: ERIERL-873

SNMP 5.12.0.2

已修复的错误和故障

  • 当 vacm 表未正确初始化时,单线程代理崩溃。

    内部 ID: OTP-18379 辅助 ID: ERIERL-904

SNMP 5.12.0.1

已修复的错误和故障

  • 在终止(默认)net-if 进程时,显式关闭套接字。

    内部 ID: OTP-18352 辅助 ID: ERIERL-881

SNMP 5.12

已修复的错误和故障

  • 编译时间不再记录在 BEAM 文件中。仍然有几个尝试检索编译时间的未记录函数。这些函数现在已被删除。

    内部 ID: OTP-17962

改进和新功能

  • [agent] 删除对套接字是端口的期望。

    内部 ID: OTP-16559

SNMP 5.11

已修复的错误和故障

  • 在启动“空”时处理测试配置标志。

    内部 ID: OTP-17671

改进和新功能

  • 根据 RFC 7860,添加对新身份验证算法(SHA-224、SHA-256、SHA-384 和 SHA-512)的支持。

    内部 ID: OTP-17615 辅助 ID: MR9501-1

  • 改进 (snmp) 管理器的调试信息。

    内部 ID: OTP-17783

SNMP 5.10.1

已修复的错误和故障

  • 套接字受到监控,但是“DOWN”消息的处理需要新的套接字样式(“套接字”),旧样式(端口)未处理。

    内部 ID: OTP-17641 辅助 ID: OTP-17640

SNMP 5.10

改进和新功能

  • 现在可以配置内置 net-if 进程(代理和管理器)以使用新的 (gen_udp-) 选项“inet_backend”。

    内部 ID: OTP-17526

SNMP 5.9.1

已修复的错误和故障

  • 生成的 configure 脚本的提交。

    内部 ID: OTP-17420 辅助 ID: OTP-17398, GH-4821

SNMP 5.9

改进和新功能

  • 删除了标记为删除的已弃用函数。

    内部 ID: OTP-17049

  • 移除了 snmp 生成的文件中的时间戳,以实现确定性构建。

    内部 ID: OTP-17354

  • 修复了以下划线为前缀的变量的代码匹配中的警告。

    内部 ID: OTP-17385 辅助 ID: OTP-17123

SNMP 5.8.0.1

修复的错误和故障

  • 生成的 configure 脚本的提交。

    内部 ID: OTP-17420 辅助 ID: OTP-17398, GH-4821

SNMP 5.8

改进和新功能

  • 添加了获取已配置代理传输列表的功能。还改进了有关传输的代理信息。

    内部 ID: OTP-17109 辅助 ID: ERIERL-583

SNMP 5.7.3

修复的错误和故障

  • [管理器] 在处理 snmp 错误的功能中,未使用的结果 (_Error) 可能会导致匹配问题,从而导致案例子句运行时错误(崩溃)。请注意,这只会发生在非常不寻常的错误情况下。

    内部 ID: OTP-17161

SNMP 5.7.2

修复的错误和故障

  • [管理器] 拼写错误的 priv 协议(原子)导致无法通过函数调用更新 usmAesCfb128Protocol 的 usm 用户 'priv_key' 配置。

    内部 ID: OTP-17110 辅助 ID: ERIERL-586

SNMP 5.7.1

修复的错误和故障

  • 修复了 configure 脚本源中 AC_CONFIG_AUX_DIRS() 宏的用法。

    内部 ID: OTP-17093 辅助 ID: ERL-1447, PR-2948

SNMP 5.7

修复的错误和故障

  • 如果尝试在 IPv6 传输上发送 v1 陷阱,则可能导致主代理崩溃(如果代理不是多线程的)。

    内部 ID: OTP-16920 辅助 ID: OTP-16649

  • 一些已弃用的 MIB 编译器函数的弃用信息不正确。引用了 'snmpa' 模块中的函数,而不是 'snmpc' 中的函数。

    内部 ID: OTP-17056 辅助 ID: OTP-17049

改进和新功能

  • 使代理可以为请求-响应器和陷阱发送器配置单独的传输(套接字)。

    内部 ID: OTP-16649

  • MIB 服务器缓存处理已得到改进。首先,默认 gclimit 已从 100 更改为无穷大(以确保大小尽可能小)。此外,还优化了删除旧元素的方法。

    内部 ID: OTP-16989 辅助 ID: ERIERL-544

  • 现在可以配置代理,以便代理中按顺序处理传出的通知。当然,通知消息离开代理(已发送)后会发生什么仍然不在我们的控制范围内。

    内部 ID: OTP-17022 辅助 ID: ERIERL-492

  • 改进了对 udp_error 消息的处理。基本上是改进的错误/警告消息。

    内部 ID: OTP-17033

SNMP 5.6.1

修复的错误和故障

  • 对于代理,修复了使用 AES 隐私的 SNMPv3 USM 的 PrivParams,如 OTP_16541 中先前为管理器修复的那样。

    内部 ID: OTP-15130 辅助 ID: ERIERL-524, OTP-16541

  • SNMP 代理在一个奇怪的超时情况下错过了重新激活数据报接收,并且无法响应。此错误已修复。

    内部 ID: OTP-15767 辅助 ID: ERIERL-523

  • 示例 2 中已删除对已弃用函数的使用(不再有编译器警告)。

    内部 ID: OTP-16716

  • 已堵住文件描述符泄漏。调用 mib 的重新配置函数时,它会打开配置文件,但在成功读取后永远不会关闭它们。

    内部 ID: OTP-16760 辅助 ID: ERIERL-511

SNMP 5.6

修复的错误和故障

  • 对于管理器,修复了使用 AES 隐私的 SNMPv3 USM 的 PrivParams;在 `snmp_usm:do_decrypt/3` 中,将完整的 UsmSecParams 传递给 `snmp_usm:try_decrypt/5`,正如 AES 子句所期望的那样。更改 `snmpm_usm:aes_encrypt/3` 以使用 `snmpm_config:get_usm_eboots/1` 和 `snmpm_config:get_usm_etime/1` 缓存的 EngineBoots 和 EngineTime,而不是 `snmpm_config:get_engine_boots/0` 和 `snmpm_config:get_engine_time/0`。这确保在使用 AES 时发送正确的 msgPrivacyParameters。*添加测试 `snmp.snmp_manager_SUITE.usm_priv_aes/1` 以避免回归。

    内部 ID: OTP-16541 辅助 ID: #2544

  • (管理器)usm 配置条目生成器函数中的无效字符。

    内部 ID: OTP-16552 辅助 ID: ERL-1196

改进和新功能

  • 删除对 I/O 协议的旧请求的使用和文档。

    内部 ID: OTP-15695

  • 旧 Crypto API 中已弃用函数的调用将替换为其替换的调用。

    内部 ID: OTP-16346

  • 完成弃用。已经弃用的函数已设置“删除版本 24”,并将“新”函数添加到弃用函数列表中。

    内部 ID: OTP-16463

  • 重构了对已弃用和已删除函数的内部处理。

    内部 ID: OTP-16469

SNMP 5.5.0.5

修复的错误和故障

  • 生成的 configure 脚本的提交。

    内部 ID: OTP-17420 辅助 ID: OTP-17398, GH-4821

SNMP 5.5.0.4

改进和新功能

  • MIB 服务器缓存处理已得到改进。首先,默认 gclimit 已从 100 更改为无穷大(以确保大小尽可能小)。此外,还优化了删除旧元素的方法。

    内部 ID: OTP-16989 辅助 ID: ERIERL-544

  • 现在可以配置代理,以便代理中按顺序处理传出的通知。当然,通知消息离开代理(已发送)后会发生什么仍然不在我们的控制范围内。

    内部 ID: OTP-17022 辅助 ID: ERIERL-492

SNMP 5.5.0.3

修复的错误和故障

  • 对于代理,修复了使用 AES 隐私的 SNMPv3 USM 的 PrivParams,如 OTP_16541 中先前为管理器修复的那样。

    内部 ID: OTP-15130 辅助 ID: ERIERL-524, OTP-16541

SNMP 5.5.0.2

修复的错误和故障

  • SNMP 代理在一个奇怪的超时情况下错过了重新激活数据报接收,并且无法响应。此错误已修复。

    内部 ID: OTP-15767 辅助 ID: ERIERL-523

SNMP 5.5.0.1

修复的错误和故障

  • 已堵住文件描述符泄漏。调用 mib 的重新配置函数时,它会打开配置文件,但在成功读取后永远不会关闭它们。

    内部 ID: OTP-16760 辅助 ID: ERIERL-511

SNMP 5.5

改进和新功能

  • 添加了对 snmp 管理器 net-if 进程的简单监控。此外,还添加了一种强制重启 net-if 进程的方法。如果 net-if 进程因某种原因挂起,这可能会很有用。

    内部 ID: OTP-16447 辅助 ID: ERIERL-455, OTP-16382

  • 杂项文档更正

    内部 ID: OTP-16450

SNMP 5.4.5

改进和新功能

  • 现在可以在发送通知时删除选定的 varbind(从最终消息中)。这是通过将 varbind 列表的 varbind 中的“值”设置为“?NOTIFICATION_IGNORE_VB_VALUE”来完成的。

    内部 ID: OTP-16349 辅助 ID: ERIERL-444

  • 现在可以指定在发送通知时应“截断”一个 oid(删除末尾的“.0”)。

    内部 ID: OTP-16360 辅助 ID: ERIERL-451

SNMP 5.4.4

改进和新功能

  • [管理器] 回调在(新的)“临时”进程中执行,该进程执行回调调用然后退出。现在已将其设为可配置,以便还可以指定“永久”回调代理进程。然后,所有回调调用都将在此(永久)进程中(按顺序)执行。

    内部 ID: OTP-15947 辅助 ID: ERIERL-378

SNMP 5.4.3.1

改进和新功能

  • 现在可以在发送通知时删除选定的 varbind(从最终消息中)。这是通过将 varbind 列表的 varbind 中的“值”设置为“?NOTIFICATION_IGNORE_VB_VALUE”来完成的。

    内部 ID: OTP-16349 辅助 ID: ERIERL-444

  • 现在可以指定在发送通知时应“截断”一个 oid(删除末尾的“.0”)。

    内部 ID: OTP-16360 辅助 ID: ERIERL-451

SNMP 5.4.3

修复的错误和故障

  • 代理发现清理。如果没有 INFORM 的接收器,则 snmpa_net_if 中的 #state.reqs 将继续为 DISCOVERY 增长。

    内部 ID: OTP-16228 辅助 ID: ERIERL-427

SNMP 5.4.2

修复的错误和故障

  • 代理发现过程已使其与 snmptrapd 一起工作。

    内部 ID: OTP-16207 辅助 ID: ERIERL-427

SNMP 5.4.1

改进和新功能

  • 使得可以在 (gen_udp) 套接字打开调用中添加“额外的套接字选项”(对于管理器和代理)。新增了一个选项 extra_sock_opts,用户可以使用该选项添加一个额外的套接字选项列表,这些选项将附加到打开调用中的其他套接字选项。有关更多信息,请参阅 snmp 应用程序配置手册页 (erl -man 6 snmp) 或用户指南的“配置应用程序”章节。

    自身 ID:OTP-16092 辅助 ID:ERIERL-410

SNMP 5.4

已修复的错误和故障

  • 修复了与 Dialyzer 相关的各种小问题。这些问题主要是 dialyzer 警告,但也存在一些由 Dialyzer 检测到的小错误。

    自身 ID:OTP-15932

改进和新功能

  • 修复了 dialyzer 检测到的 dets 使用问题。

    自身 ID:OTP-10400 辅助 ID:kunagi-253 [164]

  • 函数 snmp:print_version_info() 打印各种版本信息。对于每个模块,都会打印多个项目,例如应用程序版本和 md5 摘要。并且还尝试打印“编译时间”。这过去在每个模块的 module_info 中可用,但现在已删除。

    自身 ID:OTP-15330

  • 已将已弃用的 random 模块替换为 rand 模块。

    自身 ID:OTP-15331

  • 删除了对已弃用的函数 erlang:get_stacktrace() 的使用。改为使用“catch Class:Error:Stacktrace”功能。

    自身 ID:OTP-15332

SNMP 5.3

改进和新功能

  • 应用程序 otp_mibs 已从 OTP 中删除。它的一些组件(mibs)已移动到其他应用程序(snmp),或已完全删除(os_mon)。

    自身 ID:OTP-14984 辅助 ID:OTP-15329

  • [snmp|agent] 添加一个 get 机制回调模块(以及相应的行为)。代理调用此模块来处理每个 get(get、get-next 和 get-bulk)请求。

    自身 ID:OTP-15691 辅助 ID:ERIERL-324

SNMP 5.2.12

已修复的错误和故障

  • 由于日志条目无效,(代理) 审核跟踪日志 (ATL) 的转换失败。

    由于 ATL 包含无效条目,转换在中途完全中止。转换已得到改进,因此现在首先处理遇到的错误并写入信息性消息(到转换后的流中),其次统计成功或失败的条目转换次数。有关更多信息,请参阅log_to_txt

    ATL 包含无效条目的原因也已修复。原因是对于某些传出消息(非响应)

    • 加密的 (v3 消息)

      按原样(加密)记录,没有解密信息,导致无法转换(这是日志包含错误条目的原因)。

    • 未加密的

      根本没有记录。

    自身 ID:OTP-15287 辅助 ID:ERIERL-206

  • [compiler]删除了多余的版本消息。如果提供了“version”选项,snmp mib 编译器会打印多余的版本消息。

    自身 ID:OTP-15290

SNMP 5.2.11.2

改进和新功能

  • [管理器] 回调在(新的)“临时”进程中执行,该进程执行回调调用然后退出。现在已将其设为可配置,以便还可以指定“永久”回调代理进程。然后,所有回调调用都将在此(永久)进程中(按顺序)执行。

    内部 ID: OTP-15947 辅助 ID: ERIERL-378

SNMP 5.2.11.1

改进和新功能

  • [snmp|agent] 添加一个 get 机制回调模块(以及相应的行为)。代理调用此模块来处理每个 get(get、get-next 和 get-bulk)请求。

    自身 ID:OTP-15691 辅助 ID:ERIERL-324

SNMP 5.2.11

已修复的错误和故障

  • Snmp MIB 编译器现在允许在使用 TEXTUAL-CONVENTION 类型之前定义它。

    自身 ID:OTP-14196 辅助 ID:ERIERL-161

SNMP 5.2.10

已修复的错误和故障

  • SNMP 应用程序中的示例 MIB EX1-MIB 已更正为与其示例匹配。

    自身 ID:OTP-14204 辅助 ID:PR-1726

SNMP 5.2.9

已修复的错误和故障

  • 删除了文档中所有旧的未使用文件。

    自身 ID:OTP-14475 辅助 ID:ERL-409, PR-1493

SNMP 5.2.8

已修复的错误和故障

  • 对于 SNMP 管理器,recbuf 配置选项未正确传播到套接字。

    自身 ID:OTP-13372 辅助 ID:ERIERL-73

SNMP 5.2.7

已修复的错误和故障

  • 已修复 SNMP MIB 编译器中的一个错误。引用 MIB 中稍后定义的表的 AUGMENTS 不起作用。

    自身 ID:OTP-13014 辅助 ID:ERL-375

SNMP 5.2.6

已修复的错误和故障

  • 内部代码更改:已将对 catch 的调用,后跟对 erlang:get_stacktrace/0 的调用重写为使用 try 而不是 catch,以使代码具有面向未来的特性。

    自身 ID:OTP-14400

SNMP 5.2.5

已修复的错误和故障

  • SNMP MIB 编译器已修复为可以编译对用户类型进行细化的 MIB,例如 RFC 4669 RADIUS-AUTH-SERVER-MIB.mib 中的情况。此问题由 Kenneth Lakin 和 Daniel Goertzen 报告并进行了研究。

    另请参阅:https://bugs.erlang.org/browse/ERL-325

    自身 ID:OTP-14145 辅助 ID:ERL-325

SNMP 5.2.4

已修复的错误和故障

  • 修复了当 mib 或 idl 规范文件的路径包含 UTF-8 字符时的错误。

    自身 ID:OTP-13718 辅助 ID:ERL-179

改进和新功能

  • 解决了 ERL-164 报告并由 PR-1100 解决的 snmp 配置字符串处理问题

    自身 ID:OTP-13706

SNMP 5.2.3

改进和新功能

  • 内部更改

    自身 ID:OTP-13551

SNMP 5.2.2

已修复的错误和故障

  • Snmp 代理现在可以正确处理 vacmViewTreeFamily 掩码。

    自身 ID:OTP-13264

SNMP 5.2.1

已修复的错误和故障

  • 小的文档修复

    自身 ID:OTP-13017

改进和新功能

  • 更新 imask(一和零的列表)的配置检查,以允许空列表。

    自身 ID:OTP-13101

SNMP 5.2

改进和新功能

  • 已更新应用程序资源文件中的运行时依赖项。

    自身 ID:OTP-12762

SNMP 5.1.2

已修复的错误和故障

  • 已更正 SNMP 代理中的一个错误;当使用命令行参数 -snmpa_fd 打开端口时,调用 gen_udp:open 时 Port 应为 0。

    已更正 SNMP 管理器中的一个错误;它不应该查看 -snmp_fd 命令行参数,而应该查看 -snmpm_fd。

    自身 ID:OTP-12669 辅助 ID:seq12841

改进和新功能

  • 改进了加密功能。

    自身 ID:OTP-12452

SNMP 开发工具包 5.1.1

5.1.1 版本支持从/到 5.1 版本的运行时代码替换。

改进和新功能

  • [compiler] 不允许细化 Opaque 类型。

    以前不允许使用 MIB 结构,例如“SYNTAX Opaque (SIZE(0..65535))”,有关示例,请参阅标准 ALARM-MIB

    自身 ID:OTP-12066

    辅助 ID:Seq 12669

已修复的错误和故障

-

不兼容性

-

SNMP 5.1

改进和新功能

  • SNMP 管理器已使用双栈 IPv4+IPv6 进行了增强,就像代理一样。文档现在也针对代理和管理器进行了更新。

    自身 ID:OTP-12108 辅助 ID:OTP-12020

SNMP 5.0

改进和新功能

  • SNMP 已得到改进以处理 IPv6。代理可以处理双栈 IPv4 + IPv6,但管理器尚未实现。文档也仍然滞后... 如果你执行编写自定义 net_if 模块等高级操作,则其接口已更改,但除此之外,SNMP 是向后兼容的。

    *潜在的不兼容性 *

    自身 ID:OTP-12020 辅助 ID:OTP-11518

-