aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/compiler/diameter_dict_util.erl
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2011-12-04 12:38:43 +0100
committerAnders Svensson <[email protected]>2011-12-05 11:10:59 +0100
commitc11f047bc88406c25c52ff57d1062906a0aeff07 (patch)
treeb1eab356488f53bbd8be1ec24302581c5e52f0ea /lib/diameter/src/compiler/diameter_dict_util.erl
parentf51fa7f2a67cfdcbf98edaa79db32c54e5ee4af0 (diff)
downloadotp-c11f047bc88406c25c52ff57d1062906a0aeff07.tar.gz
otp-c11f047bc88406c25c52ff57d1062906a0aeff07.tar.bz2
otp-c11f047bc88406c25c52ff57d1062906a0aeff07.zip
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.
Diffstat (limited to 'lib/diameter/src/compiler/diameter_dict_util.erl')
-rw-r--r--lib/diameter/src/compiler/diameter_dict_util.erl5
1 files changed, 5 insertions, 0 deletions
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]);