apple bluetooth keyboard
Iain Hibbert
plunky at rya-online.net
Tue Mar 7 16:56:17 PST 2006
On Tue, 7 Mar 2006, Maksim Yevmenkin wrote:
> well, this is the completely different can of worms. both hcid (in linux) and
> hcsecd(8) (in freebsd), to some extend, assume that there is only one user.
>
> bluepin is just x11 application. it will display windows on whatever DISPLAY
> is set at the moment.
yes, but hcsecd cannot start it, because hcsecd is a different uid and has
no permissions to access the display.. besides, it is not the function of
a daemon to put windows on the display. Displays belong to users, if there
are any. If they want windows to open, they will run programs that do
that.
> > If user 'blue' wants to enable pin code requests, he can run the pin
> > program (maybe from .login) and it would open the control socket (which
> > can have ownership and permissions specified?) and sleep, listening for
> > pin requests, and wake up with a window when something happens.
> >
> > If user 'red' does not care about bluetooth, she just does nothing and
> > will never be bothered.
> may be. but what if user 'red' also wants to run pin program. now hcsecd(8)
> will have two control pipes. which pipe should it use? should it use both? are
> you suggesting that hcsecd(8) should be configured to redirect pin requests
> from specific devices to specific pipe?
that could be problematic - can a unix domain socket be opened by multiple
users for read/write?
In fact, multiple simultaneous users gets ugly, as sockets in general do
not have access permissions in any case - if user 'blue' opens the
baseband connection, then 'red' can access the device through another
L2CAP or RFCOMM socket (well, they can in my world :)
> btw, what usage scenario do you have in mind that requires multiple users to
> access the same (or multiple) bluetooth devices on the same host?
my thought was that users might be consecutive
> so, i think, the something like bluepin will work just fine. the only issue
> here is that user required to run gui.
well, if you are trying to set up a pairing to another device from a
computer with only a text console, you can always add the pin code to the
config file directly?
then hcsecd could use LOG_NOTICE instead of LOG_DEBUG at this point.
alternatively, a helper application could be run in advance, if hcsecd
would remember a given pin/device combo for N seconds
% tiepin -a phone 1234
% rfcomm_sppd -a phone
<you type in 1234 on phone>
?
I can't think any more, its too late.
iain
More information about the freebsd-bluetooth
mailing list