Ubuntu SSO Client does not notify of failed Ubuntu One ping attempt / invalidate token

Bug #660516 reported by Roman Yepishev
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Single Sign On Client
Status tracked in Trunk
Stable-1-0
Fix Released
Critical
Natalia Bidart
Trunk
Fix Released
Critical
Natalia Bidart
ubuntu-sso-client (Ubuntu)
Fix Released
High
Natalia Bidart
Maverick
Fix Released
Undecided
Unassigned
Natty
Fix Released
High
Natalia Bidart

Bug Description

Currently due to server-side bug LP:660510 users cannot subscribe successfully to Ubuntu One service using Ubuntu SSO Client.
The client sends ping to Ubuntu One servers but server replies with 500 Internal Server Error. Then Ubuntu SSO Client quits leaving the user 1 on 1 with non-working Preferences and AUTH_FAILED in SyncDaemon next time he/she starts ubuntuone-preferences and attempts to connect.

I believe in case the service requires pinging, the client should notify the user if there had been any problems during account creation and point to the web site of the service (where it is possible that notification can be found).

The tokens retrieved are valid from Ubuntu SSO POV but for Ubuntu One these tokens do not exist since there is no such user with the email specified.

TEST CASE:

To test, run in this branch the following:

* remove your Ubuntu One token from the keyring.

* run the dbus daemon with exactly this command (using the SSO staging service will make the ping fail):

killall ubuntu-sso-login; DEBUG=True PYTHONPATH=. USSOC_SERVICE_URL="https://login.staging.ubuntu.com/api/1.0" ./bin/ubuntu-sso-login

* In d-feet, execute the method 'register' in the com.ubuntu.sso bus name, object path /credentials, interface name ApplicationCredentials.
Parameters must be something like:

'Ubuntu One', '', '', 0

* Register a valid email address (you'll need to access the verification code). After you enter the verification code and the success page is shown, check the console where you're running the daemon, you'll see something like:

_ping_url (app_name: Ubuntu Two): Problem opening the ping_url.
Traceback (most recent call last):
...
HTTPError: HTTP Error 403: FORBIDDEN
_ping_url (app_name: Ubuntu Two): Calling error_cb at <bound method Credentials.error_cb of <ubuntu_sso.credentials.Credentials object at 0x1e38e50>>.

Behavior expected:

 - The token for 'Ubuntu One' is not stored in the keyring since the ping failed.

Related branches

Changed in ubuntu-sso-client:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Alejandro J. Cura (alecu)
tags: added: desktop+ u1-maverick-sru
Changed in ubuntu-sso-client (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Naty Bidart (nataliabidart)
milestone: none → maverick-updates
Changed in ubuntu-sso-client:
assignee: Alejandro J. Cura (alecu) → Naty Bidart (nataliabidart)
status: Triaged → In Progress
importance: High → Critical
Changed in ubuntu-sso-client:
status: In Progress → Fix Committed
Changed in ubuntu-sso-client:
status: Fix Committed → Fix Released
description: updated
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted ubuntu-sso-client into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in ubuntu-sso-client (Ubuntu Maverick):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Natalia Bidart (nataliabidart) wrote :

Tested on a clean virtual machine with -proposed enabled. New version works as expected:

If the user finishes the login/register process successfully, but the ping to the Ubuntu One server fails, the token is not stored in the keyring.

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-sso-client - 1.0.7-0ubuntu1

---------------
ubuntu-sso-client (1.0.7-0ubuntu1) maverick-proposed; urgency=low

  * New upstream release (1.0.6, 1.0.7):

    [ Natalia B. Bidart <email address hidden> ]
      * Added a new DBus signal UserNotValidated to indicate when a user is
      registered but not validated (LP: #667899).
      * Added new workflow so email validation is requested if necessary.
      * The verify email page should be always built, not only on registration.

    [ Alejandro J. Cura <email address hidden> ]
      * Store credentials on the keyring *only* from the main thread (LP:
      #656545).

  * New upstream release (1.0.5):

    [ Natalia B. Bidart <email address hidden> ]

      * Credentials are removed if the pinging to the server fails or any
      other exception occurs (LP: #660516).
 -- Natalia Bidart (nessita) <email address hidden> Thu, 04 Nov 2010 09:21:00 -0300

Changed in ubuntu-sso-client (Ubuntu Maverick):
status: Fix Committed → Fix Released
Changed in ubuntu-sso-client (Ubuntu Natty):
milestone: maverick-updates → none
Changed in ubuntu-sso-client (Ubuntu Natty):
status: Triaged → Fix Released
tags: added: testcase
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.