diff options
| -rw-r--r-- | network/manager.c | 2 | ||||
| -rw-r--r-- | network/server.c | 6 | ||||
| -rw-r--r-- | network/server.h | 3 | 
3 files changed, 6 insertions, 5 deletions
| diff --git a/network/manager.c b/network/manager.c index b5b4f0a8..053e03bb 100644 --- a/network/manager.c +++ b/network/manager.c @@ -939,7 +939,7 @@ int network_init(DBusConnection *conn, struct network_conf *service_conf)  	 * (setup connection request) contains the destination service  	 * field that defines which service the source is connecting to.  	 */ -	if (server_init(conn, conf->iface_prefix) < 0) +	if (server_init(conn, conf->iface_prefix, conf->security) < 0)  		return -1;  	if (connection_init(conn, conf->iface_prefix) < 0) diff --git a/network/server.c b/network/server.c index b5a2c6d0..ac87ad19 100644 --- a/network/server.c +++ b/network/server.c @@ -600,7 +600,8 @@ static gboolean connect_event(GIOChannel *chan,  	return TRUE;  } -int server_init(DBusConnection *conn, const char *iface_prefix) +int server_init(DBusConnection *conn, const char *iface_prefix, +		gboolean secure)  {  	struct l2cap_options l2o;  	struct sockaddr_l2 l2a; @@ -645,8 +646,7 @@ int server_init(DBusConnection *conn, const char *iface_prefix)  		goto fail;  	} -	/* FIXME: Set link mode - it is applied to all servers */ -	lm = 0; +	lm = secure? L2CAP_LM_SECURE : 0;  	if (lm && setsockopt(sk, SOL_L2CAP, L2CAP_LM, &lm, sizeof(lm)) < 0) {  		err = errno;  		error("Failed to set link mode. %s(%d)", diff --git a/network/server.h b/network/server.h index 9f49cad7..839aea4b 100644 --- a/network/server.h +++ b/network/server.h @@ -21,7 +21,8 @@   *   */ -int server_init(DBusConnection *conn, const char *iface_prefix); +int server_init(DBusConnection *conn, const char *iface_prefix, +		gboolean secure);  void server_exit();  int server_register(const char *path, bdaddr_t *src, uint16_t id);  int server_register_from_file(const char *path, const bdaddr_t *src, | 
