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 коммит произвёл John W. Linville
Родитель 8b7e8eda58
Коммит ebbb16d9eb
1 изменённых файлов: 5 добавлений и 17 удалений

Просмотреть файл

@ -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;
}
}