summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2007-01-25 14:55:55 +0000
committerMarcel Holtmann <marcel@holtmann.org>2007-01-25 14:55:55 +0000
commit91823235493ac08a99d4ca7e5981914661ab6531 (patch)
treea0209fc50d7ef418dd8bcd77644ba68ff8cf6348
parent8462276d5289bc23efee4d532248dc79476b6133 (diff)
Update passkey and auth agents
-rw-r--r--hcid/auth-agent.c33
-rw-r--r--hcid/passkey-agent.c28
2 files changed, 40 insertions, 21 deletions
diff --git a/hcid/auth-agent.c b/hcid/auth-agent.c
index dab97f7c..1b721398 100644
--- a/hcid/auth-agent.c
+++ b/hcid/auth-agent.c
@@ -72,20 +72,24 @@ static DBusHandlerResult authorize_message(DBusConnection *conn,
DBusMessage *msg, void *data)
{
DBusMessage *reply;
+ const char *adapter, *address, *service, *string;
- if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_INVALID)) {
- fprintf(stderr, "Invalid arguments for Authorize method");
+ if (!dbus_message_get_args(msg, NULL,
+ DBUS_TYPE_STRING, &adapter, DBUS_TYPE_STRING, &address,
+ DBUS_TYPE_STRING, &service, DBUS_TYPE_STRING, &string,
+ DBUS_TYPE_INVALID)) {
+ fprintf(stderr, "Invalid arguments for passkey Confirm method");
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
+ printf("Authorization request for device %s\n", address);
+
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
@@ -99,15 +103,24 @@ static DBusHandlerResult cancel_message(DBusConnection *conn,
DBusMessage *msg, void *data)
{
DBusMessage *reply;
+ const char *adapter, *address, *service, *string;
+
+ if (!dbus_message_get_args(msg, NULL,
+ DBUS_TYPE_STRING, &adapter, DBUS_TYPE_STRING, &address,
+ DBUS_TYPE_STRING, &service, DBUS_TYPE_STRING, &string,
+ DBUS_TYPE_INVALID)) {
+ fprintf(stderr, "Invalid arguments for passkey Confirm method");
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ printf("Request canceled for device %s\n", address);
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
@@ -135,11 +148,9 @@ static DBusHandlerResult release_message(DBusConnection *conn,
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
diff --git a/hcid/passkey-agent.c b/hcid/passkey-agent.c
index b2abb108..430581bb 100644
--- a/hcid/passkey-agent.c
+++ b/hcid/passkey-agent.c
@@ -91,9 +91,11 @@ static DBusHandlerResult request_message(DBusConnection *conn,
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
+ printf("Passkey request for device %s\n", address);
+
dbus_message_append_args(reply, DBUS_TYPE_STRING, &passkey,
DBUS_TYPE_INVALID);
@@ -122,14 +124,14 @@ static DBusHandlerResult confirm_message(DBusConnection *conn,
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
+ printf("Confirm request for device %s\n", address);
+
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
@@ -143,15 +145,23 @@ static DBusHandlerResult cancel_message(DBusConnection *conn,
DBusMessage *msg, void *data)
{
DBusMessage *reply;
+ const char *path, *address;
+
+ if (!dbus_message_get_args(msg, NULL,
+ DBUS_TYPE_STRING, &path, DBUS_TYPE_STRING, &address,
+ DBUS_TYPE_INVALID)) {
+ fprintf(stderr, "Invalid arguments for passkey Confirm method");
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ printf("Request canceled for device %s\n", address);
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);
@@ -179,11 +189,9 @@ static DBusHandlerResult release_message(DBusConnection *conn,
reply = dbus_message_new_method_return(msg);
if (!reply) {
fprintf(stderr, "Can't create reply message\n");
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
}
- dbus_message_append_args(reply, DBUS_TYPE_INVALID);
-
dbus_connection_send(conn, reply, NULL);
dbus_connection_flush(conn);