osmo-msc/src/libmsc
Vadim Yanitskiy b380a8c938 libmsc/gsm_04_08.c: refactor CM Service Request parsing
In gsm48_rx_mm_serv_req() we need to make sure that a given message
buffer is large enough to contain both 'gsm48_hdr' and
'gsm48_service_request' structures.

Comparing msg->data_len with size of pointer if wrong because:

  - we actually need to compare with size of struct(s),
  - we need msgb_l3len(), not length of the whole buffer.

Moreover, since we have to use the pointer arithmetics in order
to keep backwards compatibility with Phase1 phones, we also
need to check the length of both Classmark2 and MI IEs.

Change-Id: I6e7454d7a6f63fd5a0e12fb90d8c58688da0951e
2019-05-12 10:35:18 +00:00
..
Makefile.am large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
call_leg.c call_leg: document the parent_event_* items 2019-05-10 07:13:53 +00:00
cell_id_list.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
ctrl_commands.c vlr_subscr: use osmo_use_count 2019-04-12 02:15:25 +02:00
db.c libmsc/db.c: print info about database name and libdbi version 2019-04-25 21:24:19 +02:00
e_link.c GSUP: include terminating nul in inter-MSC source/destination name 2019-05-08 17:02:32 +02:00
gsm_04_08.c libmsc/gsm_04_08.c: refactor CM Service Request parsing 2019-05-12 10:35:18 +00:00
gsm_04_08_cc.c fix regression: fix internal MNCC operation 2019-05-09 01:23:09 +02:00
gsm_04_11.c libmsc/gsm_04_11.c: cosmetic: restructure gsm411_mm_send() 2019-05-12 04:17:45 +07:00
gsm_04_11_gsup.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
gsm_04_14.c rename bscconfig.h to config.h, cleanup 2019-05-08 17:02:32 +02:00
gsm_04_80.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
gsm_09_11.c add DSS logging category 2019-05-12 10:32:42 +00:00
gsup_client_mux.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
mncc.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
mncc_builtin.c fix regression: fix internal MNCC operation 2019-05-09 01:23:09 +02:00
mncc_call.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
mncc_sock.c fix regression: fix internal MNCC operation 2019-05-09 01:23:09 +02:00
msc_a.c silence error messages about HANDOVER_END not permitted 2019-05-12 10:33:20 +00:00
msc_a_remote.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
msc_ho.c no HO call forwarding if no RTP stream 2019-05-10 07:04:50 +00:00
msc_i.c call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED 2019-05-10 07:13:41 +00:00
msc_i_remote.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
msc_net_init.c rename bscconfig.h to config.h, cleanup 2019-05-08 17:02:32 +02:00
msc_t.c call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED 2019-05-10 07:13:41 +00:00
msc_t_remote.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
msc_vty.c vty/cfg: add missing write-back of inter-BSC and inter-MSC HO config 2019-05-09 02:06:42 +02:00
msub.c msub_check_for_release(): Initialize msc_role_a_c 2019-05-09 08:42:48 +00:00
neighbor_ident.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
neighbor_ident_vty.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
paging.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
ran_conn.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
ran_infra.c rename bscconfig.h to config.h, cleanup 2019-05-08 17:02:32 +02:00
ran_msg.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
ran_msg_a.c ran_a_make_handover_request(): allow no encryption 2019-05-10 07:04:50 +00:00
ran_msg_iu.c Iu: Send SMS over SAPI-3 2019-05-10 23:56:49 +02:00
ran_peer.c libmsc/ran_peer.c: fix msgb memleak in ran_peer_rx_reset() 2019-05-10 02:56:07 +07:00
ran_up_l2.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
rrlp.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
rtp_stream.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
sccp_ran.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
sgs_iface.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
sgs_server.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
sgs_vty.c libmsc: fix: properly initialize the SGs server 2019-03-28 17:10:11 +07:00
silent_call.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
smpp_openbsc.c smpp: Make libsmpp34 use talloc for its allocations 2019-05-08 23:49:45 +02:00
smpp_smsc.c smpp_smsc: Call destroy_tlv() when using build_tlv() 2019-04-10 10:53:23 +00:00
smpp_smsc.h SMPP: Don't accept password or system-id exceeding spec length 2019-05-10 07:07:00 +00:00
smpp_utils.c dissolve libcommon: drop debug.c 2018-03-22 17:05:42 +01:00
smpp_vty.c Write configuration correctly from vty (alert notifications) 2019-03-29 22:48:38 +00:00
sms_queue.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
transaction.c LOG_TRANS: store subsys in trans, unify USSD logging back to DMM 2019-05-10 07:04:50 +00:00