aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Yevmenkin <emax@FreeBSD.org>2008-03-19 00:06:30 +0000
committerMaksim Yevmenkin <emax@FreeBSD.org>2008-03-19 00:06:30 +0000
commit07f8cd18c67f1af4ab1b7437713f2a748c80ec50 (patch)
tree962adffd2a750f9ddd104721b397f51d426ce549
parente653f1f0f44f4244563373c92633af3639599856 (diff)
downloadsrc-07f8cd18c67f1af4ab1b7437713f2a748c80ec50.tar.gz
src-07f8cd18c67f1af4ab1b7437713f2a748c80ec50.zip
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
Notes
Notes: svn path=/head/; revision=177364
-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 8ce266c0992b..acb074a7bb04 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 a948508a20da..e00f6503c924 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 */
};