Loading system/stack/pan/pan_main.c +33 −0 Original line number Original line Diff line number Diff line Loading @@ -222,6 +222,39 @@ void pan_conn_ind_cb (UINT16 handle, return; return; } } /* Check for valid interactions between the three PAN profile roles */ /* * For reference, see Table 1 in PAN Profile v1.0 spec. * Note: the remote is the initiator. */ BOOLEAN is_valid_interaction = FALSE; switch (remote_uuid->uu.uuid16) { case UUID_SERVCLASS_NAP: case UUID_SERVCLASS_GN: if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) is_valid_interaction = TRUE; break; case UUID_SERVCLASS_PANU: is_valid_interaction = TRUE; break; } /* * Explicitly disable connections to the local PANU if the remote is * not PANU. */ if ((local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) && (remote_uuid->uu.uuid16 != UUID_SERVCLASS_PANU)) { is_valid_interaction = FALSE; } if (!is_valid_interaction) { PAN_TRACE_ERROR( "PAN Connection failed because of invalid PAN profile roles " "interaction: Remote UUID 0x%x Local UUID 0x%x", remote_uuid->uu.uuid16, local_uuid->uu.uuid16); BNEP_ConnectResp(handle, BNEP_CONN_FAILED_SRC_UUID); return; } /* Requested destination role is */ /* Requested destination role is */ if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) req_role = PAN_ROLE_CLIENT; req_role = PAN_ROLE_CLIENT; Loading Loading
system/stack/pan/pan_main.c +33 −0 Original line number Original line Diff line number Diff line Loading @@ -222,6 +222,39 @@ void pan_conn_ind_cb (UINT16 handle, return; return; } } /* Check for valid interactions between the three PAN profile roles */ /* * For reference, see Table 1 in PAN Profile v1.0 spec. * Note: the remote is the initiator. */ BOOLEAN is_valid_interaction = FALSE; switch (remote_uuid->uu.uuid16) { case UUID_SERVCLASS_NAP: case UUID_SERVCLASS_GN: if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) is_valid_interaction = TRUE; break; case UUID_SERVCLASS_PANU: is_valid_interaction = TRUE; break; } /* * Explicitly disable connections to the local PANU if the remote is * not PANU. */ if ((local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) && (remote_uuid->uu.uuid16 != UUID_SERVCLASS_PANU)) { is_valid_interaction = FALSE; } if (!is_valid_interaction) { PAN_TRACE_ERROR( "PAN Connection failed because of invalid PAN profile roles " "interaction: Remote UUID 0x%x Local UUID 0x%x", remote_uuid->uu.uuid16, local_uuid->uu.uuid16); BNEP_ConnectResp(handle, BNEP_CONN_FAILED_SRC_UUID); return; } /* Requested destination role is */ /* Requested destination role is */ if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) if (local_uuid->uu.uuid16 == UUID_SERVCLASS_PANU) req_role = PAN_ROLE_CLIENT; req_role = PAN_ROLE_CLIENT; Loading