mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-26 05:34:23 +08:00
Disable methods that are marked as experimental
This commit is contained in:
parent
55abce4f92
commit
b311d1f2d0
@ -48,6 +48,7 @@
|
||||
#include "dbus-security.h"
|
||||
#include "dbus-service.h"
|
||||
#include "dbus-manager.h"
|
||||
#include "dbus-hci.h"
|
||||
#include "sdp-xml.h"
|
||||
|
||||
static int default_adapter_id = -1;
|
||||
@ -203,6 +204,9 @@ static DBusHandlerResult list_services(DBusConnection *conn,
|
||||
DBusMessageIter iter;
|
||||
DBusMessageIter array_iter;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_has_signature(msg, DBUS_TYPE_INVALID_AS_STRING))
|
||||
return error_invalid_arguments(conn, msg);
|
||||
|
||||
@ -265,6 +269,9 @@ static DBusHandlerResult register_service(DBusConnection *conn,
|
||||
DBusMessage *message;
|
||||
int err;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &path,
|
||||
DBUS_TYPE_STRING, &name,
|
||||
@ -333,6 +340,9 @@ static DBusHandlerResult unregister_service(DBusConnection *conn,
|
||||
const char *path;
|
||||
int err;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &path,
|
||||
DBUS_TYPE_INVALID))
|
||||
@ -391,6 +401,9 @@ static DBusHandlerResult add_service_record(DBusConnection *conn,
|
||||
const char *path;
|
||||
int err;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
/* Check if it is an array of bytes */
|
||||
if (strcmp(dbus_message_get_signature(msg), "say"))
|
||||
return error_invalid_arguments(conn, msg);
|
||||
@ -467,6 +480,9 @@ static DBusHandlerResult add_service_record_xml(DBusConnection *conn,
|
||||
const char *record;
|
||||
int err;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &path,
|
||||
DBUS_TYPE_STRING, &record,
|
||||
@ -564,6 +580,9 @@ static DBusHandlerResult remove_service_record(DBusConnection *conn,
|
||||
const char *path;
|
||||
uint32_t handle;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &path,
|
||||
DBUS_TYPE_UINT32, &handle,
|
||||
@ -605,13 +624,13 @@ static DBusHandlerResult remove_service_record(DBusConnection *conn,
|
||||
}
|
||||
|
||||
static struct service_data methods[] = {
|
||||
{ "InterfaceVersion", interface_version },
|
||||
{ "DefaultAdapter", default_adapter },
|
||||
{ "FindAdapter", find_adapter },
|
||||
{ "ListAdapters", list_adapters },
|
||||
{ "ListServices", list_services },
|
||||
{ "RegisterService", register_service },
|
||||
{ "UnregisterService", unregister_service },
|
||||
{ "InterfaceVersion", interface_version },
|
||||
{ "DefaultAdapter", default_adapter },
|
||||
{ "FindAdapter", find_adapter },
|
||||
{ "ListAdapters", list_adapters },
|
||||
{ "ListServices", list_services },
|
||||
{ "RegisterService", register_service },
|
||||
{ "UnregisterService", unregister_service },
|
||||
{ "AddServiceRecord", add_service_record },
|
||||
{ "AddServiceRecordFromXML", add_service_record_xml },
|
||||
{ "RemoveServiceRecord", remove_service_record },
|
||||
|
@ -577,6 +577,9 @@ static DBusHandlerResult register_default_auth_agent(DBusConnection *conn,
|
||||
DBusMessage *reply;
|
||||
const char *path;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (default_auth_agent)
|
||||
return error_auth_agent_already_exists(conn, msg);
|
||||
|
||||
@ -618,6 +621,9 @@ static DBusHandlerResult unregister_default_auth_agent(DBusConnection *conn,
|
||||
const char *path, *name;
|
||||
DBusMessage *reply;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!default_auth_agent)
|
||||
return error_auth_agent_does_not_exist(conn, msg);
|
||||
|
||||
@ -657,7 +663,7 @@ static void auth_agent_req_reply(DBusPendingCall *call, void *data)
|
||||
DBusMessage *message;
|
||||
DBusError err;
|
||||
|
||||
dbus_error_init(&err);
|
||||
dbus_error_init(&err);
|
||||
if (dbus_set_error_from_message(&err, reply)) {
|
||||
if (strcmp(err.name, DBUS_ERROR_NO_REPLY) == 0)
|
||||
auth_agent_call_cancel(req);
|
||||
@ -763,6 +769,9 @@ static DBusHandlerResult authorize_service(DBusConnection *conn,
|
||||
struct service_agent *sagent;
|
||||
struct slist *l;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &service_path,
|
||||
DBUS_TYPE_STRING, &address,
|
||||
@ -838,6 +847,9 @@ static DBusHandlerResult cancel_authorization_process(DBusConnection *conn,
|
||||
const char *service_path, *adapter_path, *address, *action;
|
||||
struct service_agent *sagent;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
if (!dbus_message_get_args(msg, NULL,
|
||||
DBUS_TYPE_STRING, &service_path,
|
||||
DBUS_TYPE_STRING, &address,
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "dbus-error.h"
|
||||
#include "dbus-manager.h"
|
||||
#include "dbus-service.h"
|
||||
#include "dbus-hci.h"
|
||||
|
||||
static struct slist *services = NULL;
|
||||
|
||||
@ -107,6 +108,7 @@ void service_call_free(void *data)
|
||||
free(call);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int service_agent_cmp(const struct service_agent *a, const struct service_agent *b)
|
||||
{
|
||||
int ret;
|
||||
@ -137,6 +139,7 @@ static int service_agent_cmp(const struct service_agent *a, const struct service
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void service_agent_free(struct service_agent *agent)
|
||||
{
|
||||
@ -664,6 +667,9 @@ static DBusHandlerResult msg_func_services(DBusConnection *conn,
|
||||
struct service_call *call_data;
|
||||
const char *iface;
|
||||
|
||||
if (!hcid_dbus_use_experimental())
|
||||
return error_unknown_method(conn, msg);
|
||||
|
||||
iface = dbus_message_get_interface(msg);
|
||||
|
||||
if (!strcmp(DBUS_INTERFACE_INTROSPECTABLE, iface) &&
|
||||
|
Loading…
Reference in New Issue
Block a user