Commit b03ee466 authored by randx's avatar randx

Handle invalid ssh exception

parent c48c0f95
...@@ -14,6 +14,10 @@ class ApplicationController < ActionController::Base ...@@ -14,6 +14,10 @@ class ApplicationController < ActionController::Base
render "errors/gitolite", layout: "error" render "errors/gitolite", layout: "error"
end end
rescue_from Gitlab::Gitolite::InvalidKey do |exception|
render "errors/invalid_ssh_key", layout: "error"
end
rescue_from Encoding::CompatibilityError do |exception| rescue_from Encoding::CompatibilityError do |exception|
render "errors/encoding", layout: "error", status: 404 render "errors/encoding", layout: "error", status: 404
end end
......
%h1 Git Error
%hr
%p Seems like SSH Key you provided is not a valid SSH key.
...@@ -6,6 +6,7 @@ require 'fileutils' ...@@ -6,6 +6,7 @@ require 'fileutils'
module Gitlab module Gitlab
class Gitolite class Gitolite
class AccessDenied < StandardError; end class AccessDenied < StandardError; end
class InvalidKey < StandardError; end
def set_key key_id, key_content, projects def set_key key_id, key_content, projects
configure do |c| configure do |c|
...@@ -190,8 +191,12 @@ module Gitlab ...@@ -190,8 +191,12 @@ module Gitlab
end end
end end
rescue Exception => ex rescue Exception => ex
if ex.message =~ /is not a valid SSH key string/
raise Gitolite::InvalidKey.new("ssh key is not valid")
else
Gitlab::Logger.error(ex.message) Gitlab::Logger.error(ex.message)
raise Gitolite::AccessDenied.new("gitolite timeout") raise Gitolite::AccessDenied.new("gitolite timeout")
end end
end end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment