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), * }
 	}