summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorMasanori Itoh <itoumsn@nttdata.co.jp>2011-03-08 16:45:03 +0000
committerTarmac <>2011-03-08 16:45:03 +0000
commit539e04925debd351cce05e3d2acf220693f9990f (patch)
treefc499200aad348950323c51a4c7920669f67c311 /nova
parentbb4e0c940f49564c740a1863d110106d9018e8d4 (diff)
parentfbecb23c5534ccc91aa6f9d3d9e32d9d6189d266 (diff)
downloadnova-539e04925debd351cce05e3d2acf220693f9990f.tar.gz
nova-539e04925debd351cce05e3d2acf220693f9990f.tar.xz
nova-539e04925debd351cce05e3d2acf220693f9990f.zip
This fix is an updated version of Todd's lp720157. Adds SignatureVersion checking for Amazon EC2 API requests, and resolves bug #720157.
Diffstat (limited to 'nova')
-rw-r--r--nova/api/ec2/__init__.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py
index 5adc2c075..4425ba3cd 100644
--- a/nova/api/ec2/__init__.py
+++ b/nova/api/ec2/__init__.py
@@ -198,6 +198,12 @@ class Requestify(wsgi.Middleware):
try:
# Raise KeyError if omitted
action = req.params['Action']
+ # Fix bug lp:720157 for older (version 1) clients
+ version = req.params['SignatureVersion']
+ if int(version) == 1:
+ non_args.remove('SignatureMethod')
+ if 'SignatureMethod' in args:
+ args.pop('SignatureMethod')
for non_arg in non_args:
# Remove, but raise KeyError if omitted
args.pop(non_arg)