Send connman mailing list submissions to
        connman@lists.01.org

To subscribe or unsubscribe via email, send a message with subject or
body 'help' to
        connman-requ...@lists.01.org

You can reach the person managing the list at
        connman-ow...@lists.01.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of connman digest..."

Today's Topics:

   1. [PATCH] service: Allow only user connection after WiFi failure
      (VAUTRIN Emmanuel (Canal Plus Prestataire))


----------------------------------------------------------------------

Date: Thu, 11 Mar 2021 13:06:01 +0000
From: "VAUTRIN Emmanuel (Canal Plus Prestataire)"
        <emmanuel.vaut...@cpexterne.org>
Subject: [PATCH] service: Allow only user connection after WiFi
        failure
To: "connman@lists.01.org" <connman@lists.01.org>
Message-ID:  <pr1pr02mb479489cdb7cd94d44511bfe293...@pr1pr02mb4794.eur
        prd02.prod.outlook.com>
Content-Type: text/plain; charset="iso-8859-1"

The failure state may not always result from a bad connection.
For security matter, as a password renewal, the AP may disconnect the
station, and finally completely block it, after several inappropriate
retries, due to auto connection with former password.
---
 src/service.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/service.c b/src/service.c
index a24dea729545..cd939320d3d5 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3447,16 +3447,22 @@ static void do_auto_connect(struct connman_service 
*service,
                                reason == CONNMAN_SERVICE_CONNECT_REASON_NONE))
                return;
 
+       /*
+        * Only user interaction should get VPN or WIFI connected in failure
+        * state.
+        */
+       if (service->state == CONNMAN_SERVICE_STATE_FAILURE &&
+                               reason != CONNMAN_SERVICE_CONNECT_REASON_USER &&
+                               (service->type == CONNMAN_SERVICE_TYPE_VPN ||
+                               service->type == CONNMAN_SERVICE_TYPE_WIFI))
+               return;
+
        /*
         * Run service auto connect for other than VPN services. Afterwards
         * start also VPN auto connect process.
         */
        if (service->type != CONNMAN_SERVICE_TYPE_VPN)
                __connman_service_auto_connect(reason);
-       /* Only user interaction should get VPN connected in failure state. */
-       else if (service->state == CONNMAN_SERVICE_STATE_FAILURE &&
-                               reason != CONNMAN_SERVICE_CONNECT_REASON_USER)
-               return;
 
        vpn_auto_connect();
 }
-- 
2.25.1


------------------------------

Subject: Digest Footer

_______________________________________________
connman mailing list -- connman@lists.01.org
To unsubscribe send an email to connman-le...@lists.01.org


------------------------------

End of connman Digest, Vol 65, Issue 4
**************************************

Reply via email to