summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Rymanowski <lukasz.rymanowski@tieto.com>2011-03-04 19:41:55 +0100
committerJohan Hedberg <johan.hedberg@nokia.com>2011-03-10 11:00:37 +0200
commitb903344d92e57dba63654e347d200d27f4566837 (patch)
treebbfc99dab8dd5372b6f7625cfefe503a0591235a
parentaf4519a50cb8fc0be3398089aa3a85904453de1d (diff)
downloadbluez-b903344d92e57dba63654e347d200d27f4566837.tar.gz
pand: Fix for TP_BNEP_CTRL_BV_01_C qualification test
With this fix pand will correctly respond on unknown BNEP control command.
-rw-r--r--compat/bnep.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/compat/bnep.c b/compat/bnep.c
index 24bf7e343..281350baf 100644
--- a/compat/bnep.c
+++ b/compat/bnep.c
@@ -231,6 +231,22 @@ int bnep_accept_connection(int sk, uint16_t role, char *dev)
return -1;
req = (void *) pkt;
+
+ /* Highest known Control command ID
+ * is BNEP_FILTER_MULT_ADDR_RSP = 0x06 */
+ if (req->type == BNEP_CONTROL &&
+ req->ctrl > BNEP_FILTER_MULT_ADDR_RSP) {
+ uint8_t pkt[3];
+
+ pkt[0] = BNEP_CONTROL;
+ pkt[1] = BNEP_CMD_NOT_UNDERSTOOD;
+ pkt[2] = req->ctrl;
+
+ send(sk, pkt, sizeof(pkt), 0);
+
+ return -1;
+ }
+
if (req->type != BNEP_CONTROL || req->ctrl != BNEP_SETUP_CONN_REQ)
return -1;