Re: [PATCH] sdp: Fix sdp_get_profile_descs for Mac Os X Lion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Frédéric,

On Mon, Mar 19, 2012, Frédéric Dalleau wrote:
> Mac OS X 10.7.3 publishes the following SDP record for HFP Gateway.
>       record #2
>           aid 0x0000 (SrvRecHndl)
>              uint 0x10003
>           aid 0x0001 (SrvClassIDList)
>              < uuid-16 0x111f (Handsfree AG) uuid-16 0x1203 (Audio) >
>           aid 0x0004 (ProtocolDescList)
>              < < uuid-16 0x0100 (L2CAP) > <
>              uuid-16 0x0003 (RFCOMM) uint 0x2 > >
>           aid 0x0005 (BrwGrpList)
>              < uuid-16 0x1002 (PubBrwsGrp) >
>           aid 0x0006 (LangBaseAttrIDList)
>              < uint 0x656e uint 0x6a uint 0x100 >
>           aid 0x0009 (BTProfileDescList)
>              < uuid-16 0x111e (Handsfree) uint 0x105 >
>           aid 0x0100 (SrvName)
>              str "Hands Free Audio Gateway"
>           aid 0x0301 (SuppDataStoresList)
>              uint 0x0
>           aid 0x0311 (SuppFeatures)
>              uint 0x0
> 
> BlueZ do not read correctly the version number of the profile.
> The patch fixes this.
> 
> From my understanding, the SDP profile descriptor is a list. The for
> loop in sdp_get_profile_desc iterates that list.  Until now, bluez
> expected a collection of either uuid or lists with a uuid and a
> version number. This can be represented as follow:
> list=(uuid, uuid, (uuid, version))
> 
> The patch fixes the situation where the profile descriptor list
> contains a uuid AND a version number both on the root level and not
> enclosed in a sublist. If the next item after uuid is uint16, then
> this is the version number. This can be represented as follow:
> list=(uuid, uuid, version, uuid, (uuid, version))
> 
> Note that core v4.0 spec. states that the Profile Descriptor
> list is a data sequence of profile descriptors. Each profile descriptor
> is a data sequence whose first element is a UUID and second element is
> a version number. This can be represented as follow:
> list=((uuid, version), (uuid, version))
> ---
>  lib/sdp.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)

Applied. Thanks.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux