aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-15 05:29:35 +0300
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-15 05:29:47 +0300
commit21fd7db556ca857bd13612ebb4642b872e38ef80 (patch)
tree7871eddeba4174997958f4646b125f0f891e67c6
parent446edae4bc60b9b501f49838095e0c6abc97a250 (diff)
library/DIAMETER_Templates: fix flags in AIR templates
According to RFC 6733, section 3 "Diameter Header", if the 'R' bit is set, the message is a request. If the 'P' bit is set, the message may be proxied, relayed, or redirected. ts_DIA_AIR is a template for Authentication Information *Request*, so the 'R' bit must be set. Also, let's allow this message to be proxied, relayed, or redirected by setting the 'P' bit by default. In tr_DIA_AIR, do not match all command flags, just ensure that the message is a request. Other flags do not matter. Change-Id: I7db3b632189eed09c1bdf98f9d588491d928e2f5 Related: SYS#5602
-rw-r--r--library/DIAMETER_Templates.ttcn4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index a30a565b..1b3ffdba 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -891,7 +891,7 @@ ts_DIA_AIR(/* template (value) */ hexstring imsi,
template (value) charstring dest_realm := "localdomain",
template (value) UINT32 hbh_id := '00000000'O,
template (value) UINT32 ete_id := '00000000'O) :=
- ts_DIAMETER(flags := '00000000'B,
+ ts_DIAMETER(flags := '11000000'B,
cmd_code := Authentication_Information,
hbh_id := hbh_id,
ete_id := ete_id,
@@ -909,7 +909,7 @@ tr_DIA_AIR(/* template (present) */ hexstring imsi,
template (present) charstring dest_realm := ?,
template (present) UINT32 hbh_id := ?,
template (present) UINT32 ete_id := ?) :=
- tr_DIAMETER(flags := '11000000'B,
+ tr_DIAMETER(flags := '1???????'B,
cmd_code := Authentication_Information,
app_id := int2oct(c_DIAMETER_3GPP_S6_AID, 4),
hbh_id := hbh_id, ete_id := ete_id,