diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2007-01-25 14:55:55 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2007-01-25 14:55:55 +0000 |
commit | 91823235493ac08a99d4ca7e5981914661ab6531 (patch) | |
tree | a0209fc50d7ef418dd8bcd77644ba68ff8cf6348 /hcid | |
parent | 8462276d5289bc23efee4d532248dc79476b6133 (diff) |
Update passkey and auth agents
Diffstat (limited to 'hcid')
-rw-r--r-- | hcid/auth-agent.c | 33 | ||||
-rw-r--r-- | hcid/passkey-agent.c | 28 |
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); |