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