[Sugar-devel] [sugar 0.96, NM 0.9 PATCH v2] sl#3727: Return cached secrets, present in 'settings' themselves.

Ajay Garg ajay at activitycentral.com
Wed Jun 27 05:13:40 EDT 2012


Hi all.

Sorry for the garbled v2 patch (in this email thread).
Please see the (good-info-view) patch at
http://patchwork.sugarlabs.org/patch/1570/



@ Jerry,
Please correct me if my observations are different from yours (as described
by you in your last email).


@Samul, Daniel, Peter :
I have put in the comparative analysis between Gnome-F14, Sugar-F14,
Gnome-17 and Fedora-F17 in the patch-description.




Gist ::

a)
In Gnome-F17 and Sugar-F17, NM DOES NOT re-prompt (via the popup dialog),
if incorrect credentials are provided.
So, WITH or WITHOUT this patch, the client will get
blacklisted/unauthorised/whatever if she enters the wrong credentials.


b)
So, what this patch does is to not re-prompt the user again and again (for
the correct/unknowingly-incorrect) credentials, whenever the wifi goes out
of range.

In fact, this patch would solve this seemingly annoying behaviour in Sugar;
and thus makes Sugar one-up on Gnome :D


c)
So, now comes the question of how to enter new credentials.
In this respect, I tend to agree with Sascha and Jerry, to have the
settings wiped out on a singular basis, via the patch
http://patchwork.sugarlabs.org/patch/846/





Thanks and Regards,
Ajay






On Wed, Jun 27, 2012 at 2:30 PM, Ajay Garg <ajay at activitycentral.com> wrote:

>
> Changes of version-2 over version-1 ::
> ======================================
>
> * Adding comparative analysis of the behaviour
>  netween Gnome-F14, Sugar-F14, Gnome-F17, Sugar-F17.
>
> * Note that there is no change of code.
>
>
>
>
>
> =========================================================================================================================
>
>
>
> For providing the explanation, let's do a comparative analysis of the
> behaviour
> netween Gnome-F14, Sugar-F14, Gnome-F17, Sugar-F17.
>
> Note that the bahaviour (especially on Sugar-F17) is WITHOUT applying this
> patch.
>
>
>
> ======================================================================================================================================================
> S.No.||       Environment         ||            Action         ||
>  Gnome-F14     ||     Sugar-F14     ||     Gnome-F17     ||      Sugar-F17
>
> =====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 1.   ||  No connection attempt    ||  CORRECT credentials are  ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  has been made. Wifi AP   ||  entered on first popup.  ||
> successful.    ||     successful.   ||     successful.   ||    successfull.
>     ||  is within range.         ||                           ||
>          ||                   ||                   ||
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> =====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 2.   ||  No connection attempt    || INCORRECT credentials are ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  has been made. Wifi AP   ||  entered on first popup.  ||
>  unsuccessful.   ||   unsuccessful.   ||   unsuccessful.   ||
> unsuccessful.
>     ||  is within range.         ||                           ||  Popup
> re-appears, || Popup re-appears, || Popup DOES NOT re-|| Popup DOES NOT re-
>     ||                           ||                           ||
>  expecting secrets.|| expecting secrets.|| appear; NM keeps  || appear; NM
> keeps
>     ||                           ||                           ||
>          ||                   || trying with the   || trying with the
>     ||                           ||                           ||
>          ||                   ||    (INCORRECT)    ||    (INCORRECT)
>     ||                           ||                           ||
>          ||                   ||     secrets.      ||      secrets.
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> =====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 3.   ||  No connection attempt    ||  CORRECT credentials are  ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  has been made. Wifi AP   ||  entered on first popup.  ||
>  unsuccessful.   ||   unsuccessful.   ||   unsuccessful.   ||
> unsuccessful.
>     ||  is NOT within range.     ||                           ||  Popup
> re-appears, || Popup re-appears, || Popup re-appears, || Popup re-appears,
>     ||                           ||                           ||
>  expecting secrets.|| expecting secrets.|| expecting secrets.|| expecting
> secrets.
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> ======================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 4.   ||  No connection attempt    || INCORRECT credentials are ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  has been made. Wifi AP   ||  entered on first popup.  ||
>  unsuccessful.   ||   unsuccessful.   ||   unsuccessful.   ||
> unsuccessful.
>     ||  is NOT within range.     ||                           ||  Popup
> re-appears, || Popup re-appears, || Popup re-appears, || Popup re-appears,
>     ||                           ||                           ||
>  expecting secrets.|| expecting secrets.|| expecting secrets.|| expecting
> secrets.
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> ====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 5.   ||  Wifi is out of range.    ||  Wifi comes within range. ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  CORRECT credentials      ||                           ||
> successful.    ||    successful.    ||    successful.    ||     successful.
>     ||  have been provided on    ||                           ||
>          ||                   ||                   ||
>     ||  the last popup.          ||                           ||
>          ||                   ||                   ||
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> ====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 6.   ||  Wifi is out of range.    ||  Wifi comes within range. ||
>  Connection is   ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  INCORRECT credentials    ||                           ||
>  unsuccessful.   ||   unsuccessful.   ||   unsuccessful.   ||
> unsuccessful.
>     ||  have been provided on    ||                           ||  Popup
> re-appears, || Popup re-appears, || Popup DOES NOT re-|| Popup DOES NOT re-
>     ||  the last popup.          ||                           ||
>  expecting secrets.|| expecting secrets.|| appear; NM keeps  || appear; NM
> keeps
>     ||                           ||                           ||
>          ||                   || trying with the   || trying with the
>     ||                           ||                           ||
>          ||                   ||    (INCORRECT)    ||    (INCORRECT)
>     ||                           ||                           ||
>          ||                   ||       secrets.    ||      secrets.
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> ====================================================================================================================================================
>     ||                           ||                           ||
>          ||                   ||                   ||
> 7.   ||  Connection is connected. ||  Wifi goes out of range.  ||
> Connection is    ||   Connection is   ||   Connection is   ||   Connection
> is
>     ||  (Obviously, Wifi is      ||                           ||
> disconnected.    ||   disconnected.   ||   disconnected.   ||
> disconnected.
>     ||   within range).          ||                           ||  Popup
> re-appears, || Popup re-appears, || Popup re-appears, || Popup re-appears,
>     ||                           ||                           ||
>  expecting secrets.|| expecting secrets.|| expecting secrets.|| expecting
> secrets.
>     ||                           ||                           ||
>          ||                   ||                   ||
>
> ====================================================================================================================================================
>
>
>
> Feelings ::
> ============
>
>
> a)
> Case 1 works as expected on all platforms.
>
>
> b)
> Case 2 works as expected on Gnome-F14 and Sugar-F14.
> However, just the feeling that the behaviour is a bug on Gnome-F17 and
> Sugar-F17.
>
>
> c)
> Case 3 seems to be a bug on all platforms.
> NM should keep trying with the same secrets, till the time AP comes in
> range.
>
> THIS PATCH SOLVES THIS FOR GNOME-F17 AND SUGAR-F17.
>
>
> d)
> Case 4 is also a bug on all platforms.
> NM should keep trying with the same (although incorrect) secrets, till the
> time AP comes in range.
>
> THIS PATCH SOLVES THIS FOR GNOME-F17 AND SUGAR-F17.
>
>
> e)
> Case 5 works as expected on all platforms.
>
>
> f)
> Case 6 works as expected on Gnome-F14 and Sugar-F14.
> However, just the feeling that the behaviour is a bug on Gnome-F17 and
> Sugar-F17.
>
>
> g)
> Case 7 seems to be a bug on all platforms.
> NM should keep trying with the same secrets, till the time AP comes in
> range.
>
> THIS PATCH SOLVES THIS FOR GNOME-F17 AND SUGAR-F17.
>
>
>
>
> Conclusions ::
> ==============
>
>
> 1.
> For Gnome-F17 and Sugar-F17, NM never ever pops up the dialog to re-enter
> the secrets, as long
> as the wifi is within range.
>
> Thus, entering wrong credentials is not an option.
>
> If wrong options are entered (with AP having the capability to disable
>  access due to wrong
> credentials), that would happen anyways - with or without this patch.
>
>
> 2.
> What this patch does solve is the prevention of entering the same
> (correct/incorrect) credentials,
> whenever the wifi goes out of range.
>
>
>
>
>
> So now, the intended solution is  :::
> =======================================
>
>
> 1.
> Always return the cached secrets (present in 'settings' themselves).
> This would make the irritating dialog-box go away (which appears
> only when the  wifi  is out of range).
>
>
> 2.
> Whenever the credentials need to changed,
>
>    (i)   "Discard Network History".
>    (ii)  Click on the wifi icon (in the neighborhood-view).
>    (iii) Enter the new (publically broadcasted) credentials.
>
>
>
>  src/jarabe/model/network.py |   34 ++++++++++++++++++++++++++++++++--
>  1 file changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py
> index cc02b58..d2f8656 100644
> --- a/src/jarabe/model/network.py
> +++ b/src/jarabe/model/network.py
> @@ -591,8 +591,38 @@ class SecretAgent(dbus.service.Object):
>         if uid != 0:
>             raise Exception("UID %d not authorized" % (uid,))
>
> -        response = SecretsResponse(reply, error)
> -        self.secrets_request.send(self, settings=settings,
> response=response)
> +        # http://bugs.sugarlabs.org/ticket/3727
> +        # https://dev.laptop.org.au/issues/1305
> +        #
> +        # 1. See if the secrets are already present in the settings. If
> they are present,
> +        #    do not re-prompt the user with the (irritating) popup dialog.
> +        #
> +        # 2. There might be the thought, as to why at all the
> 'GetSecrets' method is called
> +        #    at first place, when the secrets are already a part of the
> settings. However,
> +        #    that is the way it is - specifically, this method is called
> whenever the AP
> +        #    is out of range. In that case, the  user must not be
> re-prompted with the
> +        #    popup dialog.
> +        if not self.are_secrets_present_in_settings(settings):
> +            response = SecretsResponse(reply, error)
> +            self.secrets_request.send(self, settings=settings,
> response=response)
> +        else:
> +            secrets = {}
> +            secrets['802-11-wireless-security'] =
> settings['802-11-wireless-security']
> +            reply(secrets)
> +
> +    def are_secrets_present_in_settings(self, settings):
> +       # The secrets are present in the settings, if
> +        #
> +        # 1. 'settings' has a dict, keyed by '802-11-wireless-security'
> AND
> +        #
> +        # 2. settings['802-11-wireless-security']['key-mgmt'] is present
> AND
> +        #
> +        # 3. There is at least one more element in
> settings['802-11-wireless-security']
> +        #    (in addition to
> settings['802-11-wireless-security']['key-mgmt'].
> +        if ( '802-11-wireless-security' in settings.keys() ) and \
> +           ( len(settings['802-11-wireless-security']) > 1 ):
> +            return True
> +        return False
>
>
>  class AccessPoint(gobject.GObject):
> --
> 1.7.10.2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20120627/0d4e9a5e/attachment-0001.html>


More information about the Sugar-devel mailing list