linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Profile: fix set default external profile authorize
@ 2013-07-08  8:17 martin.xu
  2013-07-09 12:05 ` Johan Hedberg
  0 siblings, 1 reply; 2+ messages in thread
From: martin.xu @ 2013-07-08  8:17 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Martin

From: Martin <martin.xu@linux.intel.com>

authorize is always set as "true" in function ext_set_defaults() by mistake.

the static variable authorize of default_settings will be 0(false),
if it is not initialized. So item authorize needs to be initized onlyif
the value is true (non-0).
And then function ext_set_defaults() can set default authorize properly.
---
 src/profile.c |   17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/profile.c b/src/profile.c
index c745811..5795ca7 100644
--- a/src/profile.c
+++ b/src/profile.c
@@ -1907,12 +1907,14 @@ static struct default_settings {
 		.uuid		= SPP_UUID,
 		.name		= "Serial Port",
 		.channel	= SPP_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.get_record	= get_spp_record,
 		.version	= 0x0102,
 	}, {
 		.uuid		= DUN_GW_UUID,
 		.name		= "Dial-Up Networking",
 		.channel	= DUN_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.get_record	= get_dun_record,
 		.version	= 0x0102,
 	}, {
@@ -1921,6 +1923,7 @@ static struct default_settings {
 		.priority	= BTD_PROFILE_PRIORITY_HIGH,
 		.remote_uuid	= HFP_AG_UUID,
 		.channel	= HFP_HF_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.auto_connect	= true,
 		.get_record	= get_hfp_hf_record,
 		.version	= 0x0105,
@@ -1930,6 +1933,7 @@ static struct default_settings {
 		.priority	= BTD_PROFILE_PRIORITY_HIGH,
 		.remote_uuid	= HFP_HS_UUID,
 		.channel	= HFP_AG_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.auto_connect	= true,
 		.get_record	= get_hfp_ag_record,
 		.version	= 0x0105,
@@ -1939,6 +1943,7 @@ static struct default_settings {
 		.priority	= BTD_PROFILE_PRIORITY_HIGH,
 		.remote_uuid	= HSP_HS_UUID,
 		.channel	= HSP_AG_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.auto_connect	= true,
 	}, {
 		.uuid		= OBEX_OPP_UUID,
@@ -1947,7 +1952,6 @@ static struct default_settings {
 		.psm		= BTD_PROFILE_PSM_AUTO,
 		.mode		= BT_IO_MODE_ERTM,
 		.sec_level	= BT_IO_SEC_LOW,
-		.authorize	= false,
 		.get_record	= get_opp_record,
 		.version	= 0x0102,
 	}, {
@@ -1956,30 +1960,35 @@ static struct default_settings {
 		.channel	= FTP_DEFAULT_CHANNEL,
 		.psm		= BTD_PROFILE_PSM_AUTO,
 		.mode		= BT_IO_MODE_ERTM,
+		.authorize	= true,
 		.get_record	= get_ftp_record,
 		.version	= 0x0102,
 	}, {
 		.uuid		= OBEX_SYNC_UUID,
 		.name		= "Synchronization",
 		.channel	= SYNC_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.get_record	= get_sync_record,
 		.version	= 0x0100,
 	}, {
 		.uuid		= OBEX_PSE_UUID,
 		.name		= "Phone Book Access",
 		.channel	= PBAP_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.get_record	= get_pse_record,
 		.version	= 0x0101,
 	}, {
 		.uuid		= OBEX_PCE_UUID,
 		.name		= "Phone Book Access Client",
 		.remote_uuid	= OBEX_PSE_UUID,
+		.authorize	= true,
 		.get_record	= get_pce_record,
 		.version	= 0x0101,
 	}, {
 		.uuid		= OBEX_MAS_UUID,
 		.name		= "Message Access",
 		.channel	= MAS_DEFAULT_CHANNEL,
+		.authorize	= true,
 		.get_record	= get_mas_record,
 		.version	= 0x0100
 	}, {
@@ -1987,6 +1996,7 @@ static struct default_settings {
 		.name		= "Message Notification",
 		.channel	= MNS_DEFAULT_CHANNEL,
 		.psm		= BTD_PROFILE_PSM_AUTO,
+		.authorize	= true,
 		.get_record	= get_mns_record,
 		.version	= 0x0100
 	},
@@ -1998,7 +2008,7 @@ static void ext_set_defaults(struct ext_profile *ext)
 
 	ext->mode = BT_IO_MODE_BASIC;
 	ext->sec_level = BT_IO_SEC_MEDIUM;
-	ext->authorize = true;
+	ext->authorize = false;
 	ext->enable_client = true;
 	ext->enable_server = true;
 	ext->remote_uuid = NULL;
@@ -2029,6 +2039,9 @@ static void ext_set_defaults(struct ext_profile *ext)
 		if (settings->mode)
 			ext->mode = settings->mode;
 
+		if (settings->authorize)
+			ext->authorize = true;
+
 		if (settings->auto_connect)
 			ext->p.auto_connect = true;
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Profile: fix set default external profile authorize
  2013-07-08  8:17 [PATCH] Profile: fix set default external profile authorize martin.xu
@ 2013-07-09 12:05 ` Johan Hedberg
  0 siblings, 0 replies; 2+ messages in thread
From: Johan Hedberg @ 2013-07-09 12:05 UTC (permalink / raw)
  To: martin.xu; +Cc: linux-bluetooth

Hi Martin,

On Mon, Jul 08, 2013, martin.xu@linux.intel.com wrote:
> From: Martin <martin.xu@linux.intel.com>

Please fix your git settings to include your full name here (i.e.
"Martin Xu").

> @@ -1998,7 +2008,7 @@ static void ext_set_defaults(struct ext_profile *ext)
>  
>  	ext->mode = BT_IO_MODE_BASIC;
>  	ext->sec_level = BT_IO_SEC_MEDIUM;
> -	ext->authorize = true;
> +	ext->authorize = false;
>  	ext->enable_client = true;
>  	ext->enable_server = true;
>  	ext->remote_uuid = NULL;

The patch is ok except for the above change. The above change will cause
a break in the external D-Bus API behavior where previously you didn't
need to explicitly say RequireAuthorization=true to get authorization.
With your patch such applications would loose their authorization
requirement. Instead, ext->authorize should still default to true.

> @@ -2029,6 +2039,9 @@ static void ext_set_defaults(struct ext_profile *ext)
>  		if (settings->mode)
>  			ext->mode = settings->mode;
>  
> +		if (settings->authorize)
> +			ext->authorize = true;
> +

Once you make the previous fix you'll need to drop the if-statement and
unconditionally do "ext->authorize = settings->authorize".

Johan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-09 12:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-08  8:17 [PATCH] Profile: fix set default external profile authorize martin.xu
2013-07-09 12:05 ` Johan Hedberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).