summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/v_index_response.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/hkp/v_index_response.rb')
-rw-r--r--lib/nickserver/hkp/v_index_response.rb28
1 files changed, 6 insertions, 22 deletions
diff --git a/lib/nickserver/hkp/v_index_response.rb b/lib/nickserver/hkp/v_index_response.rb
index 865d476..a44af51 100644
--- a/lib/nickserver/hkp/v_index_response.rb
+++ b/lib/nickserver/hkp/v_index_response.rb
@@ -9,7 +9,6 @@ require 'nickserver/hkp/key_info'
# So no need for memoization and making things more complex.
module Nickserver::Hkp
class VIndexResponse
-
# for this regexp to work, the source text must end in a trailing "\n",
# which the output of sks does.
MATCH_PUB_KEY = /(^pub:.+?\n(^uid:.+?\n)+)/m
@@ -29,14 +28,14 @@ module Nickserver::Hkp
end
def keys
- key_infos.reject { |key| error_for_key(key) }
+ key_infos.reject &:error
end
def msg
if errors.any?
error_messages.join "\n"
else
- "Could not fetch keyinfo."
+ 'Could not fetch keyinfo.'
end
end
@@ -53,13 +52,12 @@ module Nickserver::Hkp
end
def errors
- key_infos.map{|key| error_for_key(key) }.compact
+ key_infos.map { |key| error_for_key(key) }.compact
end
def error_messages
key_infos.map do |key|
- err = error_for_key(key)
- error_message(key, err)
+ error_message(key)
end.compact
end
@@ -75,22 +73,8 @@ module Nickserver::Hkp
end
end
- def error_message(key, err)
- "Ignoring key #{key.keyid} for #{nick}: #{err}" if err
- end
-
- def error_for_key(key)
- if key.keylen < 2048
- "key length is too short."
- elsif key.expired?
- "key expired."
- elsif key.revoked?
- "key revoked."
- elsif key.disabled?
- "key disabled."
- elsif key.expirationdate && key.expirationdate < Time.now
- "key expired"
- end
+ def error_message(key)
+ "Ignoring key #{key.keyid} for #{nick}: #{key.error}" if key.error
end
end
end