transaction: reject calls from unidentified subscribers

A valid subscriber is indespensible when allocating a new
transaction. Return NULL if no subscriber is supplied. This
will cause unidentified subscribers to be rejected.

Note: Under normal conditions, the problem does not occour,
but it is still possible that a misbehaving MS might trigger
the problem by sending a SETUP command before authenticating
the subscriber. (unencrypted networks)

Change-Id: Ia8739b6e329ab02c0064270d02ad1d6ee245520d
This commit is contained in:
Benoit Bolsee 2017-07-05 12:34:18 +02:00 committed by Neels Hofmeyr
parent b9d13bf227
commit e7cf5e7513
1 changed files with 7 additions and 0 deletions

View File

@ -88,6 +88,13 @@ struct gsm_trans *trans_alloc(struct gsm_network *net,
DEBUGP(DCC, "subscr=%p, net=%p\n", vsub, net);
/* a valid subscriber is indispensable */
if (vsub == NULL) {
LOGP(DCC, LOGL_NOTICE,
"unable to alloc transaction, invalid subscriber (NULL)\n");
return NULL;
}
trans = talloc_zero(tall_trans_ctx, struct gsm_trans);
if (!trans)
return NULL;