Merge lp:~gholt/swift/urlparse_append_bug into lp:~hudson-openstack/swift/trunk

Proposed by gholt
Status: Merged
Approved by: David Goetz
Approved revision: 241
Merged at revision: 249
Proposed branch: lp:~gholt/swift/urlparse_append_bug
Merge into: lp:~hudson-openstack/swift/trunk
Diff against target: 163 lines (+43/-36)
7 files modified
bin/swauth-add-account (+6/-5)
bin/swauth-add-user (+7/-6)
bin/swauth-delete-account (+6/-5)
bin/swauth-delete-user (+6/-5)
bin/swauth-list (+6/-5)
bin/swauth-prep (+6/-5)
bin/swauth-set-account-service (+6/-5)
To merge this branch: bzr merge lp:~gholt/swift/urlparse_append_bug
Reviewer Review Type Date Requested Status
Swift Core security contacts Pending
Review via email: mp+53089@code.launchpad.net

Description of the change

Fix for incorrect use of urlparse results in swauth bins

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/swauth-add-account'
2--- bin/swauth-add-account 2011-01-16 09:52:08 +0000
3+++ bin/swauth-add-account 2011-03-11 20:57:49 +0000
4@@ -51,11 +51,12 @@
5 if parsed.scheme not in ('http', 'https'):
6 raise Exception('Cannot handle protocol scheme %s for url %s' %
7 (parsed.scheme, repr(options.admin_url)))
8- if not parsed.path:
9- parsed.path = '/'
10- elif parsed.path[-1] != '/':
11- parsed.path += '/'
12- path = '%sv2/%s' % (parsed.path, account)
13+ parsed_path = parsed.path
14+ if not parsed_path:
15+ parsed_path = '/'
16+ elif parsed_path[-1] != '/':
17+ parsed_path += '/'
18+ path = '%sv2/%s' % (parsed_path, account)
19 headers = {'X-Auth-Admin-User': options.admin_user,
20 'X-Auth-Admin-Key': options.admin_key}
21 if options.suffix:
22
23=== modified file 'bin/swauth-add-user'
24--- bin/swauth-add-user 2011-01-16 09:52:08 +0000
25+++ bin/swauth-add-user 2011-03-11 20:57:49 +0000
26@@ -61,12 +61,13 @@
27 if parsed.scheme not in ('http', 'https'):
28 raise Exception('Cannot handle protocol scheme %s for url %s' %
29 (parsed.scheme, repr(options.admin_url)))
30- if not parsed.path:
31- parsed.path = '/'
32- elif parsed.path[-1] != '/':
33- parsed.path += '/'
34+ parsed_path = parsed.path
35+ if not parsed_path:
36+ parsed_path = '/'
37+ elif parsed_path[-1] != '/':
38+ parsed_path += '/'
39 # Ensure the account exists
40- path = '%sv2/%s' % (parsed.path, account)
41+ path = '%sv2/%s' % (parsed_path, account)
42 headers = {'X-Auth-Admin-User': options.admin_user,
43 'X-Auth-Admin-Key': options.admin_key}
44 if options.suffix:
45@@ -77,7 +78,7 @@
46 if resp.status // 100 != 2:
47 print 'Account creation failed: %s %s' % (resp.status, resp.reason)
48 # Add the user
49- path = '%sv2/%s/%s' % (parsed.path, account, user)
50+ path = '%sv2/%s/%s' % (parsed_path, account, user)
51 headers = {'X-Auth-Admin-User': options.admin_user,
52 'X-Auth-Admin-Key': options.admin_key,
53 'X-Auth-User-Key': password}
54
55=== modified file 'bin/swauth-delete-account'
56--- bin/swauth-delete-account 2011-01-16 09:52:08 +0000
57+++ bin/swauth-delete-account 2011-03-11 20:57:49 +0000
58@@ -45,11 +45,12 @@
59 if parsed.scheme not in ('http', 'https'):
60 raise Exception('Cannot handle protocol scheme %s for url %s' %
61 (parsed.scheme, repr(options.admin_url)))
62- if not parsed.path:
63- parsed.path = '/'
64- elif parsed.path[-1] != '/':
65- parsed.path += '/'
66- path = '%sv2/%s' % (parsed.path, account)
67+ parsed_path = parsed.path
68+ if not parsed_path:
69+ parsed_path = '/'
70+ elif parsed_path[-1] != '/':
71+ parsed_path += '/'
72+ path = '%sv2/%s' % (parsed_path, account)
73 headers = {'X-Auth-Admin-User': options.admin_user,
74 'X-Auth-Admin-Key': options.admin_key}
75 conn = http_connect(parsed.hostname, parsed.port, 'DELETE', path, headers,
76
77=== modified file 'bin/swauth-delete-user'
78--- bin/swauth-delete-user 2011-01-16 09:52:08 +0000
79+++ bin/swauth-delete-user 2011-03-11 20:57:49 +0000
80@@ -45,11 +45,12 @@
81 if parsed.scheme not in ('http', 'https'):
82 raise Exception('Cannot handle protocol scheme %s for url %s' %
83 (parsed.scheme, repr(options.admin_url)))
84- if not parsed.path:
85- parsed.path = '/'
86- elif parsed.path[-1] != '/':
87- parsed.path += '/'
88- path = '%sv2/%s/%s' % (parsed.path, account, user)
89+ parsed_path = parsed.path
90+ if not parsed_path:
91+ parsed_path = '/'
92+ elif parsed_path[-1] != '/':
93+ parsed_path += '/'
94+ path = '%sv2/%s/%s' % (parsed_path, account, user)
95 headers = {'X-Auth-Admin-User': options.admin_user,
96 'X-Auth-Admin-Key': options.admin_key}
97 conn = http_connect(parsed.hostname, parsed.port, 'DELETE', path, headers,
98
99=== modified file 'bin/swauth-list'
100--- bin/swauth-list 2011-01-16 09:52:08 +0000
101+++ bin/swauth-list 2011-03-11 20:57:49 +0000
102@@ -64,11 +64,12 @@
103 if parsed.scheme not in ('http', 'https'):
104 raise Exception('Cannot handle protocol scheme %s for url %s' %
105 (parsed.scheme, repr(options.admin_url)))
106- if not parsed.path:
107- parsed.path = '/'
108- elif parsed.path[-1] != '/':
109- parsed.path += '/'
110- path = '%sv2/%s' % (parsed.path, '/'.join(args))
111+ parsed_path = parsed.path
112+ if not parsed_path:
113+ parsed_path = '/'
114+ elif parsed_path[-1] != '/':
115+ parsed_path += '/'
116+ path = '%sv2/%s' % (parsed_path, '/'.join(args))
117 headers = {'X-Auth-Admin-User': options.admin_user,
118 'X-Auth-Admin-Key': options.admin_key}
119 conn = http_connect(parsed.hostname, parsed.port, 'GET', path, headers,
120
121=== modified file 'bin/swauth-prep'
122--- bin/swauth-prep 2011-01-16 09:52:08 +0000
123+++ bin/swauth-prep 2011-03-11 20:57:49 +0000
124@@ -44,11 +44,12 @@
125 if parsed.scheme not in ('http', 'https'):
126 raise Exception('Cannot handle protocol scheme %s for url %s' %
127 (parsed.scheme, repr(options.admin_url)))
128- if not parsed.path:
129- parsed.path = '/'
130- elif parsed.path[-1] != '/':
131- parsed.path += '/'
132- path = '%sv2/.prep' % parsed.path
133+ parsed_path = parsed.path
134+ if not parsed_path:
135+ parsed_path = '/'
136+ elif parsed_path[-1] != '/':
137+ parsed_path += '/'
138+ path = '%sv2/.prep' % parsed_path
139 headers = {'X-Auth-Admin-User': options.admin_user,
140 'X-Auth-Admin-Key': options.admin_key}
141 conn = http_connect(parsed.hostname, parsed.port, 'POST', path, headers,
142
143=== modified file 'bin/swauth-set-account-service'
144--- bin/swauth-set-account-service 2011-01-16 09:52:08 +0000
145+++ bin/swauth-set-account-service 2011-03-11 20:57:49 +0000
146@@ -55,11 +55,12 @@
147 if parsed.scheme not in ('http', 'https'):
148 raise Exception('Cannot handle protocol scheme %s for url %s' %
149 (parsed.scheme, repr(options.admin_url)))
150- if not parsed.path:
151- parsed.path = '/'
152- elif parsed.path[-1] != '/':
153- parsed.path += '/'
154- path = '%sv2/%s/.services' % (parsed.path, account)
155+ parsed_path = parsed.path
156+ if not parsed_path:
157+ parsed_path = '/'
158+ elif parsed_path[-1] != '/':
159+ parsed_path += '/'
160+ path = '%sv2/%s/.services' % (parsed_path, account)
161 body = json.dumps({service: {name: url}})
162 headers = {'Content-Length': str(len(body)),
163 'X-Auth-Admin-User': options.admin_user,