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.