From d2692a02cf86935b4c96198eff694a01c3001890 Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Mon, 16 Apr 2007 19:32:49 +0000 Subject: network: fixed default adapter --- network/server.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'network/server.c') diff --git a/network/server.c b/network/server.c index 754a37dc..e47c06ac 100644 --- a/network/server.c +++ b/network/server.c @@ -31,9 +31,12 @@ #include #include #include +#include #include #include +#include +#include #include #include #include @@ -723,6 +726,17 @@ static DBusHandlerResult enable(DBusConnection *conn, if (ns->io) return err_already_exists(conn, msg, "Server already enabled"); + if (bacmp(&ns->src, BDADDR_ANY) == 0) { + int dev_id; + + dev_id = hci_get_route(NULL); + if ((dev_id < 0) || (hci_devba(dev_id, &ns->src) < 0)) + return err_failed(conn, msg, "Adapter not available"); + + /* Store the server info */ + server_store(conn, ns->path); + } + reply = dbus_message_new_method_return(msg); if (!reply) return DBUS_HANDLER_RESULT_NEED_MEMORY; @@ -1114,6 +1128,8 @@ int server_store(DBusConnection *conn, const char *path) else create_name(filename, PATH_MAX, STORAGEDIR, addr, "gn"); + create_file(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + textfile_put(filename, "name", ns->name); if (ns->iface) -- cgit