silent_call: remove unfinished fuzzer interface

Remove the fuzzer interface that was partially implemented in
gsm_04_08.c and silent_call.c is causing problems when an
SMS is sent during an active silent call. The reason for this
is that gsm0408_dispatch() in gsm_04_08.c would decide to
rout all uplink traffic to silent_call_rx() in silent_call.c.
silent_call_rx() is a stub function that discards the data.

This patch removes the fuzzer interface code by placing ifdefs
around it, so that it can be re-activated by experimentators.

Change-Id: Id500197d58663b3f4b1756136343670388b0a4bc
This commit is contained in:
Philipp Maier 2017-02-27 16:56:59 +01:00 committed by Harald Welte
parent acc6e8323a
commit e0d5caa916
3 changed files with 9 additions and 0 deletions

View File

@ -6,7 +6,10 @@ struct gsm_subscriber_connection;
extern int gsm_silent_call_start(struct gsm_subscriber *subscr,
void *data, int type);
extern int gsm_silent_call_stop(struct gsm_subscriber *subscr);
#if 0
extern int silent_call_rx(struct gsm_subscriber_connection *conn, struct msgb *msg);
extern int silent_call_reroute(struct gsm_subscriber_connection *conn, struct msgb *msg);
#endif
#endif /* _SILENT_CALL_H */

View File

@ -3958,8 +3958,10 @@ int gsm0408_dispatch(struct gsm_subscriber_connection *conn, struct msgb *msg)
OSMO_ASSERT(msg);
LOGP(DRLL, LOGL_DEBUG, "Dispatching 04.08 message, pdisc=%d\n", pdisc);
#if 0
if (silent_call_reroute(conn, msg))
return silent_call_rx(conn, msg);
#endif
switch (pdisc) {
case GSM48_PDISC_CC:

View File

@ -72,6 +72,7 @@ static int paging_cb_silent(unsigned int hooknum, unsigned int event,
return rc;
}
#if 0
/* receive a layer 3 message from a silent call */
int silent_call_rx(struct gsm_subscriber_connection *conn, struct msgb *msg)
{
@ -79,6 +80,7 @@ int silent_call_rx(struct gsm_subscriber_connection *conn, struct msgb *msg)
LOGP(DLSMS, LOGL_NOTICE, "Discarding L3 message from a silent call.\n");
return 0;
}
#endif
struct msg_match {
uint8_t pdisc;
@ -91,6 +93,7 @@ static const struct msg_match silent_call_accept[] = {
{ GSM48_PDISC_MM, GSM48_MT_MM_CM_SERV_REQ },
};
#if 0
/* decide if we need to reroute a message as part of a silent call */
int silent_call_reroute(struct gsm_subscriber_connection *conn, struct msgb *msg)
{
@ -114,6 +117,7 @@ int silent_call_reroute(struct gsm_subscriber_connection *conn, struct msgb *msg
LOGP(DLSMS, LOGL_INFO, "Rerouting L3 message from a silent call.\n");
return 1;
}
#endif
/* initiate a silent call with a given subscriber */