summaryrefslogtreecommitdiffstats
path: root/hcid/dbus.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-02-24 02:04:08 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-02-24 02:04:08 +0000
commit5aa5d226872dc680d834096185d492ad715a5cc6 (patch)
tree1084ec8046c84f0f9ec16039660c9a47a6c705f8 /hcid/dbus.c
parent1670b1237dee92f83cb46ea0d9840d88dd49c57a (diff)
Add support for remembering the PIN code length
Diffstat (limited to 'hcid/dbus.c')
-rw-r--r--hcid/dbus.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hcid/dbus.c b/hcid/dbus.c
index be348b2c..9b9ab270 100644
--- a/hcid/dbus.c
+++ b/hcid/dbus.c
@@ -64,6 +64,7 @@ static volatile sig_atomic_t __timeout_active = 0;
struct pin_request {
int dev;
+ bdaddr_t sba;
bdaddr_t bda;
};
@@ -193,6 +194,8 @@ static void reply_handler_function(DBusPendingCall *call, void *user_data)
dbus_message_iter_get_basic(&iter, &pin);
len = strlen(pin);
+ set_pin_length(&req->sba, len);
+
memset(&pr, 0, sizeof(pr));
bacpy(&pr.bdaddr, &req->bda);
memcpy(pr.pin_code, pin, len);
@@ -399,7 +402,7 @@ failed:
return ret;
}
-void hcid_dbus_request_pin(int dev, struct hci_conn_info *ci)
+void hcid_dbus_request_pin(int dev, bdaddr_t *sba, struct hci_conn_info *ci)
{
DBusMessage *message = NULL;
DBusPendingCall *pending = NULL;
@@ -421,6 +424,7 @@ void hcid_dbus_request_pin(int dev, struct hci_conn_info *ci)
req = malloc(sizeof(*req));
req->dev = dev;
+ bacpy(&req->sba, sba);
bacpy(&req->bda, &ci->bdaddr);
dbus_message_append_args(message, DBUS_TYPE_BOOLEAN, &out,