1.\" Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $Id: sdpd.8,v 1.1 2004/01/13 19:31:54 max Exp $ 26.\" 27.Dd January 13, 2004 28.Dt SDPD 8 29.Os 30.Sh NAME 31.Nm sdpd 32.Nd Bluetooth Service Discovery Protocol daemon 33.Sh SYNOPSIS 34.Nm 35.Op Fl dh 36.Op Fl c Ar path 37.Op Fl g Ar group 38.Op Fl u Ar user 39.Sh DESCRIPTION 40The 41.Nm 42daemon keeps track of the Bluetooth services registered on the host 43and responds to Service Discovery inquiries from the remote Bluetooth devices. 44.Pp 45In order to use any service remote Bluetooth device need to send Service 46Search and Service Attribute or Service Search Attribute request over 47Bluetooth L2CAP connection on SDP PSM (0x0001). 48The 49.Nm 50daemon will try to find matching Service Record in its Service Database 51and will send appropriate response back. 52The remote device then will process the response, extract all required 53information and will make a separate connection in order to use the service. 54.Pp 55Bluetooth applications, running on the host, register services with 56the local 57.Nm 58daemon. 59Operation like service registration, service removal and service change are 60performed over the control socket. 61It is possible to query entire content of the 62.Nm 63Service Database with 64.Xr sdpcontrol 8 65by issuing 66.Cm browse 67command on the control socket. 68.Pp 69The command line options are as follows: 70.Bl -tag -width indent 71.It Fl d 72Do not detach from the controlling terminal. 73.It Fl c Ar path 74Specify path to the control socket. 75The default path is 76.Pa /var/run/sdp . 77.It Fl g Ar group 78Specifies the group the 79.Nm 80should run as after it initializes. 81The value specified may be either a group name or a numeric group ID. 82This only works if 83.Nm 84was started as root. 85The default group name is 86.Dq Li nobody . 87.It Fl h 88Display usage message and exit. 89.It Fl u Ar user 90Specifies the user the 91.Nm 92should run as after it initializes. 93The value specified may be either a user name or a numeric user ID. 94This only works if 95.Nm 96was started as root. 97The default user name is 98.Dq Li nobody . 99.El 100.Sh FILES 101.Bl -tag -width ".Pa /var/run/sdp" -compact 102.It Pa /var/run/sdp 103.El 104.Sh SEE ALSO 105.Xr sdp 3 , 106.Xr sdpcontrol 8 107.Sh AUTHORS 108.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com 109.Sh CAVEATS 110The 111.Nm 112daemon 113will listen for incoming L2CAP connections on a wildcard BD_ADDR. 114.Pp 115In case of multiple Bluetooth devices connected to the same host it is 116possible to specify which services should be 117.Dq bound 118to which Bluetooth device. 119Such assignment should be done at service registration time. 120.Pp 121Requests to register, remove or change service can only be made via the 122control socket. 123The 124.Nm 125daemon will check peer's credentials and will only accept the request if 126the application has the same effective user ID as the 127.Dq Li root 128user ID. 129.Pp 130The 131.Nm 132daemon does not check for duplicated Service Records. 133It only performs minimal checking on the service data sent in the Service 134Register request. 135It is assumed that application must obtain all required resources such 136as RFCOMM channels etc., before registering the service. 137.Sh BUGS 138Most likely. 139Please report if found. 140