Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
0978-fix-pick_peer-for-diameter_packet.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0978-fix-pick_peer-for-diameter_packet.patch of Package erlang
From 816a68bbd237366275771693b4999b53600edb9f Mon Sep 17 00:00:00 2001 From: Anupama Singh <anupamasingh31@gmail.com> Date: Mon, 8 Apr 2024 05:31:07 +0000 Subject: [PATCH] fix pick_peer for diameter_packet --- lib/diameter/src/base/diameter_traffic.erl | 6 ++++++ lib/diameter/test/diameter_traffic_SUITE.erl | 21 +++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl index 110fdcafb0..c93af06935 100644 --- a/lib/diameter/src/base/diameter_traffic.erl +++ b/lib/diameter/src/base/diameter_traffic.erl @@ -1785,6 +1785,12 @@ pick_peer(SvcName, CallOpts) -> pick_peer(SvcName, App, Msg, CallOpts#options{extra = []}); +pick_peer(SvcName, + App, + #diameter_packet{msg = Msg}, + CallOpts) -> + pick_peer(SvcName, App, Msg, CallOpts#options{extra = []}); + pick_peer(_, _, undefined, _) -> {error, no_connection}; diff --git a/lib/diameter/test/diameter_traffic_SUITE.erl b/lib/diameter/test/diameter_traffic_SUITE.erl index ac1d8c35fa..4a626adf0b 100644 --- a/lib/diameter/test/diameter_traffic_SUITE.erl +++ b/lib/diameter/test/diameter_traffic_SUITE.erl @@ -80,6 +80,7 @@ send_destination_4/1, send_destination_5/1, send_destination_6/1, + send_destination_7/1, send_bad_option_1/1, send_bad_option_2/1, send_bad_filter_1/1, @@ -952,6 +953,25 @@ send_destination_6(Config) -> ?answer_message(?UNABLE_TO_DELIVER) = call(Config, Req). +%% Send unknown host in diameter_packet with filtering and expect error. +send_destination_7(Config) -> + #group{client_service = CN, + client_dict = Dict0} + = group(Config), + Name = proplists:get_value(testcase, Config), + Svc = ?util:unique_string(), + SN = [$S | Svc], + Req = + #diameter_packet{msg = ['STR' | + #{'Termination-Cause' => ?LOGOUT, + 'Destination-Host' => [?HOST(SN, ?REALM)]}]}, + {error, no_connection} = + diameter:call(CN, + Dict0, + Req, + [{extra, [Name, diameter_lib:now()]}, + {filter, {all, [host, realm]}}]). + %% Specify an invalid option and expect failure. send_bad_option_1(Config) -> send_bad_option(Config, x). @@ -1236,7 +1256,6 @@ id(Id, {Pid, _Caps}, SvcName) -> lists:member({id, Id}, Opts). %% prepare_request/6-7 - prepare_request(_Pkt, [$C|_], {_Ref, _Caps}, _, send_discard, _) -> {discard, unprepared}; -- 2.35.3
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