Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
2651-snmp-Add-extra-socket-options-option.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2651-snmp-Add-extra-socket-options-option.patch of Package erlang
From 2bb67cbe361efbb1acc52fbcac83d8e809bea541 Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Mon, 23 Sep 2019 12:14:39 +0200 Subject: [PATCH 1/4] [snmp] Add 'extra socket options' option Make it possible for the user to add extra socket options used when creating the socket. These are used 'as is', with only a check that its actually a list. OTP-16092 --- lib/snmp/src/agent/snmpa_net_if.erl | 13 ++++++++++++- lib/snmp/src/manager/snmpm_net_if.erl | 10 +++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl index afed4482d2..58c01146be 100644 --- a/lib/snmp/src/agent/snmpa_net_if.erl +++ b/lib/snmp/src/agent/snmpa_net_if.erl @@ -1456,7 +1456,15 @@ socket_opts(Domain, {IpAddr, IpPort}, Opts) -> []; Sz -> [{sndbuf, Sz}] - end]. + end] ++ + case get_extra_sock_opts(Opts) of + ESO when is_list(ESO) -> + ESO; + BadESO -> + error_msg("Invalid 'extra socket options' (=> ignored):" + "~n ~p", [BadESO]), + [] + end. %% ---------------------------------------------------------------- @@ -1510,6 +1518,9 @@ get_no_reuse_address(Opts) -> get_bind_to_ip_address(Opts) -> snmp_misc:get_option(bind_to, Opts, false). +get_extra_sock_opts(Opts) -> + snmp_misc:get_option(extra_sock_opts, Opts, []). + %% ---------------------------------------------------------------- diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl index 184f782860..c2e5c6d2f0 100644 --- a/lib/snmp/src/manager/snmpm_net_if.erl +++ b/lib/snmp/src/manager/snmpm_net_if.erl @@ -372,7 +372,15 @@ common_socket_opts(Opts) -> [{reuseaddr, true}]; _ -> [] - end]. + end ++ + case get_opt(Opts, extra_sock_opts, []) of + ESO when is_list(ESO) -> + ESO; + BadESO -> + error_msg("Invalid 'extra socket options' (=> ignored):" + "~n ~p", [BadESO]), + [] + end]. create_filter(Opts) when is_list(Opts) -> -- 2.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor