[Pkg-bluetooth-maintainers] Bug#445677: bluez-utils: SDP server keeps entries forever

Hendrik Sattler post at hendrik-sattler.de
Sat Feb 16 18:34:45 UTC 2008


Am Samstag 16 Februar 2008 schrieben Sie:
> On Sun, Oct 07, 2007 at 07:59:01PM +0200, Hendrik Sattler wrote:
> > Hi,
> >
> > In earlier versions of Bluez, it was not explicitely necessary to call
> > sdp_close() as the entry went away automatically when the connection to
> > the SDP was closed (e.g. when a program was killed).
> > This does not work anymore and is a major regression as the output of
> > "sdptool browse local" may get very long.
> > The following programs in Debian show this behaviour: obexpushd,
> > kbluetooth (both from unstable)
> >
> > With libbluetooth2-3.11, I also discovered some refused connections to
> > the local SDP server but those are gone with 3.19.
>
> Is this bug still present with bluez-libs latest version? (3.2{4,5,6})

I just verified the bug with the version in testing. I made the bluez 
developers aware of this problem on their mailing list on Dec. 20th, 2007 and 
Marcel Holtmann kind of acknoledged it. He didn't sound like having the 
attitude to fix it, though.

I implemented a work-around/solution in obexpushd that properly calls 
sdp_close() in a SIGINT signal handler. That does make the bug disappear, 
though.

I am not quite sure that kdebluetooth uses this feature or if it is broken by 
itself. I guess the latter but that's hard to prove if you don't know if they 
rely on the broken feature that this bug report is about.

How to reproduce easily:
'sdp browse local' should not contain an OBEX Push entry on start.
Plug in a bluetooth dongle and start kblueplugd. Pull the bluetooth dongle 
(kdebluetooth icon disappears). Kill kblueplugd.
'sdp browse local' still contains the OBEX entry from kdebluetooth. With a 
correctly working libbluetooth, this should not be possible.

Once this happens, you cannot get OBEX Push server to work anymore as normal 
user, you must restart the sdpd as root. This is caused by the fact that 
mobile device tend to use the first SDP entry, they don't try all of them if 
one fails.

HS





More information about the Pkg-bluetooth-maintainers mailing list