[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