Re: [PATCH v2.1] agent-connman: Properly read SSID as byte array

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 12:59 +0300, Patrik Flykt wrote:
> On Thu, 2015-07-09 at 11:57 +0300, Patrik Flykt wrote:
> > From: Adam Moore 
> > 
> > Properly access Agent provided SSID as an array of bytes and recurse
> > where needed.
> > 
> > [Patrik: Fixed patch]

Applied.

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] connman.service: Fix systemd startup ordering

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 09:26 +0300, Patrik Flykt wrote:
> Start ConnMan after systemd dbus.service and network-pre.target, if
> one exists. Reqeust network.target to be enabled by adding a Wants=
> directive and ensure ConnMan is started before this target is reached.
> 
> Reported by Simon Byrnard/OSMC. Fixes CM-683.

Applied.

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH v2] agent-connman: read SSID as byte array

2015-07-09 Thread Adam Moore
Apologies, Patrik - thanks for cleaning it up.  The format-patch output I
sent to git send-email didn¹t have those characters.  I¹ll track down what
went wrong before I send another patch.

Revised patch looks good to me.

Thanks!
-Adam

On 7/9/15, 1:46 AM, "connman on behalf of Patrik Flykt"

wrote:

>On Thu, 2015-07-09 at 10:29 +0300, Patrik Flykt wrote:
>> On Tue, 2015-07-07 at 02:38 -0700, Adam Moore wrote:
>> > Read Agent provided SSID as an array of bytes and recurse where needed
>>
>> Doesn't apply upstream, please rebase.
>
>Every line ends with a ^M...
>
>Cheers,
>
>   Patrik
>
>___
>connman mailing list
>connman@connman.net
>https://lists.connman.net/mailman/listinfo/connman


Statement of Confidentiality

The contents of this e-mail message and any attachments are confidential and 
are intended solely for the addressee. The information may also be legally 
privileged. This transmission is sent in trust, and the sole purpose of 
delivery to the intended recipient. If you have received this transmission in 
error, any use, reproduction or dissemination of this transmission is strictly 
prohibited. If you are not the intended recipient, please immediately notify 
the sender by reply e-mail or at 508.683.2500 and delete this message and its 
attachments, if any.

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 14:14 +0300, Jussi Kukkonen wrote:
> those unhappy about the current situation always have the option to
> patch.

And presumably also read the source code to find out what exactly is
happening in the first place. Usually the online check fails because
pacrunner is not installed and therefore proxies cannot be used to reach
the Internet. In that case nothing is transmitted.

Cheers,

Patrik


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Add __connman_service_ipconfig_indicate_states function

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 16:37 +0300, Slava Monich wrote:
> Calling __connman_service_ipconfig_indicate_state for both IPv4 and IPv6 is
> a fairly common pattern on connman. It makes sense to combine these two calls
> into one function.

NACK. Since __connman_service_ipconfig_indicate_state() is still needed
it does not really help anybody to now have two exported functions that
do the same. The other point is that it should be made obvious that IPv4
and IPv6 do work independently of each other and connectivity can be
provided with either.


Patrik


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


[PATCH] service: Add __connman_service_ipconfig_indicate_states function

2015-07-09 Thread Slava Monich
Calling __connman_service_ipconfig_indicate_state for both IPv4 and IPv6 is
a fairly common pattern on connman. It makes sense to combine these two calls
into one function.
---
 src/connman.h |  2 ++
 src/network.c | 17 -
 src/service.c | 34 +++---
 3 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/connman.h b/src/connman.h
index aac6a0b..c5a94c9 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -703,6 +703,8 @@ int __connman_service_online_check_failed(struct 
connman_service *service,
 int __connman_service_ipconfig_indicate_state(struct connman_service *service,
enum connman_service_state new_state,
enum connman_ipconfig_type type);
+void __connman_service_ipconfig_indicate_states(struct connman_service 
*service,
+   enum connman_service_state new_state);
 enum connman_service_state __connman_service_ipconfig_get_state(
struct connman_service *service,
enum connman_ipconfig_type type);
diff --git a/src/network.c b/src/network.c
index badb770..cd66c4e 100644
--- a/src/network.c
+++ b/src/network.c
@@ -697,13 +697,8 @@ static void set_disconnected(struct connman_network 
*network)
}
}
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_IDLE);
 
network->connecting = false;
network->connected = false;
@@ -1214,12 +1209,8 @@ int connman_network_set_associating(struct 
connman_network *network,
struct connman_service *service;
 
service = connman_service_lookup_from_network(network);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_ASSOCIATION,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_ASSOCIATION,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_ASSOCIATION);
}
 
return 0;
diff --git a/src/service.c b/src/service.c
index 2d8245e..00385ac 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3927,12 +3927,8 @@ static gboolean connect_timeout(gpointer user_data)
} else
autoconnect = true;
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_FAILURE);
 
if (autoconnect &&
service->connect_reason !=
@@ -5452,12 +5448,8 @@ int __connman_service_indicate_error(struct 
connman_service *service,
 
set_error(service, error);
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_FAILURE);
return 0;
 }
 
@@ -5478,13 +5470,8 @@ int __connman_service_clear_error(struct connman_service 
*service)
provider_pending = service->provider_pending;
service->provider_pending = NULL;
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
-
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-

Re: connman online test

2015-07-09 Thread Jussi Kukkonen
On 9 July 2015 at 12:15, Marcel Holtmann  wrote:
> Hi Jussi,
>
 Now that we're talking about the online check... I've talked to people
 who considered this behaviour "calling home" and thought it
 unreasonable that
   a) it's not possible to prevent the online check from happening via
 configuration and
>>>
>>>
>>> Why would you prevent it to happen? This check is something extra anyway,
>>> being "ready" means you are connected. In a way, people should not care too
>>> much not seeing  there service being set to "online", since such check can't
>>> be bullet-proof.
>>
>> It's not about connman functionality at all. It's (as an example)
>> about people building a super secret embedded product demo on top of
>> Yocto suddenly realizing that their device is connecting to a web
>> server they don't control or even know about (aka "who is this Marcel
>> Holtmann why is our IOT Fridge fetching web pages from him?")
>
> if this super secret fridge is connected to the Internet and can actually 
> reach it, then it is no longer super secret. If you would be really worried, 
> then you would have it locked up in a lab with no access to anything.
>
> And even if it would be calling the ConnMan servers, nobody in the world 
> could tell super secret fridge apart from someone sitting next to it using 
> ConnMan on Yocto on a Minnowboard or its laptop.
>
> I can not repeat this enough. This whole think is designed with full 
> anonymity in mind. We are building our own HTTP request for exactly that 
> reason. No headers can sneak in. No unwanted meta data can leak. ConnMan 
> ships its own HTTP client for a reason.

This is a good point, thanks. I don't expect everyone to be persuaded
but I think adding a notice about the online check to Yocto
documentation (mostly that it exists and that it is as anonymous as
possible) should be good enough -- those unhappy about the current
situation always have the option to patch.

 - Jussi


> Think about this for a second. You can leak more information by using a 
> distro libcurl by accident that includes some meta headers. If ConnMan's 
> online check is your concern, then you do not understand privacy at all.
>
>> FWIW, I totally understand the point Patrik makes in the previous discussion:
>>> If the URL is configurable, upstream
>>> does not have the means to fix online related bug reports as we'd be
>>> unable to confirm the online checking service to work properly in the
>>> first place. In the worst case even the URL accessed is not known, not
>>> even to the person submitting the bug report.
>>
>> This is a compelling argument as well -- I'm not in favor of making
>> this too easy. I do think there are legitimate use cases where people
>> do not want to rely on Marcel (or Intel) handling their online checks.
>>
>> Since the required patches are not big (as shown by Pasi, thanks!)
>> just adding clear documentation to Yocto about the online check
>> Connman makes and instructions on how to modify it may be a sufficient
>> alternative.
>
> If someone wants to add documentation on what ConnMan is doing, then I am all 
> for it. More documentation is always good. I am in favor of full transparency.

for what it's worth, I think the connman documentation on this is
fine:I started the subthread because I've had several discussions
where people were negatively surprised that this online check happened
by default -- I think adding transparency within Yocto here is the
key.

> I am however not in favor of giving such an option. If someone wants to shoot 
> themselves into the foot, then they can pick up the gun by themselves. I do 
> not see a good reason why would make this easy.
>
> And honestly I prefer them carrying an extra patch changing the defines in 
> the source code. That means they have to carry that extra patch. So every 
> time it breaks, they get a nice reminder that something might have changed. 
> So they have a change in catching it. The config file is to easy to forget.
>
> Regards
>
> Marcel
>
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Reset state to idle when disassociating service from the network.

2015-07-09 Thread Slava Monich
On 09/07/15 13:03, Tomasz Bursztyka wrote:
> Hi Slava,
>
>> It only does the job for the networks that have been connected:
>>
>>  if (network->connected)
>>  set_disconnected(network);
>
> Why not adding there a test on
> network->associating/network->connecting as well?
>


Because __connman_service_remove_from_network() is invoked from two
places. Besides, most of what set_disconnected() is doing is irrelevant
in case if the network hasn't been connected.

Regards,
-Slava


>
> Tomasz
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman
>


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Reset state to idle when disassociating service from the network.

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 12:37 +0300, Slava Monich wrote:
> if (network->connected)
> set_disconnected(network);
> 
> This patch prevents services that are BEING connected from getting
> stuck in the that state forever.

I'd guess there is an obvious oneliner patch for the above line should
that be the source of all evil. The testing of that one is the part
taking time.

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Reset state to idle when disassociating service from the network.

2015-07-09 Thread Tomasz Bursztyka

Hi Slava,


It only does the job for the networks that have been connected:

 if (network->connected)
 set_disconnected(network);


Why not adding there a test on network->associating/network->connecting 
as well?



Tomasz
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH v2.1] agent-connman: Properly read SSID as byte array

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 11:57 +0300, Patrik Flykt wrote:
> From: Adam Moore 
> 
> Properly access Agent provided SSID as an array of bytes and recurse
> where needed.
> 
> [Patrik: Fixed patch]

The point for mopping up this was to reduce the round trip time. An
extra pair of eyes to verify that this patch is now as intended would
not do any harm...

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Jukka Rissanen
On to, 2015-07-09 at 11:15 +0200, Marcel Holtmann wrote:
> Hi Jussi,
> 
> >>> Now that we're talking about the online check... I've talked to people
> >>> who considered this behaviour "calling home" and thought it
> >>> unreasonable that
> >>>   a) it's not possible to prevent the online check from happening via
> >>> configuration and
> >> 
> >> 
> >> Why would you prevent it to happen? This check is something extra anyway,
> >> being "ready" means you are connected. In a way, people should not care too
> >> much not seeing  there service being set to "online", since such check 
> >> can't
> >> be bullet-proof.
> > 
> > It's not about connman functionality at all. It's (as an example)
> > about people building a super secret embedded product demo on top of
> > Yocto suddenly realizing that their device is connecting to a web
> > server they don't control or even know about (aka "who is this Marcel
> > Holtmann why is our IOT Fridge fetching web pages from him?")
> 
> if this super secret fridge is connected to the Internet and can actually 
> reach it, then it is no longer super secret. If you would be really worried, 
> then you would have it locked up in a lab with no access to anything.
> 
> And even if it would be calling the ConnMan servers, nobody in the world 
> could tell super secret fridge apart from someone sitting next to it using 
> ConnMan on Yocto on a Minnowboard or its laptop.
> 
> I can not repeat this enough. This whole think is designed with full 
> anonymity in mind. We are building our own HTTP request for exactly that 
> reason. No headers can sneak in. No unwanted meta data can leak. ConnMan 
> ships its own HTTP client for a reason.
> 
> Think about this for a second. You can leak more information by using a 
> distro libcurl by accident that includes some meta headers. If ConnMan's 
> online check is your concern, then you do not understand privacy at all.
> 
> > FWIW, I totally understand the point Patrik makes in the previous 
> > discussion:
> >> If the URL is configurable, upstream
> >> does not have the means to fix online related bug reports as we'd be
> >> unable to confirm the online checking service to work properly in the
> >> first place. In the worst case even the URL accessed is not known, not
> >> even to the person submitting the bug report.
> > 
> > This is a compelling argument as well -- I'm not in favor of making
> > this too easy. I do think there are legitimate use cases where people
> > do not want to rely on Marcel (or Intel) handling their online checks.
> > 
> > Since the required patches are not big (as shown by Pasi, thanks!)
> > just adding clear documentation to Yocto about the online check
> > Connman makes and instructions on how to modify it may be a sufficient
> > alternative.
> 
> If someone wants to add documentation on what ConnMan is doing, then I am all 
> for it. More documentation is always good. I am in favor of full transparency.

There is already documentation about online check in ConnMan README
file. If that is not enough, then patches are welcome.


> 
> I am however not in favor of giving such an option. If someone wants to shoot 
> themselves into the foot, then they can pick up the gun by themselves. I do 
> not see a good reason why would make this easy.
> 
> And honestly I prefer them carrying an extra patch changing the defines in 
> the source code. That means they have to carry that extra patch. So every 
> time it breaks, they get a nice reminder that something might have changed. 
> So they have a change in catching it. The config file is to easy to forget.
> 
> Regards
> 
> Marcel


Cheers,
Jukka


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Reset state to idle when disassociating service from the network.

2015-07-09 Thread Slava Monich
On 09/07/15 11:14, Patrik Flykt wrote:
> On Wed, 2015-07-08 at 17:05 +0300, Slava Monich wrote:
>> Otherwise, service may get stuck in the ASSOCIATION state forever and
>> update_from_network() won't do anything because is_connecting() keeps
>> returning true, making recovery impossible.
> This is not the place to handle a stuck association. Calling
> __connman_service_remove_from_network() is always due to a group
> removal, causes no change to connectivity status except that the gateway
> is removed. It's the set_disconnected() earlier in src/network.c,
> network_remove() that is supposed to do the job.

It only does the job for the networks that have been connected:

if (network->connected)
set_disconnected(network);

This patch prevents services that are BEING connected from getting stuck
in the that state forever.

-Slava


> Cheers,
>
>   Patrik
>
>> ---
>>  src/service.c | 6 ++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/src/service.c b/src/service.c
>> index 2d8245e..bd150aa 100644
>> --- a/src/service.c
>> +++ b/src/service.c
>> @@ -6858,6 +6858,12 @@ void __connman_service_remove_from_network(struct 
>> connman_network *network)
>>  __connman_connection_gateway_remove(service,
>>  CONNMAN_IPCONFIG_TYPE_ALL);
>>  
>> +__connman_service_ipconfig_indicate_state(service,
>> +CONNMAN_SERVICE_STATE_IDLE,
>> +CONNMAN_IPCONFIG_TYPE_IPV4);
>> +__connman_service_ipconfig_indicate_state(service,
>> +CONNMAN_SERVICE_STATE_IDLE,
>> +CONNMAN_IPCONFIG_TYPE_IPV6);
>>  connman_service_unref(service);
>>  }
>>  
>
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman
>


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Marcel Holtmann
Hi Jussi,

>>> Now that we're talking about the online check... I've talked to people
>>> who considered this behaviour "calling home" and thought it
>>> unreasonable that
>>>   a) it's not possible to prevent the online check from happening via
>>> configuration and
>> 
>> 
>> Why would you prevent it to happen? This check is something extra anyway,
>> being "ready" means you are connected. In a way, people should not care too
>> much not seeing  there service being set to "online", since such check can't
>> be bullet-proof.
> 
> It's not about connman functionality at all. It's (as an example)
> about people building a super secret embedded product demo on top of
> Yocto suddenly realizing that their device is connecting to a web
> server they don't control or even know about (aka "who is this Marcel
> Holtmann why is our IOT Fridge fetching web pages from him?")

if this super secret fridge is connected to the Internet and can actually reach 
it, then it is no longer super secret. If you would be really worried, then you 
would have it locked up in a lab with no access to anything.

And even if it would be calling the ConnMan servers, nobody in the world could 
tell super secret fridge apart from someone sitting next to it using ConnMan on 
Yocto on a Minnowboard or its laptop.

I can not repeat this enough. This whole think is designed with full anonymity 
in mind. We are building our own HTTP request for exactly that reason. No 
headers can sneak in. No unwanted meta data can leak. ConnMan ships its own 
HTTP client for a reason.

Think about this for a second. You can leak more information by using a distro 
libcurl by accident that includes some meta headers. If ConnMan's online check 
is your concern, then you do not understand privacy at all.

> FWIW, I totally understand the point Patrik makes in the previous discussion:
>> If the URL is configurable, upstream
>> does not have the means to fix online related bug reports as we'd be
>> unable to confirm the online checking service to work properly in the
>> first place. In the worst case even the URL accessed is not known, not
>> even to the person submitting the bug report.
> 
> This is a compelling argument as well -- I'm not in favor of making
> this too easy. I do think there are legitimate use cases where people
> do not want to rely on Marcel (or Intel) handling their online checks.
> 
> Since the required patches are not big (as shown by Pasi, thanks!)
> just adding clear documentation to Yocto about the online check
> Connman makes and instructions on how to modify it may be a sufficient
> alternative.

If someone wants to add documentation on what ConnMan is doing, then I am all 
for it. More documentation is always good. I am in favor of full transparency.

I am however not in favor of giving such an option. If someone wants to shoot 
themselves into the foot, then they can pick up the gun by themselves. I do not 
see a good reason why would make this easy.

And honestly I prefer them carrying an extra patch changing the defines in the 
source code. That means they have to carry that extra patch. So every time it 
breaks, they get a nice reminder that something might have changed. So they 
have a change in catching it. The config file is to easy to forget.

Regards

Marcel

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Marcel Holtmann
Hi Jussi,

> Now that we're talking about the online check... I've talked to people
> who considered this behaviour "calling home" and thought it
> unreasonable that
>  a) it's not possible to prevent the online check from happening via
> configuration and

an actual HTTP request is needed no matter what. That is how WISPr is 
specified. So that check happens and it needs to be in a way that we can tell 
if we are on a portal or not. If you actually have a better technical solution 
than calling a server that is specifically set up to do just that, let me know.

Let me put it this way, there is actual software that really calls home and 
transmits tons of private data that nobody knows about. What do you think 
Android or iOS are doing for example. Or you Facebook or pick your favorite 
service that sends you notifications if you log in from a new machine or change 
the country. I think that kernel.org knows more about my location than the 
ConnMan servers.

So everybody labeling this as "calling home" should really think hard about 
what they are talking about. The code we are using is open source. You can look 
into exactly what we are sending. The only extra meta information we are 
sending is the ConnMan version number. Nothing else. There is no machine id or 
any kind of information to associate this HTTP request with another one from 
the same source IP.

And honestly the ConnMan version number gets only included so that in case of a 
broken brown-paper-bag release, we can stop that version from breaking the 
server. That is about it.

The whole thing is designed to be as anonymous as possible. We put a lot of 
thought into this since the HTTP request for the online check is technically 
required.

>  b) it's not possible to set the checked URL in the configuration

I would argue that any user of ConnMan who wants to change the URL is in the 
business of actually calling home and tracking you.

If everybody uses the same service then it is fully anonymous since nobody can 
tell you apart from the other ConnMan on your network. If we start fragmenting, 
then this looses its anonymous status where everybody is equal.

Also I have no intention to debug faulty online checks from servers that run 
badly or are not returning the correct HTTP headers to allow us clear 
identification of the status.

Think about what happens if we add a new header on the server that newer 
versions of ConnMan use. Everybody hacking in a different URL is on their own 
to deal with that change.

> Would you guys be willing to change the above (or at least willing to
> take patches)?

As outlined above, there are reasons why things the way they are. We have good 
reasons for it. So unless someone really comes with a good argument, I do not 
think we need changes here.

Regards

Marcel

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


[PATCH v2.1] agent-connman: Properly read SSID as byte array

2015-07-09 Thread Patrik Flykt
From: Adam Moore 

Properly access Agent provided SSID as an array of bytes and recurse
where needed.

[Patrik: Fixed patch]
---
 src/agent-connman.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/agent-connman.c b/src/agent-connman.c
index 8440451..2d714b5 100644
--- a/src/agent-connman.c
+++ b/src/agent-connman.c
@@ -140,18 +140,21 @@ static void request_input_passphrase_reply(DBusMessage 
*reply, void *user_data)
dbus_message_iter_get_basic(&value, &name);
name_len = strlen(name);
} else if (g_str_equal(key, "SSID")) {
+   DBusMessageIter array_iter;
+
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
!= DBUS_TYPE_VARIANT)
break;
dbus_message_iter_recurse(&entry, &value);
if (dbus_message_iter_get_arg_type(&value)
-   != DBUS_TYPE_VARIANT)
+   != DBUS_TYPE_ARRAY)
break;
-   if (dbus_message_iter_get_element_type(&value)
-   != DBUS_TYPE_VARIANT)
+   dbus_message_iter_recurse(&value, &array_iter);
+   if (dbus_message_iter_get_arg_type(&array_iter)
+   != DBUS_TYPE_BYTE)
break;
-   dbus_message_iter_get_fixed_array(&value, &name,
+   dbus_message_iter_get_fixed_array(&array_iter, &name,
&name_len);
}
dbus_message_iter_next(&dict);
-- 
2.1.4

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH v2] agent-connman: read SSID as byte array

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 10:29 +0300, Patrik Flykt wrote:
> On Tue, 2015-07-07 at 02:38 -0700, Adam Moore wrote:
> > Read Agent provided SSID as an array of bytes and recurse where needed
> 
> Doesn't apply upstream, please rebase.

Every line ends with a ^M...

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Jussi Kukkonen
On 9 July 2015 at 11:25, Tomasz Bursztyka
 wrote:
> Hi Jussi,
>>
>> Hi,
>>
>> Now that we're talking about the online check... I've talked to people
>> who considered this behaviour "calling home" and thought it
>> unreasonable that
>>a) it's not possible to prevent the online check from happening via
>> configuration and
>
>
> Why would you prevent it to happen? This check is something extra anyway,
> being "ready" means you are connected. In a way, people should not care too
> much not seeing  there service being set to "online", since such check can't
> be bullet-proof.

It's not about connman functionality at all. It's (as an example)
about people building a super secret embedded product demo on top of
Yocto suddenly realizing that their device is connecting to a web
server they don't control or even know about (aka "who is this Marcel
Holtmann why is our IOT Fridge fetching web pages from him?")

FWIW, I totally understand the point Patrik makes in the previous discussion:
> If the URL is configurable, upstream
> does not have the means to fix online related bug reports as we'd be
> unable to confirm the online checking service to work properly in the
> first place. In the worst case even the URL accessed is not known, not
> even to the person submitting the bug report.

This is a compelling argument as well -- I'm not in favor of making
this too easy. I do think there are legitimate use cases where people
do not want to rely on Marcel (or Intel) handling their online checks.

Since the required patches are not big (as shown by Pasi, thanks!)
just adding clear documentation to Yocto about the online check
Connman makes and instructions on how to modify it may be a sufficient
alternative.

 - Jussi
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 11:17 +0300, Pasi Sjöholm wrote:

> https://lists.connman.net/pipermail/connman/2014-April/017033.html
> https://lists.connman.net/pipermail/connman/2014-April/017034.html

The problem here is that nobody will know how good the connectivity to
any of these user defined server will be. This is especially true for
IPv6.

So what is exactly supposed to happen to bug reports concerning online
state with a user defined server? Ignore them? Use wall-clock time to
figure out that the user indeed changed the service although not
noticing it himself? And this is not just for noticing online, it also
detects captive portals on the way.

With {ipv4,ipv6}.connman.net it's always at least upstream's fault when
it doesn't work and can be fixed.

> > people who considered this behaviour "calling home"

Perhaps even showing the code here doesn't even help.

Cheers,

Patrik


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Re: connman online test

2015-07-09 Thread Tomasz Bursztyka

Hi Jussi,

Hi,

Now that we're talking about the online check... I've talked to people
who considered this behaviour "calling home" and thought it
unreasonable that
   a) it's not possible to prevent the online check from happening via
configuration and


Why would you prevent it to happen? This check is something extra anyway,
being "ready" means you are connected. In a way, people should not care too
much not seeing  there service being set to "online", since such check can't
be bullet-proof.


   b) it's not possible to set the checked URL in the configuration


Passi from Jolla already sent a patch last year:
https://lists.connman.net/pipermail/connman/2014-April/017033.html

Cheers,

Tomasz
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Pasi Sjöholm
Hi,

we (Jolla) did something like that earlier:

https://lists.connman.net/pipermail/connman/2014-April/017033.html
https://lists.connman.net/pipermail/connman/2014-April/017034.html

I'm willing to rebase the patch if upstream wants to get it merged.

Br,
Pasi

On 09.07.2015 11:05, Jussi Kukkonen wrote:
> Hi,
> 
> Now that we're talking about the online check... I've talked to
> people who considered this behaviour "calling home" and thought it 
> unreasonable that a) it's not possible to prevent the online check
> from happening via configuration and b) it's not possible to set
> the checked URL in the configuration
> 
> Would you guys be willing to change the above (or at least willing
> to take patches)?
> 
> - Jussi ___ connman
> mailing list connman@connman.net 
> https://lists.connman.net/mailman/listinfo/connman
> 
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] service: Reset state to idle when disassociating service from the network.

2015-07-09 Thread Patrik Flykt
On Wed, 2015-07-08 at 17:05 +0300, Slava Monich wrote:
> Otherwise, service may get stuck in the ASSOCIATION state forever and
> update_from_network() won't do anything because is_connecting() keeps
> returning true, making recovery impossible.

This is not the place to handle a stuck association. Calling
__connman_service_remove_from_network() is always due to a group
removal, causes no change to connectivity status except that the gateway
is removed. It's the set_disconnected() earlier in src/network.c,
network_remove() that is supposed to do the job.

Cheers,

Patrik

> ---
>  src/service.c | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/service.c b/src/service.c
> index 2d8245e..bd150aa 100644
> --- a/src/service.c
> +++ b/src/service.c
> @@ -6858,6 +6858,12 @@ void __connman_service_remove_from_network(struct 
> connman_network *network)
>   __connman_connection_gateway_remove(service,
>   CONNMAN_IPCONFIG_TYPE_ALL);
>  
> + __connman_service_ipconfig_indicate_state(service,
> + CONNMAN_SERVICE_STATE_IDLE,
> + CONNMAN_IPCONFIG_TYPE_IPV4);
> + __connman_service_ipconfig_indicate_state(service,
> + CONNMAN_SERVICE_STATE_IDLE,
> + CONNMAN_IPCONFIG_TYPE_IPV6);
>   connman_service_unref(service);
>  }
>  


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: connman online test

2015-07-09 Thread Jussi Kukkonen
Hi,

Now that we're talking about the online check... I've talked to people
who considered this behaviour "calling home" and thought it
unreasonable that
  a) it's not possible to prevent the online check from happening via
configuration and
  b) it's not possible to set the checked URL in the configuration

Would you guys be willing to change the above (or at least willing to
take patches)?

 - Jussi
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH v2] agent-connman: read SSID as byte array

2015-07-09 Thread Patrik Flykt
On Tue, 2015-07-07 at 02:38 -0700, Adam Moore wrote:
> Read Agent provided SSID as an array of bytes and recurse where needed

Doesn't apply upstream, please rebase.

Cheers,

Patrik

> ---
>  src/agent-connman.c | 11 +++
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/src/agent-connman.c b/src/agent-connman.c
> index 8440451..1b6f8a3 100644
> --- a/src/agent-connman.c
> +++ b/src/agent-connman.c
> @@ -141,17 +141,20 @@ static void request_input_passphrase_reply(DBusMessage 
> *reply, void *user_data)
> name_len = strlen(name);
> } else if (g_str_equal(key, "SSID")) {
> dbus_message_iter_next(&entry);
> +   DBusMessageIter *array_iter = NULL;
> if (dbus_message_iter_get_arg_type(&entry)
> != DBUS_TYPE_VARIANT)
> break;
> dbus_message_iter_recurse(&entry, &value);
> if (dbus_message_iter_get_arg_type(&value)
> -   != DBUS_TYPE_VARIANT)
> +   != DBUS_TYPE_ARRAY)
> break;
> -   if (dbus_message_iter_get_element_type(&value)
> -   != DBUS_TYPE_VARIANT)
> +
> +   dbus_message_iter_recurse(&value, &array_iter);
> +   if (dbus_message_iter_get_arg_type(&array_iter)
> +   != DBUS_TYPE_BYTE)
> break;
> -   dbus_message_iter_get_fixed_array(&value, &name,
> +   dbus_message_iter_get_fixed_array(&array_iter, &name,
> &name_len);
> }
> dbus_message_iter_next(&dict);
> --
> 1.9.1
> 
> 
> Statement of Confidentiality
> 
> The contents of this e-mail message and any attachments are confidential and 
> are intended solely for the addressee. The information may also be legally 
> privileged. This transmission is sent in trust, and the sole purpose of 
> delivery to the intended recipient. If you have received this transmission in 
> error, any use, reproduction or dissemination of this transmission is 
> strictly prohibited. If you are not the intended recipient, please 
> immediately notify the sender by reply e-mail or at 508.683.2500 and delete 
> this message and its attachments, if any.
> 
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman