From d9d8862a58702ba71b5194faa01ecf1eb234519c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 4 Aug 2017 00:22:35 +0200 Subject: Proper fix for "Force Dynamic IP" in Create PDP CTX An EUA length of *2* octets indicates dynamic IP address, while an EUA length of 0 is invalid. Let's fix this hack (which needs to finally be removed anyway). Change-Id: Ib1b57eb0654327882044d6862d955f4b32aa6bcd --- ggsn/ggsn.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ggsn') diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 4d07f11..168e907 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -173,7 +173,9 @@ int create_context_ind(struct pdp_t *pdp) DEBUGP(DGGSN, "Received create PDP context request\n"); - pdp->eua.l = 0; /* TODO: Indicates dynamic IP */ + /* FIXME: we manually force all context requests to dynamic here! */ + if (pdp->eua.l > 2) + pdp->eua.l = 2; memcpy(pdp->qos_neg0, pdp->qos_req0, sizeof(pdp->qos_req0)); memcpy(&pdp->pco_neg, &pco, sizeof(pdp->pco_neg)); -- cgit v1.2.3