From ae7418177e590dfcd572194a3953e806f2ace187 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 8 Dec 2010 11:28:12 +0100 Subject: mtp: Print a TFP message on the screen when we get a message --- contrib/TestSender.st | 6 ++++++ src/mtp_layer3.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/contrib/TestSender.st b/contrib/TestSender.st index c059dae..fa3a2c6 100644 --- a/contrib/TestSender.st +++ b/contrib/TestSender.st @@ -18,6 +18,12 @@ Eval [ datagram data: msg. socket nextPut: datagram. + "TFP" + msg := #(2 0 0 1 0 0 0 0 0 0 0 8 + 192 232 197 7 0 20 62 2) asByteArray. + datagram data: msg. + socket nextPut: datagram. + "TRA" msg := #(2 0 0 1 0 0 0 0 0 0 0 6 192 232 197 7 0 23) asByteArray. datagram data: msg. diff --git a/src/mtp_layer3.c b/src/mtp_layer3.c index 14933f2..7dd3a7f 100644 --- a/src/mtp_layer3.c +++ b/src/mtp_layer3.c @@ -288,6 +288,7 @@ static int mtp_link_sign_msg(struct mtp_link *link, struct mtp_level_3_hdr *hdr, { struct msgb *msg; struct mtp_level_3_cmn *cmn; + uint16_t *apc; if (hdr->ni != link->ni || l3_len < 1) { LOGP(DINP, LOGL_ERROR, "Unhandled data (ni: %d len: %d)\n", @@ -321,6 +322,21 @@ static int mtp_link_sign_msg(struct mtp_link *link, struct mtp_level_3_hdr *hdr, break; } break; + case MTP_PROHIBIT_MSG_GRP: + switch (cmn->h1) { + case MTP_PROHIBIT_MSG_SIG: + if (l3_len < 3) { + LOGP(DINP, LOGL_ERROR, "TFP is too short.\n"); + return -1; + } + + apc = (uint16_t *) &hdr->data[1]; + LOGP(DINP, LOGL_INFO, + "TFP for the affected point code: %d\n", *apc); + return 0; + break; + } + break; } LOGP(DINP, LOGL_ERROR, "Unknown message:%d/%d %s\n", cmn->h0, cmn->h1, hexdump(&hdr->data[0], l3_len)); -- cgit v1.2.3