From 0e8bd80f87942881291f51c8f52fbdaea2d04107 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Mon, 17 Sep 2012 13:46:22 +0200 Subject: [PATCH] Bug #1274: Fix internal server error when wrong auth with opennebula auth It was caused by an attempt of logging when no logger had been passed to CloudAuth. Affected Sunstone only. (cherry picked from commit 97b62f8857a9064eb534041c09b742779cf79dfd) --- src/cloud/common/CloudAuth/OpenNebulaCloudAuth.rb | 8 +++++--- src/sunstone/sunstone-server.rb | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cloud/common/CloudAuth/OpenNebulaCloudAuth.rb b/src/cloud/common/CloudAuth/OpenNebulaCloudAuth.rb index bcf54ea99e..33cb080898 100644 --- a/src/cloud/common/CloudAuth/OpenNebulaCloudAuth.rb +++ b/src/cloud/common/CloudAuth/OpenNebulaCloudAuth.rb @@ -26,8 +26,10 @@ module OpenNebulaCloudAuth rc = user.info if OpenNebula.is_error?(rc) - logger.error { "User #{username} could not be authenticated" } - logger.error { rc.message } + if logger + logger.error{ "User #{username} could not be authenticated"} + logger.error { rc.message } + end return nil end @@ -36,4 +38,4 @@ module OpenNebulaCloudAuth return nil end -end \ No newline at end of file +end diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index fa5dd535c8..1017484767 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -87,7 +87,7 @@ enable_logging SUNSTONE_LOG, settings.config[:debug_level].to_i begin ENV["ONE_CIPHER_AUTH"] = SUNSTONE_AUTH - cloud_auth = CloudAuth.new(settings.config) + cloud_auth = CloudAuth.new(settings.config, settings.logger) rescue => e settings.logger.error { "Error initializing authentication system" } @@ -120,8 +120,8 @@ helpers do begin result = settings.cloud_auth.auth(request.env, params) rescue Exception => e - error 500, "" logger.error { e.message } + return [500, ""] end if result.nil?