Posted this on bluez-users' list, sorry it better should be posted here:
I think t
I think t
---------- Forwarded message ----------
From: Johannes Niederloehner <johannes.niederloehner@xxxxxxxxx>
Date: Thu, Aug 21, 2008 at 1:24 AM
Subject: in 3.36 registering security interface without adapter?
To: bluez-users@xxxxxxxxxxxxxxxxxxxxx
Having some trouble after updating vom 3.31 to 3.36 with registering a passkeyagent.
Taking a look at the sources I'm wondering couple of things.
in 3.31:
after adding a new adapter...hcid_dbus_register_device calls dbus_connection_create_object_path and this function of dbus-hci.c adds in data->user_data the adapter name/path (e.g /org/bluez/hci0)
When a new passkeyagent registers calling the method register_passkey_agent from the method table security_methods (via the generic_table from dbus-helper.c)
the following doesn't fail, since data isnt null:
if (!data) {
error("register_passkey_agent called without any adapter info!");
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
In contrary in 3.36 dbus-helper.c is removed and you are more using GLib stuff.
the mentioned function hcid_dbus_register_device of dbus-hci.c calls security_init without passing the adapter name. security_init finally calls g_dbus_register_interface without providing adapter name.
finally if register_passkey_agent gets called, the following, _does fails_ :
if (!data) {
error("register_passkey_agent called without any adapter info!");
return NULL;
}
since the user_data was never filled.
Everything seems also to be related with the usage of GLib or I mean because I disabled the usage of that Lib and your own implementation is used instead
Is this a problem, isn't it?
Sorry if I have demonstrated the problem not clearly. In that case just drop me a line I'll try again tomorrow after having some more sleep.
Thanks,
Johannes N.
From: Johannes Niederloehner <johannes.niederloehner@xxxxxxxxx>
Date: Thu, Aug 21, 2008 at 1:24 AM
Subject: in 3.36 registering security interface without adapter?
To: bluez-users@xxxxxxxxxxxxxxxxxxxxx
Taking a look at the sources I'm wondering couple of things.
in 3.31:
after adding a new adapter...hcid_dbus_register_device calls dbus_connection_create_object_path and this function of dbus-hci.c adds in data->user_data the adapter name/path (e.g /org/bluez/hci0)
When a new passkeyagent registers calling the method register_passkey_agent from the method table security_methods (via the generic_table from dbus-helper.c)
the following doesn't fail, since data isnt null:
if (!data) {
error("register_passkey_agent called without any adapter info!");
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
In contrary in 3.36 dbus-helper.c is removed and you are more using GLib stuff.
the mentioned function hcid_dbus_register_device of dbus-hci.c calls security_init without passing the adapter name. security_init finally calls g_dbus_register_interface without providing adapter name.
finally if register_passkey_agent gets called, the following, _does fails_ :
if (!data) {
error("register_passkey_agent called without any adapter info!");
return NULL;
}
since the user_data was never filled.
Everything seems also to be related with the usage of GLib or I mean because I disabled the usage of that Lib and your own implementation is used instead
Is this a problem, isn't it?
Sorry if I have demonstrated the problem not clearly. In that case just drop me a line I'll try again tomorrow after having some more sleep.
Thanks,
Johannes N.
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ Bluez-devel mailing list Bluez-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/bluez-devel