diff --git a/src/cloud/ec2/lib/econe-server.rb b/src/cloud/ec2/lib/econe-server.rb index a3f9da84e7..2bc6f047c1 100644 --- a/src/cloud/ec2/lib/econe-server.rb +++ b/src/cloud/ec2/lib/econe-server.rb @@ -80,7 +80,13 @@ end before do @econe_server = EC2QueryServer.new(settings.config) - result = @econe_server.authenticate(request.env, params) + + begin + result = @econe_server.authenticate(request.env, params) + rescue Exception => e + error 500, e.message + end + if result # Add a log message error 400, error_xml("AuthFailure", 0) diff --git a/src/cloud/occi/lib/occi-server.rb b/src/cloud/occi/lib/occi-server.rb index 012dcb5912..161f0afc4c 100755 --- a/src/cloud/occi/lib/occi-server.rb +++ b/src/cloud/occi/lib/occi-server.rb @@ -82,7 +82,12 @@ set :port, settings.config[:port] before do @occi_server = OCCIServer.new(settings.config) - result = @occi_server.authenticate(request.env) + begin + result = @occi_server.authenticate(request.env) + rescue Exception => e + error 500, e.message + end + if result error 401, result end diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index 99ddb7f862..49e99f831b 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -78,7 +78,12 @@ helpers do def build_session cloud_auth = CloudAuth.new(settings.config) - result = cloud_auth.auth(request.env, params) + begin + result = cloud_auth.auth(request.env, params) + rescue Exception => e + error 500, e.message + end + if result return [401, ""] else