diff options
| -rw-r--r-- | network/connection.c | 5 | ||||
| -rw-r--r-- | network/connection.h | 2 | ||||
| -rw-r--r-- | network/manager.c | 7 | 
3 files changed, 8 insertions, 6 deletions
| diff --git a/network/connection.c b/network/connection.c index 97034ad6..e47369cc 100644 --- a/network/connection.c +++ b/network/connection.c @@ -413,7 +413,7 @@ static const DBusObjectPathVTable connection_table = {  };  int connection_register(DBusConnection *conn, const char *path, -			const char *addr, const char *uuid) +			const char *addr, uint16_t id)  {  	struct network_conn *nc;  	static int bnep = 0; @@ -432,8 +432,7 @@ int connection_register(DBusConnection *conn, const char *path,  	nc->path = g_strdup(path);  	nc->raddr = g_strdup(addr); -	/* FIXME: Check uuid format */ -	nc->id = bnep_service_id(uuid); +	nc->id = id;  	/* FIXME: Check for device */  	nc->dev = g_new(char, 16);  	snprintf(nc->dev, 16, "bnep%d", bnep++); diff --git a/network/connection.h b/network/connection.h index 0726ec6c..70966b2c 100644 --- a/network/connection.h +++ b/network/connection.h @@ -21,4 +21,4 @@   *   */  int connection_register(DBusConnection *conn, const char *path, -			const char *addr, const char *uuid); +			const char *addr, uint16_t id); diff --git a/network/manager.c b/network/manager.c index 6740f100..52e6bffa 100644 --- a/network/manager.c +++ b/network/manager.c @@ -225,6 +225,7 @@ static DBusHandlerResult create_connection(DBusConnection *conn,  	const char *addr;  	const char *str;  	char *path; +	uint16_t id;  	dbus_error_init(&derr);  	if (!dbus_message_get_args(msg, &derr, @@ -236,12 +237,14 @@ static DBusHandlerResult create_connection(DBusConnection *conn,  		return DBUS_HANDLER_RESULT_HANDLED;  	} -	/* FIXME: Check for supported/implemented client connection */ +	id = bnep_service_id(str); +	if ((id != BNEP_SVC_GN) && (id != BNEP_SVC_NAP)) +		return err_invalid_args(conn, msg, "Not supported");  	path = g_new0(char, 32);  	snprintf(path, 32, NETWORK_PATH "/connection%d", uid++); -	if (connection_register(conn, path, addr, str) == -1) { +	if (connection_register(conn, path, addr, id) == -1) {  		err_failed(conn, msg, "D-Bus path registration failed");  		g_free(path);  		return DBUS_HANDLER_RESULT_HANDLED; | 
