diff options
Diffstat (limited to 'openstackclient/common')
| -rw-r--r-- | openstackclient/common/clientmanager.py | 4 | ||||
| -rw-r--r-- | openstackclient/common/openstackkeyring.py | 60 | ||||
| -rw-r--r-- | openstackclient/common/utils.py | 4 |
3 files changed, 4 insertions, 64 deletions
diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py index 353a0a19..b310f3ac 100644 --- a/openstackclient/common/clientmanager.py +++ b/openstackclient/common/clientmanager.py @@ -48,7 +48,8 @@ class ClientManager(object): username=None, password=None, user_domain_id=None, user_domain_name=None, project_domain_id=None, project_domain_name=None, - region_name=None, api_version=None, verify=True): + region_name=None, api_version=None, verify=True, + trust_id=None): self._token = token self._url = url self._auth_url = auth_url @@ -64,6 +65,7 @@ class ClientManager(object): self._project_domain_name = project_domain_name self._region_name = region_name self._api_version = api_version + self._trust_id = trust_id self._service_catalog = None # verify is the Requests-compatible form diff --git a/openstackclient/common/openstackkeyring.py b/openstackclient/common/openstackkeyring.py deleted file mode 100644 index 30450e80..00000000 --- a/openstackclient/common/openstackkeyring.py +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 2011-2013 OpenStack, LLC. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -"""Keyring backend for OpenStack, to store encrypted password in a file.""" - -from Crypto.Cipher import AES - -import keyring -import os - - -KEYRING_FILE = os.path.join(os.path.expanduser('~'), '.openstack-keyring.cfg') - - -class OpenStackKeyring(keyring.backends.file.BaseKeyring): - """OpenStack Keyring to store encrypted password.""" - filename = KEYRING_FILE - - def supported(self): - """Applicable for all platforms, but not recommend.""" - pass - - def _init_crypter(self): - """Initialize the crypter using the class name.""" - block_size = 32 - padding = '0' - - # init the cipher with the class name, up to block_size - password = __name__[block_size:] - password = password + (block_size - len(password) % - block_size) * padding - return AES.new(password, AES.MODE_CFB) - - def encrypt(self, password): - """Encrypt the given password.""" - crypter = self._init_crypter() - return crypter.encrypt(password) - - def decrypt(self, password_encrypted): - """Decrypt the given password.""" - crypter = self._init_crypter() - return crypter.decrypt(password_encrypted) - - -def os_keyring(): - """Initialize the openstack keyring.""" - ring = 'openstackclient.common.openstackkeyring.OpenStackKeyring' - return keyring.core.load_keyring(None, ring) diff --git a/openstackclient/common/utils.py b/openstackclient/common/utils.py index 0258f931..51c3ed4b 100644 --- a/openstackclient/common/utils.py +++ b/openstackclient/common/utils.py @@ -23,7 +23,6 @@ import sys import time from openstackclient.common import exceptions -from openstackclient.openstack.common import strutils def find_resource(manager, name_or_id): @@ -79,8 +78,7 @@ def format_dict(data): output = "" for s in data: - output = output + s + "='" + \ - strutils.safe_encode(six.text_type(data[s])) + "', " + output = output + s + "='" + six.text_type(data[s]) + "', " return output[:-2] |
