public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* Fwd: Inconsistencies with UUIDs in XML service descriptors
       [not found] <11f7a7550901090850x4c276806v6c3c4bfad804986f@mail.gmail.com>
@ 2009-01-09 16:52 ` Daniele Benucci
  2009-01-10 12:02   ` Daniele Benucci
  0 siblings, 1 reply; 6+ messages in thread
From: Daniele Benucci @ 2009-01-09 16:52 UTC (permalink / raw)
  To: linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 981 bytes --]

I've noticed a strange behaviour in the last versions of Bluez (at
least >= 4.19) when retrieving services via the DBus method in
org.bluez.Device.DiscoverServices:
the XMLs returned by this DBus call have the "value" attribute of
_every_ "uuid" element set to "0x0019", for the records with 16-bit
uuids.
128-bit uuids are not correctly represented too, seeming to be 4-bytes
right-shifted.
When performing service discovery via sdptool with the --xml parameter
the output is correct.

I'm attaching two examples for the two cases

I experienced this in Bluez 4.19 shipped with OpenSuse 11.1, and in
Bluez 4.25 packaged for Ubuntu 8.10 (unofficial) at
http://ppa.launchpad.net/blueman/. This does not happen in Bluez 4.12
shipped with Ubuntu 8.10

I'm posting here this report as I didn't find a Bluez bug tracker and
the bug seems to be distribution-independant

Thanks for your attention

Daniele Benucci

--
Grabel's Law:
2 is not equal to 3 -- not even for large values of 2.

[-- Attachment #2: BluezBug - UUID16.txt --]
[-- Type: text/plain, Size: 2677 bytes --]

XML obtained with sdptool
=========================

<?xml version="1.0" encoding="UTF-8" ?>

<record>
	<attribute id="0x0000">
		<uint32 value="0x00010005" />
	</attribute>
	<attribute id="0x0001">
		<sequence>
			<uuid value="0x1105" />			<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0002">
		<uint32 value="0x00000007" />
	</attribute>
	<attribute id="0x0004">
		<sequence>
			<sequence>
				<uuid value="0x0100" />		<---- Note here
			</sequence>
			<sequence>
				<uuid value="0x0003" />		<---- Note here
				<uint8 value="0x09" />
			</sequence>
			<sequence>
				<uuid value="0x0008" />		<---- Note here
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0005">
		<sequence>
			<uuid value="0x1002" />			<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0006">
		<sequence>
			<uint16 value="0x454e" />
			<uint16 value="0x006a" />
			<uint16 value="0x0100" />
		</sequence>
	</attribute>
	<attribute id="0x0009">
		<sequence>
			<sequence>
				<uuid value="0x1105" />		<---- Note here
				<uint16 value="0x0100" />
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0100">
		<text value="OBEX Object Push" />
	</attribute>
	<attribute id="0x0303">
		<sequence>
			<uint8 value="0xff" />
		</sequence>
	</attribute>
</record>

--------------------------------------------------------------

Same XML obtained with DBus DiscoverServices call
=================================================

<?xml version="1.0" encoding="UTF-8" ?>

<record>
	<attribute id="0x0000">
		<uint32 value="0x00010005" />
	</attribute>
	<attribute id="0x0001">
		<sequence>
			<uuid value="0x0019" />			<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0002">
		<uint32 value="0x00000007" />
	</attribute>
	<attribute id="0x0004">
		<sequence>
			<sequence>
				<uuid value="0x0019" />		<---- Note here
			</sequence>
			<sequence>
				<uuid value="0x0019" />		<---- Note here
				<uint8 value="0x09" />
			</sequence>
			<sequence>
				<uuid value="0x0019" />		<---- Note here
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0005">
		<sequence>
			<uuid value="0x0019" />			<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0006">
		<sequence>
			<uint16 value="0x454e" />
			<uint16 value="0x006a" />
			<uint16 value="0x0100" />
		</sequence>
	</attribute>
	<attribute id="0x0009">
		<sequence>
			<sequence>
				<uuid value="0x0019" />		<---- Note here
				<uint16 value="0x0100" />
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0100">
		<text value="OBEX Object Push" />
	</attribute>
	<attribute id="0x0303">
		<sequence>
			<uint8 value="0xff" />
		</sequence>
	</attribute>
</record>

[-- Attachment #3: BluezBug - UUID128.txt --]
[-- Type: text/plain, Size: 2624 bytes --]

XML obtained with sdptool
=========================

<?xml version="1.0" encoding="UTF-8" ?>

<record>
	<attribute id="0x0000">
		<uint32 value="0x00010003" />
	</attribute>
	<attribute id="0x0001">
		<sequence>
			<uuid value="00000002-0000-1000-8000-0002ee000002" />		<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0002">
		<uint32 value="0x00000006" />
	</attribute>
	<attribute id="0x0004">
		<sequence>
			<sequence>
				<uuid value="0x0100" />					<---- Note here
			</sequence>
			<sequence>
				<uuid value="0x0003" />					<---- Note here
				<uint8 value="0x0b" />
			</sequence>
			<sequence>
				<uuid value="0x0008" />					<---- Note here
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0005">
		<sequence>
			<uuid value="0x1002" />						<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0006">
		<sequence>
			<uint16 value="0x454e" />
			<uint16 value="0x006a" />
			<uint16 value="0x0100" />
		</sequence>
	</attribute>
	<attribute id="0x0009">
		<sequence>
			<sequence>
				<uuid value="00000002-0000-1000-8000-0002ee000002" />	<---- Note here
				<uint16 value="0x0100" />
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0100">
		<text value="SyncMLClient" />
	</attribute>
</record>

--------------------------------------------------------------

Same XML obtained with DBus DiscoverServices call
=================================================

<?xml version="1.0" encoding="UTF-8" ?>

<record>
	<attribute id="0x0000">
		<uint32 value="0x00010003" />
	</attribute>
	<attribute id="0x0001">
		<sequence>
			<uuid value="1c000000-0000-0002-0000-100080000002" />		<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0002">
		<uint32 value="0x00000006" />
	</attribute>
	<attribute id="0x0004">
		<sequence>
			<sequence>
				<uuid value="0x0019" />					<---- Note here
			</sequence>
			<sequence>
				<uuid value="0x0019" />					<---- Note here
				<uint8 value="0x0b" />
			</sequence>
			<sequence>
				<uuid value="0x0019" />					<---- Note here
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0005">
		<sequence>
			<uuid value="0x0019" />						<---- Note here
		</sequence>
	</attribute>
	<attribute id="0x0006">
		<sequence>
			<uint16 value="0x454e" />
			<uint16 value="0x006a" />
			<uint16 value="0x0100" />
		</sequence>
	</attribute>
	<attribute id="0x0009">
		<sequence>
			<sequence>
				<uuid value="1c000000-0000-0002-0000-100080000002" />	<---- Note here
				<uint16 value="0x0100" />
			</sequence>
		</sequence>
	</attribute>
	<attribute id="0x0100">
		<text value="SyncMLClient" />
	</attribute>
</record>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Inconsistencies with UUIDs in XML service descriptors
  2009-01-09 16:52 ` Fwd: Inconsistencies with UUIDs in XML service descriptors Daniele Benucci
@ 2009-01-10 12:02   ` Daniele Benucci
  2009-01-10 12:41     ` Johan Hedberg
  0 siblings, 1 reply; 6+ messages in thread
From: Daniele Benucci @ 2009-01-10 12:02 UTC (permalink / raw)
  To: linux-bluetooth

2009/1/9 Daniele Benucci <d.benux@gmail.com>
> I've noticed a strange behaviour in the last versions of Bluez (at
> least >= 4.19) when retrieving services via the DBus method in
> org.bluez.Device.DiscoverServices:

I compiled 4.18 from source and the result of DiscoverServices reports
the correct UUIDs both for 16-bit and 128-bit

Daniele Benucci

--
Grabel's Law:
2 is not equal to 3 -- not even for large values of 2.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Inconsistencies with UUIDs in XML service descriptors
  2009-01-10 12:02   ` Daniele Benucci
@ 2009-01-10 12:41     ` Johan Hedberg
  2009-01-12 14:18       ` Daniele Benucci
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Hedberg @ 2009-01-10 12:41 UTC (permalink / raw)
  To: linux-bluetooth

Hi Daniele,

On Sat, Jan 10, 2009, Daniele Benucci wrote:
> 2009/1/9 Daniele Benucci <d.benux@gmail.com>
> > I've noticed a strange behaviour in the last versions of Bluez (at
> > least >= 4.19) when retrieving services via the DBus method in
> > org.bluez.Device.DiscoverServices:
> 
> I compiled 4.18 from source and the result of DiscoverServices reports
> the correct UUIDs both for 16-bit and 128-bit

Looking at the difference between 4.18 and 4.19 (git diff 4.18..4.19) at
least the new sdp_copy_record implementation seems like a potential
candidate for the cause of this. Could you perhaps try to use git bisect
to determine the exact patch that causes the bug?

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Inconsistencies with UUIDs in XML service descriptors
  2009-01-10 12:41     ` Johan Hedberg
@ 2009-01-12 14:18       ` Daniele Benucci
  2009-01-12 14:32         ` Johan Hedberg
  0 siblings, 1 reply; 6+ messages in thread
From: Daniele Benucci @ 2009-01-12 14:18 UTC (permalink / raw)
  To: Johan Hedberg; +Cc: linux-bluetooth

2009/1/10 Johan Hedberg <johan.hedberg@nokia.com>:
> Could you perhaps try to use git bisect
> to determine the exact patch that causes the bug?

According to git-bisect commit introducing the bug is

204180c7dc2e20b9b701275a3fefb52707720f54

(Make use of sdp_copy_record.)

Regards

Daniele.

-- 
Grabel's Law:
2 is not equal to 3 -- not even for large values of 2.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Inconsistencies with UUIDs in XML service descriptors
  2009-01-12 14:18       ` Daniele Benucci
@ 2009-01-12 14:32         ` Johan Hedberg
  2009-01-12 20:47           ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Hedberg @ 2009-01-12 14:32 UTC (permalink / raw)
  To: BlueZ development

Hi Daniele,

On Jan 12, 2009, at 15:18, Daniele Benucci wrote:
> 2009/1/10 Johan Hedberg <johan.hedberg@nokia.com>:
>> Could you perhaps try to use git bisect
>> to determine the exact patch that causes the bug?
>
> According to git-bisect commit introducing the bug is
>
> 204180c7dc2e20b9b701275a3fefb52707720f54
>
> (Make use of sdp_copy_record.)

Thanks a lot! This will really help in investigating and fixing the  
issue. We'll most likely have it fixed for the next BlueZ release  
(Luiz, who authored the sdp_copy_record function, is now looking into  
it).

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Inconsistencies with UUIDs in XML service descriptors
  2009-01-12 14:32         ` Johan Hedberg
@ 2009-01-12 20:47           ` Luiz Augusto von Dentz
  0 siblings, 0 replies; 6+ messages in thread
From: Luiz Augusto von Dentz @ 2009-01-12 20:47 UTC (permalink / raw)
  To: Johan Hedberg; +Cc: BlueZ development

Hi,

I fix has been pushed upstream, thanks for reporting it.

-- 
Luiz Augusto von Dentz
Engenheiro de Computação

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-12 20:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <11f7a7550901090850x4c276806v6c3c4bfad804986f@mail.gmail.com>
2009-01-09 16:52 ` Fwd: Inconsistencies with UUIDs in XML service descriptors Daniele Benucci
2009-01-10 12:02   ` Daniele Benucci
2009-01-10 12:41     ` Johan Hedberg
2009-01-12 14:18       ` Daniele Benucci
2009-01-12 14:32         ` Johan Hedberg
2009-01-12 20:47           ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox