summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2008-03-19 00:06:30 +0000
committeremax <emax@FreeBSD.org>2008-03-19 00:06:30 +0000
commit7704e14e90cf9e7ea70d2664b1b31e2b43623715 (patch)
tree962adffd2a750f9ddd104721b397f51d426ce549
parentf5c289e7a87eda5b4525ebf960bf279bbd6d6246 (diff)
downloadFreeBSD-src-7704e14e90cf9e7ea70d2664b1b31e2b43623715.zip
FreeBSD-src-7704e14e90cf9e7ea70d2664b1b31e2b43623715.tar.gz
Add mandatory "security description" SDP parameter to the PANU profile
Pointed-out by: Iain Hibbert < plunky at rya-online dot net > MFC after: 3 days
-rw-r--r--lib/libsdp/sdp.h2
-rw-r--r--usr.sbin/bluetooth/sdpd/panu.c15
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/libsdp/sdp.h b/lib/libsdp/sdp.h
index 8ce266c..acb074a 100644
--- a/lib/libsdp/sdp.h
+++ b/lib/libsdp/sdp.h
@@ -675,6 +675,8 @@ struct sdp_panu_profile
uint8_t reserved;
uint8_t load_factor;
uint16_t psm; /* HBO */
+ uint16_t security_description; /* HBO */
+ uint16_t reserved2;
};
typedef struct sdp_panu_profile sdp_panu_profile_t;
typedef struct sdp_panu_profile * sdp_panu_profile_p;
diff --git a/usr.sbin/bluetooth/sdpd/panu.c b/usr.sbin/bluetooth/sdpd/panu.c
index a948508..e00f650 100644
--- a/usr.sbin/bluetooth/sdpd/panu.c
+++ b/usr.sbin/bluetooth/sdpd/panu.c
@@ -128,6 +128,19 @@ panu_profile_create_service_availability(
&panu->load_factor, 1));
}
+static int32_t
+panu_profile_create_security_description(
+ uint8_t *buf, uint8_t const * const eob,
+ uint8_t const *data, uint32_t datalen)
+{
+ provider_p provider = (provider_p) data;
+ sdp_panu_profile_p panu = (sdp_panu_profile_p) provider->data;
+
+ return (bnep_profile_create_security_description(buf, eob,
+ (uint8_t const *) &panu->security_description,
+ sizeof(panu->security_description)));
+}
+
static attr_t panu_profile_attrs[] = {
{ SDP_ATTR_SERVICE_RECORD_HANDLE,
common_profile_create_service_record_handle },
@@ -145,6 +158,8 @@ static attr_t panu_profile_attrs[] = {
panu_profile_create_service_name },
{ SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_DESCRIPTION_OFFSET,
panu_profile_create_service_description },
+ { SDP_ATTR_SECURITY_DESCRIPTION,
+ panu_profile_create_security_description },
{ 0, NULL } /* end entry */
};
OpenPOWER on IntegriCloud