summaryrefslogtreecommitdiffstats
path: root/hcid/security.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-06-11 01:46:01 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-06-11 01:46:01 +0000
commit0b850e269ad6ca4a17e5177928a4e17c14b293ad (patch)
tree76e6d8b14b3f369c6eea64fdfcac22ba0bd422f3 /hcid/security.c
parenta6f07d2bf12942854072c37c3c42d7447921beee (diff)
Parse the IO capa response event
Diffstat (limited to 'hcid/security.c')
-rw-r--r--hcid/security.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/hcid/security.c b/hcid/security.c
index 9472930b..b4520745 100644
--- a/hcid/security.c
+++ b/hcid/security.c
@@ -423,6 +423,18 @@ static void io_capa_request(int dev, bdaddr_t *sba, bdaddr_t *dba)
}
}
+static void io_capa_response(int dev, bdaddr_t *sba, void *ptr)
+{
+ evt_io_capability_response *evt = ptr;
+ char sa[18], da[18];
+
+ ba2str(sba, sa); ba2str(&evt->bdaddr, da);
+ info("io_capa_response (sba=%s, dba=%s)", sa, da);
+
+ hcid_dbus_set_io_cap(sba, &evt->bdaddr,
+ evt->capability, evt->authentication);
+}
+
/* PIN code handling */
void set_pin_length(bdaddr_t *sba, int length)
@@ -887,6 +899,10 @@ static gboolean io_security_event(GIOChannel *chan, GIOCondition cond, gpointer
io_capa_request(dev, &di->bdaddr, (bdaddr_t *) ptr);
break;
+ case EVT_IO_CAPABILITY_RESPONSE:
+ io_capa_response(dev, &di->bdaddr, ptr);
+ break;
+
case EVT_USER_CONFIRM_REQUEST:
user_confirm_request(dev, &di->bdaddr, ptr);
break;