Hubic: Please check your credentials

Bug #1445930 reported by Paul
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Duplicity
Invalid
Undecided
Unassigned

Bug Description

First of all, I'm using OS X 10.10.3, python 2.7.6 and virtualenv 1.11.6.

I've downloaded the development version of duplicity from this project site and extracted it on my computer.

Then I ran the following commands

virtualenv ~/.virtualenv/hubic
source ~/.virtualenv/hubic/bin/activate
cd duplicity-0.7.02
./setup.py install
pip install lockfile
pip install pyrax
pip install requests_oauthlib

I've created a file in ~/.hubic_credentials with 700 permissions with the following content:

[hubic]
email = <email address hidden>
password = myPassword
client_id = api_hubic_mU3UFGva5EwS4LDB1hXMiXmPfu4sdETo
client_secret = 3u3jf09VDaatyXDIWYA5esV9jwD3iGz4hFsM18JstLG0eS3xaqCd7PJH87654nDM
redirect_uri = http://localhost/

I then run ./bin/duplicity . cf+hubic://default -v9, which returned this error message

Using archive dir: /Users/noone/.cache/duplicity/c58c29529fe239e634db26d85efa65ae
Using backup name: c58c29529fe239e634db26d85efa65ae
Import of duplicity.backends.azurebackend Succeeded
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cfbackend Succeeded
Import of duplicity.backends.copycombackend Succeeded
Import of duplicity.backends.dpbxbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.giobackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.hubicbackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.lftpbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.megabackend Succeeded
Import of duplicity.backends.ncftpbackend Succeeded
Import of duplicity.backends.onedrivebackend Succeeded
Import of duplicity.backends.par2backend Succeeded
Import of duplicity.backends.pydrivebackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.ssh_paramiko_backend Succeeded
Import of duplicity.backends.ssh_pexpect_backend Succeeded
Import of duplicity.backends.swiftbackend Succeeded
Import of duplicity.backends.sxbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
/Users/noone/.virtualenv/hubic/lib/python2.7/site-packages/novaclient/v1_1/__init__.py:30: UserWarning: Module novaclient.v1_1 is deprecated (taken as a basis for novaclient.v2). The preferable way to get client class or object you can find in novaclient.client module.
  warnings.warn("Module novaclient.v1_1 is deprecated (taken as a basis for "
Connection failed, please check your credentials: InterpolationSyntaxError '%' must be followed by '%' or '(', found: '%'
Using temporary directory /var/folders/d5/96fnf49912b716vwrdp5f0ch0000gn/T/duplicity-QOrJMN-tempdir

I verified that the email and the password are correct after copying and pasting the credentials from the file and logging into the website.
I've generated the API key in the developers section under my account and copied the keys from there.

pip list installed returns the following:

argparse (1.3.0)
Babel (1.3)
duplicity (0.7.02)
iso8601 (0.1.10)
keyring (5.3)
List (1.3.0)
lockfile (0.10.2)
mock (1.0.1)
msgpack-python (0.4.6)
netaddr (0.7.14)
netifaces (0.10.4)
oauthlib (0.7.2)
os-diskconfig-python-novaclient-ext (0.1.2)
os-networksv2-python-novaclient-ext (0.25)
os-virtual-interfacesv2-python-novaclient-ext (0.19)
oslo.config (1.10.0)
oslo.i18n (1.5.0)
oslo.serialization (1.4.0)
oslo.utils (1.4.0)
pbr (0.10.8)
pip (1.5.6)
prettytable (0.7.2)
pyrax (1.9.4)
python-keystoneclient (1.3.0)
python-novaclient (2.23.0)
pytz (2015.2)
rackspace-auth-openstack (1.3)
rackspace-novaclient (1.4)
rax-default-network-flags-python-novaclient-ext (0.3.1)
rax-scheduled-images-python-novaclient-ext (0.3.1)
requests (2.6.0)
requests-oauthlib (0.4.2)
setuptools (3.6)
simplejson (3.6.5)
six (1.9.0)
stevedore (1.3.0)
wsgiref (0.1.2)

Can anyone here reproduce that?

Revision history for this message
Ignace Mouzannar (ghantoos) wrote :

I stumbled on the same bug. It seems it is due to an error processing special characters in the password. It works if only using alphanum password. I will try to look into this.

Revision history for this message
Ignace Mouzannar (ghantoos) wrote :

Erratum: the error is due to the "%" character being present anywhere in the configuration variables.

Revision history for this message
Raphaël F. (rflores) wrote :

I'm also concerned, we currently cannot use a % in password and I believe this character should be correctly parsed for such a field.

Please provide a way to escape it.

Revision history for this message
Raphaël F. (rflores) wrote :

Several person have reported the problem and it is clearly identified.

Changed in duplicity:
status: New → Confirmed
Revision history for this message
Raphaël F. (rflores) wrote :

Here is the return statement:

2016-08-19 11:09:24 rflores@ulis-desktop:~$ duplicity ~/Documents/ cf+hubic://Documents
Connection failed, please check your credentials: InterpolationSyntaxError '%' must be followed by '%' or '(', found: 'my_password_with_a_%_which_is_not_parsed_correctly'

Revision history for this message
Raphaël F. (rflores) wrote :

As mentioned by the return statement, escaping % with a second % is OK.
So instead of:
my_password_with_a_%_which_is_not_parsed_correctly
Use:
my_password_with_a_%%_which_is_not_parsed_correctly

Revision history for this message
Raphaël F. (rflores) wrote :

As mentioned by the return statement, escaping % with a second % is OK.
So instead of:
my_password_with_a_%_which_is_not_parsed_correctly
Use:
my_password_with_a_%%_which_is_not_parsed_correctly

The password can be escaped.

Changed in duplicity:
status: Confirmed → Invalid
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.