From 7704e14e90cf9e7ea70d2664b1b31e2b43623715 Mon Sep 17 00:00:00 2001 From: emax Date: Wed, 19 Mar 2008 00:06:30 +0000 Subject: 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 --- lib/libsdp/sdp.h | 2 ++ usr.sbin/bluetooth/sdpd/panu.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) 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 */ }; -- cgit v1.1