Re: [Bluez-devel] Bug#385857: [Pkg-bluetooth-maintainers] Bug#385857: please upgrade to bluez-utils and bluez-libs 3.4

Marcel Holtmann
2006-09-05T18:59:34Z

Hi Stefan,

> > > JFYI, i packaged the passkey-agent as-is for openSUSE factory and added a
> > > README, so the users can authenticate at all until the Desktop environments
> > > are ready. It might make sense to keep it IMO for all those people that do
> > > neither use gnome nor kde and still want to occasionally pair a rfcomm device,
> > > but maybe a multitude of easy to use passkey agents will pop up soon and
> > > we will have one for every taste :-)
> >
> > my advise would be to include passkey-agent.c in the docs section as an
> > example. This is how other packages do it and to make this really clear,
> > the passkey-agent.c is an example. It is _NOT_ meant for any regular
> > installation. This is the reason why it is marked as noinst_*.
>
> Well, that would mean that i'd have to document /var/lib/bluetooth/*/pincodes
> and i'd want to avoid that.

you should avoid this when possible.

> But i'll add this disclaimer to the passkey-agent and remove it from the
> package ASAP:
>
>
> Index: hcid/passkey-agent.c
> ===================================================================
> RCS file: /cvsroot/bluez/utils/hcid/passkey-agent.c,v
> retrieving revision 1.19
> diff -u -p -r1.19 passkey-agent.c
> --- hcid/passkey-agent.c 28 Apr 2006 14:30:59 -0000 1.19
> +++ hcid/passkey-agent.c 5 Sep 2006 18:05:58 -0000
> @@ -284,6 +284,9 @@ int main(int argc, char *argv[])
> char match_string[128], default_path[128], *agent_path = NULL;
> int opt, use_default = 0;
>
> + printf("WARNING: passkey-agent is only a temporary solution. It will be removed from\n"
> + " the openSUSE package as soon as the desktop environments are ready.\n\n");
> +
> snprintf(default_path, sizeof(default_path),
> "/org/bluez/passkey_agent_%d", getpid());

That might do it. Of course every user must start this by hand and it is
not automated somehow (init script or desktop startup). There can only
be one default passkey agent.

> > If something is marked as noinst_* in bluez-utils, then it is either an
> > example, not ready yet or to risky for installation. If you can't get it
> > installed with a configure option, then it is _NOT_ meant to be.
>
> Yes. But for the users, there is no way to pair their devices without a
> passkey agent. And not everybody can use latest bluez-gnome, but might still
> be a valuable tester for bluez-utils :-)

Let me put it this way. The 3.0 announcement came with a clear warning
that the PIN helper is dead and we now need a default passkey agent for
every desktop. It was one reason why I jumped to next major number. I
don't do this without a serious reason. I provided an example of a
passkey agent and the Maemo guys implemented a passkey agent for their
platform, but nobody else seemed to care.

The passkey agent interface is fully language independent and they could
have written one in C, C++, C#, Perl, Python, Java, Haskell and every
language that provides a D-Bus binding. And again, nobody did. Now I
gave people two examples on how to write a passkey agent. So they either
do it now or start using GNOME ;)