From c11f047bc88406c25c52ff57d1062906a0aeff07 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Sun, 4 Dec 2011 12:38:43 +0100 Subject: Fix interpretation of vendor id in @grouped A value is required to be the same as any specified with @avp_vendor_id but otherwise the two locations are equivalent. Both possibilities are allowed since @avp_vendor_id is required for AVPs of types other than Grouped (modulo it not really needing to exist at all: see commit 943266c9) and since the grammar parsed in @grouped (from RFC 3588) allows it. --- lib/diameter/src/compiler/diameter_dict_util.erl | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib/diameter/src/compiler/diameter_dict_util.erl') diff --git a/lib/diameter/src/compiler/diameter_dict_util.erl b/lib/diameter/src/compiler/diameter_dict_util.erl index 09aab4eff4..2207925e49 100644 --- a/lib/diameter/src/compiler/diameter_dict_util.erl +++ b/lib/diameter/src/compiler/diameter_dict_util.erl @@ -907,6 +907,11 @@ avp_type_known(Type, Name, Line) -> orelse ?RETURN(avp_has_unknown_type, [Name, Line, Type]). %% vendor_id_mismatch/6 +%% +%% Require a vendor id specified on a group to match any specified +%% in @avp_vendor_id. Note that both locations for the value are +%% equivalent, both in the value being attributed to a locally +%% defined AVP and ignored when imported from another dictionary. vendor_id_mismatch({_,_,_}, false, Name, _, Line, DefLine) -> ?RETURN(grouped_vendor_id_without_flag, [Name, Line, DefLine]); -- cgit v1.2.3