NFC: Forbid SSAP binding to a not well known LLCP service

With not Well Known Services there is no guarantees as to which
SSAP the server will be listening on, so there is no reason to
support binding to a specific source SAP.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Samuel Ortiz 2012-06-22 17:15:20 +02:00 committed by John W. Linville
parent 8b7e8eda58
commit ebbb16d9eb
1 changed files with 5 additions and 17 deletions

View File

@ -234,24 +234,12 @@ u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local,
return LLCP_WKS_NUM_SAP + ssap;
} else if (sock->ssap != 0) {
if (sock->ssap < LLCP_WKS_NUM_SAP) {
if (!test_bit(sock->ssap, &local->local_wks)) {
set_bit(sock->ssap, &local->local_wks);
mutex_unlock(&local->sdp_lock);
} else if (sock->ssap != 0 && sock->ssap < LLCP_WKS_NUM_SAP) {
if (!test_bit(sock->ssap, &local->local_wks)) {
set_bit(sock->ssap, &local->local_wks);
mutex_unlock(&local->sdp_lock);
return sock->ssap;
}
} else if (sock->ssap < LLCP_SDP_NUM_SAP) {
if (!test_bit(sock->ssap - LLCP_WKS_NUM_SAP,
&local->local_sdp)) {
set_bit(sock->ssap - LLCP_WKS_NUM_SAP,
&local->local_sdp);
mutex_unlock(&local->sdp_lock);
return sock->ssap;
}
return sock->ssap;
}
}