diff options
author | emax <emax@FreeBSD.org> | 2008-03-19 00:06:30 +0000 |
---|---|---|
committer | emax <emax@FreeBSD.org> | 2008-03-19 00:06:30 +0000 |
commit | 7704e14e90cf9e7ea70d2664b1b31e2b43623715 (patch) | |
tree | 962adffd2a750f9ddd104721b397f51d426ce549 | |
parent | f5c289e7a87eda5b4525ebf960bf279bbd6d6246 (diff) | |
download | FreeBSD-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.h | 2 | ||||
-rw-r--r-- | usr.sbin/bluetooth/sdpd/panu.c | 15 |
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 */ }; |