ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken()
This test case reproduces a real-world PCO capture including a broken
PAP AuthenticationReq. It triggers some weird behavior in OsmoGGSN
1.3.0 where it would send duplicate IPCP repsonses and no PAP response.
Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c
Related: OS#3914
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index f2e6ac0..aa42759 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -471,6 +471,18 @@
lengthProtoID := ?,
protoIDContents := ?
}
+ template ProtocolElement ts_PCOelem_PAP_broken := {
+ protocolID := 'C023'O,
+ lengthProtoID := 60,
+ /* PPP Password Authentication Protocol containing incorrect Peer-Id-Length set to 4 (6-7 should be the valid one), see OS#3914. */
+ protoIDContents := '0100003c'O & '0444435338323700bc1c08087c1508083e00790000150808fd06000001000000000000000000000000000000000000000000000000000000'O
+ }
+ template ProtConfigOptions ts_PCO_PAP_IPv4_DNS modifies ts_PCO := {
+ protocols := {
+ ts_PCOelem_PAP_broken,
+ { protocolID := '8021'O, lengthProtoID := 16, protoIDContents := enc_IpcpPacket(valueof(ts_IPCP_ReqDNS)) }
+ }
+ }
template ProtConfigOptions tr_PCO_Contains(OCT2 prot_id) modifies tr_PCO := {
protocols := { *, tr_PCO_Proto(prot_id), * }
}