From 7e6c4eb33341558db2cd1f76a16fb499b3155eee Mon Sep 17 00:00:00 2001 From: Daniel Molina Date: Thu, 22 Sep 2011 13:16:59 +0200 Subject: [PATCH] feature #795: Check server error when authenticating --- src/cloud/ec2/lib/econe-server.rb | 8 +++++++- src/cloud/occi/lib/occi-server.rb | 7 ++++++- src/sunstone/sunstone-server.rb | 7 ++++++- 3 files changed, 19 insertions(+), 3 deletions(-) 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