summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-08-29 11:24:26 +0200
committerMarcel Holtmann <marcel@holtmann.org>2008-08-29 11:24:26 +0200
commit9d3e85baa6de75b9f6973b1e3112878b5978b73c (patch)
tree8638fb26146af2bb68117c94f61c3eb4d5021d57 /src
parent6c0f7565f134e526fd549538569ad70cd09fefc1 (diff)
Allow outgoing SDP connection without an agent
Diffstat (limited to 'src')
-rw-r--r--src/dbus-hci.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dbus-hci.c b/src/dbus-hci.c
index b713b16f..7e258989 100644
--- a/src/dbus-hci.c
+++ b/src/dbus-hci.c
@@ -1831,13 +1831,22 @@ int hcid_dbus_get_io_cap(bdaddr_t *local, bdaddr_t *remote,
agent = adapter->agent;
if (!agent) {
- /* No agent available, and no bonding case */
+ /* No agent available, and no bonding case (acceptor) */
if (device && (device_get_auth(device) == 0x00 ||
device_get_auth(device) == 0x01)) {
/* No input, no output */
*cap = 0x03;
return 0;
}
+
+ /* No agent available, and no bonding case (initiator) */
+ if (*auth == 0x00 || *auth == 0x01) {
+ /* No input, no output */
+ *cap = 0x03;
+ return 0;
+ }
+
+ /* This is the non bondable case */
error("No agent available for IO capability");
return -1;
}